diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/TaskStatisticsServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/TaskStatisticsServiceImpl.java index 7d89c4b30..94e4ddba0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/TaskStatisticsServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/phone/service/impl/TaskStatisticsServiceImpl.java @@ -71,7 +71,9 @@ public class TaskStatisticsServiceImpl implements ITaskStatisticsService { List preHomoList = piEoList.stream().filter(piEo -> { return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.CERTIFICATION_LC.getValue()); }).collect(Collectors.toList()); - preHomoCount = preHomoList.size(); + if (CollectionUtils.isNotEmpty(preHomoList)) { + preHomoCount = this.getPreHomoCount(pidEoList, preHomoList); + } List technologyEvaluationList = piEoList.stream().filter(piEo -> { return StringUtils.equals(piEo.getFlowType(), FlowTypeEnum.FGJSPG.getValue()); @@ -93,4 +95,41 @@ public class TaskStatisticsServiceImpl implements ITaskStatisticsService { result.put("opinionCollectionCount", opinionCollectionCount); return Result.OK(result); } + + private int getPreHomoCount(List pidEoList, List preHomoList) { + int preHomoCount = 0; + for (ProcessInfoEO piEo : preHomoList) { + List pidEosTemp = pidEoList.stream().filter(pidEo -> { + boolean flag = false; + if (StringUtils.equals(piEo.getId(), pidEo.getProcessInfoId())) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if (CollectionUtils.isNotEmpty(pidEosTemp)) { + List zrrjsrwPidEos = pidEosTemp.stream().filter(pidEo -> { + return StringUtils.equals(pidEo.getTaskDefinitionKey(), CertificationFlowNodeEnum.ZRRJSRW.getKey()); + }).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(zrrjsrwPidEos)) { + preHomoCount += 1; + } + + List rzgcsscPidEos = pidEosTemp.stream().filter(pidEo -> { + return StringUtils.equals(pidEo.getTaskDefinitionKey(), CertificationFlowNodeEnum.RZGCSSC.getKey()); + }).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(rzgcsscPidEos)) { + preHomoCount += 1; + } + + List zrrtjrwPidEos = pidEosTemp.stream().filter(pidEo -> { + return StringUtils.equals(pidEo.getTaskDefinitionKey(), CertificationFlowNodeEnum.ZRRTJRW.getKey()); + }).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(zrrtjrwPidEos)) { + preHomoCount += 1; + } + } + } + return preHomoCount; + } }