From 3b1bdf57d65f691958d67fd2328f1b128de59b44 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 24 三月 2025 11:56:10 +0800 Subject: [PATCH] 容缺数量统计字段名称修改 --- 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..6e44713 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.setWaitTaskNum(this.getWaitTaskNum(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 getWaitTaskNum(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