zzw 1 месяц назад
Родитель
Сommit
3900e12647

+ 4 - 1
assistMg/src/main/java/com/hotent/constant/TaskStatusConstant.java

@@ -2,7 +2,7 @@ package com.hotent.constant;
 
 /**
  * 任务状态枚举
- * 
+ *
  * @author 超级管理员
  * @company 山西清众科技股份有限公司
  */
@@ -10,10 +10,13 @@ public enum TaskStatusConstant {
 
     WAIT_SUBMIT("100", "待提交", 1),
     AUDITING("200", "审核中", 2),
+    WAIT_FEEDBACK("250", "待反馈", 3),
+    FEEDBACKED("260", "已反馈", 3),
     SUSPENDED("300", "中止", 3),
     COMPLETED("400", "办结", 4),
     NOT_PASSED("500", "不通过", 5);
 
+
     private String statusCode;
     private String statusName;
     private Integer orderNum;

+ 16 - 12
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectTaskManagerImpl.java

@@ -156,7 +156,6 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
     @Override
     @Transactional
     public String saveTask(CostTaskPageReq costTaskPageReq) {
-
         // 1.校验内容是否填写完毕!todo
 
         // 2. 流程阶段变为资料初审
@@ -218,7 +217,7 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
         task.setCurrentNode(nextNodeStatus);
         costProjectTaskManager.updateById(task);
 
-        // 材料初审通过通知
+        // 发送通知
         String title = nextNodeStatus+"通过";
         String auditedUnit = task.getAuditedUnitName() == null ? "" : task.getAuditedUnitName();
         String projectName = task.getProjectName() == null ? "" : task.getProjectName();
@@ -237,13 +236,8 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
                         .eq(CostProjectTask::getIsDeleted, "0")
         );
 
-        boolean allSiblingsCompleted = true;
-        for (CostProjectTask s : siblingTasks) {
-            if (!TaskStatusConstant.COMPLETED.getStatusCode().equals(s.getStatus())) {
-                allSiblingsCompleted = false;
-                break;
-            }
-        }
+        boolean allSiblingsCompleted = siblingTasks.stream()
+                .allMatch(s -> TaskStatusConstant.COMPLETED.getStatusCode().equals(s.getStatus()));
 
         if (allSiblingsCompleted) {
             CostProjectTask parentTask = costProjectTaskManager.getById(task.getPid());
@@ -252,13 +246,23 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
                         new LambdaQueryWrapper<CostProjectTaskProccess>()
                                 .eq(CostProjectTaskProccess::getTaskId, parentTask.getId())
                 );
-                // 将父任务流转到下一步
-                parentTask.setCurrentNode(NodeConstant.getNextNode(task.getCurrentNode()).getNodeKey());
+                // 将父任务流转到下一步 重置所有子任务状态
+                parentTask.setCurrentNode(nextNodeStatus);
                 costProjectTaskManager.updateById(parentTask);
                 if (parentProccess != null) {
-                    parentProccess.setCurrentNode(NodeConstant.getNextNode(task.getCurrentNode()).getNodeKey());
+                    parentProccess.setCurrentNode(nextNodeStatus);
                     costProjectTaskProccessManager.updateById(parentProccess);
                 }
+                List<CostProjectTask> children = costProjectTaskManager.list(
+                        new LambdaQueryWrapper<CostProjectTask>()
+                                .eq(CostProjectTask::getPid, parentTask.getId())
+                                .eq(CostProjectTask::getIsDeleted, "0")
+                );
+                boolean c = nextNodeStatus.equals(NodeConstant.yjfk.getNodeKey());
+                for (CostProjectTask child : children) {
+                    child.setStatus(c?TaskStatusConstant.WAIT_FEEDBACK.getStatusCode():TaskStatusConstant.AUDITING.getStatusCode());
+                    costProjectTaskManager.updateById(child);
+                }
             }
         }