소스 검색

台账录入

zzx 2 년 전
부모
커밋
91fc098051
1개의 변경된 파일78개의 추가작업 그리고 40개의 파일을 삭제
  1. 78 40
      src/test/java/com/galaxis/manatee/Test/buildProjectTest/BuildProjectTest.java

+ 78 - 40
src/test/java/com/galaxis/manatee/Test/buildProjectTest/BuildProjectTest.java

@@ -5,13 +5,12 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.galaxis.manatee.entity.chuanyun.data.object.BasicDO;
 import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunBuildProject;
 import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunGroupProjectDO;
 import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunFindAllBizDTO;
 import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunFindBizDTO;
-import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunFindBizReturnData;
 import com.galaxis.manatee.entity.chuanyun.dto.Filter;
+import com.galaxis.manatee.exception.BigSizeException;
 import com.galaxis.manatee.manager.ChuanYunManager;
 import com.galaxis.manatee.service.WorkGroupService;
 import lombok.Data;
@@ -26,7 +25,6 @@ import java.util.List;
 @Slf4j
 @SpringBootTest
 public class BuildProjectTest {
-
     @Autowired
     private ChuanYunManager chuanYunManager;
 
@@ -35,7 +33,6 @@ public class BuildProjectTest {
 
     @Test
     void test1() {
-
         //从氚云查询数据
         // 由于存在两条不正常的数据需要排除在外
         List<String> m = List.of("F0000003_2,AS21149");
@@ -52,20 +49,15 @@ public class BuildProjectTest {
         ObjectMapper objectMapper = new ObjectMapper();
         List<ChuanyunBuildProject> bpList = objectMapper.convertValue(bizObjectArray, new TypeReference<>() {
         });
-
-
     }
 
     @Test
     void test2() {
-//        workGroupService.findAll();
 
     }
 
-
     @Test
     void test3() {
-
         int start = 525;
         long totalCount = 0L;
         boolean flag = true;
@@ -94,20 +86,15 @@ public class BuildProjectTest {
                 ObjectMapper objectMapper = new ObjectMapper();
                 List<ChuanyunBuildProject> bpList = objectMapper.convertValue(bizObjectArray, new TypeReference<>() {
                 });
-
             } catch (Exception e) {
                 log.error(e.getMessage());
                 e.printStackTrace();
             }
-
         }
-
-
     }
 
     @Test
     void test4() {
-
         // 从氚云查询数据
         // 由于存在两条不正常的数据需要排除在外
         List<String> m = List.of("status_2,1");
@@ -126,14 +113,12 @@ public class BuildProjectTest {
         ObjectMapper objectMapper = new ObjectMapper();
         List<ChuanyunBuildProject> bpList = objectMapper.convertValue(bizObjectArray, new TypeReference<>() {
         });
-
     }
 
-
     @Test
-    void syncBuildProjectToSubTable() {
-//        List<String> m = List.of("F0000016_2,实施");
-        List<String> m = List.of("F0000003_2,D22429");
+    void accountChildEnter() {
+        List<String> m = List.of("F0000016_2,实施", "Status_2,1");
+        // List<String> m = List.of("F0000003_2,D22429", "Status_2,1");
         var filter = Filter.instance(0, 400, true, Filter.AND, m);
 
         ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = null;
@@ -152,28 +137,50 @@ public class BuildProjectTest {
         List<ChuanyunBuildProject> bpList = objectMapper.convertValue(bizObjectArray, new TypeReference<>() {
         });
 
-        var preSalesList = new ArrayList<>();
         bpList.forEach(chuanyunBuildProject -> {
-            String projectCode = chuanyunBuildProject.getProjectCode();
-            //售前转实施
-            if (this.getPreSales(projectCode) != null && this.getPreSales(projectCode).size() > 0) {
-                if (this.getPreSales(projectCode).size() == 1) {
-                    String projectCode1 = this.getProjectCode(this.getPreSales(projectCode).get(0).getSaleProjectObjectId());
-                    preSalesList.add(projectCode1);
-                } else {
-                    this.getPreSales(projectCode).forEach(SaleToImpl -> {
-                        String projectCode1 = this.getProjectCode(SaleToImpl.getSaleProjectObjectId());
-                        preSalesList.add(projectCode1);
-                    });
+            try {
+                Thread.sleep(200);
+                ProjectSubAccount projectSubAccount = new ProjectSubAccount();
+                projectSubAccount.setProjectType("实施");
+                projectSubAccount.setImplProjectName(chuanyunBuildProject.getProjectName());
+                projectSubAccount.setImplProjectCode(chuanyunBuildProject.getProjectCode());
+                projectSubAccount.setSigningCompany(chuanyunBuildProject.getSigningCompany());
+                projectSubAccount.setCustomerName(chuanyunBuildProject.getCustomerName());
+                projectSubAccount.setNameOfOwner(chuanyunBuildProject.getNameOfOwner());
+                projectSubAccount.setProjectManager(chuanyunBuildProject.getProjectManager());
+                projectSubAccount.setSalesDirector(chuanyunBuildProject.getSalesDirector());
+                projectSubAccount.setSystemWarranty(chuanyunBuildProject.getSystemWarranty());
+                projectSubAccount.setDeviceWarranty(chuanyunBuildProject.getDeviceWarranty());
+
+                String projectCode = chuanyunBuildProject.getProjectCode();
+                //售前转实施
+                if (this.getPreSales(projectCode) != null && this.getPreSales(projectCode).size() > 0) {
+                    String projectCode2 = this.getProjectCode(this.getPreSales(projectCode).get(0).getPreSaleProjectObjectId());
+                    projectSubAccount.setPreSaleNumber(projectCode2);
+                }
+
+                //实施转售后
+                if (this.getAfterSales(projectCode) != null && this.getAfterSales(projectCode).size() > 0) {
+                    projectSubAccount.setAfterSaleNumber(this.getAfterSales(projectCode).get(0).getAfterSaleProjectCode());
+                }
+
+                String json = null;
+                try {
+                    json = objectMapper.writeValueAsString(projectSubAccount);
+                    log.info("{json => {}}", json);
+                    chuanYunManager.save("D0017894df4f53e50244f29ad440f11ead89fad",json,true);
+                } catch (JsonProcessingException | BigSizeException e) {
+                    e.printStackTrace();
                 }
+            } catch (InterruptedException e) {
+                e.printStackTrace();
             }
         });
-
-        log.info("{}", preSalesList);
     }
 
+    //售前
     List<SaleToImpl> getPreSales(String projectCode) {
-        List<String> m = List.of("F0000064_2," + projectCode);
+        List<String> m = List.of("F0000064_2," + projectCode, "Status_2,1");
         var filter = Filter.instance(0, 400, true, Filter.AND, m);
 
         ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = null;
@@ -195,6 +202,7 @@ public class BuildProjectTest {
         return bpList;
     }
 
+    //获取项目号
     String getProjectCode(String saleProjectObjectId) {
         ChuanyunFindBizDTO<Object> objectChuanyunFindBizDTO = null;
         try {
@@ -209,11 +217,35 @@ public class BuildProjectTest {
 
         ObjectMapper objectMapper = new ObjectMapper();
         Object bizObject = objectChuanyunFindBizDTO.getReturnData().getBizObject();
-        ChuanyunGroupProjectDO groupProjectDO = objectMapper.convertValue(bizObject,new TypeReference<>() {
+        ChuanyunGroupProjectDO groupProjectDO = objectMapper.convertValue(bizObject, new TypeReference<>() {
         });
         return groupProjectDO.getProjectCode();
     }
 
+    //售后
+    List<SaleToAfter> getAfterSales(String projectCode) {
+        List<String> m = List.of("F0000042_2," + projectCode, "Status_2,1");
+        var filter = Filter.instance(0, 400, true, Filter.AND, m);
+
+        ChuanyunFindAllBizDTO<Object> chuanyunFindAllResponse = null;
+        try {
+            chuanyunFindAllResponse = chuanYunManager.findAll("D001789Sk18j1niro92y5dxj2indfx583", filter);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+
+        if (chuanyunFindAllResponse.getReturnData() == null || chuanyunFindAllResponse.getReturnData().getBizObjectArray() == null) {
+            return null;
+        }
+
+        List<Object> bizObjectArray = chuanyunFindAllResponse.getReturnData().getBizObjectArray();
+        ObjectMapper objectMapper = new ObjectMapper();
+        List<SaleToAfter> bpList = objectMapper.convertValue(bizObjectArray, new TypeReference<>() {
+        });
+
+        return bpList;
+    }
+
     @Data
     static class ProjectSubAccount {
         @JsonProperty("F0000102")
@@ -236,18 +268,24 @@ public class BuildProjectTest {
         private Integer systemWarranty;
         @JsonProperty("F0000072")
         private Integer deviceWarranty;
-
+        @JsonProperty("F0000076")
+        private String preSaleNumber;
+        @JsonProperty("F0000033")
+        private String afterSaleNumber;
     }
 
     @Data
     @JsonIgnoreProperties(ignoreUnknown = true)
     static class SaleToImpl {
         @JsonProperty("F0000015")
-        private String SaleProjectObjectId; //售前转实施查出来的售前项目的ID
-
-
+        private String preSaleProjectObjectId; //售前转实施查出来的售前项目的ID
     }
 
-
+    @Data
+    @JsonIgnoreProperties(ignoreUnknown = true)
+    static class SaleToAfter {
+        @JsonProperty("F0000073")
+        private String afterSaleProjectCode; //实施转售后
+    }
 }