ソースを参照

1.修改项目预决算

WoNiu 4 年 前
コミット
fc5482b5e8

+ 29 - 20
src/main/java/com/galaxis/manatee/task/ChuanyunBasicDataScheduledTask.java

@@ -371,31 +371,40 @@ public class ChuanyunBasicDataScheduledTask {
      * 更新项目预决算统计
      */
     private void saveBudgetStatistics() {
-        List<ChuanyunBudgetStatisticsDO> list = chuanyunBudgetStatisticsDao.getTotalByProject();
+        List<ChuanyunBudgetStatisticsDO> list = chuanyunBudgetStatisticsDao.findAll();
         list.forEach(chuanyunBudgetStatisticsDO -> {
             if (!StringUtils.isEmpty(chuanyunBudgetStatisticsDO.getProject())){
                 var objectMapper = new ObjectMapper();
-                BudgetDTO budgetDTO = new BudgetDTO(chuanyunBudgetStatisticsDO);
-                budgetDTO.setDate(LocalDateTime.of(2020,4,1,0,0));
                 try {
-                    List<String> matchers = new ArrayList<>();
-                    ChuanyunSaveDTO chuanyunSaveDTO;
-                    matchers.add("F0000001_2,"+chuanyunBudgetStatisticsDO.getProject());
-                    matchers.add("F0000002_2,"+chuanyunBudgetStatisticsDO.getFeeType());
-                    var filter= Filter.instance(0,1,true,"And",matchers);
-                    var chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunBudgetAmountDO.SCHEMA_CODE,filter);
-                    var budgetString = objectMapper.writeValueAsString(budgetDTO);
-                    if (chuanyunFindAllResponse.getReturnData() != null) {
-                        List<ChuanyunBudgetAmountDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
-                        ChuanyunBudgetAmountDO chuanyunBudgetAmountDO = result.get(0);
-                        chuanyunSaveDTO = chuanYunManager.update(ChuanyunBudgetAmountDO.SCHEMA_CODE,chuanyunBudgetAmountDO.getObjectId(),budgetString);
-                    }else {
-                        chuanyunSaveDTO = chuanYunManager.save(ChuanyunBudgetAmountDO.SCHEMA_CODE,budgetString,true);
-                    }
-                    if(chuanyunSaveDTO.getSuccessful()){
+                    //集团总表中查找项目
+                    List<String> projectmatchers = new ArrayList<>();
+                    projectmatchers.add("Name_2,"+chuanyunBudgetStatisticsDO.getProject());
+                    var projectfilter= Filter.instance(0,1,true,"And",projectmatchers);
+                    var chuanyunFindResponse = chuanYunManager.findAll(ChuanyunGroupProjectDO.SCHEMA_CODE,projectfilter);
+                    if (chuanyunFindResponse.getReturnData()!=null){
+                        List<ChuanyunGroupProjectDO> projectresult=objectMapper.convertValue(chuanyunFindResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                        chuanyunBudgetStatisticsDO.setProject(projectresult.get(0).getObjectId());
+                        List<String> matchers = new ArrayList<>();
+                        ChuanyunSaveDTO chuanyunSaveDTO;
+                        matchers.add("F0000001_2,"+chuanyunBudgetStatisticsDO.getProject());
+                        matchers.add("F0000002_2,"+chuanyunBudgetStatisticsDO.getFeeType());
+                        var filter= Filter.instance(0,1,true,"And",matchers);
+                        var chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunBudgetAmountDO.SCHEMA_CODE,filter);
+                        BudgetDTO budgetDTO = new BudgetDTO(chuanyunBudgetStatisticsDO);
+                        budgetDTO.setDate(LocalDateTime.of(2020,4,1,0,0));
+                        var budgetString = objectMapper.writeValueAsString(budgetDTO);
+                        if (chuanyunFindAllResponse.getReturnData() != null) {
+                            List<ChuanyunBudgetAmountDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                            ChuanyunBudgetAmountDO chuanyunBudgetAmountDO = result.get(0);
+                            chuanyunSaveDTO = chuanYunManager.update(ChuanyunBudgetAmountDO.SCHEMA_CODE,chuanyunBudgetAmountDO.getObjectId(),budgetString);
+                        }else {
+                            chuanyunSaveDTO = chuanYunManager.save(ChuanyunBudgetAmountDO.SCHEMA_CODE,budgetString,true);
+                        }
+                        if(chuanyunSaveDTO.getSuccessful()){
                             log.info("新增项目预决算统计成功");
-                    }else{
-                        log.warn("新增项目预决算统计失败");
+                        }else{
+                            log.warn("新增项目预决算统计失败");
+                        }
                     }
                 } catch (JsonProcessingException | BigSizeException e) {
                     e.printStackTrace();