From 79eb2ef5f0297982b885016fe48ac65918a1040c Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 20 一月 2025 18:48:41 +0800
Subject: [PATCH] 赋码时间格式改为d-h

---
 business/src/main/java/com/ycl/task/FlowableTask.java |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/business/src/main/java/com/ycl/task/FlowableTask.java b/business/src/main/java/com/ycl/task/FlowableTask.java
index 673230c..43ba64c 100644
--- a/business/src/main/java/com/ycl/task/FlowableTask.java
+++ b/business/src/main/java/com/ycl/task/FlowableTask.java
@@ -11,6 +11,7 @@
 import com.ycl.mapper.ProjectProcessMapper;
 import com.ycl.service.ProcessCodingService;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.flowable.task.api.Task;
 import org.flowable.task.api.TaskInfo;
 import org.flowable.task.api.history.HistoricTaskInstance;
@@ -73,11 +74,26 @@
             }
             //鍒ゆ柇鏄惁瓒呮椂
             Date startTime = startTaskMap.get(processCoding.getStartTaskId());
-            Integer yellowTime = processCoding.getYellowTime();
-            Integer redTime = processCoding.getRedTime();
+            Long yellowTime = null;
+            Long redTime = null;
+            String yellowTimeStr = processCoding.getYellowTime();
+            if (StringUtils.isNotBlank(yellowTimeStr)) {
+                String[] yellowTimeArr = yellowTimeStr.split("-");
+                // 瑙f瀽澶╂暟鍜屽皬鏃舵暟
+                int days = Integer.parseInt(yellowTimeArr[0]);
+                int hours = Integer.parseInt(yellowTimeArr[1]);
+                yellowTime = (days * 24L + hours) * 3600L;
+            }
+            String redTimeStr = processCoding.getRedTime();
+            if (StringUtils.isNotBlank(redTimeStr)) {
+                String[] redTimeArr = redTimeStr.split("-");
+                // 瑙f瀽澶╂暟鍜屽皬鏃舵暟
+                int days = Integer.parseInt(redTimeArr[0]);
+                int hours = Integer.parseInt(redTimeArr[1]);
+                redTime = (days * 24L + hours) * 3600L;
+            }
             if (startTime == null) continue;
-                long durationDay = (now.getTime() - startTime.getTime()) / (1000 * 60 * 60 * 24);
-//            long durationDay = (now.getTime() - startTime.getTime()) / (1000 * 60);
+            long durationDay = (now.getTime() - startTime.getTime()) / 1000;
             String status = GREEN; // 榛樿鐘舵�佷负缁胯壊
             if (redTime != null && durationDay >= redTime) {
                 status = RED; // 濡傛灉瓒呰繃绾㈣壊鏃堕棿闃堝�硷紝鍒欑姸鎬佷负绾㈣壊

--
Gitblit v1.8.0