From e7243b4e61a96249bbe17173682a243c9a591609 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 06 三月 2025 10:21:23 +0800
Subject: [PATCH] 首页待办剩余时间用红码时间计算

---
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java |   90 ++++++++++++++++++++-------------------------
 1 files changed, 40 insertions(+), 50 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 23c7f21..2209646 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -3,7 +3,6 @@
 
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
@@ -483,15 +482,13 @@
             }
 
             // 璁$畻鍔炵悊鏃堕棿
-            ProcessCoding processCoding = processCodingService.getByTaskId(task.getId());
-            if (processCoding != null) {
-                if (StringUtils.isNotBlank(processCoding.getOvertime())) {
-                    Long overtime = getTime(processCoding.getOvertime());
+            ProcessCoding processCoding = processCodingService.getByTaskId(task.getId(), task.getProcessInstanceId());
+            if (Objects.nonNull(processCoding)) {
+                if (StringUtils.isNotBlank(processCoding.getRedTime())) {
+                    Long overtime = getTime(processCoding.getRedTime());
                     long durationTime = 0l;
                     if (Objects.nonNull(processCoding.getStartTaskTime())) {
                         durationTime = ((new Date()).getTime() - processCoding.getStartTaskTime().getTime()) / 1000;
-                    } else {
-                        taskVO.setRemainingTime("鏈缃姙鐞嗘椂闂�");
                     }
                     if (overtime > durationTime) {
                         taskVO.setRemainingTime((overtime - durationTime) / 3600 + "灏忔椂");
@@ -501,6 +498,8 @@
                 } else {
                     taskVO.setRemainingTime("-");
                 }
+            } else {
+                taskVO.setRemainingTime("-");
             }
             this.distinctVo(taskVO);
             vos.add(taskVO);
@@ -738,7 +737,7 @@
                 }
             }
             // 瀹屾垚浠诲姟
-            flowTaskService.completeSubmitForm(form.getTaskId(), data);
+            flowTaskService.completeSubmitForm(form.getTaskId(), data, Boolean.FALSE);
         }
         return Result.ok("鎿嶄綔鎴愬姛");
     }
@@ -1008,11 +1007,11 @@
                         vo.setHandlerType(HandlerTypeEnum.USER);
                         SysUser sysUser = sysUserService.selectUserById(Long.parseLong(userTask.getAssignee()));
                         if (Objects.nonNull(sysUser)) {
-                            handlerIds.add(sysUser.getUserId());
-                            handlerNames.add(this.getUserShowName(sysUser));
+                            vo.getHandlerId().add(sysUser.getUserId());
+                            vo.getHandlerName().add(this.getUserShowName(sysUser));
                             if (Objects.nonNull(sysUser.getDept())) {
-                                handlerUnitIds.add(sysUser.getDept().getDeptId());
-                                handlerUnitNames.add(sysUser.getDept().getDeptName());
+                                vo.getHandlerUnitId().add(sysUser.getDept().getDeptId());
+                                vo.getHandlerUnitName().add(sysUser.getDept().getDeptName());
                             }
                         }
                     } else if (CollectionUtil.isNotEmpty(userTask.getCandidateGroups())) {
@@ -1029,17 +1028,17 @@
                                     // 閮ㄩ棬
                                     SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1]));
                                     if (Objects.nonNull(dept)) {
-                                        handlerUnitIds.add(dept.getDeptId());
-                                        handlerUnitNames.add(dept.getDeptName());
-                                        handlerNames.add(this.getDeptLeaderShowName(dept));
+                                        vo.getHandlerUnitId().add(dept.getDeptId());
+                                        vo.getHandlerUnitName().add(dept.getDeptName());
+                                        vo.getHandlerName().add(this.getDeptLeaderShowName(dept));
                                     }
                                 }
                             } else {
                                 vo.setHandlerType(HandlerTypeEnum.ROLE);
                                 SysRole role = sysRoleService.selectRoleById(Long.parseLong(groupId));
                                 if (Objects.nonNull(role)) {
-                                    handlerUnitIds.add(role.getRoleId());
-                                    handlerUnitNames.add(role.getRoleName());
+                                    vo.getHandlerUnitId().add(role.getRoleId());
+                                    vo.getHandlerUnitName().add(role.getRoleName());
                                 }
                             }
                         }
@@ -1057,16 +1056,15 @@
                         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));
+                            vo.getHandlerId().add(handlerUserId);
+                            vo.getHandlerName().add(this.getUserShowName(handlerUser));
                             if (Objects.nonNull(handlerUser.getDept())) {
-                                handlerUnitNames.add(handlerUser.getDept().getDeptName());
-                                handlerUnitIds.add(handlerUser.getDept().getDeptId());
+                                vo.getHandlerUnitName().add(handlerUser.getDept().getDeptName());
+                                vo.getHandlerUnitId().add(handlerUser.getDept().getDeptId());
                             }
                         }
                     }
                     vo.setTaskDefinitionKey(historicTasks.get(0).getTaskDefinitionKey());
-                    this.setPromoterAndHandler(vo, historicTasks.get(0).getIdentityLinks());
                 }
             } else {
                 vo.setTaskStatus(TaskStatusEnum.TODO);
@@ -1411,9 +1409,12 @@
                 if (Objects.nonNull(handlerUser)) {
                     vo.getHandlerId().add(handlerUserId);
                     vo.getHandlerName().add(this.getUserShowName(handlerUser));
+                    if (Objects.nonNull(handlerUser.getDept())) {
+                        vo.getHandlerUnitId().add(handlerUser.getDept().getDeptId());
+                        vo.getHandlerUnitName().add(handlerUser.getDept().getDeptName());
+                    }
                 }
                 vo.setTaskDefinitionKey(hisTask.getTaskDefinitionKey());
-                this.setPromoterAndHandler(vo, hisTask.getIdentityLinks());
             }
 
             this.distinctVo(vo);
@@ -1948,17 +1949,6 @@
      * @param identityLinkInfos 濡傛灉鏄凡瀹屾垚鐨勪换鍔★紝鐢ㄨ繖涓幓鍙栧叧鑱旂殑鐢ㄦ埛/鐢ㄦ埛缁�
      */
     private void setPromoterAndHandler(CustomerTaskVO taskVO, List<? extends IdentityLinkInfo> identityLinkInfos) {
-//        this.setPromoterInfo(taskVO);
-
-        // 涓�涓换鍔″彲鑳芥湁澶氫釜鍊欓�変汉/缁勶紝鎵�浠ラ渶瑕佷娇鐢╨ist
-        List<Long> handlerIds = new ArrayList<>(2);
-        List<String> handlerNames = new ArrayList<>(2);
-        List<Long> handlerUnitIds = new ArrayList<>(2);
-        List<String> handlerUnitNames = new ArrayList<>(2);
-        taskVO.setHandlerId(handlerIds);
-        taskVO.setHandlerName(handlerNames);
-        taskVO.setHandlerUnitId(handlerUnitIds);
-        taskVO.setHandlerUnitName(handlerUnitNames);
 
         // 娴佺▼澶勭悊浜轰俊鎭�
         if (TaskStatusEnum.TODO.equals(taskVO.getTaskStatus())) {
@@ -1972,11 +1962,11 @@
                     SysUser sysUser = sysUserService.selectUserById(Long.parseLong(identityLink.getUserId()));
                     if (Objects.nonNull(sysUser)) {
                         taskVO.setHandlerType(HandlerTypeEnum.USER);
-                        handlerIds.add(sysUser.getUserId());
-                        handlerNames.add(this.getUserShowName(sysUser));
+                        taskVO.getHandlerId().add(sysUser.getUserId());
+                        taskVO.getHandlerName().add(this.getUserShowName(sysUser));
                         if (Objects.nonNull(sysUser.getDept())) {
-                            handlerUnitIds.add(sysUser.getDept().getDeptId());
-                            handlerUnitNames.add(sysUser.getDept().getDeptName());
+                            taskVO.getHandlerUnitId().add(sysUser.getDept().getDeptId());
+                            taskVO.getHandlerUnitName().add(sysUser.getDept().getDeptName());
                         }
                     }
                     // 缁戝畾鐨勬槸瑙掕壊鎴栬�呮槸閮ㄩ棬锛岄渶瑕佹牴鎹甶d鍒ゆ柇
@@ -1988,16 +1978,16 @@
                             // 閮ㄩ棬
                             SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1]));
                             if (Objects.nonNull(dept)) {
-                                handlerUnitIds.add(dept.getDeptId());
-                                handlerUnitNames.add(dept.getDeptName());
+                                taskVO.getHandlerUnitId().add(dept.getDeptId());
+                                taskVO.getHandlerUnitName().add(dept.getDeptName());
                             }
                         }
                     } else {
                         taskVO.setHandlerType(HandlerTypeEnum.ROLE);
                         SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId()));
                         if (Objects.nonNull(role)) {
-                            handlerUnitIds.add(role.getRoleId());
-                            handlerUnitNames.add(role.getRoleName());
+                            taskVO.getHandlerUnitId().add(role.getRoleId());
+                            taskVO.getHandlerUnitName().add(role.getRoleName());
                         }
                     }
                 }
@@ -2009,11 +1999,11 @@
                     taskVO.setHandlerType(HandlerTypeEnum.USER);
                     SysUser sysUser = sysUserService.selectUserById(Long.parseLong(identityLink.getUserId()));
                     if (Objects.nonNull(sysUser)) {
-                        handlerIds.add(sysUser.getUserId());
-                        handlerNames.add(this.getUserShowName(sysUser));
+                        taskVO.getHandlerId().add(sysUser.getUserId());
+                        taskVO.getHandlerName().add(this.getUserShowName(sysUser));
                         if (Objects.nonNull(sysUser.getDept())) {
-                            handlerUnitIds.add(sysUser.getDept().getDeptId());
-                            handlerUnitNames.add(sysUser.getDept().getDeptName());
+                            taskVO.getHandlerUnitId().add(sysUser.getDept().getDeptId());
+                            taskVO.getHandlerUnitName().add(sysUser.getDept().getDeptName());
                         }
                     }
                     // 缁戝畾鐨勬槸瑙掕壊锛屾煡鍑鸿鑹插悕绉�
@@ -2025,16 +2015,16 @@
                             // 閮ㄩ棬
                             SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1]));
                             if (Objects.nonNull(dept)) {
-                                handlerUnitIds.add(dept.getDeptId());
-                                handlerUnitNames.add(dept.getDeptName());
+                                taskVO.getHandlerUnitId().add(dept.getDeptId());
+                                taskVO.getHandlerUnitName().add(dept.getDeptName());
                             }
                         }
                     } else {
                         taskVO.setHandlerType(HandlerTypeEnum.ROLE);
                         SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId()));
                         if (Objects.nonNull(role)) {
-                            handlerUnitIds.add(role.getRoleId());
-                            handlerUnitNames.add(role.getRoleName());
+                            taskVO.getHandlerUnitId().add(role.getRoleId());
+                            taskVO.getHandlerUnitName().add(role.getRoleName());
                         }
                     }
                 }

--
Gitblit v1.8.0