diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index fb1881817..6d88c32c4 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -319,4 +319,6 @@ public interface ISysUserService extends IService { * @return */ String getUsernameByUserId(List sysUserList, String userId); + + List querySysUserByUserNameList(List userNameList); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 4f8cc64cb..5a145e722 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -797,4 +797,17 @@ public class SysUserServiceImpl extends ServiceImpl impl } return result; } + + @Override + public List querySysUserByUserNameList(List userNameList) { + List result = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(userNameList)){ + userNameList = userNameList.stream().distinct().collect(Collectors.toList()); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().in(SysUser::getUsername,userNameList); + result = this.list(queryWrapper); + } + return result; + } } 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 01db4e5b0..e3a7242c3 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 @@ -6790,6 +6790,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl userNameList = new ArrayList<>(); + String designDutyIds = dataList.stream().map(ProjectLawsInventoryEO::getDesignDutyId).collect(Collectors.joining(",")); + String verifyDutyIds = dataList.stream().map(ProjectLawsInventoryEO::getVerifyDutyId).collect(Collectors.joining(",")); + userNameList.addAll(Arrays.asList(designDutyIds.split(","))); + userNameList.addAll(Arrays.asList(verifyDutyIds.split(","))); + List sysUserList = this.sysUserService.querySysUserByUserNameList(userNameList); + //编号验证 verifySerialNumber(dataList,projectLawsInventoryEOTemp,dataSource); for (ProjectLawsInventoryEO projectLawsInventoryEO : dataList) { @@ -6917,52 +6924,54 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl objectMap = iProjectRelatedPersonnelService.queryPersonByProjectId(projectLawsInventoryEOTemp.getProjectLibraryId(), value); + + //法规工程师 + List> mapLawList = (List>) objectMap.get("lawEngineerList"); + //认证工程师 + List> mapCertificationList = (List>) objectMap.get("certificationEngineerList"); + //工程接口人 + List> mapPersonList = (List>) objectMap.get("engineeringInterfacePersonList"); + //所有人 + List> allPersonList = (List>) objectMap.get("allPersonList"); + projectLawsInventoryEO.setDutyTerritory(value); + + // 如果责任领域存在,再匹配这些人员 + //法规工程师 + if(StringUtils.isNotBlank(regulationOwnerId)){ + nameCn = "法规工程师"; + nameEn = "regulatory engineer"; + //验证人员是否存在 + personnelVerify(projectLawsInventoryEO, errorMsg, msgList, regulationOwnerId, mapLawList,nameCn,nameEn, ProjectRoleEnum.REGULATI_ENGINEER.getValue()); + } + + //认证工程师 + if(StringUtils.isNotBlank(homologationEngineerId)){ + nameCn = "认证工程师"; + nameEn = "certification engineer "; + //验证人员是否存在 + personnelVerify(projectLawsInventoryEO, errorMsg, msgList, homologationEngineerId, mapCertificationList,nameCn,nameEn,ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue()); + } + + //工程接口人 + if(StringUtils.isNotBlank(engineeringInterfacePerson)){ + nameCn = "工程接口人"; + nameEn = "Engineering Interface "; + //验证人员是否存在 + personnelVerify(projectLawsInventoryEO, errorMsg, msgList, engineeringInterfacePerson, mapPersonList,nameCn,nameEn,ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue()); + } } } - //工程接口人(责任领域下的工程接口人) - Map objectMap = iProjectRelatedPersonnelService.queryPersonByProjectId(projectLawsInventoryEOTemp.getProjectLibraryId(), value); - - //法规工程师 - List> mapLawList = (List>) objectMap.get("lawEngineerList"); - //认证工程师 - List> mapCertificationList = (List>) objectMap.get("certificationEngineerList"); - //工程接口人 - List> mapPersonList = (List>) objectMap.get("engineeringInterfacePersonList"); - //所有人 - List> allPersonList = (List>) objectMap.get("allPersonList"); - - String nameCn = ""; - String nameEn = ""; - //法规工程师 - if(StringUtils.isNotBlank(regulationOwnerId)){ - nameCn = "法规工程师"; - nameEn = "regulatory engineer"; - //验证人员是否存在 - personnelVerify(projectLawsInventoryEO, errorMsg, msgList, regulationOwnerId, mapLawList,nameCn,nameEn, ProjectRoleEnum.REGULATI_ENGINEER.getValue()); - } - - //认证工程师 - if(StringUtils.isNotBlank(homologationEngineerId)){ - nameCn = "认证工程师"; - nameEn = "certification engineer "; - //验证人员是否存在 - personnelVerify(projectLawsInventoryEO, errorMsg, msgList, homologationEngineerId, mapCertificationList,nameCn,nameEn,ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue()); - } - - //工程接口人 - if(StringUtils.isNotBlank(engineeringInterfacePerson)){ - nameCn = "工程接口人"; - nameEn = "Engineering Interface "; - //验证人员是否存在 - personnelVerify(projectLawsInventoryEO, errorMsg, msgList, engineeringInterfacePerson, mapPersonList,nameCn,nameEn,ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue()); - } - //设计 //交付物类型 @@ -6979,19 +6988,19 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl msgList, + String userName, + List sysUserList, + String nameCn,String nameEn, + String fieldNumber) { + //单选 + if(userName.contains(",")){ + if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){ + errorMsg += nameCn + "导入只能填写一个用户名, "; + }else{ + errorMsg += "Only one user name can be entered for"+ nameEn +"import, "; + } + msgList.add(errorMsg); + } + if(sysUserList.size() != 0){ + int count = 0; + for (SysUser sysUser : sysUserList) { + if(StringUtils.equals(userName,sysUser.getUsername())){ + count ++; + if(ProjectRoleEnum.DESIGNDUTY.getValue().equals(fieldNumber)) { + projectLawsInventoryEO.setDesignDutyId(sysUser.getId()); + }else if(ProjectRoleEnum.VERIFYDUTY.getValue().equals(fieldNumber)){ + projectLawsInventoryEO.setVerifyDutyId(sysUser.getId()); + } + break; + } + } + if(count == 0){ + if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){ + errorMsg += nameCn+userName+"在系统中不存在, "; + }else{ + errorMsg += nameEn+userName+"Does not exist in the system, "; + } + msgList.add(errorMsg); + } + }else{ + if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){ + errorMsg += nameCn+userName+"在系统中不存在, "; + }else{ + errorMsg += nameEn+userName+"Does not exist in the system, "; + } + msgList.add(errorMsg); + } + } }