Selaa lähdekoodia

1.立项更新项目组成员

WoNiu 4 vuotta sitten
vanhempi
commit
78065bbd36

+ 28 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunDevelopProjectDO.java

@@ -0,0 +1,28 @@
+package com.galaxis.manatee.entity.chuanyun.data.object;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.extern.slf4j.Slf4j;
+
+import javax.persistence.Entity;
+
+@Slf4j
+@EqualsAndHashCode(callSuper = true)
+@Data
+@Entity
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunDevelopProjectDO extends BasicDO{
+
+    /**
+     * 表名
+     */
+    public static final String SCHEMA_CODE ="D001789RDProjectNo";
+
+    @JsonProperty("F0000001")
+    private String seqNo;
+
+    @JsonProperty("F0000002")
+    private String projectName;
+}

+ 28 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunSaleProjectDO.java

@@ -0,0 +1,28 @@
+package com.galaxis.manatee.entity.chuanyun.data.object;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.extern.slf4j.Slf4j;
+
+import javax.persistence.Entity;
+
+@Slf4j
+@EqualsAndHashCode(callSuper = true)
+@Data
+@Entity
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunSaleProjectDO extends BasicDO{
+
+    /**
+     * 表名
+     */
+    public static final String SCHEMA_CODE ="D001789Sb95ajzudvc8qtmiqe29topk22";
+
+    @JsonProperty("F0000034")
+    private String seqNo;
+
+    @JsonProperty("F0000025")
+    private String projectName;
+}

+ 63 - 2
src/main/java/com/galaxis/manatee/service/ProjectMemberService.java

@@ -3,8 +3,10 @@ package com.galaxis.manatee.service;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.galaxis.manatee.dao.ChuanyunGroupProjectDao;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunDevelopProjectDO;
 import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunGroupProjectDO;
 import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunManagerProjectDO;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunSaleProjectDO;
 import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunFindAllBizDTO;
 import com.galaxis.manatee.entity.chuanyun.dto.Filter;
 import com.galaxis.manatee.manager.ChuanYunManager;
@@ -31,7 +33,7 @@ public class ProjectMemberService {
     }
 
     @Async
-    public void updateMember(String param){
+    public void updateManagerMember(String param){
         var objectMapper=new ObjectMapper();
         param=param.substring(14,param.length()-2);
         log.info(param);
@@ -41,7 +43,6 @@ public class ProjectMemberService {
             ChuanyunManagerProjectDO chuanyunManagerProjectDO = objectMapper.convertValue(chuanyunFindResponse.getReturnData().getBizObject(), new TypeReference<>(){});
             if (chuanyunManagerProjectDO!=null){
                 updateFlag=true;
-                log.info("管理项目"+chuanyunManagerProjectDO);
                 try {
                     List<String> matchers = new ArrayList<>();
                     matchers.add("F0000002_2,"+chuanyunManagerProjectDO.getSeqNo());
@@ -60,4 +61,64 @@ public class ProjectMemberService {
             }
         }
     }
+
+    @Async
+    public void updateSaleMember(String param){
+        var objectMapper=new ObjectMapper();
+        param=param.substring(14,param.length()-2);
+        log.info(param);
+        boolean updateFlag=false;
+        while (!updateFlag){
+            var chuanyunFindResponse =  chuanYunManager.find(ChuanyunSaleProjectDO.SCHEMA_CODE,param);
+            ChuanyunSaleProjectDO chuanyunSaleProjectDO = objectMapper.convertValue(chuanyunFindResponse.getReturnData().getBizObject(), new TypeReference<>(){});
+            if (chuanyunSaleProjectDO!=null){
+                updateFlag=true;
+                try {
+                    List<String> matchers = new ArrayList<>();
+                    matchers.add("F0000002_2,"+chuanyunSaleProjectDO.getSeqNo());
+                    var filter= Filter.instance(0,1,true,"And",matchers);
+                    ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunGroupProjectDO.SCHEMA_CODE,filter);
+                    if (chuanyunFindAllResponse.getReturnData()!=null){
+                        List<ChuanyunGroupProjectDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                        log.info("集团项目"+result.get(0));
+                        chuanyunBasicDataScheduledTask.chuanyunUpdateProjectMemberManually(result.get(0));
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                    log.warn(e.getMessage());
+                }
+                log.info("更新项目组成员成功");
+            }
+        }
+    }
+
+    @Async
+    public void updateDevelopMember(String param){
+        var objectMapper=new ObjectMapper();
+        param=param.substring(14,param.length()-2);
+        log.info(param);
+        boolean updateFlag=false;
+        while (!updateFlag){
+            var chuanyunFindResponse =  chuanYunManager.find(ChuanyunDevelopProjectDO.SCHEMA_CODE,param);
+            ChuanyunDevelopProjectDO chuanyunDevelopProjectDO = objectMapper.convertValue(chuanyunFindResponse.getReturnData().getBizObject(), new TypeReference<>(){});
+            if (chuanyunDevelopProjectDO!=null){
+                updateFlag=true;
+                try {
+                    List<String> matchers = new ArrayList<>();
+                    matchers.add("F0000002_2,"+chuanyunDevelopProjectDO.getSeqNo());
+                    var filter= Filter.instance(0,1,true,"And",matchers);
+                    ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunGroupProjectDO.SCHEMA_CODE,filter);
+                    if (chuanyunFindAllResponse.getReturnData()!=null){
+                        List<ChuanyunGroupProjectDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                        log.info("集团项目"+result.get(0));
+                        chuanyunBasicDataScheduledTask.chuanyunUpdateProjectMemberManually(result.get(0));
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                    log.warn(e.getMessage());
+                }
+                log.info("更新项目组成员成功");
+            }
+        }
+    }
 }

+ 6 - 3
src/main/java/com/galaxis/manatee/webservice/CountryEndpoint.java

@@ -73,9 +73,12 @@ public class CountryEndpoint {
 		InvokeResponse invokeResponse=new InvokeResponse();
 		//书写调用第三方接口方法
 		log.info("开始数据同步");
-		if (request.getMethodName().equals("projectApproval")){
-			log.info("同步项目组成员");
-			projectMemberService.updateMember(request.getParam());
+		if (request.getMethodName().equals("managerProject")){
+			projectMemberService.updateManagerMember(request.getParam());
+		}else if (request.getMethodName().equals("saleProject")){
+			projectMemberService.updateSaleMember(request.getParam());
+		}else if (request.getMethodName().equals("developProject")){
+			projectMemberService.updateDevelopMember(request.getParam());
 		}else {
 			chuanyunHumanResourceScheduledTask.getPayrollManually();
 			chuanyunBasicDataScheduledTask.getUserCompanyManually();