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/listener/flowable/FlowableOverTimeListener.java | 4 ++--
business/src/main/java/com/ycl/task/FlowableTask.java | 24 ++++++++++++++++++++----
flowable/src/main/java/com/ycl/domain/entity/ProcessCoding.java | 4 ++--
3 files changed, 24 insertions(+), 8 deletions(-)
diff --git a/business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java b/business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java
index e7f335f..b63fd97 100644
--- a/business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java
+++ b/business/src/main/java/com/ycl/listener/flowable/FlowableOverTimeListener.java
@@ -70,10 +70,10 @@
processCoding.setStatus(GREEN);
}
if (榛勭爜鏃堕暱 != null && 榛勭爜鏃堕暱.getValue(delegateTask) != null) {
- processCoding.setYellowTime(Integer.parseInt(榛勭爜鏃堕暱.getValue(delegateTask).toString()));
+ processCoding.setYellowTime(榛勭爜鏃堕暱.getValue(delegateTask).toString());
}
if (绾㈢爜鏃堕暱 != null && 绾㈢爜鏃堕暱.getValue(delegateTask) != null) {
- processCoding.setRedTime(Integer.parseInt(绾㈢爜鏃堕暱.getValue(delegateTask).toString()));
+ processCoding.setRedTime(绾㈢爜鏃堕暱.getValue(delegateTask).toString());
}
//璁剧疆寮�濮嬭妭鐐�
if (寮�濮嬭鏃惰妭鐐� != null && 寮�濮嬭鏃惰妭鐐�.getValue(delegateTask) != null) {
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; // 濡傛灉瓒呰繃绾㈣壊鏃堕棿闃堝�硷紝鍒欑姸鎬佷负绾㈣壊
diff --git a/flowable/src/main/java/com/ycl/domain/entity/ProcessCoding.java b/flowable/src/main/java/com/ycl/domain/entity/ProcessCoding.java
index 4820b53..2a8beff 100644
--- a/flowable/src/main/java/com/ycl/domain/entity/ProcessCoding.java
+++ b/flowable/src/main/java/com/ycl/domain/entity/ProcessCoding.java
@@ -35,11 +35,11 @@
@TableField("yellow_time")
/** 鍙橀粍鐮佺殑澶╂暟 */
- private Integer yellowTime;
+ private String yellowTime;
@TableField("red_time")
/** 鍙樼孩鐮佺殑澶╂暟 */
- private Integer redTime;
+ private String redTime;
@TableField("status")
/** 浠诲姟鐘舵�� */
--
Gitblit v1.8.0