From f20fad8125774e487e133e909b323b43bd11db24 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 03 三月 2025 20:40:15 +0800
Subject: [PATCH] Merge branch 'master' into dev

---
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 36 insertions(+), 16 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 61a8123..d7c41ac 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -19,9 +19,7 @@
 import com.ycl.domain.entity.*;
 import com.ycl.domain.form.*;
 import com.ycl.domain.json.*;
-import com.ycl.domain.vo.CustomerTaskVO;
-import com.ycl.domain.vo.IndexCustomerTaskVO;
-import com.ycl.domain.vo.ProjectProcessDetailVO;
+import com.ycl.domain.vo.*;
 import com.ycl.event.event.TaskLogEvent;
 import com.ycl.mapper.ProjectEngineeringMapper;
 import com.ycl.mapper.ProjectInfoMapper;
@@ -29,7 +27,6 @@
 import com.ycl.service.*;
 import com.ycl.common.base.Result;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ycl.domain.vo.ProjectProcessVO;
 import com.ycl.domain.query.ProjectProcessQuery;
 import com.ycl.service.common.TaskCommonService;
 import com.ycl.system.service.ISysDeptService;
@@ -105,9 +102,20 @@
         IPage<ProjectProcessVO> page = PageUtil.getPage(query, ProjectProcessVO.class);
         baseMapper.getPage(query, page);
         for (ProjectProcessVO vo : page.getRecords()) {
-            vo.setChildren(TreeUtil.treeForProjectEng(baseMapper.getEngineeringList(vo.getId())));
+            List<ProjectEngineeringVO> childList = baseMapper.getEngineeringList(vo.getId());
+            childList.stream().forEach(child -> {
+                if (StringUtils.isNotBlank(child.getProcessDefId())) {
+                    ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(child.getProcessDefId()).singleResult();
+                    if (Objects.nonNull(processDefinition)) {
+                        child.setSuspended(processDefinition.isSuspended());
+                        child.setFlowableProcessName(processDefinition.getName() + "(v" + processDefinition.getVersion() + ")");
+                        child.setDeployId(processDefinition.getDeploymentId());
+                    }
+                }
+            });
+            vo.setChildren(TreeUtil.treeForProjectEng(childList));
             vo.setStatus(vo.getProjectStatus());
-            if (Objects.nonNull(vo.getProcessDefId())) {
+            if (StringUtils.isNotBlank(vo.getProcessDefId())) {
                 ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(vo.getProcessDefId()).singleResult();
                 if (Objects.nonNull(processDefinition)) {
                     vo.setSuspended(processDefinition.isSuspended());
@@ -148,7 +156,6 @@
         Long unitId = null;
         if (ProjectProcessTypeEnum.PROJECT.equals(form.getProjectType())) {
             ProjectInfo project = new LambdaQueryChainWrapper<>(projectInfoMapper)
-                    .select(ProjectInfo::getProjectOwnerUnit)
                     .eq(ProjectInfo::getId, form.getProjectId())
                     .one();
             if (Objects.isNull(project)) {
@@ -157,7 +164,6 @@
             unitId = project.getProjectOwnerUnit();
         } else if (ProjectProcessTypeEnum.ENGINEERING.equals(form.getProjectType())) {
             ProjectEngineering projectEngineering = new LambdaQueryChainWrapper<>(projectEngineeringMapper)
-                    .select(ProjectEngineering::getDepartment)
                     .eq(ProjectEngineering::getId, form.getProjectId())
                     .one();
             if (Objects.isNull(projectEngineering)) {
@@ -188,7 +194,6 @@
         Long unitId = null;
         if (ProjectProcessTypeEnum.PROJECT.equals(form.getProjectType())) {
             ProjectInfo project = new LambdaQueryChainWrapper<>(projectInfoMapper)
-                    .select(ProjectInfo::getProjectOwnerUnit)
                     .eq(ProjectInfo::getId, form.getProjectId())
                     .one();
             if (Objects.isNull(project)) {
@@ -197,7 +202,6 @@
             unitId = project.getProjectOwnerUnit();
         } else if (ProjectProcessTypeEnum.ENGINEERING.equals(form.getProjectType())) {
             ProjectEngineering projectEngineering = new LambdaQueryChainWrapper<>(projectEngineeringMapper)
-                    .select(ProjectEngineering::getDepartment)
                     .eq(ProjectEngineering::getId, form.getProjectId())
                     .one();
             if (Objects.isNull(projectEngineering)) {
@@ -243,6 +247,7 @@
         variables.put(ProcessConstants.PROCESS_INITIATOR, sysUser.getUserId());
         // 灏嗚椤圭洰鐨勭敵璇蜂汉锛堜笟涓绘柟锛変綔涓烘祦绋嬩腑鏌愪簺鐜妭鐨勫鐞嗕汉
         variables.put(ProcessConstants.DATA_LAUNCH, "dept:" + createBy);
+        variables.put("a", 1);
         ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefId, projectId + "", variables);
         return processInstance.getId();
     }
@@ -394,13 +399,28 @@
             taskVO.setTaskDefinitionKey(task.getTaskDefinitionKey());
 
             // 娴佺▼椤圭洰淇℃伅
-            ProjectInfo project = baseMapper.getProjectInfo(task.getProcessInstanceId());
-            if (Objects.nonNull(project)) {
-                taskVO.setProjectId(project.getId());
-                taskVO.setProjectName(project.getProjectName());
-            } else {
-                continue;
+            ProjectProcess projectProcess = new LambdaQueryChainWrapper<>(baseMapper)
+                    .eq(ProjectProcess::getProcessInsId, task.getProcessInstanceId())
+                    .one();
+            String projectId = "";
+            String projectName = "";
+            if (Objects.nonNull(projectProcess)) {
+                if (projectProcess.getProjectType().equals(ProjectProcessTypeEnum.PROJECT)) {
+                    ProjectInfo project = projectInfoMapper.selectById(projectProcess.getProjectId());
+                    if (Objects.nonNull(project)) {
+                        projectId = projectProcess.getProjectId();
+                        projectName = project.getProjectName();
+                    }
+                } else if (projectProcess.getProjectType().equals(ProjectProcessTypeEnum.ENGINEERING)) {
+                    ProjectEngineering engineering = projectEngineeringMapper.selectById(projectProcess.getProjectId());
+                    if (Objects.nonNull(engineering)) {
+                        projectId = projectProcess.getProjectId();
+                        projectName = engineering.getProjectName();
+                    }
+                }
             }
+            taskVO.setProjectId(projectId);
+            taskVO.setProjectName(projectName);
 
             // 娴佺▼鍙戣捣浜轰俊鎭�
             this.setPromoterInfo(taskVO);

--
Gitblit v1.8.0