From 72ecc67954de982d053a199650d4c2e0fdac9581 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Sat, 7 May 2022 15:19:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95=E5=AF=BC?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOServiceImpl.java | 164 ++++++++++++++---- 1 file changed, 132 insertions(+), 32 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 539f3dfb3..0ff8e7969 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -1405,12 +1405,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl list = Arrays.asList(titleOne.split(",")); int index = 0; if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){ @@ -1598,12 +1597,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl msgList = new ArrayList<>(); String value = ""; boolean flag = true; - //iProjectRelatedPersonnelService //编号验证 -// List bussDocumentLibraryEOList = verifySerialNumber(dataList,projectLawsInventoryEOTemp); + verifySerialNumber(dataList,projectLawsInventoryEOTemp); for (ProjectLawsInventoryEO projectLawsInventoryEO : dataList) { i++; String errorMsg = ""; @@ -1944,6 +1951,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl> mapCertificationList = (List>) objectMap.get("certificationEngineerList"); //工程接口人 List> mapPersonList = (List>) objectMap.get("engineeringInterfacePersonList"); + //所有人 + List> allPersonList = (List>) objectMap.get("allPersonList"); String nameCn = ""; String nameEn = ""; @@ -1952,7 +1961,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl dataList,ProjectLawsInventoryEO projectLawsInventoryEOTemp){ + //1. 验证标准号在文档库中是否存在 + List serialNumberList = dataList.stream().map(ProjectLawsInventoryEO::getSerialNumber).collect(Collectors.toList()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(BussDocumentLibraryEO::getSerialNumber,serialNumberList); + List bussDocumentLibraryEOList = iBussDocumentLibraryEOService.list(wrapper); + //文档库中可能存在重复的标准号 + List serialNumberListTemp = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).distinct().collect(Collectors.toList()); + if(serialNumberList.size() != serialNumberListTemp.size()){ + //存在文档库没有的数据 + List collect = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList()); + List serialNumbers = serialNumberList.stream().filter(e -> !collect.contains(e)).collect(Collectors.toList()); + if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){ + throw new JeroBootException(StringUtils.join(serialNumbers,",")+"文档库中不存在,不能添加"); + }else{ + throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the document library and cannot be added"); + } + } + + //2. 验证标准号在法规清单中是否添加过 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(ProjectLawsInventoryEO::getSerialNumber,serialNumberList).in(ProjectLawsInventoryEO::getProjectLibraryId,projectLawsInventoryEOTemp.getProjectLibraryId()); + List projectLawsInventoryEOList = this.list(lambdaQueryWrapper); + List serialNumberTempList = projectLawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).collect(Collectors.toList()); + if(projectLawsInventoryEOList.size() > 0){ + if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){ + throw new JeroBootException(StringUtils.join(serialNumberTempList,",")+"已存在,不能重复添加"); + }else{ + throw new JeroBootException(StringUtils.join(serialNumberTempList,",")+" already exists and cannot be added again"); + } + } + //3. 通过编号将导入的数据与文档库进行关联 + for (ProjectLawsInventoryEO projectLawsInventoryEO : dataList) { + List collect = bussDocumentLibraryEOList.stream() + .filter(e -> e.getSerialNumber().equals(projectLawsInventoryEO.getSerialNumber())).collect(Collectors.toList()); + projectLawsInventoryEO.setTitle(collect.get(0).getTitle());//标题 + projectLawsInventoryEO.setCorrespondingStandard(collect.get(0).getCorrespondingStandard());//对应标准 + projectLawsInventoryEO.setRegion(collect.get(0).getRegion());//适用地区 + projectLawsInventoryEO.setImplementTime(collect.get(0).getImplementTime());//在产车实施日期 + projectLawsInventoryEO.setXin1Che1Xing2Shi2Shi1Ri4Qi1(collect.get(0).getXin1Che1Xing2Shi2Shi1Ri4Qi1());//新车实施日期 + } + } + private void personnelVerify(ProjectLawsInventoryEO projectLawsInventoryEO, - String errorMsg, String regulationOwnerId, - List> mapList, - String nameCn,String nameEn) { + String errorMsg, List msgList, + String regulationOwnerId, + List> mapList, + String nameCn,String nameEn) { //单选 if(regulationOwnerId.contains(",")){ if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){ @@ -2094,6 +2160,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl