diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java index d72025ea0..c5a5f33d3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java @@ -43,6 +43,8 @@ public enum OperatorTypeEnum { QUERY_CERTIFICATION_PROGRESS_STATISTICS_ALL("查询认证进度统计-全部","queryCertificationProgressStatisticsAll"), QUERY_CERTIFICATION_PROGRESS_STATISTICS_CAR("查询认证进度统计-整车","queryCertificationProgressStatisticsCar"), QUERY_CERTIFICATION_PROGRESS_STATISTICS_PART("查询认证进度统计-零部件","queryCertificationProgressStatisticsPart"), + QUERY_DESIGN_TASK_CONFIRMATION("查询设计任务确认统计","queryDesignTaskConfirmation"), + QUERY_VERIFICATION_TASK_CONFIRMATION("查询验证任务确认统计","queryVerificationTaskConfirmation"), ADD_LAWS_OPINION_GATHER("添加法规意见收集数据","addLawsOpinionGather"), UPDATE_LAWS_OPINION_GATHER_GATHER_RESULT("更新法规意见收集数据收集结果","updateLawsOpinionGatherGatherResult"), diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryStatisticsService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryStatisticsService.java index 50719c40f..4cdeb59ec 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryStatisticsService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryStatisticsService.java @@ -19,6 +19,22 @@ public interface IProjectLibraryStatisticsService { */ Map getFGTaskToConfirmStatisticsGroupByTerritory(List datas, Map params); + /** + * 获取法规清单-法规符合性管理-设计任务确认-根据责任领域分组 + * @param datas + * @param params + * @return + */ + Map getDesignToConfirmStatisticsGroupByTerritory(List datas, Map params); + + /** + *获取法规清单-法规符合性管理-验证任务确认-根据责任领域分组 + * @param datas + * @param params + * @return + */ + Map getVerifyToConfirmStatisticsGroupByTerritory(List datas, Map params); + /** * 法规符合性管理--设计 * @param datas diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 67c8c4485..82169557c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -2243,6 +2243,10 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl getDesignToConfirmStatisticsGroupByTerritory(List datas, Map params) { + Map result = new HashMap<>(); + if(CollectionUtils.isNotEmpty(datas)){ + Map listToBeReleasedMap = new HashMap<>();//清单待发布 + Map taskToBeInitiatedMap = new HashMap<>();//任务待发起 + Map taskToBeConfirmedMap = new HashMap<>();//任务待确认 + Map acceptedMap = new HashMap<>();//责任人接收 + Map rejectedMap = new HashMap<>();//责任人拒绝 + + + // 清单待发布 + List notStartedDesignPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double notStartedComplianceFlowCount = (double) notStartedDesignPliEoList.size(); + double notStartedPercentage = (notStartedComplianceFlowCount / (datas.size())) * 100; + String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0"; + listToBeReleasedMap.put("amount",notStartedComplianceFlowCount); + listToBeReleasedMap.put("percentage",notStartedPercentageStr + percentSign); + + // 任务待发起 + List toConfirmDesignPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double toConfirmComplianceFlowCount = (double) toConfirmDesignPliEoList.size(); + double toConfirmPercentage = (toConfirmComplianceFlowCount / (datas.size())) * 100; + String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0"; + taskToBeInitiatedMap.put("amount",toConfirmComplianceFlowCount); + taskToBeInitiatedMap.put("percentage",toConfirmPercentageStr + percentSign); + + // 任务待确认 + List taskToBeConfirmedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double taskToBeConfirmedFlowCount = (double) taskToBeConfirmedPliEoList.size(); + double taskToBeConfirmedPercentage = (taskToBeConfirmedFlowCount / (datas.size())) * 100; + String taskToBeConfirmedPercentageStr = taskToBeConfirmedPercentage != 0 ? df.format(taskToBeConfirmedPercentage) : "0"; + taskToBeConfirmedMap.put("amount",taskToBeConfirmedFlowCount); + taskToBeConfirmedMap.put("percentage",taskToBeConfirmedPercentageStr + percentSign); + + // 责任人接收 + List acceptedDesignPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double acceptedComplianceFlowCount = (double) acceptedDesignPliEoList.size(); + double acceptedPercentage = (acceptedComplianceFlowCount / (datas.size())) * 100; + String acceptedPercentageStr = acceptedPercentage != 0 ? df.format(acceptedPercentage) : "0"; + acceptedMap.put("amount",acceptedComplianceFlowCount); + acceptedMap.put("percentage",acceptedPercentageStr + percentSign); + + // 责任人拒绝 + List rejectedDesignPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double rejectedComplianceFlowCount = (double) rejectedDesignPliEoList.size(); + double rejectedPercentage = (rejectedComplianceFlowCount / (datas.size())) * 100; + String rejectedPercentageStr = rejectedPercentage != 0 ? df.format(rejectedPercentage) : "0"; + rejectedMap.put("amount",rejectedComplianceFlowCount); + rejectedMap.put("percentage",rejectedPercentageStr + percentSign); + + result.put(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue(),listToBeReleasedMap); + result.put(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue(),taskToBeInitiatedMap); + result.put(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue(),taskToBeConfirmedMap); + result.put(ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue(),acceptedMap); + result.put(ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue(),rejectedMap); + } + return result; + } + @Override + public Map getVerifyToConfirmStatisticsGroupByTerritory(List datas, Map params) { + + Map result = new HashMap<>(); + if(CollectionUtils.isNotEmpty(datas)){ + Map listToBeReleasedMap = new HashMap<>();//清单待发布 + Map taskToBeInitiatedMap = new HashMap<>();//任务待发起 + Map taskToBeConfirmedMap = new HashMap<>();//任务待确认 + Map acceptedMap = new HashMap<>();//责任人接收 + Map rejectedMap = new HashMap<>();//责任人拒绝 + + + // 清单待发布 + List notStartedDesignPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double notStartedComplianceFlowCount = (double) notStartedDesignPliEoList.size(); + double notStartedPercentage = (notStartedComplianceFlowCount / (datas.size())) * 100; + String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0"; + listToBeReleasedMap.put("amount",notStartedComplianceFlowCount); + listToBeReleasedMap.put("percentage",notStartedPercentageStr + percentSign); + + // 任务待发起 + List toConfirmDesignPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double toConfirmComplianceFlowCount = (double) toConfirmDesignPliEoList.size(); + double toConfirmPercentage = (toConfirmComplianceFlowCount / (datas.size())) * 100; + String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0"; + taskToBeInitiatedMap.put("amount",toConfirmComplianceFlowCount); + taskToBeInitiatedMap.put("percentage",toConfirmPercentageStr + percentSign); + + // 任务待确认 + List taskToBeConfirmedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double taskToBeConfirmedFlowCount = (double) taskToBeConfirmedPliEoList.size(); + double taskToBeConfirmedPercentage = (taskToBeConfirmedFlowCount / (datas.size())) * 100; + String taskToBeConfirmedPercentageStr = taskToBeConfirmedPercentage != 0 ? df.format(taskToBeConfirmedPercentage) : "0"; + taskToBeConfirmedMap.put("amount",taskToBeConfirmedFlowCount); + taskToBeConfirmedMap.put("percentage",taskToBeConfirmedPercentageStr + percentSign); + + // 责任人接收 + List acceptedDesignPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double acceptedComplianceFlowCount = (double) acceptedDesignPliEoList.size(); + double acceptedPercentage = (acceptedComplianceFlowCount / (datas.size())) * 100; + String acceptedPercentageStr = acceptedPercentage != 0 ? df.format(acceptedPercentage) : "0"; + acceptedMap.put("amount",acceptedComplianceFlowCount); + acceptedMap.put("percentage",acceptedPercentageStr + percentSign); + + // 责任人拒绝 + List rejectedDesignPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double rejectedComplianceFlowCount = (double) rejectedDesignPliEoList.size(); + double rejectedPercentage = (rejectedComplianceFlowCount / (datas.size())) * 100; + String rejectedPercentageStr = rejectedPercentage != 0 ? df.format(rejectedPercentage) : "0"; + rejectedMap.put("amount",rejectedComplianceFlowCount); + rejectedMap.put("percentage",rejectedPercentageStr + percentSign); + + result.put(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue(),listToBeReleasedMap); + result.put(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue(),taskToBeInitiatedMap); + result.put(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue(),taskToBeConfirmedMap); + result.put(ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue(),acceptedMap); + result.put(ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue(),rejectedMap); + } + return result; + + } + @Override public Map getFGTaskToConfirmStatisticsGroupByTerritoryDesign(List datas, Map params) { Map result = new HashMap<>(); if(CollectionUtils.isNotEmpty(datas)){