From 85529d0f7fb034c7350a983716aef8d7d1884477 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 24 三月 2025 11:46:05 +0800
Subject: [PATCH] Merge branch 'dev'
---
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index e6892aa..01dc67e 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -305,6 +305,7 @@
taskStatistics.setTimelyFinishedTaskNum(this.getTimelyTaskNum(projectProcess.getProcessInsId()));
taskStatistics.setOvertimeTaskNum(this.getOvertimeTaskNum(projectProcess.getProcessInsId()));
taskStatistics.setWillOvertimeTaskNum(this.getWillOvertimeTaskNum(projectProcess.getProcessInsId()));
+ taskStatistics.setToleranceNum(this.getToleranceTask(projectProcess.getProcessInsId()));
// taskStatistics.setCurrentTask(this.getCurrentNodeTaskList(projectProcess.getProcessInstanceId()));
detail.setStatistics(taskStatistics);
@@ -313,6 +314,32 @@
// // 浠e姙浠诲姟
// this.getTodoTaskList(projectProcess.getProjectId(), projectProcess.getProcessInsId(), "", 5, 1, result);
return result.data(detail);
+ }
+
+ /**
+ * 瀹圭己浠诲姟璁℃暟
+ * @param processInsId
+ * @return
+ */
+ private Long getToleranceTask(String processInsId){
+ // 鏌ュ嚭瀹圭己杩囩殑浠诲姟
+ List<ProcessLog> allWaitTaskList = new LambdaQueryChainWrapper<>(processLogService.getBaseMapper())
+ .eq(ProcessLog::getProcessInsId, processInsId)
+ .eq(ProcessLog::getEventType, ProcessLogEventTypeEnum.WAIT)
+ .orderByDesc(ProcessLog::getGmtCreate)
+ .list();
+ // 鎺掗櫎瀹圭己鍚庡張瀹屾垚鐨勪换鍔�
+ List<ProcessLog> finishedTaskList = new LambdaQueryChainWrapper<>(processLogService.getBaseMapper())
+ .eq(ProcessLog::getProcessInsId, processInsId)
+ .eq(ProcessLog::getEventType, ProcessLogEventTypeEnum.FINISHED)
+ .list();
+ List<String> finishedTaskIds = finishedTaskList.stream().map(ProcessLog::getTaskId).distinct().collect(Collectors.toList());
+ // 寰楀埌鏈畬鎴愮殑瀹圭己浠诲姟
+ List<String> waitTaskIds = allWaitTaskList.stream().filter(log -> !finishedTaskIds.contains(log.getTaskId())).map(ProcessLog::getTaskId).collect(Collectors.toList());
+ if (CollectionUtils.isEmpty(waitTaskIds)) {
+ return 0L;
+ }
+ return Long.valueOf(waitTaskIds.size());
}
@Override
@@ -1737,6 +1764,8 @@
return Long.valueOf(tList.size());
}
+
+
/**
* 鏌ヨ鍗冲皢瓒呮椂鐨勪换鍔�
*
@@ -1980,6 +2009,7 @@
Integer pageNum,
Integer pageSize,
Result result) {
+
// 鏌ュ嚭瀹圭己杩囩殑浠诲姟
List<ProcessLog> allWaitTaskList = new LambdaQueryChainWrapper<>(processLogService.getBaseMapper())
.eq(ProcessLog::getProcessInsId, processInsId)
--
Gitblit v1.8.0