From c9926f7e72a2f6dee8ab3fbbd58a6d24f4249d3a Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 17 Oct 2023 11:21:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E5=BA=93=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectLibraryBaseServiceImpl.java | 164 +++++++------ .../ProjectLibraryStatisticsServiceImpl.java | 227 +++++++++++------- 2 files changed, 230 insertions(+), 161 deletions(-) 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 5d2d61519..00058b07a 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 @@ -76,7 +76,6 @@ import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.util.StringUtils; import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; -import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum; import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; import com.jero.modules.top.entity.TopProjectEO; import com.jero.modules.top.service.ITopProjectEOService; @@ -3185,48 +3184,56 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl designMap = this.projectLibraryStatisticsService.getDesignComplianceStatisticeGroupByTerritory(pliEoList, params); - Map taskToBeConfirmedMap = (Map) designMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); - double taskToBeConfirmedAmount = (double) taskToBeConfirmedMap.get("amount"); - Map resultsToBeSubmittedMap = (Map) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); - double resultsToBeSubmittedAmount = (double) resultsToBeSubmittedMap.get("amount"); - Map resultsToBeReviewedMap = (Map) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); - double resultsToBeReviewedAmount = (double) resultsToBeReviewedMap.get("amount"); - Map complianceMap = (Map) designMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue()); - double complianceAmount = (double) complianceMap.get("amount"); - Map nonComplianceMap = (Map) designMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); - double nonComplianceAmount = (double) nonComplianceMap.get("amount"); - Map toBeTrackedMap = (Map) designMap.get(ComplianceFlowStatusEnum.TO_TRACK.getValue()); - double toBeTrackedAmount = (double) toBeTrackedMap.get("amount"); + Map taskToBeConfirmedMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double taskToBeConfirmedAmountDesign = (double) taskToBeConfirmedMapDesign.get("amount"); + Map resultsToBeSubmittedMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); + double resultsToBeSubmittedAmountDesign = (double) resultsToBeSubmittedMapDesign.get("amount"); + Map resultsToBeReviewedMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); + double resultsToBeReviewedAmountDesign = (double) resultsToBeReviewedMapDesign.get("amount"); + Map complianceMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue()); + double complianceAmountDesign = (double) complianceMapDesign.get("amount"); + Map nonComplianceMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); + double nonComplianceAmountDesign = (double) nonComplianceMapDesign.get("amount"); + Map toBeTrackedMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.TO_TRACK.getValue()); + double toBeTrackedAmountDesign = (double) toBeTrackedMapDesign.get("amount"); - dataRow.createCell(13).setCellValue(taskToBeConfirmedAmount); - dataRow.createCell(14).setCellValue(resultsToBeSubmittedAmount); - dataRow.createCell(15).setCellValue(resultsToBeReviewedAmount); - dataRow.createCell(16).setCellValue(complianceAmount); - dataRow.createCell(17).setCellValue(nonComplianceAmount); - dataRow.createCell(18).setCellValue(toBeTrackedAmount); - double designCount = taskToBeConfirmedAmount + resultsToBeSubmittedAmount + resultsToBeReviewedAmount + complianceAmount + nonComplianceAmount + toBeTrackedAmount; - double designPercentage = (complianceAmount / designCount) * 100; + dataRow.createCell(13).setCellValue(taskToBeConfirmedAmountDesign); + dataRow.createCell(14).setCellValue(resultsToBeSubmittedAmountDesign); + dataRow.createCell(15).setCellValue(resultsToBeReviewedAmountDesign); + dataRow.createCell(16).setCellValue(complianceAmountDesign); + dataRow.createCell(17).setCellValue(nonComplianceAmountDesign); + dataRow.createCell(18).setCellValue(toBeTrackedAmountDesign); + double designCount = taskToBeConfirmedAmountDesign + resultsToBeSubmittedAmountDesign + resultsToBeReviewedAmountDesign + nonComplianceAmountDesign + nonComplianceAmountDesign + toBeTrackedAmountDesign; + double designPercentage = (complianceAmountDesign / designCount) * 100; String designPercentageStr = (designPercentage != 0 && (designCount !=0 )) ? df.format(designPercentage) : "0"; dataRow.createCell(19).setCellValue(designPercentageStr + percentSign); //验证符合性(明天从此位置开始改) Map verifyMap = this.projectLibraryStatisticsService.getVerifyComplianceStatisticeGroupByTerritory(pliEoList, params); - Map verifyNotStartedMap = (Map) verifyMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); - double verifyNotStartedAmount = (double) verifyNotStartedMap.get("amount"); - Map verifyToConfirmMap = (Map) verifyMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - double verifyToConfirmAmount = (double) verifyToConfirmMap.get("amount"); - Map verifyComplianceMap = (Map) verifyMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue()); - double verifyComplianceAmount = (double) verifyComplianceMap.get("amount"); - Map verifyNonComplianceMap = (Map) verifyMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); - double verifyNonComplianceAmount = (double) verifyNonComplianceMap.get("amount"); - dataRow.createCell(11).setCellValue(verifyNotStartedAmount); - dataRow.createCell(12).setCellValue(verifyToConfirmAmount); - dataRow.createCell(13).setCellValue(verifyComplianceAmount); - dataRow.createCell(14).setCellValue(verifyNonComplianceAmount); - double verifyCount = verifyNotStartedAmount + verifyToConfirmAmount + verifyComplianceAmount + verifyNonComplianceAmount; - double verifyPercentage = (verifyComplianceAmount / verifyCount) * 100; + Map taskToBeConfirmedMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double taskToBeConfirmedAmountVerify = (double) taskToBeConfirmedMapVerify.get("amount"); + Map resultsToBeSubmittedMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); + double resultsToBeSubmittedAmountVerify = (double) resultsToBeSubmittedMapVerify.get("amount"); + Map resultsToBeReviewedMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); + double resultsToBeReviewedAmountVerify = (double) resultsToBeReviewedMapVerify.get("amount"); + Map complianceMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue()); + double complianceAmountVerify = (double) complianceMapVerify.get("amount"); + Map nonComplianceMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); + double nonComplianceAmountVerify = (double) nonComplianceMapVerify.get("amount"); + Map toBeTrackedMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.TO_TRACK.getValue()); + double toBeTrackedAmountVerify = (double) toBeTrackedMapVerify.get("amount"); + + dataRow.createCell(20).setCellValue(taskToBeConfirmedAmountVerify); + dataRow.createCell(21).setCellValue(resultsToBeSubmittedAmountVerify); + dataRow.createCell(22).setCellValue(resultsToBeReviewedAmountVerify); + dataRow.createCell(23).setCellValue(complianceAmountVerify); + dataRow.createCell(24).setCellValue(nonComplianceAmountVerify); + dataRow.createCell(25).setCellValue(toBeTrackedAmountVerify); + double verifyCount = taskToBeConfirmedAmountVerify + resultsToBeSubmittedAmountVerify + resultsToBeReviewedAmountVerify + + complianceAmountVerify + nonComplianceAmountVerify + toBeTrackedAmountVerify; + double verifyPercentage = (complianceAmountVerify / verifyCount) * 100; String verifyPercentageStr = (verifyPercentage != 0 && (verifyCount !=0 )) ? df.format(verifyPercentage) : "0"; - dataRow.createCell(15).setCellValue(verifyPercentageStr + percentSign); + dataRow.createCell(26).setCellValue(verifyPercentageStr + percentSign); } /** @@ -3293,7 +3300,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl taskConfirmMap = this.projectLibraryStatisticsService.getRZTaskToConfirmStatisticsGroupByTerritory(pciEoList, params); - Map taskConfirmNotStartedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); - double taskConfirmNotStartedAmount = (double) taskConfirmNotStartedMap.get("amount"); - Map taskConfirmToConfirmMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - double taskConfirmToConfirmAmount = (double) taskConfirmToConfirmMap.get("amount"); - Map taskConfirmAcceptedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.ACCEPTED.getValue()); - double taskConfirmAcceptedAmount = (double) taskConfirmAcceptedMap.get("amount"); - Map taskConfirmRejectedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.REJECTED.getValue()); - double taskConfirmRejectedAmount = (double) taskConfirmRejectedMap.get("amount"); - dataRow.createCell(1).setCellValue(taskConfirmNotStartedAmount); - dataRow.createCell(2).setCellValue(taskConfirmToConfirmAmount); - dataRow.createCell(3).setCellValue(taskConfirmAcceptedAmount); - dataRow.createCell(4).setCellValue(taskConfirmRejectedAmount); - double taskConfirmCount = taskConfirmNotStartedAmount + taskConfirmToConfirmAmount + taskConfirmAcceptedAmount + taskConfirmRejectedAmount; - double taskConfirmPercentage = (taskConfirmAcceptedAmount / taskConfirmCount) * 100; + Map taskListToBeReleasedMap = (Map) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()); + double taskListToBeReleasedAmount = (double) taskListToBeReleasedMap.get("amount"); + Map taskToBeInitiatedMap = (Map) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()); + double taskToBeInitiatedAmount = (double) taskToBeInitiatedMap.get("amount"); + Map taskToBeConfirmedMap = (Map) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double taskToBeConfirmedAmount = (double) taskToBeConfirmedMap.get("amount"); + Map taskAcceptedMap = (Map) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.ACCEPTED_OF_RESPONSIBLE_PERSON.getValue()); + double taskAcceptedAmount = (double) taskAcceptedMap.get("amount"); + Map taskRejectedMap = (Map) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue()); + double taskRejectedAmount = (double) taskRejectedMap.get("amount"); + + dataRow.createCell(1).setCellValue(taskListToBeReleasedAmount); + dataRow.createCell(2).setCellValue(taskToBeInitiatedAmount); + dataRow.createCell(3).setCellValue(taskToBeConfirmedAmount); + dataRow.createCell(4).setCellValue(taskAcceptedAmount); + dataRow.createCell(5).setCellValue(taskRejectedAmount); + double taskConfirmCount = taskListToBeReleasedAmount + taskToBeInitiatedAmount + taskToBeConfirmedAmount +taskAcceptedAmount+ taskRejectedAmount; + double taskConfirmPercentage = (taskAcceptedAmount / taskConfirmCount) * 100; String taskConfirmPercentageStr = (taskConfirmPercentage != 0 && (taskConfirmCount !=0 )) ? df.format(taskConfirmPercentage) : "0"; - dataRow.createCell(5).setCellValue(taskConfirmPercentageStr + percentSign); + dataRow.createCell(6).setCellValue(taskConfirmPercentageStr + percentSign); + Map prehomoMap = this.projectLibraryStatisticsService.getPrehomoStatisticeGroupByTerritory(pciEoList, params); - Map prehomoNotStartedMap = (Map) prehomoMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); - double prehomoNotStartedAmount = (double) prehomoNotStartedMap.get("amount"); - Map prehomoToConfirmMap = (Map) prehomoMap.get(TodoCenterStatusEnum.TO_SUBMIT.getValue()); -// Map prehomoToConfirmMap = (Map) prehomoMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - double prehomoToConfirmAmount = (double) prehomoToConfirmMap.get("amount"); - Map prehomoAcceptedMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()); - double prehomoAcceptedAmount = (double) prehomoAcceptedMap.get("amount"); - Map prehomoRejectedMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()); - double prehomoRejectedAmount = (double) prehomoRejectedMap.get("amount"); - dataRow.createCell(6).setCellValue(prehomoNotStartedAmount); - dataRow.createCell(7).setCellValue(prehomoToConfirmAmount); - dataRow.createCell(8).setCellValue(prehomoAcceptedAmount); - dataRow.createCell(9).setCellValue(prehomoRejectedAmount); - double prehomoCount = prehomoNotStartedAmount + prehomoToConfirmAmount + prehomoAcceptedAmount + prehomoRejectedAmount; - double prehomoPercentage = (prehomoAcceptedAmount / prehomoCount) * 100; + Map prehomoTaskToBeConfirmedMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double prehomoTaskToBeConfirmedAmount = (double) prehomoTaskToBeConfirmedMap.get("amount"); + Map prehomoResultsToBeSubmittedMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); + double prehomoResultsToBeSubmittedAmount = (double) prehomoResultsToBeSubmittedMap.get("amount"); + Map prehomoResultsToBeReviewedMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); + double prehomoResultsToBeReviewedAmount = (double) prehomoResultsToBeReviewedMap.get("amount"); + Map prehomoReviewAndPassMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()); + double prehomoReviewAndPassAmount = (double) prehomoReviewAndPassMap.get("amount"); + Map prehomoReviewAndReturnMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()); + double prehomoReviewAndReturnAmount = (double) prehomoReviewAndReturnMap.get("amount"); + + dataRow.createCell(7).setCellValue(prehomoTaskToBeConfirmedAmount); + dataRow.createCell(8).setCellValue(prehomoResultsToBeSubmittedAmount); + dataRow.createCell(9).setCellValue(prehomoResultsToBeReviewedAmount); + dataRow.createCell(10).setCellValue(prehomoReviewAndPassAmount); + dataRow.createCell(11).setCellValue(prehomoReviewAndReturnAmount); + double prehomoCount = prehomoTaskToBeConfirmedAmount + prehomoResultsToBeSubmittedAmount + prehomoResultsToBeReviewedAmount + + prehomoReviewAndPassAmount + prehomoReviewAndReturnAmount; + double prehomoPercentage = (prehomoReviewAndPassAmount / prehomoCount) * 100; String prehomoPercentageStr = (prehomoPercentage != 0 && (prehomoCount !=0 )) ? df.format(prehomoPercentage) : "0"; - dataRow.createCell(10).setCellValue(prehomoPercentageStr + percentSign); + dataRow.createCell(12).setCellValue(prehomoPercentageStr + percentSign); + + Map certificationProgressMap = this.projectLibraryStatisticsService.getPartCertificationProgressStatisticsGroupByTerritoryTemp(pciEoList, params); Map certificationProgressNotStartMap = (Map)certificationProgressMap.get(CertificationProgressEnum.NOT_START.getValue()); @@ -3420,15 +3438,15 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl certificationProgressTestFailedMap = (Map)certificationProgressMap.get(CertificationProgressEnum.TEST_FAILED.getValue()); double certificationProgressTestFailedAmount = (double) certificationProgressTestFailedMap.get("amount"); - dataRow.createCell(11).setCellValue(certificationProgressNotStartAmount); - dataRow.createCell(12).setCellValue(certificationProgressInProgressAmount); - dataRow.createCell(13).setCellValue(certificationProgressTestPassedAmount); - dataRow.createCell(14).setCellValue(certificationProgressTestFailedAmount); + dataRow.createCell(13).setCellValue(certificationProgressNotStartAmount); + dataRow.createCell(14).setCellValue(certificationProgressInProgressAmount); + dataRow.createCell(15).setCellValue(certificationProgressTestPassedAmount); + dataRow.createCell(16).setCellValue(certificationProgressTestFailedAmount); double certificationProgressCount = certificationProgressNotStartAmount + certificationProgressInProgressAmount + certificationProgressTestPassedAmount + certificationProgressTestFailedAmount; double certificationProgressPercentage = (certificationProgressTestPassedAmount / certificationProgressCount) * 100; String certificationProgressPercentageStr = (certificationProgressPercentage != 0 && (certificationProgressCount !=0 )) ? df.format(certificationProgressPercentage) : "0"; - dataRow.createCell(15).setCellValue(certificationProgressPercentageStr + percentSign); + dataRow.createCell(17).setCellValue(certificationProgressPercentageStr + percentSign); } /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryStatisticsServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryStatisticsServiceImpl.java index 2766a6aca..715c5bd5d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryStatisticsServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryStatisticsServiceImpl.java @@ -12,7 +12,6 @@ import com.jero.modules.project.enums.TaskAffirmStatusEnum; import com.jero.modules.project.service.IProjectCertificationInventoryEOService; import com.jero.modules.project.service.IProjectLawsInventoryEOService; import com.jero.modules.project.service.IProjectLibraryStatisticsService; -import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -428,42 +427,54 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati public Map getVerifyComplianceStatisticeGroupByTerritory(List datas, Map params) { Map result = new HashMap<>(); if(CollectionUtils.isNotEmpty(datas)){ - Map notStartedMap = new HashMap<>(); - Map toConfirmMap = new HashMap<>(); - Map complianceMap = new HashMap<>(); - Map nonComplianceMap = new HashMap<>(); - // 未发起 - List notStartedVerifyPliEoList = datas.stream().filter(data -> { + Map taskToBeConfirmedMap = new HashMap<>();//任务待确认 + Map resultsToBeSubmittedMap = new HashMap<>();//结果待提交 + Map resultsToBeReviewedMap = new HashMap<>();//结果待审查 + Map complianceMap = new HashMap<>();//符合 + Map nonComplianceMap = new HashMap<>();//不符合 + Map toBeTrackedMap = new HashMap<>();//待追踪 + // 任务待确认 + List taskToBeConfirmedPliEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) -// || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) ); return flag; }).collect(Collectors.toList()); - double notStartedComplianceFlowCount = (double) notStartedVerifyPliEoList.size(); - double notStartedPercentage = (notStartedComplianceFlowCount / (datas.size())) * 100; - String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0"; - notStartedMap.put("amount",notStartedComplianceFlowCount); - notStartedMap.put("percentage",notStartedPercentageStr + percentSign); + 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 toConfirmVerifyPliEoList = datas.stream().filter(data -> { + // 结果待提交 + List resultsToBeSubmittedPliEoList = 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.TASK_TO_BE_CONFIRMED.getValue()) -// || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) ); return flag; }).collect(Collectors.toList()); - double toConfirmComplianceFlowCount = (double) toConfirmVerifyPliEoList.size(); - double toConfirmPercentage = (toConfirmComplianceFlowCount / (datas.size())) * 100; - String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0"; - toConfirmMap.put("amount",toConfirmComplianceFlowCount); - toConfirmMap.put("percentage",toConfirmPercentageStr + percentSign); + double resultsToBeSubmittedFlowCount = (double) resultsToBeSubmittedPliEoList.size(); + double resultsToBeSubmittedPercentage = (resultsToBeSubmittedFlowCount / (datas.size())) * 100; + String resultsToBeSubmittedPercentageStr = resultsToBeSubmittedPercentage != 0 ? df.format(resultsToBeSubmittedPercentage) : "0"; + resultsToBeSubmittedMap.put("amount",resultsToBeSubmittedFlowCount); + resultsToBeSubmittedMap.put("percentage",resultsToBeSubmittedPercentageStr + percentSign); + + // 结果待审查 + List resultsToBeReviewedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double resultsToBeReviewedFlowCount = (double) resultsToBeReviewedPliEoList.size(); + double resultsToBeReviewedPercentage = (resultsToBeReviewedFlowCount / (datas.size())) * 100; + String resultsToBeReviewedPercentageStr = resultsToBeReviewedPercentage != 0 ? df.format(resultsToBeReviewedPercentage) : "0"; + resultsToBeReviewedMap.put("amount",resultsToBeReviewedFlowCount); + resultsToBeReviewedMap.put("percentage",resultsToBeReviewedPercentageStr + percentSign); // 符合 List complianceVerifyPliEoList = datas.stream().filter(data -> { @@ -482,7 +493,6 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati List nonComplianceVerifyPliEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) - || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) ); return flag; }).collect(Collectors.toList()); @@ -492,10 +502,25 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati nonComplianceMap.put("amount",nonComplianceComplianceFlowCount); nonComplianceMap.put("percentage",nonCompliancePercentageStr + percentSign); - result.put(TaskAffirmStatusEnum.NOT_STARTED.getValue(),notStartedMap); - result.put(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue(),toConfirmMap); + // 待追踪 + List toBeTrackedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double toBeTrackedFlowCount = (double) toBeTrackedPliEoList.size(); + double toBeTrackedPercentage = (toBeTrackedFlowCount / (datas.size())) * 100; + String toBeTrackedPercentageStr = toBeTrackedPercentage != 0 ? df.format(toBeTrackedPercentage) : "0"; + toBeTrackedMap.put("amount",toBeTrackedFlowCount); + toBeTrackedMap.put("percentage",toBeTrackedPercentageStr + percentSign); + + result.put(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue(),taskToBeConfirmedMap); + result.put(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue(),resultsToBeSubmittedMap); + result.put(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue(),resultsToBeReviewedMap); result.put(ComplianceFlowStatusEnum.CONFORMITY.getValue(),complianceMap); result.put(ComplianceFlowStatusEnum.INCONFORMITY.getValue(),nonComplianceMap); + result.put(ComplianceFlowStatusEnum.TO_TRACK.getValue(),toBeTrackedMap); } return result; } @@ -504,40 +529,53 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati public Map getRZTaskToConfirmStatisticsGroupByTerritory(List datas, Map params) { Map result = new HashMap<>(); if(CollectionUtils.isNotEmpty(datas)){ - Map notStartedMap = new HashMap<>(); - Map toConfirmMap = new HashMap<>(); - Map acceptedMap = new HashMap<>(); - Map rejectedMap = new HashMap<>(); - // 未发起 - List notStartedPciEoList = datas.stream().filter(data -> { + Map listToBeReleasedMap = new HashMap<>();//清单待发布 + Map taskToBeInitiatedMap = new HashMap<>();//任务待发起 + Map taskToBeConfirmedMap = new HashMap<>();//任务待确认 + Map acceptedMap = new HashMap<>();//责任人接受 + Map rejectedMap = new HashMap<>(); //责任人拒绝 + // 清单待发布 + List listToBeReleasedPciEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) || StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue()) - || StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) ); return flag; }).collect(Collectors.toList()); - double notStartedCount = (double) notStartedPciEoList.size(); - double notStartedPercentage = (notStartedCount / (datas.size())) * 100; - String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0"; - notStartedMap.put("amount",notStartedCount); - notStartedMap.put("percentage",notStartedPercentageStr + percentSign); + double listToBeReleasedCount = (double) listToBeReleasedPciEoList.size(); + double listToBeReleasedPercentage = (listToBeReleasedCount / (datas.size())) * 100; + String listToBeReleasedPercentageStr = listToBeReleasedPercentage != 0 ? df.format(listToBeReleasedPercentage) : "0"; + listToBeReleasedMap.put("amount",listToBeReleasedCount); + listToBeReleasedMap.put("percentage",listToBeReleasedPercentageStr + percentSign); - // 待确认 - List toConfirmPciEoList = datas.stream().filter(data -> { + // 任务待发起 + List taskToBeInitiatedPciEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double taskToBeInitiatedCount = (double) taskToBeInitiatedPciEoList.size(); + double taskToBeInitiatedPercentage = (taskToBeInitiatedCount / (datas.size())) * 100; + String taskToBeInitiatedPercentageStr = taskToBeInitiatedPercentage != 0 ? df.format(taskToBeInitiatedPercentage) : "0"; + taskToBeInitiatedMap.put("amount",taskToBeInitiatedCount); + taskToBeInitiatedMap.put("percentage",taskToBeInitiatedPercentageStr + percentSign); + + //任务待确认 + List taskToBeConfirmedPciEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) ); return flag; }).collect(Collectors.toList()); - double toConfirmCount = (double) toConfirmPciEoList.size(); - double toConfirmPercentage = (toConfirmCount / (datas.size())) * 100; - String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0"; - toConfirmMap.put("amount",toConfirmCount); - toConfirmMap.put("percentage",toConfirmPercentageStr + percentSign); + double taskToBeConfirmedCount = (double) taskToBeConfirmedPciEoList.size(); + double taskToBeConfirmedPercentage = (taskToBeConfirmedCount / (datas.size())) * 100; + String taskToBeConfirmedPercentageStr = taskToBeConfirmedPercentage != 0 ? df.format(taskToBeConfirmedPercentage) : "0"; + taskToBeConfirmedMap.put("amount",taskToBeConfirmedCount); + taskToBeConfirmedMap.put("percentage",taskToBeConfirmedPercentageStr + percentSign); - // 接受 + // 责任人接受 List acceptedPciEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) @@ -553,7 +591,7 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati acceptedMap.put("amount",acceptedCount); acceptedMap.put("percentage",acceptedPercentageStr + percentSign); - // 拒绝 + // 责任人拒绝 List rejectedPciEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue()) @@ -566,11 +604,11 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati rejectedMap.put("amount",rejectedCount); rejectedMap.put("percentage",rejectedPercentageStr + percentSign); - result.put(TaskAffirmStatusEnum.NOT_STARTED.getValue(),notStartedMap); - result.put(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue(),toConfirmMap); -// result.put(TodoCenterStatusEnum.TO_SUBMIT.getValue(),acceptedMap); - result.put(TaskAffirmStatusEnum.ACCEPTED.getValue(),acceptedMap); - result.put(TaskAffirmStatusEnum.REJECTED.getValue(),rejectedMap); + result.put(CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue(),listToBeReleasedMap);//清单待发布 + result.put(CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue(),taskToBeInitiatedMap);//任务待发起 + result.put(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue(),taskToBeConfirmedMap);//任务待确认 + result.put(CertificationInventoryFlowStatusEnum.ACCEPTED_OF_RESPONSIBLE_PERSON.getValue(),acceptedMap);//责任人接受 + result.put(CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue(),rejectedMap); //责任人拒绝 } return result; } @@ -581,13 +619,14 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati if(CollectionUtils.isNotEmpty(datas)){ DecimalFormat df = new DecimalFormat("#.00"); - Map notStartedMap = new HashMap<>(); - Map toConfirmMap = new HashMap<>(); - Map acceptedMap = new HashMap<>(); - Map rejectedMap = new HashMap<>(); + Map taskToBeConfirmedMap = new HashMap<>();//任务待确认 + Map resultsToBeSubmittedMap = new HashMap<>();//结果待提交 + Map resultsToBeReviewedMap = new HashMap<>();//结果待审查 + Map reviewAndPassMap = new HashMap<>();//审查通过 + Map reviewAndReturnMap = new HashMap<>();//审查退回 - // 未发起 - List notStartedPciEoList = datas.stream().filter(data -> { + // 任务待确认 + List taskToBeConfirmedPciEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) || StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue()) @@ -598,57 +637,69 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati return flag; }).collect(Collectors.toList()); - double notStartedCount = (double) notStartedPciEoList.size(); - double notStartedPercentage = (notStartedCount / (datas.size())) * 100; - String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0"; - notStartedMap.put("amount",notStartedCount); - notStartedMap.put("percentage",notStartedPercentageStr + percentSign); + double taskToBeConfirmedCount = (double) taskToBeConfirmedPciEoList.size(); + double taskToBeConfirmedPercentage = (taskToBeConfirmedCount / (datas.size())) * 100; + String taskToBeConfirmedPercentageStr = taskToBeConfirmedPercentage != 0 ? df.format(taskToBeConfirmedPercentage) : "0"; + taskToBeConfirmedMap.put("amount",taskToBeConfirmedCount); + taskToBeConfirmedMap.put("percentage",taskToBeConfirmedPercentageStr + percentSign); - // 待提交 - List toConfirmPciEoList = datas.stream().filter(data -> { + // 结果待提交 + List resultsToBeSubmittedPciEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) - || StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) ); return flag; }).collect(Collectors.toList()); - double toConfirmCount = (double) toConfirmPciEoList.size(); - double toConfirmPercentage = (toConfirmCount / (datas.size())) * 100; - String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0"; - toConfirmMap.put("amount",toConfirmCount); - toConfirmMap.put("percentage",toConfirmPercentageStr + percentSign); + double resultsToBeSubmittedCount = (double) resultsToBeSubmittedPciEoList.size(); + double resultsToBeSubmittedPercentage = (resultsToBeSubmittedCount / (datas.size())) * 100; + String resultsToBeSubmittedPercentageStr = resultsToBeSubmittedPercentage != 0 ? df.format(resultsToBeSubmittedPercentage) : "0"; + resultsToBeSubmittedMap.put("amount",resultsToBeSubmittedCount); + resultsToBeSubmittedMap.put("percentage",resultsToBeSubmittedPercentageStr + percentSign); + + // 结果待审查 + List resultsToBeReviewedPciEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double resultsToBeReviewedCount = (double) resultsToBeReviewedPciEoList.size(); + double resultsToBeReviewedPercentage = (resultsToBeReviewedCount / (datas.size())) * 100; + String resultsToBeReviewedPercentageStr = resultsToBeReviewedPercentage != 0 ? df.format(resultsToBeReviewedPercentage) : "0"; + resultsToBeReviewedMap.put("amount",resultsToBeReviewedCount); + resultsToBeReviewedMap.put("percentage",resultsToBeReviewedPercentageStr + percentSign); // 审查通过 - List acceptedPciEoList = datas.stream().filter(data -> { + List reviewAndPassPciEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()) ); return flag; }).collect(Collectors.toList()); - double acceptedCount = (double) acceptedPciEoList.size(); - double acceptedPercentage = (acceptedCount / (datas.size())) * 100; - String acceptedPercentageStr = acceptedPercentage != 0 ? df.format(acceptedPercentage) : "0"; - acceptedMap.put("amount",acceptedCount); - acceptedMap.put("percentage",acceptedPercentageStr + percentSign); + double reviewAndPassCount = (double) reviewAndPassPciEoList.size(); + double reviewAndPassPercentage = (reviewAndPassCount / (datas.size())) * 100; + String reviewAndPassPercentageStr = reviewAndPassPercentage != 0 ? df.format(reviewAndPassPercentage) : "0"; + reviewAndPassMap.put("amount",reviewAndPassCount); + reviewAndPassMap.put("percentage",reviewAndPassPercentageStr + percentSign); // 审查退回 - List rejectedPciEoList = datas.stream().filter(data -> { + List reviewAndReturnPciEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()) ); return flag; }).collect(Collectors.toList()); - double rejectedCount = (double) rejectedPciEoList.size(); - double rejectedPercentage = (rejectedCount / (datas.size())) * 100; - String rejectedPercentageStr = rejectedPercentage != 0 ? df.format(rejectedPercentage) : "0"; - rejectedMap.put("amount",rejectedCount); - rejectedMap.put("percentage",rejectedPercentageStr + percentSign); + double reviewAndReturnCount = (double) reviewAndReturnPciEoList.size(); + double reviewAndReturnPercentage = (reviewAndReturnCount / (datas.size())) * 100; + String reviewAndReturnPercentageStr = reviewAndReturnPercentage != 0 ? df.format(reviewAndReturnPercentage) : "0"; + reviewAndReturnMap.put("amount",reviewAndReturnCount); + reviewAndReturnMap.put("percentage",reviewAndReturnPercentageStr + percentSign); - result.put(TaskAffirmStatusEnum.NOT_STARTED.getValue(),notStartedMap); -// result.put(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue(),toConfirmMap); - result.put(TodoCenterStatusEnum.TO_SUBMIT.getValue(),toConfirmMap); - result.put(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue(),acceptedMap); - result.put(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue(),rejectedMap); + result.put(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue(),taskToBeConfirmedMap); + result.put(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue(),resultsToBeSubmittedMap); + result.put(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue(),resultsToBeReviewedMap); + result.put(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue(),reviewAndPassMap); + result.put(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue(),reviewAndReturnMap); } return result; }