From ad7cbfd8fd19fcce4345a4907c1f059a34c2869b Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 11 十二月 2025 15:49:15 +0800
Subject: [PATCH] 工作台

---
 business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 1 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java b/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
index 9514a39..4cfafc5 100644
--- a/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
@@ -16,6 +16,8 @@
 import com.ycl.common.core.domain.entity.SysRole;
 import com.ycl.common.core.domain.entity.SysUser;
 import com.ycl.common.enums.FlowComment;
+import com.ycl.common.enums.business.AuditHistoryEnum;
+import com.ycl.common.enums.business.AuditTypeEnum;
 import com.ycl.common.enums.business.ProcessLogEventTypeEnum;
 import com.ycl.common.enums.business.TaskStatusEnum;
 import com.ycl.common.exception.CustomException;
@@ -29,6 +31,7 @@
 import com.ycl.domain.entity.ProcessLog;
 import com.ycl.domain.entity.ProjectProcess;
 import com.ycl.domain.entity.SysForm;
+import com.ycl.domain.form.AuditHistoryForm;
 import com.ycl.domain.form.EditFinishedTaskForm;
 import com.ycl.domain.json.RejectData;
 import com.ycl.domain.query.ProcessLogQuery;
@@ -111,7 +114,7 @@
     private final ProcessLogService processLogService;
     private final ApplicationEventPublisher publisher;
     private final ProjectProcessMapper projectProcessMapper;
-
+    private final AuditHistoryService auditHistoryService;
     @Value("${targetIp}")
     private String targetIp;
 
@@ -136,6 +139,21 @@
             taskService.setAssignee(taskVo.getTaskId(), userId.toString());
             taskService.complete(taskVo.getTaskId(), taskVo.getVariables());
         }
+        ProjectProcess projectProcess = new LambdaQueryChainWrapper<>(projectProcessMapper)
+                .eq(ProjectProcess::getProcessInsId, task.getProcessInstanceId())
+                .eq(ProjectProcess::getProcessDefId, task.getProcessDefinitionId())
+                .one();
+        AuditHistoryForm auditHistoryForm =
+                buildForm(task.getId(),
+                        task.getTaskDefinitionKey(),
+                        null,
+                        SecurityUtils.getDeptId() + "",
+                        AuditTypeEnum.Review.name(),
+                        projectProcess.getProjectId(),
+                        "t_project_info",
+                        task.getName()
+                );
+        auditHistoryService.add(auditHistoryForm);
         return AjaxResult.success();
     }
 
@@ -195,9 +213,45 @@
                     ProcessLogEventTypeEnum.FINISHED,
                     null));
         }
+        //淇濆瓨鏃ュ織
+        AuditHistoryForm auditHistoryForm =
+                buildForm(taskId,
+                task.getTaskDefinitionKey(),
+                null,
+                SecurityUtils.getDeptId() + "",
+                AuditTypeEnum.Submit.name(),
+                projectProcess.getProjectId(),
+                "t_project_info",
+                task.getName()
+        );
+        auditHistoryService.add(auditHistoryForm);
+
         return AjaxResult.success("鎻愪氦鎴愬姛");
     }
+    public AuditHistoryForm buildForm(
+            String taskId,
+            String taskDefinitionKey,
+            String viewer,
+            String commitDept,
+            String auditType,
+            String businessKey,
+            String businessTable,
+            String content) {
+        AuditHistoryForm auditHistoryForm = new AuditHistoryForm();
+        auditHistoryForm.setTaskId(taskId);
+        auditHistoryForm.setTaskDefinitionKey(taskDefinitionKey);
+        auditHistoryForm.setViewer(viewer);
+        auditHistoryForm.setCommitDept(commitDept);
+        auditHistoryForm.setAuditType(auditType);
+        auditHistoryForm.setBusinessKey(businessKey);
+        auditHistoryForm.setBusinessTable(businessTable);
+        auditHistoryForm.setContent(content);
 
+        // 5. 鐗规畩瀛楁榛樿鍊硷細isRead 榛樿涓� 锛堟湭璇伙級
+        auditHistoryForm.setIsRead(AuditHistoryEnum.UN_READ.name());
+
+        return auditHistoryForm;
+    }
 
     /**
      * 瀹圭己琛ヤ氦
@@ -499,6 +553,21 @@
                 task.getName(),
                 ProcessLogEventTypeEnum.REJECT,
                 new RejectData(flowTaskVo.getComment())));
+
+        //淇濆瓨鏃ュ織
+        AuditHistoryForm auditHistoryForm =
+                buildForm(task.getId(),
+                        task.getTaskDefinitionKey(),
+                        null,
+                        SecurityUtils.getDeptId() + "",
+                        AuditTypeEnum.Submit.name(),
+                        projectProcess.getProjectId(),
+                        "t_project_info",
+                        task.getName()
+                );
+        auditHistoryService.add(auditHistoryForm);
+
+
     }
 
     /**
@@ -688,6 +757,7 @@
     @Transactional(rollbackFor = Exception.class)
     public void assignTask(FlowTaskVo flowTaskVo) {
         // 鐩存帴杞淳灏卞彲浠ヨ鐩栨帀涔嬪墠鐨�
+        log.info("flowTaskVo:{}",flowTaskVo);
         taskService.setAssignee(flowTaskVo.getTaskId(), flowTaskVo.getAssignee());
 //        // 鍒犻櫎鎸囨淳浜洪噸鏂版寚娲�
 //        taskService.deleteCandidateUser(flowTaskVo.getTaskId(),flowTaskVo.getAssignee());
@@ -695,6 +765,17 @@
 //        // 濡傛灉瑕佹煡璇㈣浆缁欎粬浜哄鐞嗙殑浠诲姟锛屽彲浠ュ悓鏃跺皢OWNER杩涜璁剧疆锛�
 //        taskService.setOwner(flowTaskVo.getTaskId(), flowTaskVo.getAssignee());
 
+//        AuditHistoryForm auditHistoryForm =
+//                buildForm(flowTaskVo.getTaskId(),
+//                        task.getTaskDefinitionKey(),
+//                        null,
+//                        SecurityUtils.getDeptId() + "",
+//                        AuditTypeEnum.Submit.name(),
+//                        projectProcess.getProjectId(),
+//                        "t_project_info",
+//                        task.getName()
+//                );
+
     }
 
     /**

--
Gitblit v1.8.0