From 5f14844e81dade9e55725642f42c76568c5ec908 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 16 一月 2026 10:22:48 +0800
Subject: [PATCH] 修改超时时间显示
---
business/src/main/java/com/ycl/service/impl/IndexHomeServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 43 insertions(+), 14 deletions(-)
diff --git a/business/src/main/java/com/ycl/service/impl/IndexHomeServiceImpl.java b/business/src/main/java/com/ycl/service/impl/IndexHomeServiceImpl.java
index f375bc5..4297f42 100644
--- a/business/src/main/java/com/ycl/service/impl/IndexHomeServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/IndexHomeServiceImpl.java
@@ -507,17 +507,11 @@
List<Task> allRunningTasks = taskService.createTaskQuery().active().list();
-
+ //杩欓噷 鑾峰緱 褰撳墠鐢ㄦ埛 鎵�灞炵殑 娴佺▼瀹炰緥ids闆嗗悎涓� 瀵瑰簲鐨勬鍦ㄨ繍琛岀殑浠诲姟銆�
List<Task> targetRunningTasks = allRunningTasks.stream()
- // 鍏抽敭鍖归厤锛氫换鍔$殑娴佺▼瀹氫箟ID 瀛樺湪浜� projectProcessList 鐨勬祦绋嬪畾涔塈D鍒楄〃涓�
+ // 鍏抽敭鍖归厤锛氫换鍔$殑娴佺▼瀹炰緥ID 瀛樺湪浜� targetProcessInsIds 鍒楄〃涓�
.filter(task -> targetProcessInsIds.contains(task.getProcessInstanceId()))
- .filter(task -> {
- String assignee = task.getAssignee();
- log.info("assignee:{}",assignee);
- return assignee == null || userId.toString().equals(assignee);
- })
.collect(Collectors.toList());
-
List<TaskInfoVo> list = new ArrayList<>();
// 鎸夋祦绋嬪疄渚媔d鍒嗙粍
if (!CollectionUtils.isEmpty(targetRunningTasks)){
@@ -529,6 +523,7 @@
.eq(ProcessCoding::getDeleted, Boolean.FALSE)
.in(ProcessCoding::getTaskId, taskIds)
.list();
+
log.info("processCodingList.size():{}", processCodingList.size()); // 鐪嬫棩蹇楁槸鍚︿负0
Map<String, ProcessCoding> processCodingMap = new HashMap<>();
//鎸塼askId杞崲涓簃ap鏂归潰涓嬮潰鑾峰彇
@@ -554,6 +549,25 @@
}
));
}
+
+ //涓簍argetRunningTasks杩涜涓�娆℃帓搴� 鎸夊瓨鍦ㄨ秴鏃舵椂闂� 鐢辨悶鍒颁綆鎺掑簭
+ Map<String, ProcessCoding> finalProcessCodingMap = processCodingMap;
+ targetRunningTasks.sort((t1, t2) -> {
+ ProcessCoding pc1 = finalProcessCodingMap.get(t1.getId());
+ ProcessCoding pc2 = finalProcessCodingMap.get(t2.getId());
+
+ String status1 = (pc1 != null && pc1.getOvertimeStatus() != null) ? pc1.getOvertimeStatus() : ProcessOverTimeConstants.NORMAL;
+ String status2 = (pc2 != null && pc2.getOvertimeStatus() != null) ? pc2.getOvertimeStatus() : ProcessOverTimeConstants.NORMAL;
+
+ // 瀹氫箟鏉冮噸锛歰vertime=3, willOvertime=2, normal=1
+ int weight1 = ProcessOverTimeConstants.OVERTIME.equals(status1) ? 3 :
+ (ProcessOverTimeConstants.WILLOVERTIME.equals(status1) ? 2 : 1);
+ int weight2 = ProcessOverTimeConstants.OVERTIME.equals(status2) ? 3 :
+ (ProcessOverTimeConstants.WILLOVERTIME.equals(status2) ? 2 : 1);
+
+ return Integer.compare(weight2, weight1); // 鐢遍珮鍒颁綆鎺掑簭
+ });
+
for (Task task : targetRunningTasks) {
TaskInfoVo taskVo = new TaskInfoVo();
@@ -637,16 +651,33 @@
}
//瓒呮椂鏃堕棿鍜屾鏁板湪 processCodingList涓� 杩欓噷闇�瑕佹洿鍏穞askId鏉ヨ幏寰楀搴斾俊鎭�
ProcessCoding processCoding = processCodingMap.get(task.getId());
+
//璁剧疆瓒呮椂淇℃伅
if (processCoding != null) {
-
+ log.error("褰撳墠澶勭悊processCoding鐨刬d:{}",processCoding.getId());
String overTimeTotalStr = processCoding.getOverTimeTotal();
long overTimeTotal = 0L;
+ log.error("褰撳墠澶勭悊瓒呮椂鏃堕棿锛歿}",overTimeTotalStr);
if (StringUtils.isNotBlank(overTimeTotalStr)) {
- try {
- overTimeTotal = Long.parseLong(overTimeTotalStr.trim());
- } catch (NumberFormatException e) {
+ try {
+ // 绗竴姝ワ細鍏堝幓闄ゅ瓧绗︿覆涓ょ绌虹櫧
+ String trimStr = overTimeTotalStr.trim();
+ // 绗簩姝ワ細鍏堣浆鎴怐ouble澶勭悊灏忔暟锛屽啀杞琇ong锛堝彲閫夋嫨鍥涜垗浜斿叆鎴栫洿鎺ュ彇鏁达級
+ double doubleValue = Double.parseDouble(trimStr);
+ // 鏂瑰紡1锛氱洿鎺ュ彇鏁存暟閮ㄥ垎锛�4778.3 鈫� 4778锛�
+ overTimeTotal = (long) doubleValue;
+ // 鏂瑰紡2锛氬洓鑸嶄簲鍏ワ紙4778.3 鈫� 4778锛�4778.6 鈫� 4779锛�
+ // overTimeTotal = Math.round(doubleValue);
+
+ log.error("鎵撳嵃瓒呮椂鎬绘椂闀夸笉涓簄ull鐨刬d:{}锛屽搴斿�納}锛堝師濮嬪�硷細{}锛�",
+ processCoding.getId(), overTimeTotal, trimStr);
+ } catch (NumberFormatException e) {
+ // 鍏抽敭锛氭墦鍗板紓甯歌鎯呭拰鍘熷鍊硷紝鏂逛究鎺掓煡
+ log.error("杞崲瓒呮椂鏃堕棿澶辫触锛乮d:{}锛屽師濮嬪�硷細{}",
+ processCoding.getId(), overTimeTotalStr, e);
+ // 鍙�夛細缁欓粯璁ゅ�硷紝閬垮厤鍚庣画浣跨敤overTimeTotal鏃跺嚭鐜扮┖鎸囬拡
+ overTimeTotal = 0L; // 鎴栨牴鎹笟鍔¤缃粯璁ゅ�硷紝姣斿60000L锛�1鍒嗛挓锛�
}
}
String overTimeDesc = convertHoursToDayHourStr(overTimeTotal);
@@ -674,8 +705,6 @@
}
list.add(taskVo);
}
-
-
}
return Result.ok().data(list);
--
Gitblit v1.8.0