From ff31a36af692270875f6724e2f0864b582d298b3 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 17 Oct 2023 17:49:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E5=BA=93=E9=A1=B9-=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E7=82=B9=E5=87=BB=E5=9B=BE=E5=BD=A2=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E9=A2=86=E5=9F=9F=E6=95=B0=E6=8D=AE=EF=BC=88=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A1=AE=E8=AE=A4=E5=92=8C=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=A1=AE=E8=AE=A4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/enums/OperatorTypeEnum.java | 2 + .../IProjectLibraryStatisticsService.java | 16 ++ .../impl/ProjectLibraryBaseServiceImpl.java | 6 +- .../ProjectLibraryStatisticsServiceImpl.java | 180 ++++++++++++++++++ 4 files changed, 203 insertions(+), 1 deletion(-) 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)){