From 1f70018f3e289dcabb01785004b8f6ff3830447e Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 15 一月 2025 17:58:06 +0800
Subject: [PATCH] 首页待办查询bug

---
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 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 d650b30..e89024f 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -156,6 +156,7 @@
         entity.setProcessDefId(processDefId);
         entity.setProcessInsId(processInsId);
         baseMapper.insert(entity);
+
         return Result.ok("娴佺▼鍚姩鎴愬姛");
     }
 
@@ -167,6 +168,14 @@
      * @return
      */
     private String startPro(Long projectId, String processDefId) {
+
+        ProjectInfo project = new LambdaQueryChainWrapper<>(projectInfoMapper)
+                .select(ProjectInfo::getCreateBy)
+                .eq(ProjectInfo::getId, projectId)
+                .one();
+        if (Objects.isNull(project)) {
+            throw new RuntimeException("椤圭洰涓嶅瓨鍦�");
+        }
         ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefId)
                 .latestVersion().singleResult();
         if (Objects.nonNull(processDefinition) && processDefinition.isSuspended()) {
@@ -177,6 +186,9 @@
         SysUser sysUser = SecurityUtils.getLoginUser().getUser();
         identityService.setAuthenticatedUserId(sysUser.getUserId().toString());
         variables.put(ProcessConstants.PROCESS_INITIATOR, sysUser.getUserId());
+
+        // 灏嗚椤圭洰鐨勭敵璇蜂汉锛堜笟涓绘柟锛変綔涓烘祦绋嬩腑鏌愪簺鐜妭鐨勫鐞嗕汉
+        variables.put(ProcessConstants.DATA_LAUNCH, project.getCreateBy());
         ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefId, projectId + "", variables);
         return processInstance.getId();
     }
@@ -263,7 +275,6 @@
         TaskQuery taskQuery = taskService.createTaskQuery()
                 .active()
                 .includeProcessVariables()
-                .includeIdentityLinks()
                 .orderByTaskCreateTime().desc();
 
         if (StringUtils.isNotBlank(taskName)) {
@@ -307,7 +318,7 @@
             List<String> handlerUnitNames = new ArrayList<>(2);
 
             // 娴佺▼澶勭悊浜轰俊鎭�
-            List<? extends IdentityLinkInfo> identityLinks = task.getIdentityLinks();
+            List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(task.getId());
             for (IdentityLinkInfo identityLink : identityLinks) {
                 // 缁戝畾鐨勬槸鐢ㄦ埛锛屾煡鍑虹敤鎴峰鍚嶃�侀儴闂�
                 if (StringUtils.isNotBlank(identityLink.getUserId())) {
@@ -687,12 +698,15 @@
                     vo.setTaskId(historicTasks.get(0).getId());
                     vo.setExecutionId(historicTasks.get(0).getExecutionId());
                     vo.setCreateTime(historicTasks.get(0).getStartTime());
+
                     // 鏌ヨ瀹為檯澶勭悊浜�
                     long handlerUserId = Long.parseLong(historicTasks.get(0).getAssignee());
                     SysUser handlerUser = sysUserService.selectUserById(handlerUserId);
                     if (Objects.nonNull(handlerUser)) {
                         handlerIds.add(handlerUserId);
                         handlerNames.add(handlerUser.getNickName());
+                        vo.setActualHandlerUserId(historicTasks.get(0).getAssignee());
+                        vo.setActualHandlerUserName(handlerUser.getNickName());
                     }
                     vo.setTaskDefinitionKey(historicTasks.get(0).getTaskDefinitionKey());
                     this.setPromoterAndHandler(vo, historicTasks.get(0).getIdentityLinks());

--
Gitblit v1.8.0