From 749c14dcef2849c9e50bd8e5642657756d0ba531 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Mon, 17 Jul 2023 11:52:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=BA=93-=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E7=94=A8=E6=88=B7=E5=8A=9F=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ProjectLawsInventoryEOEditServiceImpl.java | 36 +++++++--- ...ctCertificationInventoryEOServiceImpl.java | 7 +- .../ProjectLawsInventoryEOServiceImpl.java | 68 +++++++++++++------ 3 files changed, 80 insertions(+), 31 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/editImpl/ProjectLawsInventoryEOEditServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/editImpl/ProjectLawsInventoryEOEditServiceImpl.java index 90140d596..79510975f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/editImpl/ProjectLawsInventoryEOEditServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/editImpl/ProjectLawsInventoryEOEditServiceImpl.java @@ -44,12 +44,22 @@ public class ProjectLawsInventoryEOEditServiceImpl { * @param newPliEo 新的法规清单对象 * @param oldPliEoList 旧的法规清单数组 */ - public void updateRegulationOwner(ProjectLawsInventoryEO newPliEo, List oldPliEoList) { + public void updateRegulationOwner(ProjectLawsInventoryEO newPliEo, List oldPliEoList,List pidList) { if (CollectionUtils.isNotEmpty(oldPliEoList)) { List oldPliEoIdList = oldPliEoList.stream().map(ProjectLawsInventoryEO::getId).distinct().collect(Collectors.toList()); - QueryWrapper pidEoQueryWrap = new QueryWrapper<>(); - pidEoQueryWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId, oldPliEoIdList); - List pidEoList = this.processInfoDetailEOService.list(pidEoQueryWrap); +// QueryWrapper pidEoQueryWrap = new QueryWrapper<>(); +// pidEoQueryWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId, oldPliEoIdList); +// List pidEoList = this.processInfoDetailEOService.list(pidEoQueryWrap); + List pidEoList = pidList.stream().filter(pid -> { + boolean flag = false; + for (String oldPliEoId : oldPliEoIdList) { + if(StringUtils.equals(oldPliEoId,pid.getProjectLawsInventoryId())){ + flag = true; + break; + } + } + return flag; + }).distinct().collect(Collectors.toList()); if(CollectionUtils.isNotEmpty(pidEoList)){ List taskIdList = new ArrayList<>(); List updatePidEoList = new ArrayList<>(); @@ -231,12 +241,22 @@ public class ProjectLawsInventoryEOEditServiceImpl { * @param newPliEo 新的法规清单对象 * @param oldPliEoList 旧的法规清单数组 */ - public void updateDutyPerson(ProjectLawsInventoryEO newPliEo, List oldPliEoList) { + public void updateDutyPerson(ProjectLawsInventoryEO newPliEo, List oldPliEoList,List pidList) { if (CollectionUtils.isNotEmpty(oldPliEoList)) { List oldPliEoIdList = oldPliEoList.stream().map(ProjectLawsInventoryEO::getId).distinct().collect(Collectors.toList()); - QueryWrapper pidEoQueryWrap = new QueryWrapper<>(); - pidEoQueryWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId, oldPliEoIdList); - List pidEoList = this.processInfoDetailEOService.list(pidEoQueryWrap); +// QueryWrapper pidEoQueryWrap = new QueryWrapper<>(); +// pidEoQueryWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId, oldPliEoIdList); +// List pidEoList = this.processInfoDetailEOService.list(pidEoQueryWrap); + List pidEoList = pidList.stream().filter(pid -> { + boolean flag = false; + for (String oldPliEoId : oldPliEoIdList) { + if(StringUtils.equals(oldPliEoId,pid.getProjectLawsInventoryId())){ + flag = true; + break; + } + } + return flag; + }).distinct().collect(Collectors.toList()); if(CollectionUtils.isNotEmpty(pidEoList)){ List designTaskIdList = new ArrayList<>(); List verifyTaskIdList = new ArrayList<>(); 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 35f1d62ca..4f322116b 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 @@ -6287,9 +6287,10 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl certificationQueryWrap = new QueryWrapper<>(); - certificationQueryWrap.lambda().eq(ProjectCertificationInventoryEO::getId,pciEo.getId()); - List oldPciEoList = this.list(certificationQueryWrap); +// QueryWrapper certificationQueryWrap = new QueryWrapper<>(); +// certificationQueryWrap.lambda().eq(ProjectCertificationInventoryEO::getId,pciEo.getId()); +// List oldPciEoList = this.list(certificationQueryWrap); + List oldPciEoList = pciEoList.stream().filter(p -> StringUtils.equals(p.getId(),pciEo.getId())).distinct().collect(Collectors.toList()); // 编辑责任人处理逻辑 this.editDutyPerson(newPciEo, oldPciEoList); 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 9c71cf3f7..bcbc73cdb 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 @@ -507,10 +507,18 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl oldPliEoList = this.list(oldPliQueryWrap); this.updateProjectLawsInventorySendMessage(projectLawsInventoryEO); - // 处理编辑法规工程师的逻辑 - this.editService.updateRegulationOwner(projectLawsInventoryEO,oldPliEoList); - // 处理编辑责任人的逻辑 - this.editService.updateDutyPerson(projectLawsInventoryEO,oldPliEoList); + + // 根据法规清单id,获取该法规清单在待办中心的任务明细。 + List oldPliEoIdList = oldPliEoList.stream().map(ProjectLawsInventoryEO::getId).distinct().collect(Collectors.toList()); + QueryWrapper pidEoQueryWrap = new QueryWrapper<>(); + pidEoQueryWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId, oldPliEoIdList); + List pidEoList = this.processInfoDetailEOService.list(pidEoQueryWrap); + if(CollectionUtils.isNotEmpty(pidEoList)){ + // 处理编辑法规工程师的逻辑 + this.editService.updateRegulationOwner(projectLawsInventoryEO,oldPliEoList,pidEoList); + // 处理编辑责任人的逻辑 + this.editService.updateDutyPerson(projectLawsInventoryEO,oldPliEoList,pidEoList); + } // 处理修改设计或验证符合性截止日期的逻辑 this.editService.updateDesignOrVerifyEndTime(projectLawsInventoryEO,oldPliEoList); @@ -4329,10 +4337,16 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl oldPliEoIdList = infoList.stream().map(ProjectLawsInventoryEO::getId).distinct().collect(Collectors.toList()); + QueryWrapper pidEoQueryWrap = new QueryWrapper<>(); + pidEoQueryWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId, oldPliEoIdList); + List pidEoList = this.processInfoDetailEOService.list(pidEoQueryWrap); + // 处理编辑法规工程师的逻辑 - this.editService.updateRegulationOwner(projectLawsInventoryEO,infoList); + this.editService.updateRegulationOwner(projectLawsInventoryEO,infoList,pidEoList); // 处理编辑责任人的逻辑 - this.editService.updateDutyPerson(projectLawsInventoryEO,infoList); + this.editService.updateDutyPerson(projectLawsInventoryEO,infoList,pidEoList); // 处理修改设计或验证符合性截止日期的逻辑 this.editService.updateDesignOrVerifyEndTime(projectLawsInventoryEO,infoList); @@ -13728,6 +13742,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl pliEoList = this.list(pliQueryWrap); + // 根据法规清单id,获取该法规清单在待办中心的任务明细。 + List oldPliEoIdList = pliEoList.stream().map(ProjectLawsInventoryEO::getId).distinct().collect(Collectors.toList()); + QueryWrapper pidEoQueryWrap = new QueryWrapper<>(); + pidEoQueryWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId, oldPliEoIdList); + List pidEoList = this.processInfoDetailEOService.list(pidEoQueryWrap); + List updateEoList = new ArrayList<>(); for (Map replacementUserMap : replacementUserList) { String dutyTerritory = (String) replacementUserMap.get("dutyTerritory"); @@ -13735,31 +13755,39 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl oldPliQueryWrap = new QueryWrapper<>(); - oldPliQueryWrap.lambda().eq(ProjectLawsInventoryEO::getId,pliEo.getId()); - List oldPliEoList = this.list(oldPliQueryWrap); +// QueryWrapper oldPliQueryWrap = new QueryWrapper<>(); +// oldPliQueryWrap.lambda().eq(ProjectLawsInventoryEO::getId,pliEo.getId()); +// List oldPliEoList = this.list(oldPliQueryWrap); + // 过滤出来修改之前的法规清单数据 + List oldPliEoList = pliEoList.stream().filter(p -> StringUtils.equals(p.getId(),pliEo.getId())).distinct().collect(Collectors.toList()); ProjectLawsInventoryEO newPliEo = new ProjectLawsInventoryEO(); if (StringUtils.equals(pliEo.getRegulationOwnerId(), userId)) { newPliEo.setRegulationOwnerId(newUserId); // 处理编辑法规工程师的逻辑 - this.editService.updateRegulationOwner(newPliEo, oldPliEoList); + this.editService.updateRegulationOwner(newPliEo, oldPliEoList,pidEoList); pliEo.setRegulationOwnerId(newUserId); } if (StringUtils.equals(pliEo.getEngineeringInterfacePerson(), userId)) { pliEo.setEngineeringInterfacePerson(newUserId); } - if (StringUtils.equals(pliEo.getDesignDutyId(), userId)) { - newPliEo.setDesignDutyId(newUserId); - pliEo.setDesignDutyId(newUserId); - } - if (StringUtils.equals(pliEo.getVerifyDutyId(), userId)) { - newPliEo.setVerifyDutyId(newUserId); - pliEo.setVerifyDutyId(newUserId); - } - // 处理编辑责任人的逻辑 - this.editService.updateDutyPerson(newPliEo, oldPliEoList); + if(StringUtils.equals(pliEo.getDesignDutyId(), userId) || StringUtils.equals(pliEo.getVerifyDutyId(), userId)){ + if (StringUtils.equals(pliEo.getDesignDutyId(), userId)) { + newPliEo.setDesignDutyId(newUserId); + } + if (StringUtils.equals(pliEo.getVerifyDutyId(), userId)) { + newPliEo.setVerifyDutyId(newUserId); + } + // 处理编辑责任人的逻辑 + this.editService.updateDutyPerson(newPliEo, oldPliEoList,pidEoList); + if (StringUtils.equals(pliEo.getDesignDutyId(), userId)) { + pliEo.setDesignDutyId(newUserId); + } + if (StringUtils.equals(pliEo.getVerifyDutyId(), userId)) { + pliEo.setVerifyDutyId(newUserId); + } + } updateEoList.add(pliEo); } }