Forráskód Böngészése

1.项目工时汇总

WoNiu 4 éve
szülő
commit
e5278eb973

+ 64 - 173
src/main/java/com/galaxis/manatee/task/ChuanyunProjectScheduledTask.java

@@ -37,19 +37,15 @@ public class ChuanyunProjectScheduledTask {
     private final ChuanyunPurCostDao chuanyunPurCostDao;
     private final ChuanyunProjectCashFlowDao chuanyunProjectCashFlowDao;
     private final ChuanyunMemberCostDao chuanyunMemberCostDao;
-    private final ChuanyunProjectCostDao chuanyunProjectCostDao;
-    private final ChuanyunReimbursementAmountDao chuanyunReimbursementAmountDao;
     private final ChuanyunMonthLaborCostDao chuanyunMonthLaborCostDao;
 
-    public ChuanyunProjectScheduledTask(ChuanYunManager chuanYunManager, ChuanyunSaleContractDao chuanyunSaleContractDao, ChuanyunPaymentReceiveDao chuanyunPaymentReceiveDao, ChuanyunPurCostDao chuanyunPurCostDao, ChuanyunProjectCashFlowDao chuanyunProjectCashFlowDao, ChuanyunMemberCostDao chuanyunMemberCostDao, ChuanyunProjectCostDao chuanyunProjectCostDao, ChuanyunReimbursementAmountDao chuanyunReimbursementAmountDao, ChuanyunMonthLaborCostDao chuanyunMonthLaborCostDao) {
+    public ChuanyunProjectScheduledTask(ChuanYunManager chuanYunManager, ChuanyunSaleContractDao chuanyunSaleContractDao, ChuanyunPaymentReceiveDao chuanyunPaymentReceiveDao, ChuanyunPurCostDao chuanyunPurCostDao, ChuanyunProjectCashFlowDao chuanyunProjectCashFlowDao, ChuanyunMemberCostDao chuanyunMemberCostDao, ChuanyunMonthLaborCostDao chuanyunMonthLaborCostDao) {
         this.chuanYunManager = chuanYunManager;
         this.chuanyunSaleContractDao = chuanyunSaleContractDao;
         this.chuanyunPaymentReceiveDao = chuanyunPaymentReceiveDao;
         this.chuanyunPurCostDao = chuanyunPurCostDao;
         this.chuanyunProjectCashFlowDao = chuanyunProjectCashFlowDao;
         this.chuanyunMemberCostDao = chuanyunMemberCostDao;
-        this.chuanyunProjectCostDao = chuanyunProjectCostDao;
-        this.chuanyunReimbursementAmountDao = chuanyunReimbursementAmountDao;
         this.chuanyunMonthLaborCostDao = chuanyunMonthLaborCostDao;
     }
 
@@ -208,67 +204,6 @@ public class ChuanyunProjectScheduledTask {
             }
         log.info("项目物料成本保存"+totalCount);
     }
-
-    /**
-     * 项目工时汇总
-     */
-    @Scheduled(fixedDelay = 3600000L)
-    private void projectHour() {
-        List<ChuanyunProjectCostDO> list1 = chuanyunProjectCostDao.getProjectCost();
-
-        list1.forEach(chuanyunProjectCostDO -> {
-            //更新数据库
-            BigDecimal standard = new BigDecimal(8);
-            chuanyunProjectCostDO.setPersonDays(chuanyunProjectCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
-            ChuanyunProjectCostDO oldProjectDO = chuanyunProjectCostDao.findByProjectIdAndProjectTypeAndStatus(chuanyunProjectCostDO.getProjectId(),chuanyunProjectCostDO.getProjectType(),chuanyunProjectCostDO.getStatus());
-            if (oldProjectDO !=null) {
-                chuanyunProjectCostDao.delete(oldProjectDO);
-            }
-            chuanyunProjectCostDao.save(chuanyunProjectCostDO);
-            //搜索是否有审批中的数据
-            ChuanyunProjectCostDO processDO = chuanyunProjectCostDao.getProcessProjectCost(chuanyunProjectCostDO.getProjectId(),chuanyunProjectCostDO.getProjectType());
-            if (processDO==null){
-                chuanyunProjectCostDao.deleteByProjectIdAndProjectTypeAndStatus(chuanyunProjectCostDO.getProjectId(),chuanyunProjectCostDO.getProjectType(),"2");
-                deleteExamineStatus(ChuanyunProjectTotalCostDO.SCHEMA_CODE,"F0000006","F0000001",chuanyunProjectCostDO.getProjectId(),"","","","","","","","","F0000004",chuanyunProjectCostDO.getProjectType());
-            }
-
-            try {
-                ProjectTotalCostDTO chuanyunProjectTotalCostDTO = new ProjectTotalCostDTO();
-                chuanyunProjectTotalCostDTO.setProjectType(chuanyunProjectCostDO.getProjectType());
-                chuanyunProjectTotalCostDTO.setProjectId(chuanyunProjectCostDO.getProjectId());
-                chuanyunProjectTotalCostDTO.setStatus(chuanyunProjectCostDO.getStatus());
-                chuanyunProjectTotalCostDTO.setWorkHour(chuanyunProjectCostDO.getTotalHour());
-                chuanyunProjectTotalCostDTO.setPersonDays(chuanyunProjectCostDO.getPersonDays());
-                if (!StringUtils.isEmpty(chuanyunProjectCostDO.getProjectId()) && !StringUtils.isEmpty(chuanyunProjectCostDO.getProjectType())){
-                    List<String> matchers = new ArrayList<>();
-                    matchers.add("F0000001_2,"+chuanyunProjectCostDO.getProjectId());
-                    matchers.add("F0000004_2,"+chuanyunProjectCostDO.getProjectType());
-                    matchers.add("F0000006_2,"+chuanyunProjectCostDO.getStatus());
-                    var filter= Filter.instance(0,1,true,"And",matchers);
-                    var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectTotalCostDO.SCHEMA_CODE,filter);
-                    var projectTotalString=objectMapper.writeValueAsString(chuanyunProjectTotalCostDTO);
-                    ChuanyunSaveDTO chuanyunSaveDTO;
-                    if (chuanyunFindAllResponse.getReturnData()!=null) {
-                        List<ChuanyunProjectTotalCostDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
-                        ChuanyunProjectTotalCostDO firstResult = result.get(0);
-                        chuanyunSaveDTO = chuanYunManager.update(ChuanyunProjectTotalCostDO.SCHEMA_CODE,firstResult.getObjectId(),projectTotalString);
-                    }else {
-                        chuanyunSaveDTO = chuanYunManager.save(ChuanyunProjectTotalCostDO.SCHEMA_CODE,projectTotalString,true);
-
-                    }
-                    if(!chuanyunSaveDTO.getSuccessful()){
-                        log.warn("新增项目成本汇总失败");
-                    }
-                }
-            } catch (JsonProcessingException | BigSizeException e) {
-                log.error(e.getMessage());
-                log.error(""+chuanyunProjectCostDO);
-                e.printStackTrace();
-            }
-        });
-        log.info("项目工时汇总更新完成"+list1.size());
-    }
-
     /**
      * 更新销售合同回款数据
      */
@@ -309,113 +244,69 @@ public class ChuanyunProjectScheduledTask {
         log.info("项目销售合同回款信息保存保存"+totalCount);
     }
 
-
-    /**
-     * 人员项目工时汇总
-     */
-    @Scheduled(fixedDelay = 3600000L)
-    private void projectTotalHour() {
-        List<ChuanyunMemberCostDO> list = chuanyunMemberCostDao.getMemberCost();
-//        deleteExamineStatus(ChuanyunProjectMemberCostDO.SCHEMA_CODE,"F0000007");
-        chuanyunMemberCostDao.deleteAllByStatus("2");
-        list.forEach(chuanyunMemberCostDO -> {
-            if(StringUtils.isEmpty(chuanyunMemberCostDO.getProjectId())||StringUtils.isEmpty(chuanyunMemberCostDO.getUserId())){
-                log.info("########"+chuanyunMemberCostDO+"");
-            }else{
-                BigDecimal standard = new BigDecimal(8);
-                ChuanyunMemberCostDO memberCostDO = new ChuanyunMemberCostDO();
-                memberCostDO.setCost(chuanyunMemberCostDO.getCost());
-                memberCostDO.setProjectType(chuanyunMemberCostDO.getProjectType());
-                memberCostDO.setProjectId(chuanyunMemberCostDO.getProjectId());
-                memberCostDO.setUserId(chuanyunMemberCostDO.getUserId());
-                memberCostDO.setTotalHour(chuanyunMemberCostDO.getTotalHour());
-                memberCostDO.setStatus(chuanyunMemberCostDO.getStatus());
-                memberCostDO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
-                ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectIdAndStatus(chuanyunMemberCostDO.getUserId(),chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getStatus());
-                if (oldCostDO !=null) {
-                    chuanyunMemberCostDao.delete(oldCostDO);
-                }
-                chuanyunMemberCostDao.save(memberCostDO);
-
-                //更新氚云数据
-                try {
-                    ChuanyunProjectMemberCostDTO chuanyunProjectMemberCostDTO = new ChuanyunProjectMemberCostDTO();
-                    chuanyunProjectMemberCostDTO.setProjectId(chuanyunMemberCostDO.getProjectId());
-                    chuanyunProjectMemberCostDTO.setUserId(chuanyunMemberCostDO.getUserId());
-                    chuanyunProjectMemberCostDTO.setCost(chuanyunMemberCostDO.getCost());
-                    chuanyunProjectMemberCostDTO.setWorkHour(chuanyunMemberCostDO.getTotalHour());
-                    chuanyunProjectMemberCostDTO.setProjectType(chuanyunMemberCostDO.getProjectType());
-                    chuanyunProjectMemberCostDTO.setStatus(chuanyunMemberCostDO.getStatus());
-                    chuanyunProjectMemberCostDTO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
-                    List<String> matchers = new ArrayList<>();
-                    matchers.add("F0000001_2,"+chuanyunMemberCostDO.getProjectId());
-                    matchers.add("F0000007_2,"+chuanyunMemberCostDO.getStatus());
-                    matchers.add("F0000002_2,"+chuanyunMemberCostDO.getUserId());
-                    var filter= Filter.instance(0,1,true,"And",matchers);
-                    var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectMemberCostDO.SCHEMA_CODE,filter);
-                    var projectMemberString =objectMapper.writeValueAsString(chuanyunProjectMemberCostDTO);
-                    ChuanyunSaveDTO chuanyunSaveDTO;
-                    if (chuanyunFindAllResponse.getReturnData()!=null) {
-                        List<ChuanyunProjectMemberCostDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
-                        ChuanyunProjectMemberCostDO oldProjectMemberCostDO = result.get(0);
-                        chuanyunSaveDTO = chuanYunManager.update(ChuanyunProjectMemberCostDO.SCHEMA_CODE,oldProjectMemberCostDO.getObjectId(), projectMemberString);
-                    }else {
-                        chuanyunSaveDTO = chuanYunManager.save(ChuanyunProjectMemberCostDO.SCHEMA_CODE, projectMemberString,true);
-                    }
-                    if(!chuanyunSaveDTO.getSuccessful()){
-                        log.warn("新增项目成员成本汇总失败");
-                    }
-                } catch (JsonProcessingException | BigSizeException e) {
-                    e.printStackTrace();
-                    log.warn("########"+chuanyunMemberCostDO+"");
-                }
-            }
-        });
-    }
-
-    /**
-     * 删除状态为审核中数据
-     * @param schemaCode
-     * @param
-     */
-    public void deleteExamineStatus(String schemaCode,String statusCode,String projectCode,String projectId,String userCode,String userId,String yearCode,String year,String monthCode,String month,String weekCode,String week,String typeCode,String projectType) {
-        try {
-            List<String> matchers = new ArrayList<>();
-            matchers.add(statusCode+"_2,"+"2");
-            matchers.add(projectCode+"_2,"+projectId);
-            if (!StringUtils.isEmpty(userId)){
-                matchers.add(userCode+"_2,"+userId);
-            }
-            if (!StringUtils.isEmpty(year)){
-                matchers.add(yearCode+"_2,"+year);
-            }
-            if (!StringUtils.isEmpty(month)){
-                matchers.add(monthCode+"_2,"+month);
-            }
-            if (!StringUtils.isEmpty(week)){
-                matchers.add(weekCode+"_2,"+week);
-            }
-            if (!StringUtils.isEmpty(projectType)){
-                matchers.add(typeCode+"_2,"+projectType);
-            }
-            var filter= Filter.instance(0,Integer.MAX_VALUE,true,"And",matchers);
-            var chuanyunFindAllResponse=chuanYunManager.findAll(schemaCode,filter);
-            if (chuanyunFindAllResponse.getReturnData()!=null){
-                List<ChuanyunCommonDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
-                result.forEach(basicDO -> {
-                    ChuanyunSaveDTO chuanyunSaveDTO = chuanYunManager.delete(schemaCode,basicDO.getObjectId());
-                    if(chuanyunSaveDTO.getSuccessful()){
-//                        log.info("删除状态为审核中数据成功");
-                    }else{
-                        log.warn("删除状态为审核中数据失败");
-                    }
-                });
-            }
-        }catch (Exception e) {
-            e.printStackTrace();
-            log.error(e.getMessage());
-        }
-    }
+//
+//    /**
+//     * 人员项目工时汇总
+//     */
+////    @Scheduled(fixedDelay = 3600000L)
+//    private void projectTotalHour() {
+//        List<ChuanyunMemberCostDO> list = chuanyunMemberCostDao.getMemberCost();
+////        deleteExamineStatus(ChuanyunProjectMemberCostDO.SCHEMA_CODE,"F0000007");
+//        chuanyunMemberCostDao.deleteAllByStatus("2");
+//        list.forEach(chuanyunMemberCostDO -> {
+//            if(StringUtils.isEmpty(chuanyunMemberCostDO.getProjectId())||StringUtils.isEmpty(chuanyunMemberCostDO.getUserId())){
+//                log.info("########"+chuanyunMemberCostDO+"");
+//            }else{
+//                BigDecimal standard = new BigDecimal(8);
+//                ChuanyunMemberCostDO memberCostDO = new ChuanyunMemberCostDO();
+//                memberCostDO.setCost(chuanyunMemberCostDO.getCost());
+//                memberCostDO.setProjectType(chuanyunMemberCostDO.getProjectType());
+//                memberCostDO.setProjectId(chuanyunMemberCostDO.getProjectId());
+//                memberCostDO.setUserId(chuanyunMemberCostDO.getUserId());
+//                memberCostDO.setTotalHour(chuanyunMemberCostDO.getTotalHour());
+//                memberCostDO.setStatus(chuanyunMemberCostDO.getStatus());
+//                memberCostDO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
+//                ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectIdAndStatus(chuanyunMemberCostDO.getUserId(),chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getStatus());
+//                if (oldCostDO !=null) {
+//                    chuanyunMemberCostDao.delete(oldCostDO);
+//                }
+//                chuanyunMemberCostDao.save(memberCostDO);
+//
+//                //更新氚云数据
+//                try {
+//                    ChuanyunProjectMemberCostDTO chuanyunProjectMemberCostDTO = new ChuanyunProjectMemberCostDTO();
+//                    chuanyunProjectMemberCostDTO.setProjectId(chuanyunMemberCostDO.getProjectId());
+//                    chuanyunProjectMemberCostDTO.setUserId(chuanyunMemberCostDO.getUserId());
+//                    chuanyunProjectMemberCostDTO.setCost(chuanyunMemberCostDO.getCost());
+//                    chuanyunProjectMemberCostDTO.setWorkHour(chuanyunMemberCostDO.getTotalHour());
+//                    chuanyunProjectMemberCostDTO.setProjectType(chuanyunMemberCostDO.getProjectType());
+//                    chuanyunProjectMemberCostDTO.setStatus(chuanyunMemberCostDO.getStatus());
+//                    chuanyunProjectMemberCostDTO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
+//                    List<String> matchers = new ArrayList<>();
+//                    matchers.add("F0000001_2,"+chuanyunMemberCostDO.getProjectId());
+//                    matchers.add("F0000007_2,"+chuanyunMemberCostDO.getStatus());
+//                    matchers.add("F0000002_2,"+chuanyunMemberCostDO.getUserId());
+//                    var filter= Filter.instance(0,1,true,"And",matchers);
+//                    var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectMemberCostDO.SCHEMA_CODE,filter);
+//                    var projectMemberString =objectMapper.writeValueAsString(chuanyunProjectMemberCostDTO);
+//                    ChuanyunSaveDTO chuanyunSaveDTO;
+//                    if (chuanyunFindAllResponse.getReturnData()!=null) {
+//                        List<ChuanyunProjectMemberCostDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+//                        ChuanyunProjectMemberCostDO oldProjectMemberCostDO = result.get(0);
+//                        chuanyunSaveDTO = chuanYunManager.update(ChuanyunProjectMemberCostDO.SCHEMA_CODE,oldProjectMemberCostDO.getObjectId(), projectMemberString);
+//                    }else {
+//                        chuanyunSaveDTO = chuanYunManager.save(ChuanyunProjectMemberCostDO.SCHEMA_CODE, projectMemberString,true);
+//                    }
+//                    if(!chuanyunSaveDTO.getSuccessful()){
+//                        log.warn("新增项目成员成本汇总失败");
+//                    }
+//                } catch (JsonProcessingException | BigSizeException e) {
+//                    e.printStackTrace();
+//                    log.warn("########"+chuanyunMemberCostDO+"");
+//                }
+//            }
+//        });
+//    }
 
     @Data
     static

+ 63 - 1
src/main/java/com/galaxis/manatee/task/WorkHourStatistics.java

@@ -47,14 +47,16 @@ public class WorkHourStatistics {
     private final ChuanyunSelfWorkHourDao chuanyunSelfWorkHourDao;
     private final ChuanyunSelfCostDao chuanyunSelfCostDao;
     private final ChuanyunWeekMemberHourDao chuanyunWeekMemberHourDao;
+    private final ChuanyunProjectCostDao chuanyunProjectCostDao;
 
-    public WorkHourStatistics(ChuanYunManager chuanYunManager, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunWorkHourDao chuanyunWorkHourDao, ChuanyunSelfWorkHourDao chuanyunSelfWorkHourDao, ChuanyunSelfCostDao chuanyunSelfCostDao, ChuanyunWeekMemberHourDao chuanyunWeekMemberHourDao) {
+    public WorkHourStatistics(ChuanYunManager chuanYunManager, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunWorkHourDao chuanyunWorkHourDao, ChuanyunSelfWorkHourDao chuanyunSelfWorkHourDao, ChuanyunSelfCostDao chuanyunSelfCostDao, ChuanyunWeekMemberHourDao chuanyunWeekMemberHourDao, ChuanyunProjectCostDao chuanyunProjectCostDao) {
         this.chuanYunManager = chuanYunManager;
         this.chuanyunUserCompanyDao = chuanyunUserCompanyDao;
         this.chuanyunWorkHourDao = chuanyunWorkHourDao;
         this.chuanyunSelfWorkHourDao = chuanyunSelfWorkHourDao;
         this.chuanyunSelfCostDao = chuanyunSelfCostDao;
         this.chuanyunWeekMemberHourDao = chuanyunWeekMemberHourDao;
+        this.chuanyunProjectCostDao = chuanyunProjectCostDao;
     }
 
 
@@ -63,6 +65,7 @@ public class WorkHourStatistics {
         standardWorkHour();
         standardWeeklyWorkHour();
         standardMonthlyWorkHour();
+        projectHour();
         quitStandradHour();
     }
 
@@ -453,6 +456,65 @@ public class WorkHourStatistics {
     }
 
     /**
+     * 项目工时汇总
+     */
+    private void projectHour() {
+        List<ChuanyunProjectCostDO> list1 = chuanyunProjectCostDao.getProjectCost();
+        log.info("开始更新项目汇总工时");
+        list1.forEach(chuanyunProjectCostDO -> {
+            //更新数据库
+            BigDecimal standard = new BigDecimal(8);
+            chuanyunProjectCostDO.setPersonDays(chuanyunProjectCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
+            ChuanyunProjectCostDO oldProjectDO = chuanyunProjectCostDao.findByProjectIdAndProjectTypeAndStatus(chuanyunProjectCostDO.getProjectId(),chuanyunProjectCostDO.getProjectType(),chuanyunProjectCostDO.getStatus());
+            if (oldProjectDO !=null) {
+                chuanyunProjectCostDao.delete(oldProjectDO);
+            }
+            chuanyunProjectCostDao.save(chuanyunProjectCostDO);
+            //搜索是否有审批中的数据
+            ChuanyunProjectCostDO processDO = chuanyunProjectCostDao.getProcessProjectCost(chuanyunProjectCostDO.getProjectId(),chuanyunProjectCostDO.getProjectType());
+            if (processDO==null){
+                chuanyunProjectCostDao.deleteByProjectIdAndProjectTypeAndStatus(chuanyunProjectCostDO.getProjectId(),chuanyunProjectCostDO.getProjectType(),"2");
+                deleteExamineStatus(ChuanyunProjectTotalCostDO.SCHEMA_CODE,"F0000006","F0000001",chuanyunProjectCostDO.getProjectId(),"","","","","","","","","F0000004",chuanyunProjectCostDO.getProjectType());
+            }
+
+            try {
+                ChuanyunProjectScheduledTask.ProjectTotalCostDTO chuanyunProjectTotalCostDTO = new ChuanyunProjectScheduledTask.ProjectTotalCostDTO();
+                chuanyunProjectTotalCostDTO.setProjectType(chuanyunProjectCostDO.getProjectType());
+                chuanyunProjectTotalCostDTO.setProjectId(chuanyunProjectCostDO.getProjectId());
+                chuanyunProjectTotalCostDTO.setStatus(chuanyunProjectCostDO.getStatus());
+                chuanyunProjectTotalCostDTO.setWorkHour(chuanyunProjectCostDO.getTotalHour());
+                chuanyunProjectTotalCostDTO.setPersonDays(chuanyunProjectCostDO.getPersonDays());
+                if (!StringUtils.isEmpty(chuanyunProjectCostDO.getProjectId()) && !StringUtils.isEmpty(chuanyunProjectCostDO.getProjectType())){
+                    List<String> matchers = new ArrayList<>();
+                    matchers.add("F0000001_2,"+chuanyunProjectCostDO.getProjectId());
+                    matchers.add("F0000004_2,"+chuanyunProjectCostDO.getProjectType());
+                    matchers.add("F0000006_2,"+chuanyunProjectCostDO.getStatus());
+                    var filter= Filter.instance(0,1,true,"And",matchers);
+                    var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectTotalCostDO.SCHEMA_CODE,filter);
+                    var projectTotalString=objectMapper.writeValueAsString(chuanyunProjectTotalCostDTO);
+                    ChuanyunSaveDTO chuanyunSaveDTO;
+                    if (chuanyunFindAllResponse.getReturnData()!=null) {
+                        List<ChuanyunProjectTotalCostDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                        ChuanyunProjectTotalCostDO firstResult = result.get(0);
+                        chuanyunSaveDTO = chuanYunManager.update(ChuanyunProjectTotalCostDO.SCHEMA_CODE,firstResult.getObjectId(),projectTotalString);
+                    }else {
+                        chuanyunSaveDTO = chuanYunManager.save(ChuanyunProjectTotalCostDO.SCHEMA_CODE,projectTotalString,true);
+
+                    }
+                    if(!chuanyunSaveDTO.getSuccessful()){
+                        log.warn("新增项目成本汇总失败");
+                    }
+                }
+            } catch (JsonProcessingException | BigSizeException e) {
+                log.error(e.getMessage());
+                log.error(""+chuanyunProjectCostDO);
+                e.printStackTrace();
+            }
+        });
+        log.info("项目工时汇总更新完成"+list1.size());
+    }
+
+    /**
      * 离职人员工时标准化
      */
     private void quitStandradHour() {