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