From 87ba41eebdf94722c51cce4470fbcc4b1ce18a2d Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 25 三月 2025 22:44:01 +0800 Subject: [PATCH] 按时完成不统计跳过的和容缺的 --- business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 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 38f032c..938849f 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java @@ -1407,6 +1407,12 @@ .processInstanceId(processInsId) .finished() .list(); + // 鎺掗櫎璺宠繃銆佸缂虹殑浠诲姟锛屽洜涓鸿繖涓や釜鎿嶄綔閮戒細瀹屾垚浠诲姟鑰屼骇鐢熷巻鍙蹭换鍔� + List<String> jumpAndWaitTaskIds = new LambdaQueryChainWrapper<>(processLogService.getBaseMapper()) + .eq(ProcessLog::getProcessInsId, processInsId) + .in(ProcessLog::getEventType, ProcessLogEventTypeEnum.JUMP, ProcessLogEventTypeEnum.WAIT) + .list().stream().map(ProcessLog::getTaskId).collect(Collectors.toList()); + hisTaskList = hisTaskList.stream().filter(hisTask -> jumpAndWaitTaskIds.indexOf(hisTask.getId()) == -1).collect(Collectors.toList()); hisTaskList = this.distinctHisTask(hisTaskList); if (CollectionUtils.isEmpty(hisTaskList)) { return 0L; @@ -1466,7 +1472,13 @@ result.total(0); return new ArrayList<>(); } - + // 鎺掗櫎璺宠繃銆佸缂虹殑浠诲姟锛屽洜涓鸿繖涓や釜鎿嶄綔閮戒細瀹屾垚浠诲姟鑰屼骇鐢熷巻鍙蹭换鍔� + List<String> jumpAndWaitTaskIds = new LambdaQueryChainWrapper<>(processLogService.getBaseMapper()) + .eq(ProcessLog::getProcessInsId, processInsId) + .eq(ProcessLog::getProjectId, projectId) + .in(ProcessLog::getEventType, ProcessLogEventTypeEnum.JUMP, ProcessLogEventTypeEnum.WAIT) + .list().stream().map(ProcessLog::getTaskId).collect(Collectors.toList()); + hisTaskList = hisTaskList.stream().filter(hisTask -> jumpAndWaitTaskIds.indexOf(hisTask.getId()) == -1).collect(Collectors.toList()); List<String> hisTaskKeys = hisTaskList.stream().map(HistoricTaskInstance::getTaskDefinitionKey).distinct().collect(Collectors.toList()); Map<String, HistoricTaskInstance> hisTaskMap = this.distinctHisTask(hisTaskList).stream().collect(Collectors.toMap(HistoricTaskInstance::getTaskDefinitionKey, his -> his)); // 鏌ュ嚭鏃堕棿姝e父鐨勪换鍔ey -- Gitblit v1.8.0