diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java index fc087b9d6..8a4017306 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java @@ -253,4 +253,39 @@ public interface IProjectCertificationInventoryEOService extends IService projectCertificationInventoryEOList); void certificationInventoryEOListSortByInventoryVerifyEndTimeAsc(List projectCertificationInventoryEOList); void certificationInventoryEOListSortByTaskConfirmEndTimeAsc(List projectCertificationInventoryEOList); + + /** + * 获取任务确认统计信息 + * @param pciEoList + * @return + */ + List> getTaskToConfirmStatistics(List pciEoList); + + /** + * 获取Pre-Homo统计信息 + * @param pciEoList + * @return + */ + List> getPrehomoStatistice(List pciEoList); + + /** + * 获取认证进度统计信息 全部 + * @param pciEoList + * @return + */ + List> getAllCertificationProgressStatistics(List pciEoList); + + /** + * 获取认证进度统计信息 整车 + * @param pciEoList + * @return + */ + List> getCarCertificationProgressStatistics(List pciEoList); + + /** + * 获取认证进度统计信息 零部件 + * @param pciEoList + * @return + */ + List> getPartCertificationProgressStatistics(List pciEoList); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java index 00a6f6c0e..e7085fffc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java @@ -2540,6 +2540,316 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl> getTaskToConfirmStatistics(List pciEoList) { + List> result = new ArrayList<>(); + + int notStartedCount = 0; + int toConfirmCount = 0; + int acceptedCount = 0; + int rejectedCount = 0; + if(CollectionUtils.isNotEmpty(pciEoList)){ + // 未发起 + notStartedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) + || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue()) + || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + ); + return flag; + }).count(); + // 待确认 + toConfirmCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) + ); + return flag; + }).count(); + // 接受 + acceptedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) + || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()) + || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()) + ); + return flag; + }).count(); + // 拒绝 + rejectedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue()) + ); + return flag; + }).count(); + } + Map notStartedMap = new HashMap<>(); + Map toConfirmMap = new HashMap<>(); + Map acceptedMap = new HashMap<>(); + Map rejectedMap = new HashMap<>(); + + notStartedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.NOT_STARTED.getValue()); + notStartedMap.put("taskAffirmStatusCount",notStartedCount); + + toConfirmMap.put("taskAffirmStatus",TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); + toConfirmMap.put("taskAffirmStatusCount",toConfirmCount); + + acceptedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.ACCEPTED.getValue()); + acceptedMap.put("taskAffirmStatusCount",acceptedCount); + + rejectedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.REJECTED.getValue()); + rejectedMap.put("taskAffirmStatusCount",rejectedCount); + + result.add(notStartedMap); + result.add(toConfirmMap); + result.add(acceptedMap); + result.add(rejectedMap); + return result; + } + + @Override + public List> getPrehomoStatistice(List pciEoList) { + List> result = new ArrayList<>(); + + int notStartedCount = 0; + int toConfirmCount = 0; + int acceptedCount = 0; + int rejectedCount = 0; + if(CollectionUtils.isNotEmpty(pciEoList)){ + // 未发起 + notStartedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) + || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue()) + || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) + || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue()) + ); + return flag; + }).count(); + // 待确认 + toConfirmCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) + || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + ); + return flag; + }).count(); + // 审查通过 + acceptedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()) + ); + return flag; + }).count(); + // 审查退回 + rejectedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()) + ); + return flag; + }).count(); + } + Map notStartedMap = new HashMap<>(); + Map toConfirmMap = new HashMap<>(); + Map acceptedMap = new HashMap<>(); + Map rejectedMap = new HashMap<>(); + + notStartedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.NOT_STARTED.getValue()); + notStartedMap.put("taskAffirmStatusCount",notStartedCount); + + toConfirmMap.put("taskAffirmStatus",TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); + toConfirmMap.put("taskAffirmStatusCount",toConfirmCount); + + acceptedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()); + acceptedMap.put("taskAffirmStatusCount",acceptedCount); + + rejectedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()); + rejectedMap.put("taskAffirmStatusCount",rejectedCount); + + result.add(notStartedMap); + result.add(toConfirmMap); + result.add(acceptedMap); + result.add(rejectedMap); + return result; + } + + @Override + public List> getAllCertificationProgressStatistics(List pciEoList) { + List> result = new ArrayList<>(); + + int notStartedCount = 0; + int inProgressCount = 0; + int testPassedCount = 0; + int testFailedCount = 0; + if(CollectionUtils.isNotEmpty(pciEoList)){ + // 未开始 + notStartedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.NOT_START.getValue()) + ); + return flag; + }).count(); + // 进行中 + inProgressCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.IN_PROGRESS.getValue()) + || StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.COMPONENT_REPORT_NOT_SUBMITTED.getValue()) + ); + return flag; + }).count(); + // 实验通过 + testPassedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.TEST_PASSED.getValue()) + || StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.COMPONENT_REPORT_SUBMITTED.getValue()) + || StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.COMPONENT_REPORT_HAS_BEEN_STORED.getValue()) + ); + return flag; + }).count(); + // 实验失败 + testFailedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.TEST_FAILED.getValue()) + ); + return flag; + }).count(); + } + Map notStartedMap = new HashMap<>(); + Map inProgressMap = new HashMap<>(); + Map testPassedMap = new HashMap<>(); + Map testFailedMap = new HashMap<>(); + + notStartedMap.put("certificationProgress",CertificationProgressEnum.NOT_START.getValue()); + notStartedMap.put("certificationProgressCount",notStartedCount); + + inProgressMap.put("certificationProgress",CertificationProgressEnum.IN_PROGRESS.getValue()); + inProgressMap.put("certificationProgressCount",inProgressCount); + + testPassedMap.put("certificationProgress",CertificationProgressEnum.TEST_PASSED.getValue()); + testPassedMap.put("certificationProgressCount",testPassedCount); + + testFailedMap.put("certificationProgress",CertificationProgressEnum.TEST_FAILED.getValue()); + testFailedMap.put("certificationProgressCount",testFailedCount); + + result.add(notStartedMap); + result.add(inProgressMap); + result.add(testPassedMap); + result.add(testFailedMap); + return result; + } + + @Override + public List> getCarCertificationProgressStatistics(List pciEoList) { + List> result = new ArrayList<>(); + + int notStartedCount = 0; + int inProgressCount = 0; + int testPassedCount = 0; + int testFailedCount = 0; + if(CollectionUtils.isNotEmpty(pciEoList)){ + // 未开始 + notStartedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.NOT_START.getValue()) + ); + return flag; + }).count(); + // 进行中 + inProgressCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.IN_PROGRESS.getValue()) + ); + return flag; + }).count(); + // 实验通过 + testPassedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.TEST_PASSED.getValue()) + ); + return flag; + }).count(); + // 实验失败 + testFailedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.TEST_FAILED.getValue()) + ); + return flag; + }).count(); + } + Map notStartedMap = new HashMap<>(); + Map inProgressMap = new HashMap<>(); + Map testPassedMap = new HashMap<>(); + Map testFailedMap = new HashMap<>(); + + notStartedMap.put("certificationProgress",CertificationProgressEnum.NOT_START.getValue()); + notStartedMap.put("certificationProgressCount",notStartedCount); + + inProgressMap.put("certificationProgress",CertificationProgressEnum.IN_PROGRESS.getValue()); + inProgressMap.put("certificationProgressCount",inProgressCount); + + testPassedMap.put("certificationProgress",CertificationProgressEnum.TEST_PASSED.getValue()); + testPassedMap.put("certificationProgressCount",testPassedCount); + + testFailedMap.put("certificationProgress",CertificationProgressEnum.TEST_FAILED.getValue()); + testFailedMap.put("certificationProgressCount",testFailedCount); + + result.add(notStartedMap); + result.add(inProgressMap); + result.add(testPassedMap); + result.add(testFailedMap); + return result; + } + + @Override + public List> getPartCertificationProgressStatistics(List pciEoList) { + List> result = new ArrayList<>(); + + int notSubmitCount = 0; + int reportSubmitCount = 0; + int storedCount = 0; + if(CollectionUtils.isNotEmpty(pciEoList)){ + // 部件报告未提交 + notSubmitCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.NOT_START.getValue()) + ); + return flag; + }).count(); + // 部件报告已提交 + reportSubmitCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.IN_PROGRESS.getValue()) + ); + return flag; + }).count(); + // 部件报告已入库 + storedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.TEST_PASSED.getValue()) + ); + return flag; + }).count(); + } + Map notSubmitMap = new HashMap<>(); + Map reportSubmitMap = new HashMap<>(); + Map storedMap = new HashMap<>(); + + notSubmitMap.put("certificationProgress",CertificationProgressEnum.COMPONENT_REPORT_NOT_SUBMITTED.getValue()); + notSubmitMap.put("certificationProgressCount",notSubmitCount); + + reportSubmitMap.put("certificationProgress",CertificationProgressEnum.COMPONENT_REPORT_SUBMITTED.getValue()); + reportSubmitMap.put("certificationProgressCount",reportSubmitCount); + + storedMap.put("certificationProgress",CertificationProgressEnum.COMPONENT_REPORT_HAS_BEEN_STORED.getValue()); + storedMap.put("certificationProgressCount",storedCount); + + result.add(notSubmitMap); + result.add(reportSubmitMap); + result.add(storedMap); + return result; + } + @Override public Result saveBatch(JSONObject json) { Date now = new Date(); 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 d1974cf35..b37caf6b3 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 @@ -1493,16 +1493,16 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl verifyComplianceMap = new HashMap<>(); //认证进度 Map certificationProgressMap = new HashMap<>(); + // 认证任务确认 + Map rzTaskToConfirmMap = new HashMap<>(); //清单确认统计 - List> listingToConfirmMapList = this.projectLawsInventoryEOMapper.getlistingToConfirmStatistics(id); + /*List> listingToConfirmMapList = this.projectLawsInventoryEOMapper.getlistingToConfirmStatistics(id); listingToConfirmMap.put("listingToConfirmMapList",listingToConfirmMapList); - result.put("listingToConfirmMap",listingToConfirmMap); + result.put("listingToConfirmMap",listingToConfirmMap);*/ QueryWrapper lawsInventoryEOQueryWrapper = new QueryWrapper<>(); lawsInventoryEOQueryWrapper.lambda().in(ProjectLawsInventoryEO::getProjectLibraryId,Arrays.asList(id.split(","))); - //lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getInventoryAffirmStatus, InventoryAffirmStatusEnum.ACCEPTED.getValue()); - //lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getTaskAffirmStatus, TaskAffirmStatusEnum.ACCEPTED.getValue()); List projectLawsInventoryEOList = projectLawsInventoryEOMapper.selectList(lawsInventoryEOQueryWrapper); if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){ List projectLawsInventoryIdList = projectLawsInventoryEOList.stream().distinct().map(ProjectLawsInventoryEO::getId).collect(Collectors.toList()); @@ -1513,7 +1513,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl> currentProjectStatusMapList = new ArrayList<>(); + /*List> currentProjectStatusMapList = new ArrayList<>(); CurrentProjectStatusEnum[] values = CurrentProjectStatusEnum.values(); for (CurrentProjectStatusEnum value : values) { Map map = new HashMap<>(); @@ -1536,25 +1536,20 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl> designComplianceMapList = this.projectLawsInventoryEOService.getDesignComplianceStatistice(projectLawsInventoryEOList); designComplianceMap.put("designComplianceMapList",designComplianceMapList); result.put("designComplianceMap",designComplianceMap); - //prehomo确认 - /*List> prehomoMapList = this.projectTaskInventoryEOMapper.getPrehomoStatistice(projectLawsInventoryIdList); - prehomoMap.put("prehomoMapList",prehomoMapList); - result.put("prehomoMap",prehomoMap);*/ - //验证符合性 List> verifyComplianceMapList = this.projectLawsInventoryEOService.getVerifyComplianceStatistice(projectLawsInventoryEOList); verifyComplianceMap.put("verifyComplianceMapList",verifyComplianceMapList); result.put("verifyComplianceMap",verifyComplianceMap); //认证进度统计 - int certificationProgressTotal; + /*int certificationProgressTotal; List> certificationProgressMapList = this.projectTaskInventoryEOMapper.getCertificationProgressStatistics(projectLawsInventoryIdList); certificationProgressTotal = certificationProgressMapList.stream().filter( certificationProgress -> Integer.parseInt(certificationProgress.get("certificationProgressCount").toString()) != 0 @@ -1581,6 +1576,30 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl pciQueryWrap = new QueryWrapper<>(); + pciQueryWrap.lambda().in(ProjectCertificationInventoryEO::getProjectLibraryId,Arrays.asList(id.split(","))); + List pciEoList = this.projectCertificationInventoryEOService.list(pciQueryWrap); + if(CollectionUtils.isNotEmpty(pciEoList)){ + // 认证清单-任务确认统计 + List> rzTaskToConfirmMapList = this.projectCertificationInventoryEOService.getTaskToConfirmStatistics(pciEoList); + rzTaskToConfirmMap.put("rzTaskToConfirmMapList",rzTaskToConfirmMapList); + result.put("rzTaskToConfirmMap",rzTaskToConfirmMap); + + // Pre-Homo 统计 + List> prehomoMapList = this.projectCertificationInventoryEOService.getPrehomoStatistice(pciEoList); + prehomoMap.put("prehomoMapList",prehomoMapList); + result.put("prehomoMap",prehomoMap); + + // 认证进度 统计 + List> allMapList = this.projectCertificationInventoryEOService.getAllCertificationProgressStatistics(pciEoList); + List> carMapList = this.projectCertificationInventoryEOService.getCarCertificationProgressStatistics(pciEoList); + List> partMapList = this.projectCertificationInventoryEOService.getPartCertificationProgressStatistics(pciEoList); + certificationProgressMap.put("allMapList",allMapList);// 全部 + certificationProgressMap.put("carMapList",carMapList);// 整车 + certificationProgressMap.put("partMapList",partMapList);// 零部件 result.put("certificationProgressMap",certificationProgressMap); } @@ -1989,7 +2008,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl list = this.list(wrapper); if(list.size() != 0){ - Collections.sort(list); +// Collections.sort(list); } return list; }