浏览代码

1.新增人工特殊成本手动更新接口

WoNiu 5 年之前
父节点
当前提交
8549f1f0d1

+ 6 - 0
src/main/java/com/galaxis/manatee/controller/GetController.java

@@ -99,6 +99,12 @@ public class GetController {
         chuanyunBasicDataScheduledTask.getCostCollectionManually();
         chuanyunBasicDataScheduledTask.getCostCollectionManually();
     }
     }
 
 
+    @Async
+    @GetMapping("/test/getReimbursementItemsManually")
+    public void getReimbursementItemsManually() {
+        chuanyunBasicDataScheduledTask.getReimbursementItemsManually();
+    }
+
     /**
     /**
      * 获取人员费用归集
      * 获取人员费用归集
      * @return
      * @return

+ 54 - 5
src/main/java/com/galaxis/manatee/task/ChuanyunBasicDataScheduledTask.java

@@ -58,6 +58,10 @@ public class ChuanyunBasicDataScheduledTask {
         this.chuanyunReimbursementItemsDao = chuanyunReimbursementItemsDao;
         this.chuanyunReimbursementItemsDao = chuanyunReimbursementItemsDao;
     }
     }
 
 
+    public void getReimbursementItemsManually() {
+        this.getReimbursementItems();
+    }
+
     public void getUserCompanyManually(){
     public void getUserCompanyManually(){
         this.getUserCompany();
         this.getUserCompany();
     }
     }
@@ -85,6 +89,8 @@ public class ChuanyunBasicDataScheduledTask {
         getSpecialProcedure();
         getSpecialProcedure();
         //获取人员-归属公司信息
         //获取人员-归属公司信息
         getUserCompany();
         getUserCompany();
+        //获取集团项目数据
+        getGroupProject();
         //支出档案类型
         //支出档案类型
         getProjectType();
         getProjectType();
         //人员报销特殊项目
         //人员报销特殊项目
@@ -99,8 +105,6 @@ public class ChuanyunBasicDataScheduledTask {
         getUserList();
         getUserList();
         //获取公司信息
         //获取公司信息
         getCompany();
         getCompany();
-        //获取集团项目数据
-        getGroupProject();
         //获取供应商
         //获取供应商
         getSupplier();
         getSupplier();
 
 
@@ -172,12 +176,13 @@ public class ChuanyunBasicDataScheduledTask {
                         chuanyunGroupProjectDao.delete(tmpGroupProjectDO.get());
                         chuanyunGroupProjectDao.delete(tmpGroupProjectDO.get());
                     });
                     });
 
 
+                    updateProjectDetail(chuanyunGroupProjectDO);
                     //处理项目对象中的项目成员数据
                     //处理项目对象中的项目成员数据
-                    projectMemberListCheck(chuanyunGroupProjectDO);
+//                    projectMemberListCheck(chuanyunGroupProjectDO);
                     //处理项目对象中的项目经理、项目负责人数据
                     //处理项目对象中的项目经理、项目负责人数据
-                    projectManagerCheck(chuanyunGroupProjectDO);
+//                    projectManagerCheck(chuanyunGroupProjectDO);
                 });
                 });
-                chuanyunGroupProjectDao.saveAll(result);
+//                chuanyunGroupProjectDao.saveAll(result);
             }catch (Exception e){
             }catch (Exception e){
                 log.error(e.getMessage());
                 log.error(e.getMessage());
                 e.printStackTrace();
                 e.printStackTrace();
@@ -186,6 +191,32 @@ public class ChuanyunBasicDataScheduledTask {
         log.info("集团项目信息保存保存"+totalCount+"项目映射更新完成");
         log.info("集团项目信息保存保存"+totalCount+"项目映射更新完成");
     }
     }
 
 
+    private void updateProjectDetail(ChuanyunGroupProjectDO chuanyunGroupProjectDO){
+        var objectMapper=new ObjectMapper();
+        List<ChuanyunGroupProjectDetailDO> list = new ArrayList<>();
+        if (chuanyunGroupProjectDO.getDetailList()!=null&&chuanyunGroupProjectDO.getDetailList().size()>0) {
+            for (ChuanyunGroupProjectDetailDO chuanyunGroupProjectDetailDO : chuanyunGroupProjectDO.getDetailList()) {
+                if (!chuanyunGroupProjectDO.getProjectType().equals(chuanyunGroupProjectDetailDO.getType())) {
+                    list.add(chuanyunGroupProjectDetailDO);
+                }
+            }
+        }
+        chuanyunGroupProjectDO.setDetailList(list);
+        var groupProjectDetailDTO = new GroupProjectDetailDTO(chuanyunGroupProjectDO);
+        String groupProjectUpdateString= null;
+        try {
+            groupProjectUpdateString = objectMapper.writeValueAsString(groupProjectDetailDTO);
+            ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),groupProjectUpdateString);
+            if (chuanyunSaveDTO.getSuccessful()) {
+                log.info(chuanyunGroupProjectDO.getObjectId()+"更新项目组织信息成功"+groupProjectUpdateString);
+            }else {
+                log.info(chuanyunGroupProjectDO.getObjectId()+"更新项目组织信息失败"+groupProjectUpdateString);
+            }
+        } catch (JsonProcessingException | BigSizeException e) {
+            e.printStackTrace();
+        }
+
+    }
     /**
     /**
      * 更新项目成员方法
      * 更新项目成员方法
      * @param chuanyunGroupProjectDO    项目对象
      * @param chuanyunGroupProjectDO    项目对象
@@ -462,6 +493,7 @@ public class ChuanyunBasicDataScheduledTask {
      * 获取人员报销特殊项目
      * 获取人员报销特殊项目
      */
      */
     private void getReimbursementItems() {
     private void getReimbursementItems() {
+        chuanyunReimbursementItemsDao.deleteAll();
         var objectMapper=new ObjectMapper();
         var objectMapper=new ObjectMapper();
         var start=0;
         var start=0;
         var totalCount=0L;
         var totalCount=0L;
@@ -519,6 +551,7 @@ public class ChuanyunBasicDataScheduledTask {
      * 获取人工成本特殊项目
      * 获取人工成本特殊项目
      */
      */
     private void getCostCollection(){
     private void getCostCollection(){
+        chuanyunCostCollectionDao.deleteAll();
         var objectMapper=new ObjectMapper();
         var objectMapper=new ObjectMapper();
         var start=0;
         var start=0;
         var totalCount=0L;
         var totalCount=0L;
@@ -662,6 +695,22 @@ public class ChuanyunBasicDataScheduledTask {
     }
     }
 
 
     @Data
     @Data
+    class GroupProjectDetailDTO {
+
+        @JsonProperty("D001789Fvspc68z01idftf5nqt66pkuc0")
+        private List<ChuanyunGroupProjectDetailDO> detailList;
+
+        public GroupProjectDetailDTO(ChuanyunGroupProjectDO chuanyunGroupProjectDO) {
+            if (null!=chuanyunGroupProjectDO) {
+                if (null!=chuanyunGroupProjectDO.getDetailList()) {
+                    this.detailList = chuanyunGroupProjectDO.getDetailList();
+                }
+            }
+        }
+
+    }
+
+    @Data
     class CostCollectionDTO {
     class CostCollectionDTO {
         /**
         /**
          * 外部项目名称
          * 外部项目名称