zzw пре 1 месец
родитељ
комит
a7a308e475

+ 5 - 5
assistMg/src/main/java/com/hotent/constant/NodeConstant.java

@@ -4,12 +4,12 @@ public enum NodeConstant {
 
     tjcl("tjcl", "提交材料"),
     clcs("clcs", "材料初审"),
-    sdshenhe("sdshenhe", "实地审核"),
-    yjgaozhi("yjgaozhi", "意见告知"),
+    sdshenhe("sdsh", "实地审核"),
+    yjgaozhi("yjgz", "意见告知"),
     yjfk("yjfk", "意见反馈"),
-    jtshenyi("jtshenyi", "集体审议"),
-    chujubaogao("chujubaogao", "出具报告"),
-    guidang("guidang", "归档");
+    jtshenyi("jtsy", "集体审议"),
+    chujubaogao("cjbg", "出具报告"),
+    guidang("gd", "归档");
 
     private String nodeKey;
 

+ 2 - 0
assistMg/src/main/java/com/hotent/enterpriseDeclare/req/CostTaskPageReq.java

@@ -19,6 +19,8 @@ public class CostTaskPageReq {
     @ApiModelProperty(value = "发送方式 1站内消息 2短信通知 “,”分割")
     private String sendType;
 
+    private String status;
+
 
     @ApiModelProperty(value = "意见")
     private String content;

+ 11 - 36
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectTaskManagerImpl.java

@@ -200,7 +200,7 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
                 resultMessage = supplementMaterial(task, req);
                 break;
             case "2":
-                // 中止
+                // 中止/恢复
                 resultMessage = suspendTask(task,req);
                 break;
             case "3":
@@ -236,7 +236,6 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
             // 检查是否已存在初步意见
             CostProjectTaskPreliminaryOpinion existingOpinion = preliminaryOpinionManager.getByTaskId(task.getId());
             if (existingOpinion == null) {
-                // 创建空的初步意见记录
                 CostProjectTaskPreliminaryOpinion preliminaryOpinion = new CostProjectTaskPreliminaryOpinion();
                 preliminaryOpinion.setTaskId(task.getId());
                 preliminaryOpinion.setStatus("draft");
@@ -246,7 +245,7 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
         }
 
         // 发送通知
-        String title = nextNodeStatus+"通过";
+        String title = NodeConstant.getNodeValueByKey(task.getCurrentNode())+"通过";
         String auditedUnit = task.getAuditedUnitName() == null ? "" : task.getAuditedUnitName();
         String projectName = task.getProjectName() == null ? "" : task.getProjectName();
         String year = task.getYear() == null ? "" : task.getYear();
@@ -270,17 +269,9 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
         if (allSiblingsCompleted) {
             CostProjectTask parentTask = costProjectTaskManager.getById(task.getPid());
             if (parentTask != null) {
-                CostProjectTask parentProccess = costProjectTaskManager.getOne(
-                        new LambdaQueryWrapper<CostProjectTask>()
-                                .eq(CostProjectTask::getPid, parentTask.getId())
-                );
-                // 将父任务流转到下一步 重置所有子任务状态
+                // 将父任务流转到下一步 重置所有子任务状态 意见反馈为待反馈 其它为审核中
                 parentTask.setCurrentNode(nextNodeStatus);
                 costProjectTaskManager.updateById(parentTask);
-                if (parentProccess != null) {
-                    parentProccess.setCurrentNode(nextNodeStatus);
-                    costProjectTaskManager.updateById(parentProccess);
-                }
                 List<CostProjectTask> children = costProjectTaskManager.list(
                         new LambdaQueryWrapper<CostProjectTask>()
                                 .eq(CostProjectTask::getPid, parentTask.getId())
@@ -301,58 +292,42 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
      * 退回,填写退回原因 修改状态
      */
     private String returnToSubmit(CostProjectTask task,CostTaskPageReq req) {
-        NodeConstant nextNode = NodeConstant.getNextNode(task.getCurrentNode());
-        if (nextNode == null){
-            return "当前节点无法通过";
-        }
-        // 将当前任务置为办结
-        String nextNodeStatus = nextNode.getNodeKey();
+
         // 通知内容组装
-        String title = nextNodeStatus+"退回";
+        String title = NodeConstant.getNodeValueByKey(task.getCurrentNode())+"退回";
         String enterpriseId = task.getAuditedUnitId() == null ? "" : task.getAuditedUnitId();
         String noticeSource = "系统";
         String sendTarget = task.getCreateBy() == null ? "" : task.getCreateBy();
         costNoticeManager.sendNotice(task.getProjectId(), "1", title, req.getContent(), enterpriseId, noticeSource, sendTarget);
 
         // 更新任务的当前节点和状态
-        task.setCurrentNode(nextNodeStatus);
-        task.setStatus(TaskStatusConstant.WAIT_SUBMIT.getStatusCode());
+        task.setStatus(TaskStatusConstant.NOT_PASSED.getStatusCode());
         costProjectTaskManager.updateById(task);
 
         return title;
     }
 
     /**
-     * 中止,填写中止原因 修改状态
+     * 中止,填写中止原因 修改状态
      */
     private String suspendTask(CostProjectTask task,CostTaskPageReq req) {
         NodeConstant nextNode = NodeConstant.getNextNode(task.getCurrentNode());
         if (nextNode == null){
             return "当前节点无法通过";
         }
-        // 将当前任务置为办结
-        String nextNodeStatus = nextNode.getNodeKey();
 
-        // 更新任务状态为中止
-        task.setStatus(TaskStatusConstant.SUSPENDED.getStatusCode());
+        // 更新任务状态为中止/恢复
+        String status = req.getStatus()==null ? TaskStatusConstant.SUSPENDED.getStatusCode() :TaskStatusConstant.AUDITING.getStatusCode();
+        task.setStatus(status);
         costProjectTaskManager.updateById(task);
 
         // 通知内容组装
-        String title = nextNodeStatus+"中止";
+        String title = NodeConstant.getNodeValueByKey(task.getCurrentNode())+TaskStatusConstant.getStatusNameByCode(status);
         String enterpriseId = task.getAuditedUnitId() == null ? "" : task.getAuditedUnitId();
         String noticeSource = "系统";
         String sendTarget = task.getCreateBy() == null ? "" : task.getCreateBy();
         costNoticeManager.sendNotice(task.getProjectId(), "1", title, req.getContent(), enterpriseId, noticeSource, sendTarget);
 
-        // 更新流程阶段为中止
-        CostProjectTaskProccess taskProccess = costProjectTaskProccessManager.getOne(
-                new LambdaQueryWrapper<CostProjectTaskProccess>()
-                        .eq(CostProjectTaskProccess::getTaskId, task.getId())
-        );
-        if (taskProccess != null) {
-            costProjectTaskProccessManager.updateById(taskProccess);
-        }
-
         return title;
     }
 

+ 36 - 0
assistMg/src/main/resources/sql/cost_project_task_draft.sql

@@ -0,0 +1,36 @@
+-- 工作底稿表
+CREATE TABLE `cost_project_task_draft` (
+  `id` VARCHAR(64) NOT NULL COMMENT '主键',
+  `task_id` VARCHAR(64) NOT NULL COMMENT '子任务ID',
+  `content` TEXT COMMENT '工作底稿内容',
+  `is_deleted` VARCHAR(1) DEFAULT '0' COMMENT '逻辑删除:0正常 1删除',
+  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `create_by` VARCHAR(64) COMMENT '创建人',
+  `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `update_by` VARCHAR(64) COMMENT '更新人',
+  PRIMARY KEY (`id`),
+  KEY `idx_task_id` (`task_id`),
+  KEY `idx_is_deleted` (`is_deleted`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作底稿表';
+
+-- 核增核减记录表
+CREATE TABLE `cost_project_task_adjustment_record` (
+  `id` VARCHAR(64) NOT NULL COMMENT '主键',
+  `task_id` VARCHAR(64) NOT NULL COMMENT '子任务ID',
+  `subject` VARCHAR(500) COMMENT '核增核减科目',
+  `basic_situation` VARCHAR(1000) COMMENT '基本情况',
+  `description` VARCHAR(2000) COMMENT '核增核减说明',
+  `time` VARCHAR(200) COMMENT '时间',
+  `attachment_id` VARCHAR(64) COMMENT '附件ID',
+  `order_num` INT DEFAULT 0 COMMENT '序号',
+  `is_deleted` VARCHAR(1) DEFAULT '0' COMMENT '逻辑删除:0正常 1删除',
+  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `create_by` VARCHAR(64) COMMENT '创建人',
+  `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `update_by` VARCHAR(64) COMMENT '更新人',
+  PRIMARY KEY (`id`),
+  KEY `idx_task_id` (`task_id`),
+  KEY `idx_is_deleted` (`is_deleted`),
+  KEY `idx_order_num` (`order_num`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='核增核减记录表';
+