From 0dc45111f75bf924d65cec00019f70c405e05225 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 05 三月 2025 16:02:14 +0800
Subject: [PATCH] 主公司可以查看、办理子公司的任务

---
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java |   58 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 31 insertions(+), 27 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 d7c41ac..23c7f21 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -761,7 +761,7 @@
         ProcessLog processLog = new LambdaQueryChainWrapper<>(processLogService.getBaseMapper())
                 .eq(ProcessLog::getTaskId, form.getTaskId())
                 .eq(ProcessLog::getEventType, ProcessLogEventTypeEnum.SUPERVISE)
-                .eq(ProcessLog::getProcessInsId, form.getProcessInsId())
+                .eq(ProcessLog::getProcessInsId, task.getProcessInstanceId())
                 .one();
         List<SuperviseData> dataList;
         if (processLog != null) {
@@ -778,7 +778,7 @@
                 processLog.getId(),
                 processLog.getUserId(),
                 form.getProjectId(),
-                form.getProcessInsId(),
+                task.getProcessInstanceId(),
                 form.getTaskId(),
                 task.getTaskDefinitionKey(),
                 task.getName(),
@@ -1053,14 +1053,16 @@
                     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(this.getUserShowName(handlerUser));
-                        if (Objects.nonNull(handlerUser.getDept())) {
-                            handlerUnitNames.add(handlerUser.getDept().getDeptName());
-                            handlerUnitIds.add(handlerUser.getDept().getDeptId());
+                    if (StringUtils.isNotBlank(historicTasks.get(0).getAssignee())) {
+                        long handlerUserId = Long.parseLong(historicTasks.get(0).getAssignee());
+                        SysUser handlerUser = sysUserService.selectUserById(handlerUserId);
+                        if (Objects.nonNull(handlerUser)) {
+                            handlerIds.add(handlerUserId);
+                            handlerNames.add(this.getUserShowName(handlerUser));
+                            if (Objects.nonNull(handlerUser.getDept())) {
+                                handlerUnitNames.add(handlerUser.getDept().getDeptName());
+                                handlerUnitIds.add(handlerUser.getDept().getDeptId());
+                            }
                         }
                     }
                     vo.setTaskDefinitionKey(historicTasks.get(0).getTaskDefinitionKey());
@@ -1128,25 +1130,27 @@
                     .orderByHistoricTaskInstanceStartTime()
                     .desc()
                     .list();
-
-            vo.setTaskStatus(TaskStatusEnum.FINISHED);
-            // 濡傛灉鏄凡瀹屾垚鐨勶紝淇℃伅闇�瑕佸崟鐙祴鍊�
-            vo.setTaskId(hisTaskList.get(0).getId());
-            vo.setExecutionId(hisTaskList.get(0).getExecutionId());
-            vo.setCreateTime(hisTaskList.get(0).getStartTime());
-            // 鏌ヨ瀹為檯澶勭悊浜�
-            long handlerUserId = Long.parseLong(hisTaskList.get(0).getAssignee());
-            SysUser handlerUser = sysUserService.selectUserById(handlerUserId);
-            if (Objects.nonNull(handlerUser)) {
-
-                vo.setActualHandlerUserId(hisTaskList.get(0).getAssignee());
-                vo.setActualHandlerUserName(handlerUser.getNickName());
+            // 濡傛灉鏈壘鍒板巻鍙蹭换鍔★紝璇存槑杩欎釜浠诲姟鍙兘澶勪簬鏌愪釜浜掓枼缃戝叧涓嬶紝瀹為檯骞舵湭鎵ц
+            if (CollectionUtils.isEmpty(hisTaskList)) {
+                vo.setTaskStatus(TaskStatusEnum.NOT_START);
+            } else {
+                vo.setTaskStatus(TaskStatusEnum.FINISHED);
+                // 濡傛灉鏄凡瀹屾垚鐨勶紝淇℃伅闇�瑕佸崟鐙祴鍊�
+                vo.setTaskId(hisTaskList.get(0).getId());
+                vo.setExecutionId(hisTaskList.get(0).getExecutionId());
+                vo.setCreateTime(hisTaskList.get(0).getStartTime());
+                // 鏌ヨ瀹為檯澶勭悊浜�
+                long handlerUserId = Long.parseLong(hisTaskList.get(0).getAssignee());
+                SysUser handlerUser = sysUserService.selectUserById(handlerUserId);
+                if (Objects.nonNull(handlerUser)) {
+                    vo.setActualHandlerUserId(hisTaskList.get(0).getAssignee());
+                    vo.setActualHandlerUserName(handlerUser.getNickName());
+                }
+                vo.setTaskDefinitionKey(hisTaskList.get(0).getTaskDefinitionKey());
+                this.setPromoterAndHandler(vo, hisTaskList.get(0).getIdentityLinks());
             }
-            vo.setTaskDefinitionKey(hisTaskList.get(0).getTaskDefinitionKey());
-            this.setPromoterAndHandler(vo, hisTaskList.get(0).getIdentityLinks());
-
             return vo;
-        }).collect(Collectors.toList());
+        }).filter(Objects::nonNull).collect(Collectors.toList());
         return vos;
     }
 

--
Gitblit v1.8.0