Min пре 1 година
родитељ
комит
0490dce3a0
16 измењених фајлова са 340 додато и 1 уклоњено
  1. 5 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java
  2. 2 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java
  3. 11 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java
  4. 39 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java
  5. 7 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/WebServiceUtils.java
  6. 24 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProcessingConditions.java
  7. 42 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProjectQueryResponse.java
  8. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProjectSelectionByElement.java
  9. 15 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProjectStatus.java
  10. 22 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProjectSummaryTask.java
  11. 23 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProjectTask.java
  12. 35 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/SelectionByLastChangeDateTime.java
  13. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ServiceProduct.java
  14. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/TaskName.java
  15. 29 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/XmlRequestData.java
  16. 38 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/XmlResponseData.java

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -1394,6 +1394,11 @@ public class ProjectController {
         return  projectService.getFunWorkContextList(id);
     }
 
+    @RequestMapping("/syncProjectWithSap")
+    public HttpRespMsg syncProjectWithSap(){
+        return projectService.syncProjectWithSap();
+    }
+
 
 
 }

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -260,4 +260,6 @@ public interface ProjectService extends IService<Project> {
     HttpRespMsg deleteFunWorkContext(Integer id);
 
     HttpRespMsg getFunWorkContextList(Integer id);
+
+    HttpRespMsg syncProjectWithSap();
 }

+ 11 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -11059,4 +11059,15 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         msg.setData(contexts);
         return msg;
     }
+
+    @Override
+    public HttpRespMsg syncProjectWithSap() {
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        //todo:指定公司ID
+//        if(companyId==){
+//
+//        }
+
+        return null;
+    }
 }

+ 39 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -12,6 +12,7 @@ import com.management.platform.mapper.*;
 import com.management.platform.service.*;
 import com.management.platform.service.impl.WxCorpInfoServiceImpl;
 import com.management.platform.util.*;
+import com.management.platform.webservice.po.*;
 import jdk.nashorn.internal.ir.ContinueNode;
 import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
 import me.chanjar.weixin.mp.api.WxMpService;
@@ -1541,4 +1542,42 @@ public class TimingTask {
         }
 
     }
+
+    public static void main(String[] args) throws Exception {
+        XmlRequestData xmlRequestData=new XmlRequestData();
+        ProcessingConditions processingConditions=new ProcessingConditions();
+        processingConditions.setQueryHitsUnlimitedIndicator("true");
+        xmlRequestData.setProcessingConditions(processingConditions);
+        ProjectSelectionByElement projectSelectionByElement=new ProjectSelectionByElement();
+        SelectionByLastChangeDateTime selectionByLastChangeDateTime=new SelectionByLastChangeDateTime();
+        selectionByLastChangeDateTime.setInclusionExclusionCode("I");
+        selectionByLastChangeDateTime.setIntervalBoundaryTypeCode("3");
+        selectionByLastChangeDateTime.setLowerBoundaryLastChangeDateTime("2023-09-01T00:00:00Z");
+        selectionByLastChangeDateTime.setUpperBoundaryLastChangeDateTime("2023-10-01T00:00:00Z");
+        projectSelectionByElement.setSelectionByLastChangeDateTime(selectionByLastChangeDateTime);
+        List<ProjectSelectionByElement> list=new ArrayList<>();
+        list.add(projectSelectionByElement);
+        xmlRequestData.setProjectSelectionByElements(list);
+        String xml = CommonUtils.convertToXml(xmlRequestData);
+        xml=xml.substring(xml.indexOf("<XMLDATA>")+9,xml.lastIndexOf("</XMLDATA>"));
+        StringBuffer sb = new StringBuffer();
+        sb.append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:glob=\"http://sap.com/xi/SAPGlobal20/Global\">\n" +
+                "   <soapenv:Header/>\n" +
+                "   <soapenv:Body>\n" +
+                "      <glob:ProjectByElementsQuery>\n");
+        sb.append(xml);
+        sb.append("      </glob:ProjectByElementsQuery>\n" +
+                "   </soapenv:Body>\n" +
+                "</soapenv:Envelope>");
+        System.out.println(sb.toString());
+        String result = WebServiceUtils.requestByXml("https://my602728.sapbyd.cn/sap/bc/srt/scs/sap/queryprojectin?sap-vhost=my602728.sapbyd.cn", sb.toString(), 0, "_BYDHOST", "Welcome1");
+        if(!StringUtils.isEmpty(result)) {
+            result = result.substring(result.indexOf("<soap-env:Body>")+15, result.lastIndexOf("</soap-env:Body>"));
+            result = result.substring(result.indexOf(">")+1, result.lastIndexOf("</n0:ProjectByElementsResponse_sync>"));
+            result="<XMLDATA>"+result+"</XMLDATA>";
+        }
+        System.out.println(result);
+        XmlResponseData xmlResponseData = (XmlResponseData) CommonUtils.convertXmlStrToObject(XmlResponseData.class, result);
+        System.out.println(xmlResponseData);
+    }
 }

+ 7 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/WebServiceUtils.java

@@ -8,11 +8,12 @@ import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
+import java.util.Base64;
 
 @Slf4j
 public class WebServiceUtils {
 
-    public static String requestByXml(String reqUrl, String sendMsg,int timeout) throws Exception {
+    public static String requestByXml(String reqUrl, String sendMsg,int timeout,String userName,String password) throws Exception {
         // 开启HTTP连接ַ
         InputStreamReader isr = null;
         BufferedReader inReader = null;
@@ -30,6 +31,11 @@ public class WebServiceUtils {
             httpConn.setRequestMethod("POST");
             httpConn.setDoOutput(true);
             httpConn.setDoInput(true);
+            //设置认证的账号密码
+            String auth = userName + ":" + password;
+            //账号密码字符转换
+            String encoding = Base64.getEncoder().encodeToString(auth.getBytes());
+            httpConn.setRequestProperty("Authorization", "Basic " + encoding);
             if(timeout >0){
                 httpConn.setConnectTimeout(timeout);
             }else{

+ 24 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProcessingConditions.java

@@ -0,0 +1,24 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+
+@Data
+public class ProcessingConditions {
+
+    private String queryHitsUnlimitedIndicator;
+    private String returnedQueryHitsNumberValue;
+
+    @XmlElement(name = "QueryHitsUnlimitedIndicator")
+    public String getQueryHitsUnlimitedIndicator() {
+        return queryHitsUnlimitedIndicator;
+    }
+
+    //返回的项目条数
+    @XmlElement(name = "ReturnedQueryHitsNumberValue")
+    public String getReturnedQueryHitsNumberValue() {
+        return returnedQueryHitsNumberValue;
+    }
+
+}

+ 42 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProjectQueryResponse.java

@@ -0,0 +1,42 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+import java.util.List;
+
+@Data
+public class ProjectQueryResponse {
+
+    private String projectId;
+    private ProjectStatus projectStatus;
+    private String typeCode;
+    private ProjectSummaryTask projectSummaryTask;
+    private List<ProjectTask> projectTasks;
+
+    @XmlElement(name = "ProjectID")
+    public String getProjectID(){
+        return projectId;
+    }
+
+    @XmlElement(name = "ProjectStatus")
+    public ProjectStatus getProjectStatus(){
+        return projectStatus;
+    }
+
+    @XmlElement(name = "TypeCode")
+    public String getTypeCode(){
+        return typeCode;
+    }
+
+    @XmlElement(name = "ProjectSummaryTask")
+    public ProjectSummaryTask getProjectSummaryTask(){
+        return projectSummaryTask;
+    }
+
+    @XmlElement(name = "ProjectTask")
+    public List<ProjectTask> getProjectTasks(){
+        return projectTasks;
+    }
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProjectSelectionByElement.java

@@ -0,0 +1,16 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+
+@Data
+public class ProjectSelectionByElement {
+
+    private SelectionByLastChangeDateTime selectionByLastChangeDateTime;
+
+    @XmlElement(name = "SelectionByLastChangeDateTime")
+    public SelectionByLastChangeDateTime getSelectionByLastChangeDateTime() {
+        return selectionByLastChangeDateTime;
+    }
+}

+ 15 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProjectStatus.java

@@ -0,0 +1,15 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+
+@Data
+public class ProjectStatus {
+    private String projectLifeCycleStatusCode;
+
+    @XmlElement(name = "ProjectLifeCycleStatusCode")
+    public String getProjectLifeCycleStatusCode(){
+        return projectLifeCycleStatusCode;
+    }
+}

+ 22 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProjectSummaryTask.java

@@ -0,0 +1,22 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+
+@Data
+public class ProjectSummaryTask {
+
+    private String projectElementID;
+    private TaskName projectName;
+
+    @XmlElement(name = "ProjectElementID")
+    public String getProjectElementID(){
+        return projectElementID;
+    }
+
+    @XmlElement(name = "TaskName")
+    public TaskName getProjectName(){
+        return projectName;
+    }
+}

+ 23 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ProjectTask.java

@@ -0,0 +1,23 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+
+@Data
+public class ProjectTask {
+
+    private String projectElementID;
+    private String projectName;
+    private TaskName taskGroupName;
+
+    @XmlElement(name = "ProjectElementID")
+    public String getProjectElementID(){
+        return projectElementID;
+    }
+
+    @XmlElement(name = "TaskName")
+    public TaskName getTaskGroupName(){
+        return taskGroupName;
+    }
+}

+ 35 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/SelectionByLastChangeDateTime.java

@@ -0,0 +1,35 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+
+@Data
+public class SelectionByLastChangeDateTime {
+
+    private String inclusionExclusionCode;
+    private String intervalBoundaryTypeCode;
+    private String lowerBoundaryLastChangeDateTime;
+    private String upperBoundaryLastChangeDateTime;
+
+    @XmlElement(name = "InclusionExclusionCode")
+    public String getInclusionExclusionCode() {
+        return inclusionExclusionCode;
+    }
+
+    @XmlElement(name = "IntervalBoundaryTypeCode")
+    public String getIntervalBoundaryTypeCode() {
+        return intervalBoundaryTypeCode;
+    }
+
+    @XmlElement(name = "LowerBoundaryLastChangeDateTime")
+    public String getLowerBoundaryLastChangeDateTime() {
+        return lowerBoundaryLastChangeDateTime;
+    }
+
+    @XmlElement(name = "UpperBoundaryLastChangeDateTime")
+    public String getUpperBoundaryLastChangeDateTime() {
+        return upperBoundaryLastChangeDateTime;
+    }
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/ServiceProduct.java

@@ -0,0 +1,16 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+
+@Data
+public class ServiceProduct {
+
+    private String changeStateID;
+
+    @XmlElement(name = "ChangeStateID")
+    public String getChangeStateID() {
+        return changeStateID;
+    }
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/TaskName.java

@@ -0,0 +1,16 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+
+@Data
+public class TaskName {
+
+    private String name;
+
+    @XmlElement(name = "Name")
+    public String getName(){
+        return name;
+    }
+}

+ 29 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/XmlRequestData.java

@@ -0,0 +1,29 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+/**
+ *
+ * @author
+ */
+@Data
+@XmlRootElement(name="XMLDATA")
+public class XmlRequestData {
+	private ProcessingConditions processingConditions;
+	private List<ProjectSelectionByElement> projectSelectionByElements;
+	
+	@XmlElement(name = "ProcessingConditions")
+	public ProcessingConditions getProcessingConditions() {
+		return processingConditions;
+	}
+
+	@XmlElement(name = "ProjectSelectionByElements")
+	public List<ProjectSelectionByElement> getProjectSelectionByElements() {
+		return projectSelectionByElements;
+	}
+
+}

+ 38 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/webservice/po/XmlResponseData.java

@@ -0,0 +1,38 @@
+package com.management.platform.webservice.po;
+
+import lombok.Data;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+/**
+ *
+ * @author
+ */
+@Data
+@XmlRootElement(name="XMLDATA")
+public class XmlResponseData{
+	private List<ServiceProduct> serviceProducts;
+
+	private ProcessingConditions processingConditions;
+
+	private List<ProjectQueryResponse> projectQueryResponses;
+
+	
+	@XmlElement(name = "ServiceProduct")
+	public List<ServiceProduct> getServiceProducts() {
+		return serviceProducts;
+	}
+
+	@XmlElement(name = "ProcessingConditions")
+	public ProcessingConditions getProcessingConditions() {
+		return processingConditions;
+	}
+
+	@XmlElement(name = "ProjectQueryResponse")
+	public List<ProjectQueryResponse> getProjectQueryResponses() {
+		return projectQueryResponses;
+	}
+
+}