From 3777ec066316f3c1d3ca36e2cae5b1e05bac4f6e Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 05 十二月 2025 17:11:39 +0800
Subject: [PATCH] 首页
---
business/src/main/java/com/ycl/task/FlowableTask.java | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/business/src/main/java/com/ycl/task/FlowableTask.java b/business/src/main/java/com/ycl/task/FlowableTask.java
index f130f86..dd90247 100644
--- a/business/src/main/java/com/ycl/task/FlowableTask.java
+++ b/business/src/main/java/com/ycl/task/FlowableTask.java
@@ -26,6 +26,7 @@
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -123,9 +124,28 @@
String status = GREEN; // 榛樿鐘舵�佷负缁胯壊
String overtimeStatus = NORMAL;
+ Long overtimeDurationSec = null; // 瓒呮椂鏃堕暱锛堢锛屽師濮嬪�硷級
+ Double overtimeDurationHour = null; // 瓒呮椂鏃堕暱锛堝皬鏃讹紝杞崲鍚庯級
if (redTime != null && redTime != 0 && durationTime >= redTime) {
status = RED; // 濡傛灉瓒呰繃绾㈣壊鏃堕棿闃堝�硷紝鍒欒〃鏄庤浠诲姟瓒呮椂
overtimeStatus = OVERTIME;
+ overtimeDurationSec = durationTime - redTime;
+ // 2. 杞崲涓哄皬鏃讹紙淇濈暀1浣嶅皬鏁帮紝閬垮厤灏忔暟杩囧锛�
+ overtimeDurationHour = Math.round((overtimeDurationSec / 3600.0) * 10) / 10.0;
+
+ // 鏃堕棿鏍煎紡鍖栵紙Java鏍囧噯API锛屾棤渚濊禆锛�
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String formattedStartTime = sdf.format(startTime);
+ String formattedNow = sdf.format(now);
+ // 杞崲绾㈢爜闃堝�间负灏忔椂锛堝彲閫夛紝鏃ュ織鏇存槗璇伙級
+ Double redTimeHour = Math.round((redTime / 3600.0) * 10) / 10.0;
+ Double durationTimeHour = Math.round((durationTime / 3600.0) * 10) / 10.0;
+
+ // 鎵撳嵃瓒呮椂鏃堕暱锛堝皬鏃跺崟浣嶏級
+ log.info("浠诲姟瓒呮椂棰勮锛氫换鍔D[{}]锛屾祦绋嬪疄渚婭D[{}]锛岃鏃惰捣鐐筟{}]锛屽綋鍓嶆椂闂碵{}]锛岀孩鐮侀槇鍊糩{}灏忔椂]锛屽疄闄呮湁鏁堣�楁椂[{}灏忔椂]锛岃秴鏃舵椂闀縖{}灏忔椂]",
+ taskId, task.getProcessInstanceId(),
+ formattedStartTime, formattedNow,
+ redTimeHour, durationTimeHour, overtimeDurationHour);
}
// else if (yellowTime != null && yellowTime != 0 && durationTime >= yellowTime) {
// status = YELLOW; // 鍚﹀垯锛屽鏋滆秴杩囬粍鑹叉椂闂撮槇鍊硷紝鍒欑姸鎬佷负榛勮壊
@@ -141,6 +161,7 @@
// overtimeStatus = WILLOVERTIME; // 濡傛灉涓存湡(鍥哄畾瓒呮椂鍓�12灏忔椂涓轰复鏈�)
// }
map.get(status).add(task.getProcessInstanceId());
+ processCoding.setOverTimeTotal(String.valueOf(overtimeDurationHour));
processCoding.setStatus(status);
processCoding.setOvertimeStatus(overtimeStatus);
processCoding.setStartTaskTime(task.getCreateTime());
--
Gitblit v1.8.0