From 5e56add00e129eb5f3d05c7c2c62f0b2516b1a62 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 07 二月 2025 14:02:23 +0800
Subject: [PATCH] 首页省、市数量问题
---
business/src/main/java/com/ycl/task/FlowableTask.java | 56 ++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 42 insertions(+), 14 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..2e247ae 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,21 +74,48 @@
}
//鍒ゆ柇鏄惁瓒呮椂
Date startTime = startTaskMap.get(processCoding.getStartTaskId());
- Integer yellowTime = processCoding.getYellowTime();
- Integer redTime = processCoding.getRedTime();
- if (startTime == null) continue;
- long durationDay = (now.getTime() - startTime.getTime()) / (1000 * 60 * 60 * 24);
-// long durationDay = (now.getTime() - startTime.getTime()) / (1000 * 60);
- String status = GREEN; // 榛樿鐘舵�佷负缁胯壊
- if (redTime != null && durationDay >= redTime) {
- status = RED; // 濡傛灉瓒呰繃绾㈣壊鏃堕棿闃堝�硷紝鍒欑姸鎬佷负绾㈣壊
- } else if (yellowTime != null && durationDay >= yellowTime) {
- status = YELLOW; // 鍚﹀垯锛屽鏋滆秴杩囬粍鑹叉椂闂撮槇鍊硷紝鍒欑姸鎬佷负榛勮壊
+ try {
+ 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 = 0;
+ // 鍏煎涔嬪墠閰嶇疆鐨勬暣鏁板ぉ
+ if (yellowTimeArr.length > 1) {
+ 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 = 0;
+ if (redTimeArr.length > 1) {
+ hours = Integer.parseInt(redTimeArr[1]);
+ }
+ redTime = (days * 24L + hours) * 3600L;
+ }
+ if (startTime == null) continue;
+ long durationDay = (now.getTime() - startTime.getTime()) / 1000;
+ String status = GREEN; // 榛樿鐘舵�佷负缁胯壊
+ if (redTime != null && redTime !=0 && durationDay >= redTime) {
+ status = RED; // 濡傛灉瓒呰繃绾㈣壊鏃堕棿闃堝�硷紝鍒欑姸鎬佷负绾㈣壊
+ } else if (yellowTime != null && yellowTime !=0 && durationDay >= yellowTime) {
+ status = YELLOW; // 鍚﹀垯锛屽鏋滆秴杩囬粍鑹叉椂闂撮槇鍊硷紝鍒欑姸鎬佷负榛勮壊
+ }
+ List<String> processInsIds = map.get(status);
+ processInsIds.add(task.getProcessInstanceId());
+ processCoding.setStatus(status);
+ list.add(processCoding);
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error(e.getMessage(),"璧嬬爜鏃堕棿鏍煎紡鏈夎");
}
- List<String> processInsIds = map.get(status);
- processInsIds.add(task.getProcessInstanceId());
- processCoding.setStatus(status);
- list.add(processCoding);
}
//鏇存柊椤圭洰鐮�
map.forEach((key, value) -> updateProjectCoding(value, key));
--
Gitblit v1.8.0