Explorar el Código

新增节点bug

liuyc hace 2 años
padre
commit
8e3b476c8a

+ 19 - 7
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -39,6 +39,7 @@ import org.springblade.evisa.feign.EVisaClient;
 import org.springblade.evisa.vo.CertBeanVO;
 import org.springblade.manager.entity.*;
 import org.springblade.manager.feign.*;
+import org.springblade.manager.vo.WbsTreeContractLazyVO;
 import org.springblade.manager.vo.WbsTreeContractTreeVOS;
 import org.springblade.resource.feign.NewIOSSClient;
 import org.springblade.system.cache.ParamCache;
@@ -2683,8 +2684,13 @@ public class InformationWriteQueryController extends BladeController {
                     selectedNodeList.addAll(childList);
                 }
 
-                if (childList.size() > 0) {
-                    //处理重复的数据
+                //处理重复的数据
+                selectedNodeList = selectedNodeList.stream().collect(Collectors.collectingAndThen(
+                        Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(WbsTreePrivate::getId))),
+                        ArrayList::new
+                ));
+
+                /*if (childList.size() > 0) {
                     Iterator<WbsTreePrivate> iterator = childList.iterator();
                     while (iterator.hasNext()) {
                         WbsTreePrivate next = iterator.next();
@@ -2696,9 +2702,9 @@ public class InformationWriteQueryController extends BladeController {
                             }
                         }
                     }
-                }
+                }*/
                 //处理完重复数据后,设置进集合中
-                selectedNodeList.addAll(childList);
+                //selectedNodeList.addAll(childList);
             }
             //处理半选
             this.disposeHalfSelectList(treeContract, halfSelectedNodeList, selectedNodeList, query);
@@ -2724,6 +2730,12 @@ public class InformationWriteQueryController extends BladeController {
                     //将表格数据设置
                     selectedNodeList.addAll(childList);
                 }
+
+                //处理重复的数据
+                selectedNodeList = selectedNodeList.stream().collect(Collectors.collectingAndThen(
+                        Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(WbsTreePrivate::getId))),
+                        ArrayList::new
+                ));
             }
         }
 
@@ -3053,8 +3065,8 @@ public class InformationWriteQueryController extends BladeController {
      * @param childList  保存集合
      */
     private void foreachQueryChild(List<WbsTreePrivate> parentList, List<WbsTreePrivate> childList) {
-        parentList.forEach(parent -> {
-            //只获取原始表,不获取复制的表(业务说是从项目wbs树处取表)
+        for (WbsTreePrivate parent : parentList) {
+            //只获取原始表
             List<WbsTreePrivate> childS = jdbcTemplate.query("select * from m_wbs_tree_private where parent_id = " + parent.getId() + " and project_id = " + parent.getProjectId() + " and wbs_id = " + parent.getWbsId() + " and is_deleted = 0 and status = 1", new BeanPropertyRowMapper<>(WbsTreePrivate.class));
             if (childS.size() > 0) {
                 //添加入结果集
@@ -3062,7 +3074,7 @@ public class InformationWriteQueryController extends BladeController {
                 //继续向下检查子集
                 this.foreachQueryChild(childS, childList);
             }
-        });
+        }
     }
 
     /**

+ 22 - 7
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/TaskProcessServiceImpl.java

@@ -783,6 +783,18 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                     }
 
                     if (dto.getUpdateType().equals("1")) {
+
+                        //新增计划任务是否逾期完成记录信息
+                        if (ObjectUtil.isNotEmpty(planTaskInfo.getPlanEndTime())) {
+                            Date now = DateUtil.now();
+                            Date planEndDate = Date.from(planTaskInfo.getPlanEndTime().atStartOfDay(ZoneId.systemDefault()).toInstant());
+                            int comparison = now.compareTo(planEndDate);
+                            if (comparison > 0) {
+                                //now大于planEndDate表示逾期完成
+                                jdbcTemplate.execute("delete from c_task_plan_overdue_status where plan_task_id = " + taskId + " ; insert into c_task_plan_overdue_status(id,user_id,plan_task_id,is_overdue) values (" + SnowFlakeUtil.getId() + "," + SecureUtil.getUserId() + "," + taskId + ",1)");
+                            }
+                        }
+
                         //任务完成
                         TaskProcessInfo taskProcessInfo = new TaskProcessInfo();
                         taskProcessInfo.setId(SnowFlakeUtil.getId());
@@ -1020,10 +1032,13 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                     jdbcTemplate.execute("delete from c_log_history_task_record where task_id = " + dataId);
                     //}
 
-                } /*else if (taskStatus == 3) { //驳回审批
-                    //task_approve = 0 未开始 , status = 2 进行中
-                    jdbcTemplate.execute("update c_project_cost_budget set task_approve = 0,status = 2 where id = " + dataId);
-                }*/
+                } else if (taskStatus == 3) { //驳回审批
+                    TaskProcessInfo taskProcessInfo = jdbcTemplate.query("select status from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
+                    ProjectCostBudget projectCostBudget = jdbcTemplate.query("select plan_task_desc,task_user from c_project_cost_budget where id = " + dataId, new BeanPropertyRowMapper<>(ProjectCostBudget.class)).stream().findAny().orElse(null);
+                    if (taskProcessInfo != null && projectCostBudget != null) {
+                        planInformService.taskFinishedInform(projectCostBudget.getPlanTaskDesc(), projectCostBudget.getTaskUser(), SecureUtil.getUserName(), taskProcessInfo.getStatus());
+                    }
+                }
                 break;
 
             case 2: //财务
@@ -1078,9 +1093,9 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
     private void processTheServiceDataAfterTheApprovalClosedLoop(Integer businessDataType, Long approveTaskId, String dataId) {
         switch (businessDataType) {
             case 1:
-                //计划任务 task_approve = 1,status = 4 表示已完成,且通过审批
+                //计划任务
                 TaskProcessInfo taskProcessInfo = jdbcTemplate.query("select status from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
-                ProjectCostBudget projectCostBudget = jdbcTemplate.query("select * from c_project_cost_budget where id = " + dataId, new BeanPropertyRowMapper<>(ProjectCostBudget.class)).stream().findAny().orElse(null);
+                ProjectCostBudget projectCostBudget = jdbcTemplate.query("select plan_task_desc,task_user,id from c_project_cost_budget where id = " + dataId, new BeanPropertyRowMapper<>(ProjectCostBudget.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo != null && projectCostBudget != null) {
                     //获取任务完成时间
                     TaskPlanUpdateStatusInfo taskPlanUpdateStatusInfo = jdbcTemplate.query("select completion_time from c_task_plan_update_status_info where update_type = 1 and approve_task_id = " + approveTaskId + " and plan_task_id = " + dataId, new BeanPropertyRowMapper<>(TaskPlanUpdateStatusInfo.class)).stream().findAny().orElse(null);
@@ -1089,7 +1104,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                         LocalDate localDate = taskPlanUpdateStatusInfo.getCompletionTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
                         projectCostBudgetService.taskFinishedStats(projectCostBudget.getId(), localDate);
                     }
-                    //日志信息
+                    //计划日志操作信息
                     planInformService.taskFinishedInform(projectCostBudget.getPlanTaskDesc(), projectCostBudget.getTaskUser(), SecureUtil.getUserName(), taskProcessInfo.getStatus());
                 }
 

+ 22 - 22
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -586,7 +586,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                                         ArrayList::new
                                 ));
                         //所有节点Map
-                        Map<Long, List<WbsTreeContractLazyVO>> allNodesParentGroup = distinctNodesAll.stream().collect(Collectors.groupingBy(WbsTreeContractLazyVO::getParentId));
+                        //Map<Long, List<WbsTreeContractLazyVO>> allNodesParentGroup = distinctNodesAll.stream().collect(Collectors.groupingBy(WbsTreeContractLazyVO::getParentId));
 
                         //所有最底层节点
                         List<WbsTreeContractLazyVO> distinctLowestNodesAll = distinctNodesAll.stream().filter(f -> f.getHasChildren().equals(0)).collect(Collectors.collectingAndThen(
@@ -618,7 +618,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                                         vo.setColorStatus(1);
                                     }
                                 }).collect(Collectors.toMap(WbsTreeContractLazyVO::getPKeyId, Function.identity()));
-                        List<WbsTreeContractLazyVO> lowestNodesReList = new ArrayList<>(lowestNodesMap.values());
+                        /*List<WbsTreeContractLazyVO> lowestNodesReList = new ArrayList<>(lowestNodesMap.values());
                         Map<Long, WbsTreeContractLazyVO> distinctParentNodesTBIdKeyMap = resultParentNodesTB.stream()
                                 .collect(Collectors.collectingAndThen(
                                         Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(WbsTreeContractLazyVO::getPKeyId))),
@@ -627,7 +627,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
 
                         //构造完成的所有最底层节点,处理父节点颜色
                         Map<Long, WbsTreeContractLazyVO> nodeColorMap = new HashMap<>();
-                        this.recursiveParentNodeColorStatus(lowestNodesReList, distinctParentNodesTBIdKeyMap, allNodesParentGroup, nodeColorMap);
+                        this.recursiveParentNodeColorStatus(lowestNodesReList, distinctParentNodesTBIdKeyMap, allNodesParentGroup, nodeColorMap);*/
 
                         //处理最终结果集
                         if (lazyNodes.size() > 0) {
@@ -654,18 +654,18 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
 
                                 lazyNodeVO.setSubmitCounts(ObjectUtil.isNotEmpty(countMap.get(lazyNodeVO.getPKeyId())) ? countMap.get(lazyNodeVO.getPKeyId()) : (ObjectUtil.isNotEmpty(queryInfoMaps.get(lazyNodeVO.getPKeyId())) ? 1 : 0));
 
-                                /*if(lazyNodeVO.getSubmitCounts() >= 1) {
+                                if (lazyNodeVO.getSubmitCounts() >= 1) {
                                     lazyNodeVO.setColorStatus(2);
-                                }*/
-                                WbsTreeContractLazyVO vo = nodeColorMap.get(lazyNodeVO.getPKeyId());
+                                }
+                                /*WbsTreeContractLazyVO vo = nodeColorMap.get(lazyNodeVO.getPKeyId());
                                 if (vo != null) {
                                     lazyNodeVO.setColorStatus(vo.getColorStatus());
-                                } else {
-                                    WbsTreeContractLazyVO lowestNode = lowestNodesMap.get(lazyNodeVO.getPKeyId());
-                                    if (lowestNode != null) {
-                                        lazyNodeVO.setColorStatus(lowestNode.getColorStatus());
-                                    }
+                                } else {*/
+                                WbsTreeContractLazyVO lowestNode = lowestNodesMap.get(lazyNodeVO.getPKeyId());
+                                if (lowestNode != null) {
+                                    lazyNodeVO.setColorStatus(lowestNode.getColorStatus());
                                 }
+                                //}
                             }
                         }
                         return lazyNodes;
@@ -708,7 +708,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                                                 ArrayList::new
                                         ));
                                 //所有节点Map
-                                Map<Long, List<WbsTreeContractLazyVO>> allNodesParentGroup = distinctNodesAll.stream().collect(Collectors.groupingBy(WbsTreeContractLazyVO::getParentId));
+                                //Map<Long, List<WbsTreeContractLazyVO>> allNodesParentGroup = distinctNodesAll.stream().collect(Collectors.groupingBy(WbsTreeContractLazyVO::getParentId));
 
                                 //所有最底层节点
                                 List<WbsTreeContractLazyVO> distinctLowestNodesAll = distinctNodesAll.stream().filter(f -> f.getHasChildren().equals(0)).collect(Collectors.collectingAndThen(
@@ -740,7 +740,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                                                 vo.setColorStatus(1);
                                             }
                                         }).collect(Collectors.toMap(WbsTreeContractLazyVO::getPKeyId, Function.identity()));
-                                List<WbsTreeContractLazyVO> lowestNodesReList = new ArrayList<>(lowestNodesMap.values());
+                                /*List<WbsTreeContractLazyVO> lowestNodesReList = new ArrayList<>(lowestNodesMap.values());
                                 Map<Long, WbsTreeContractLazyVO> distinctParentNodesTBIdKeyMap = resultParentNodesTB.stream()
                                         .collect(Collectors.collectingAndThen(
                                                 Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(WbsTreeContractLazyVO::getPKeyId))),
@@ -749,7 +749,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
 
                                 //构造完成的所有最底层节点,处理父节点颜色
                                 Map<Long, WbsTreeContractLazyVO> nodeColorMap = new HashMap<>();
-                                this.recursiveParentNodeColorStatus(lowestNodesReList, distinctParentNodesTBIdKeyMap, allNodesParentGroup, nodeColorMap);
+                                this.recursiveParentNodeColorStatus(lowestNodesReList, distinctParentNodesTBIdKeyMap, allNodesParentGroup, nodeColorMap);*/
 
                                 //处理最终结果集
                                 if (lazyNodes.size() > 0) {
@@ -777,18 +777,18 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
 
                                         lazyNodeVO.setSubmitCounts(ObjectUtil.isNotEmpty(countMap.get(lazyNodeVO.getPKeyId())) ? countMap.get(lazyNodeVO.getPKeyId()) : (ObjectUtil.isNotEmpty(queryInfoMaps.get(lazyNodeVO.getPKeyId())) ? 1 : 0));
 
-                                        /*if (lazyNodeVO.getSubmitCounts() >= 1) {
+                                        if (lazyNodeVO.getSubmitCounts() >= 1) {
                                             lazyNodeVO.setColorStatus(2);
-                                        }*/
-                                        WbsTreeContractLazyVO vo = nodeColorMap.get(lazyNodeVO.getPKeyId());
+                                        }
+                                        /*WbsTreeContractLazyVO vo = nodeColorMap.get(lazyNodeVO.getPKeyId());
                                         if (vo != null) {
                                             lazyNodeVO.setColorStatus(vo.getColorStatus());
-                                        } else {
-                                            WbsTreeContractLazyVO lowestNode = lowestNodesMap.get(lazyNodeVO.getPKeyId());
-                                            if (lowestNode != null) {
-                                                lazyNodeVO.setColorStatus(lowestNode.getColorStatus());
-                                            }
+                                        } else {*/
+                                        WbsTreeContractLazyVO lowestNode = lowestNodesMap.get(lazyNodeVO.getPKeyId());
+                                        if (lowestNode != null) {
+                                            lazyNodeVO.setColorStatus(lowestNode.getColorStatus());
                                         }
+                                        //}
                                     }
                                 }
                                 lazyNodesAll.addAll(lazyNodes);