From 5cd0e50ccbc6e10dd4e488d8b4106e82fb676521 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 10 十二月 2024 14:22:36 +0800
Subject: [PATCH] 查询任务是否需要审核接口完善

---
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java |   36 ++++++++++++++++++------------------
 1 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index cc5d7b9..984dd4e 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -29,6 +29,7 @@
 import com.ycl.domain.form.ProjectProcessForm;
 import com.ycl.domain.vo.ProjectProcessVO;
 import com.ycl.domain.query.ProjectProcessQuery;
+import com.ycl.service.common.TaskCommonService;
 import com.ycl.system.service.ISysDeptService;
 import com.ycl.system.service.ISysRoleService;
 import com.ycl.system.service.ISysUserService;
@@ -78,6 +79,7 @@
     private final ISysUserService sysUserService;
     private final ISysRoleService sysRoleService;
     private final ISysDeptService sysDeptService;
+    private final TaskCommonService taskCommonService;
 
     /**
      * 鍒嗛〉鏌ヨ
@@ -113,14 +115,16 @@
         if (Objects.nonNull(pp.getProcessInsId())) {
             HistoricProcessInstance historicProcessInstance =
                     historyService.createHistoricProcessInstanceQuery().processInstanceId(pp.getProcessInsId()).singleResult();
-            // 鍒犻櫎涔嬪墠娴佺▼鐨勬暟鎹�
-            if (historicProcessInstance.getEndTime() != null) {
-                historyService.deleteHistoricProcessInstance(historicProcessInstance.getId());
-            } else {
-                // 鍒犻櫎娴佺▼瀹炰緥
-                runtimeService.deleteProcessInstance(pp.getProcessInsId(), "");
-                // 鍒犻櫎鍘嗗彶娴佺▼瀹炰緥
-                historyService.deleteHistoricProcessInstance(pp.getProcessInsId());
+            if (Objects.nonNull(historicProcessInstance)) {
+                // 鍒犻櫎涔嬪墠娴佺▼鐨勬暟鎹�
+                if (historicProcessInstance.getEndTime() != null) {
+                    historyService.deleteHistoricProcessInstance(historicProcessInstance.getId());
+                } else {
+                    // 鍒犻櫎娴佺▼瀹炰緥
+                    runtimeService.deleteProcessInstance(pp.getProcessInsId(), "");
+                    // 鍒犻櫎鍘嗗彶娴佺▼瀹炰緥
+                    historyService.deleteHistoricProcessInstance(pp.getProcessInsId());
+                }
             }
         }
         String processInsId = this.startPro(form.getProjectId(), form.getProcessDefId());
@@ -341,26 +345,22 @@
 
     @Override
     public Result taskIsAuditing(String processDefinitionId, String taskId) {
+        Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
         BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
         Collection<Process> processes = bpmnModel.getProcesses();
+        Boolean needAuditing = Boolean.FALSE;
         for (Process process : processes) {
             Collection<FlowElement> flowElements = process.getFlowElements();
             for (FlowElement flowElement : flowElements) {
-                if (flowElement instanceof UserTask) {
+                if (flowElement instanceof UserTask && flowElement.getId().equals(task.getTaskDefinitionKey())) {
                     UserTask userTask = (UserTask) flowElement;
-                    List<ExtensionElement> extensionElements = userTask.getExtensionElements().get("flowable:properties");
-                    if (! CollectionUtils.isEmpty(extensionElements)) {
-                        for (ExtensionElement extensionElement : extensionElements) {
-                            String fieldName = extensionElement.getAttributeValue(taskId,"name");
-                            String fieldValue = extensionElement.getAttributeValue(taskId,"value");
-                            System.out.println("Field Name: " + fieldName + ", Field Value: " + fieldValue);
-                        }
-                    }
+                    needAuditing = taskCommonService.checkTaskNeedAuditing(userTask.getExtensionElements().get("properties"));
+                    break;
                 }
 
             }
         }
-        return null;
+        return Result.ok().data(needAuditing);
     }
 
     /**

--
Gitblit v1.8.0