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

---
 flowable/src/main/java/com/ycl/service/impl/ProcessCodingServiceImpl.java  |   12 ++++++------
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java |   12 ++++++------
 flowable/src/main/java/com/ycl/service/ProcessCodingService.java           |   10 ++++++++--
 project_management_正式数据_2025.3.5.sql                                       |    0 
 4 files changed, 20 insertions(+), 14 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 2d93321..2209646 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -482,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 + "灏忔椂");
@@ -500,6 +498,8 @@
                 } else {
                     taskVO.setRemainingTime("-");
                 }
+            } else {
+                taskVO.setRemainingTime("-");
             }
             this.distinctVo(taskVO);
             vos.add(taskVO);
diff --git a/flowable/src/main/java/com/ycl/service/ProcessCodingService.java b/flowable/src/main/java/com/ycl/service/ProcessCodingService.java
index ad24d08..0ed1627 100644
--- a/flowable/src/main/java/com/ycl/service/ProcessCodingService.java
+++ b/flowable/src/main/java/com/ycl/service/ProcessCodingService.java
@@ -64,6 +64,12 @@
      */
     Result all();
 
-
-    ProcessCoding getByTaskId(String id);
+    /**
+     * 鏍规嵁浠诲姟id锛屾祦绋嬪疄渚媔d鑾峰彇璧嬬爜
+     *
+     * @param taskId 浠诲姟id
+     * @param processInsId 娴佺▼瀹炰緥id
+     * @return
+     */
+    ProcessCoding getByTaskId(String taskId, String processInsId);
 }
diff --git a/flowable/src/main/java/com/ycl/service/impl/ProcessCodingServiceImpl.java b/flowable/src/main/java/com/ycl/service/impl/ProcessCodingServiceImpl.java
index bea89f4..e5e74d3 100644
--- a/flowable/src/main/java/com/ycl/service/impl/ProcessCodingServiceImpl.java
+++ b/flowable/src/main/java/com/ycl/service/impl/ProcessCodingServiceImpl.java
@@ -127,12 +127,12 @@
     }
 
     @Override
-    public ProcessCoding getByTaskId(String taskId) {
+    public ProcessCoding getByTaskId(String taskId, String processInsId) {
 
-        List<ProcessCoding> list = baseMapper.findByTaskId(taskId);
-        if (list.size() > 0) {
-            return list.get(0);
-        }
-        return null;
+        ProcessCoding processCoding = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(ProcessCoding::getTaskId, taskId)
+                .eq(ProcessCoding::getProcessInsId, processInsId)
+                .one();
+        return processCoding;
     }
 }
diff --git "a/project_management_\346\255\243\345\274\217\346\225\260\346\215\256_2025.3.5.sql" "b/project_management_\346\255\243\345\274\217\346\225\260\346\215\256_2025.3.5.sql"
new file mode 100644
index 0000000..91afd65
--- /dev/null
+++ "b/project_management_\346\255\243\345\274\217\346\225\260\346\215\256_2025.3.5.sql"
Binary files differ

--
Gitblit v1.8.0