From 2154f13373b691e50d16183f320117c3bc2f725e Mon Sep 17 00:00:00 2001 From: cuijiaming <1410452759@qq.com> Date: Sat, 1 Apr 2023 20:14:16 +0800 Subject: [PATCH] =?UTF-8?q?bug66869=E5=92=8C67164=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectRelatedPersonnelController.java | 4 +- .../entity/ProjectRelatedPersonnel.java | 6 +- .../mapper/ProjectRelatedPersonnelMapper.java | 4 +- .../xml/ProjectRelatedPersonnelMapper.xml | 12 +++- .../IProjectRelatedPersonnelService.java | 3 +- ...ctCertificationInventoryEOServiceImpl.java | 6 +- .../ProjectLawsInventoryEOServiceImpl.java | 56 ++++++++--------- .../impl/ProjectLibraryBaseServiceImpl.java | 4 +- .../ProjectRelatedPersonnelServiceImpl.java | 60 ++++++++++++++----- 9 files changed, 98 insertions(+), 57 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRelatedPersonnelController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRelatedPersonnelController.java index 2574ed923..a8af91796 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRelatedPersonnelController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRelatedPersonnelController.java @@ -59,7 +59,9 @@ public class ProjectRelatedPersonnelController extends JeroController certificationEngineerNameList; /**备注*/ - @Excel(name = "备注,Comments", width = 15,orderNum = "5") + @Excel(name = "备注,Comments", width = 15,orderNum = "6") private java.lang.String remark; /**创建人*/ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectRelatedPersonnelMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectRelatedPersonnelMapper.java index fb4d2d269..ce5557e25 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectRelatedPersonnelMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/ProjectRelatedPersonnelMapper.java @@ -19,7 +19,9 @@ public interface ProjectRelatedPersonnelMapper extends BaseMapper queryById(@Param("id")String id); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml index 107fe1a72..961232976 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml @@ -22,6 +22,8 @@ prp.law_engineer, prp.engineering_interface_person, prp.certification_engineer, + prp.engineer_law_set, + prp.engineer_att_set, prp.remark, prp.create_by, prp.create_time, @@ -51,8 +53,14 @@ AND prp.engineering_interface_person like concat(concat('%',#{engineeringInterfacePerson}),'%') - - AND prp.certification_engineer like concat(concat('%',#{certificationEngineer}),'%') + + + + + AND prp.engineer_law_set like concat(concat('%',#{engineerLawSet}),'%') + + + AND prp.engineer_att_set like concat(concat('%',#{engineerAttSet}),'%') AND sd.dict_code = #{dictCode} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectRelatedPersonnelService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectRelatedPersonnelService.java index f19b5f1e1..29f18ec42 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectRelatedPersonnelService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectRelatedPersonnelService.java @@ -67,7 +67,8 @@ public interface IProjectRelatedPersonnelService extends IService queryList(); - List queryPageList(String projectId,String dutyTerritory,String lawEngineer,String engineeringInterfacePerson,String certificationEngineer); +// List queryPageList(String projectId,String dutyTerritory,String lawEngineer,String engineeringInterfacePerson,String certificationEngineer); + List queryPageList(String projectId,String dutyTerritory,String lawEngineer,String engineeringInterfacePerson,String engineerLawSet,String engineerAttSet); Map queryPersonByProjectId(String projectId, String dutyTerritory); 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 8521a21db..39445e708 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 @@ -1074,7 +1074,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl projectRelatedPersonnels = this.projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null); + List projectRelatedPersonnels = this.projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null,null); List lawEngineerNameList = new ArrayList<>(); if(projectRelatedPersonnels.size() != 0){ for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) { @@ -3705,9 +3705,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl engineeringInterfacePersonList = new ArrayList<>(); -// engineeringInterfacePersonList = Arrays.asList(projectLawsInventoryEO.getEngineeringInterfacePerson().split(",")); -// engineeringInterfacePersonList = engineeringInterfacePersonList.stream().distinct().collect(Collectors.toList()); - - List projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectLibrartId, dutyTerritoryList); //enginnerList为每一条的工程接口人的集合 List enginnerList = new ArrayList<>(); + for(ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList){ + enginnerList.add(projectRelatedPersonnel.getEngineeringInterfacePerson()); + } if(projectRelatedPersonnelList.size()>0){ for(ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList){ - if(StringUtils.isEmpty(projectRelatedPersonnel.getEngineeringInterfacePerson())){ + if(enginnerList.size()<0){ //直接将allList存入到 String all = String.join(",",allList); projectRelatedPersonnel.setEngineerLawSet(all); // projectRelatedPersonnelService.editById(projectRelatedPersonnel); }else { - enginnerList.add(projectRelatedPersonnel.getEngineeringInterfacePerson()); enginnerList = enginnerList.stream().distinct().collect(Collectors.toList()); //比较allList中有而enginnerList中没有的工程接口人 - boolean flag = false; - List resultList = new ArrayList<>(); - if(allList.size()>0){ - flag = CollectionUtils.isEqualCollection(allList,enginnerList); - if(!flag){ - //进行遍历两个list,将allList中有的而enginnerList没有的存入到相关人员名单中的法规那里 - - for(String all : allList){ - boolean flag1 = true; - for(String enginner : enginnerList){ - if(all.equals(enginner)){ - flag1 = false; - break; - } - } - if(flag1){ - resultList.add(all); - } - } - } - } + allList.removeAll(enginnerList); +// if(allList.size()>0){ +// flag = CollectionUtils.isEqualCollection(allList,enginnerList); +// if(!flag){ +// //进行遍历两个list,将allList中有的而enginnerList没有的存入到相关人员名单中的法规那里 +// +// for(String all : allList){ +// boolean flag1 = true; +// for(String enginner : enginnerList){ +// if(all.equals(enginner)){ +// flag1 = false; +// break; +// } +// } +// if(flag1){ +// resultList.add(all); +// } +// } +// } +// } //将相关人员名单中没有的resultList添加到相关人员记录表中 - String result = String.join(",",resultList); + String result = String.join(",",allList); projectRelatedPersonnel.setEngineerLawSet(result); // projectRelatedPersonnelService.editById(projectRelatedPersonnel); } @@ -10200,7 +10196,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectRelatedPersonnels = projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null); + List projectRelatedPersonnels = projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null,null); List lawEngineerNameList = new ArrayList<>(); if(projectRelatedPersonnels.size() != 0){ for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) { 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 af60b7006..d876d9694 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 @@ -252,7 +252,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl relatedPersonnelPermissionList = new ArrayList<>(); for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList) { @@ -518,7 +518,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl result = projectRelatedPersonnelMapper.queryPageList(projectLibraryBase.getId(), - DictCodeEnum.DUTY_TERRITORY.getValue(), null, null, null, null); + DictCodeEnum.DUTY_TERRITORY.getValue(), null, null, null, null,null); //项目的认证工程师 String certificationEngineer = projectLibraryBase.getCertificationEngineer(); //一个都不选的情况下 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java index 779329e1e..4de2a9337 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java @@ -287,14 +287,17 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl result = projectRelatedPersonnelMapper.queryPageList(projectId, DictCodeEnum.DUTY_TERRITORY.getValue(), dutyTerritoryTemp, lawEngineer, engineeringInterfacePerson, - certificationEngineer); +// certificationEngineer + engineerLawSet, + engineerAttSet); //查询数据里的责任领域 List dutyTerritory = result.stream().map(e -> e.getDutyTerritory()).collect(Collectors.toList()); //查标签内容里的责任领域数据 @@ -303,7 +306,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl engineerLawSetUsers = new ArrayList<>(); + if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineerLawSet())){ + List engineerLawSetIdList = Arrays.asList(projectRelatedPersonnel.getEngineerLawSet().split(",")); + if (CollectionUtils.isNotEmpty(engineerLawSetIdList)) { + engineerLawSetIdList=engineerLawSetIdList.stream().distinct().collect(Collectors.toList()); + QueryWrapper userqueryWrapper = new QueryWrapper<>(); + userqueryWrapper.in("id ", engineerLawSetIdList); + engineerLawSetUsers = sysUserMapper.selectList(userqueryWrapper); + } + if(CollectionUtils.isNotEmpty(engineerLawSetUsers)) { + String engineerAttSetId = projectRelatedPersonnel.getEngineerAttSet(); + String engineerLawSetName = null; + StringBuilder lawSetName = new StringBuilder(); + for (String data : engineerLawSetIdList) { + if (StringUtils.isNotEmpty(engineerAttSetId)) { + engineerLawSetName = engineerLawSetUsers.stream().filter(e -> data.equals(e.getId())) + .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); + } + lawSetName.append(engineerLawSetName).append(","); + } + projectRelatedPersonnel.setEngineerLawSetName(lawSetName.substring(0,lawSetName.toString().length()-1)); + } + } //认证工程师设置 List engineerAttSetUsers = new ArrayList<>(); if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineerAttSet())){ @@ -413,20 +443,20 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl userqueryWrapper = new QueryWrapper<>(); userqueryWrapper.in("id ", engineerAttSetIdList); - certificationEngineerUsers = sysUserMapper.selectList(userqueryWrapper); + engineerAttSetUsers = sysUserMapper.selectList(userqueryWrapper); } if(CollectionUtils.isNotEmpty(engineerAttSetUsers)) { String engineerAttSetId = projectRelatedPersonnel.getEngineerAttSet(); String engineerAttSetName = null; - StringBuilder certificationName = new StringBuilder(); + StringBuilder AttSetName = new StringBuilder(); for (String data : engineerAttSetIdList) { if (StringUtils.isNotEmpty(engineerAttSetId)) { engineerAttSetName = engineerAttSetUsers.stream().filter(e -> data.equals(e.getId())) .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); } - certificationName.append(engineerAttSetName).append(","); + AttSetName.append(engineerAttSetName).append(","); } - projectRelatedPersonnel.setEngineerAttSetName(certificationName.substring(0,certificationName.toString().length()-1)); + projectRelatedPersonnel.setEngineerAttSetName(AttSetName.substring(0,AttSetName.toString().length()-1)); } } } @@ -611,7 +641,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl