From 8c31c979fec1229f31fc17fa233e888b386c384c Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 5 Dec 2023 16:42:38 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1-=E8=B4=A3=E4=BB=BB=E9=A2=86?= =?UTF-8?q?=E5=9F=9F=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectLibraryBaseServiceImpl.java | 96 ++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) 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 f0516703a..d12460ae3 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 @@ -2316,7 +2316,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl collect = lawsInventoryPlatformEOList.stream() - .filter(e -> e.getPlatformLawsInventoryId().equals(certificationInventoryEO.getId())) + .filter(e -> e.getLawsInventoryId().equals(certificationInventoryEO.getId())) .collect(Collectors.toList()); if(ObjectUtils.isNotEmpty(collect)){ yesList.add(certificationInventoryEO); @@ -2522,6 +2522,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl projectLawsInventoryEOList = projectLawsInventoryEOMapper.selectList(lawsInventoryEOQueryWrapper); + //如果法规清单关联平台件,需要特殊处理 + projectLawsInventoryEOList = getProjectLawsInventoryEOS(projectLawsInventoryEOList); + List sysDictItems = new ArrayList<>(); // 法规清单所有的责任领域 String pliDutyTerritoryStr = projectLawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getDutyTerritory).collect(Collectors.joining(",")); @@ -2692,6 +2695,10 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl projectCertificationInventoryEOList = this.projectCertificationInventoryEOService.list(pciQueryWrap); + //如果认证清单关联平台件,需要特殊处理 + projectCertificationInventoryEOList = getProjectCertificationInventoryEOS(projectCertificationInventoryEOList); + + String pciDutyTerritoryStr = projectCertificationInventoryEOList.stream().map(ProjectCertificationInventoryEO::getDutyTerritory).collect(Collectors.joining(",")); if (StringUtils.isNotEmpty(pciDutyTerritoryStr)) { List pciDutyTerritoryList = Arrays.asList(pciDutyTerritoryStr.split(",")).stream().distinct().collect(Collectors.toList()); @@ -2765,6 +2772,93 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl getProjectCertificationInventoryEOS(List projectCertificationInventoryEOList) { + List projectCertificationInventoryIdList = projectCertificationInventoryEOList.stream().map(ProjectCertificationInventoryEO::getId).collect(Collectors.toList()); + //认证清单关联的平台件 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(LawsInventoryPlatformEO::getLawsInventoryId,projectCertificationInventoryIdList); + List lawsInventoryPlatformEOList = lawsInventoryPlatformEOService.list(wrapper); + List projectCertificationInventoryEOListTemp = new ArrayList<>(); + List yesList = new ArrayList<>(); + List noList = new ArrayList<>(); + if(ObjectUtils.isNotEmpty(lawsInventoryPlatformEOList)){ + List idList = lawsInventoryPlatformEOList.stream() + .map(LawsInventoryPlatformEO::getPlatformLawsInventoryId).collect(Collectors.toList()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(ProjectCertificationInventoryEO::getId,idList); + projectCertificationInventoryEOListTemp = projectCertificationInventoryEOService.list(queryWrapper); + for (ProjectCertificationInventoryEO certificationInventoryEO : projectCertificationInventoryEOList) { + List collect = lawsInventoryPlatformEOList.stream() + .filter(e -> e.getLawsInventoryId().equals(certificationInventoryEO.getId())) + .collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(collect)){ + yesList.add(certificationInventoryEO); + }else{ + noList.add(certificationInventoryEO); + } + } + } + if(ObjectUtils.isNotEmpty(projectCertificationInventoryEOList) + && ObjectUtils.isNotEmpty(yesList) + && projectCertificationInventoryEOList.size() != yesList.size()){ + //法规清单有数据且部分关联了平台件 + projectCertificationInventoryEOList = noList; + projectCertificationInventoryEOList.addAll(projectCertificationInventoryEOListTemp); + }else if(ObjectUtils.isNotEmpty(projectCertificationInventoryEOList) + && ObjectUtils.isNotEmpty(yesList) + && projectCertificationInventoryEOList.size() == yesList.size()){ + //认证清单有数据且全部关联了平台件 + projectCertificationInventoryEOList = projectCertificationInventoryEOListTemp; + } + return projectCertificationInventoryEOList; + } + + @NotNull + private List getProjectLawsInventoryEOS(List projectLawsInventoryEOList) { + List projectLawsInventoryIdList = projectLawsInventoryEOList.stream() + .distinct().map(ProjectLawsInventoryEO::getId).collect(Collectors.toList()); + //法规清单关联的所有平台件 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(LawsInventoryPlatformEO::getLawsInventoryId,projectLawsInventoryIdList); + List lawsInventoryPlatformEOList = lawsInventoryPlatformEOService.list(wrapper); + //区分哪些法规清单关联了平台件,哪些法规清单没有关联平台件 + List yesList = new ArrayList<>(); + List noList = new ArrayList<>(); + List projectLawsInventoryPlatFormList = new ArrayList<>(); + if(ObjectUtils.isNotEmpty(lawsInventoryPlatformEOList)){ + //所关联平台件的法规清单id + List idList = lawsInventoryPlatformEOList.stream() + .map(LawsInventoryPlatformEO::getPlatformLawsInventoryId).collect(Collectors.toList()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(ProjectLawsInventoryEO::getId,idList); + projectLawsInventoryPlatFormList = projectLawsInventoryEOMapper.selectList(queryWrapper); + for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOList) { + List collect = lawsInventoryPlatformEOList.stream() + .filter(e -> e.getLawsInventoryId().equals(projectLawsInventoryEO.getId())).collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(collect)){ + yesList.add(projectLawsInventoryEO); + }else{ + noList.add(projectLawsInventoryEO); + } + } + } + if(ObjectUtils.isNotEmpty(projectLawsInventoryEOList) + && ObjectUtils.isNotEmpty(yesList) + && yesList.size() != projectLawsInventoryEOList.size() + ){ + //法规清单有数据且部分关联平台件数据 + projectLawsInventoryEOList = noList; + projectLawsInventoryEOList.addAll(projectLawsInventoryPlatFormList); + }else if(ObjectUtils.isNotEmpty(projectLawsInventoryEOList) + && ObjectUtils.isNotEmpty(yesList) + && yesList.size() == projectLawsInventoryEOList.size()){ + //法规清单有数据且全部关联了平台件 + projectLawsInventoryEOList = projectLawsInventoryPlatFormList; + + } + return projectLawsInventoryEOList; + } + /** * 项目库详情统计-根据责任领域分组统计数据-表头排序 * @param dataList