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 f245b0fe6..3298378dc 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 @@ -1737,6 +1737,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectLawsInventoryIdList = Arrays.asList(ids.split(",")); + queryWrapper.lambda().in(ProjectLawsInventoryEO::getId,projectLawsInventoryIdList); + } + queryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,projectLibraryId); //查询当前项目下,清单状态为 未发起、拒绝状态的法规清单。 List projectLawsInventoryEOS = this.baseMapper.selectList(queryWrapper); @@ -1751,7 +1758,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectRelatedPersonnelList = new ArrayList<>(); for (String s : dutyTerritory.split(",")) { @@ -1828,102 +1835,185 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectRelatedPersonnelTempList = projectRelatedPersonnels.stream().filter(relatedPersonnel -> { + boolean flag = false; + for (String duty : dutyTerritory.split(",")) { + if(StringUtils.equals(duty,relatedPersonnel.getDutyTerritory())){ + flag = true; + } + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(projectRelatedPersonnelTempList)){ + + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + + //法规工程师 + if (StringUtils.isEmpty(projectLawsInventoryEO.getRegulationOwnerId())) { + String userId = ToGetAUserId(ProjectRoleEnum.REGULATI_ENGINEER.getValue(), projectRelatedPersonnelTempList,studioEngineer); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setRegulationOwnerId(userId); + } + }else { + String userId = ToGetAUserId(ProjectRoleEnum.REGULATI_ENGINEER.getValue(), projectRelatedPersonnelTempList,studioEngineer,projectLawsInventoryEO.getRegulationOwnerId()); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setRegulationOwnerId(userId); + }else { + updateWrapper.set(ProjectLawsInventoryEO::getRegulationOwnerId,null); + } + } + + //认证工程师 + if (StringUtils.isEmpty(projectLawsInventoryEO.getHomologationEngineerId())) { + String userId = ToGetAUserId(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue(), projectRelatedPersonnelTempList,studioEngineer); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setHomologationEngineerId(userId); + } + }else { + String userId = ToGetAUserId(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue(), projectRelatedPersonnelTempList,studioEngineer,projectLawsInventoryEO.getHomologationEngineerId()); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setHomologationEngineerId(userId); + }else { + updateWrapper.set(ProjectLawsInventoryEO::getHomologationEngineerId,null); + } + } + + //项目接口人 + if (StringUtils.isEmpty(projectLawsInventoryEO.getEngineeringInterfacePerson())) { + String userId = ToGetAUserId(ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue(), projectRelatedPersonnelTempList,studioEngineer); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setEngineeringInterfacePerson(userId); + } + }else { + String userId = ToGetAUserId(ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue(), projectRelatedPersonnelTempList,studioEngineer,projectLawsInventoryEO.getEngineeringInterfacePerson()); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setEngineeringInterfacePerson(userId); + }else { + updateWrapper.set(ProjectLawsInventoryEO::getEngineeringInterfacePerson,null); + } + } //设计符合性确认 //发起人角色 - if(StringUtils.isEmpty(projectLawsInventoryEO.getDesignInitiatorId())){ - String designInitiator = projectLawsInventoryEO.getDesignInitiator(); - if(StringUtils.isNotEmpty(designInitiator)){ - String userId = ToGetAUserId(designInitiator, projectRelatedPersonnel,studioEngineer); + String designInitiator = projectLawsInventoryEO.getDesignInitiator(); + if(StringUtils.isNotEmpty(designInitiator)){ + if(StringUtils.isEmpty(projectLawsInventoryEO.getDesignInitiatorId())){ + String userId = ToGetAUserId(designInitiator, projectRelatedPersonnelTempList,studioEngineer); if(StringUtils.isNotEmpty(userId)){ projectLawsInventoryEO.setDesignInitiatorId(userId); } - } - } - //责任人角色 - if(StringUtils.isEmpty(projectLawsInventoryEO.getDesignDutyId())){ - String designDuty = projectLawsInventoryEO.getDesignDuty(); - if(StringUtils.isNotEmpty(designDuty)){ - String userId = ToGetAUserId(designDuty, projectRelatedPersonnel,studioEngineer); + }else { + String userId = ToGetAUserId(designInitiator, projectRelatedPersonnelTempList,studioEngineer,projectLawsInventoryEO.getDesignInitiatorId()); if(StringUtils.isNotEmpty(userId)){ - projectLawsInventoryEO.setDesignDutyId(userId); + projectLawsInventoryEO.setDesignInitiatorId(userId); + }else { + updateWrapper.set(ProjectLawsInventoryEO::getDesignInitiatorId,null); } } } - //prehomo确认 - //发起人角色 - if(StringUtils.isEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())){ - String prehomoInitiator = projectLawsInventoryEO.getPrehomoInitiator(); - if(StringUtils.isNotEmpty(prehomoInitiator)){ - String userId = ToGetAUserId(prehomoInitiator, projectRelatedPersonnel,studioEngineer); + //责任人角色 + String designDuty = projectLawsInventoryEO.getDesignDuty(); + if(StringUtils.isNotEmpty(designDuty)){ + if(StringUtils.isEmpty(projectLawsInventoryEO.getDesignDutyId())){ + String userId = ToGetAUserId(designDuty, projectRelatedPersonnelTempList,studioEngineer); if(StringUtils.isNotEmpty(userId)){ - projectLawsInventoryEO.setPrehomoInitiatorId(userId); + projectLawsInventoryEO.setDesignDutyId(userId); + } + }else { + String userId = ToGetAUserId(designDuty, projectRelatedPersonnelTempList,studioEngineer,projectLawsInventoryEO.getDesignDutyId()); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setDesignDutyId(userId); + }else { + updateWrapper.set(ProjectLawsInventoryEO::getDesignDutyId,null); } } } - if(StringUtils.isEmpty(projectLawsInventoryEO.getPrehomoDutyId())){ - //责任人角色 - String prehomoDuty = projectLawsInventoryEO.getPrehomoDuty(); - if(StringUtils.isNotEmpty(prehomoDuty)){ - String userId = ToGetAUserId(prehomoDuty, projectRelatedPersonnel,studioEngineer); + + + //prehomo确认 + //发起人角色 + String prehomoInitiator = projectLawsInventoryEO.getPrehomoInitiator(); + if(StringUtils.isNotEmpty(prehomoInitiator)){ + if(StringUtils.isEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())){ + String userId = ToGetAUserId(prehomoInitiator, projectRelatedPersonnelTempList,studioEngineer); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setPrehomoInitiatorId(userId); + } + }else { + String userId = ToGetAUserId(prehomoInitiator, projectRelatedPersonnelTempList,studioEngineer,projectLawsInventoryEO.getPrehomoInitiatorId()); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setPrehomoInitiatorId(userId); + }else { + updateWrapper.set(ProjectLawsInventoryEO::getPrehomoInitiatorId,null); + } + } + } + + //责任人角色 + String prehomoDuty = projectLawsInventoryEO.getPrehomoDuty(); + if(StringUtils.isNotEmpty(prehomoDuty)){ + if(StringUtils.isEmpty(projectLawsInventoryEO.getPrehomoDutyId())){ + String userId = ToGetAUserId(prehomoDuty, projectRelatedPersonnelTempList,studioEngineer); if(StringUtils.isNotEmpty(userId)){ projectLawsInventoryEO.setPrehomoDutyId(userId); } + }else { + String userId = ToGetAUserId(prehomoDuty, projectRelatedPersonnelTempList,studioEngineer,projectLawsInventoryEO.getPrehomoDutyId()); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setPrehomoDutyId(userId); + }else { + updateWrapper.set(ProjectLawsInventoryEO::getPrehomoDutyId,null); + } } } //验证符合性确认 - if(StringUtils.isEmpty(projectLawsInventoryEO.getVerifyInitiatorId())){ - //发起人角色 - String verifyInitiator = projectLawsInventoryEO.getVerifyInitiator(); - if(StringUtils.isNotEmpty(verifyInitiator)){ - String userId = ToGetAUserId(verifyInitiator, projectRelatedPersonnel,studioEngineer); + //发起人角色 + String verifyInitiator = projectLawsInventoryEO.getVerifyInitiator(); + if(StringUtils.isNotEmpty(verifyInitiator)){ + if(StringUtils.isEmpty(projectLawsInventoryEO.getVerifyInitiatorId())){ + String userId = ToGetAUserId(verifyInitiator, projectRelatedPersonnelTempList,studioEngineer); if(StringUtils.isNotEmpty(userId)){ projectLawsInventoryEO.setVerifyInitiatorId(userId); } - } - } - if(StringUtils.isEmpty(projectLawsInventoryEO.getVerifyDutyId())){ - //责任人角色 - String verifyDuty = projectLawsInventoryEO.getVerifyDuty(); - if(StringUtils.isNotEmpty(verifyDuty)){ - String userId = ToGetAUserId(verifyDuty, projectRelatedPersonnel,studioEngineer); + }else { + String userId = ToGetAUserId(verifyInitiator, projectRelatedPersonnelTempList,studioEngineer,projectLawsInventoryEO.getVerifyInitiatorId()); if(StringUtils.isNotEmpty(userId)){ - projectLawsInventoryEO.setVerifyDutyId(userId); + projectLawsInventoryEO.setVerifyInitiatorId(userId); + }else { + updateWrapper.set(ProjectLawsInventoryEO::getVerifyInitiatorId,null); } } } + + //责任人角色 + String verifyDuty = projectLawsInventoryEO.getVerifyDuty(); + if(StringUtils.isNotEmpty(verifyDuty)){ + if(StringUtils.isEmpty(projectLawsInventoryEO.getVerifyDutyId())){ + String userId = ToGetAUserId(verifyDuty, projectRelatedPersonnelTempList,studioEngineer); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setVerifyDutyId(userId); + } + }else { + String userId = ToGetAUserId(verifyDuty, projectRelatedPersonnelTempList,studioEngineer,projectLawsInventoryEO.getVerifyDutyId()); + if(StringUtils.isNotEmpty(userId)){ + projectLawsInventoryEO.setVerifyDutyId(userId); + }else { + updateWrapper.set(ProjectLawsInventoryEO::getVerifyDutyId,null); + } + } + } + updateWrapper.eq(ProjectLawsInventoryEO::getId,projectLawsInventoryEO.getId()); + super.update(projectLawsInventoryEO, updateWrapper); } } - this.baseMapper.updateById(projectLawsInventoryEO); + //this.baseMapper.updateById(projectLawsInventoryEO); } }else { throw new JeroBootException("当前项目中,未找到相关维护人员信息"); @@ -1946,14 +2036,20 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectRelatedPersonnelList,String studioEngineer){ String resultUserId = ""; //法规工程师 if(StringUtils.equals(roleCode,ProjectRoleEnum.REGULATI_ENGINEER.getValue())){ - String lawEngineer = projectRelatedPersonnel.getLawEngineer(); + String lawEngineer = projectRelatedPersonnelList.stream().filter(relatedPersonnel -> { + boolean flag = false; + if(StringUtils.isNotEmpty(relatedPersonnel.getLawEngineer())){ + flag = true; + } + return flag; + }).map(ProjectRelatedPersonnel::getLawEngineer).distinct().collect(Collectors.joining(",")); if(StringUtils.isNotEmpty(lawEngineer)){ String[] lawEngineerArr = lawEngineer.split(","); if(lawEngineerArr.length == 1){ @@ -1963,7 +2059,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl { + boolean flag = false; + if(StringUtils.isNotEmpty(relatedPersonnel.getLawEngineer())){ + flag = true; + } + return flag; + }).map(ProjectRelatedPersonnel::getCertificationEngineer).distinct().collect(Collectors.joining(",")); if(StringUtils.isNotEmpty(certificationEngineer)){ String[] certificationEngineerArr = certificationEngineer.split(","); if(certificationEngineerArr.length == 1){ @@ -1973,7 +2075,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl { + boolean flag = false; + if(StringUtils.isNotEmpty(relatedPersonnel.getLawEngineer())){ + flag = true; + } + return flag; + }).map(ProjectRelatedPersonnel::getEngineeringInterfacePerson).distinct().collect(Collectors.joining(",")); if(StringUtils.isNotEmpty(engineeringInterfacePerson)){ String[] engineeringInterfacePersonArr = engineeringInterfacePerson.split(","); if(engineeringInterfacePersonArr.length == 1){ @@ -2557,10 +2665,53 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl { + //更新三个符合性流程中的处理人。 + this.updateFlowInfo(projectLawsInventory); + }); // for (ProjectLawsInventoryEO lawsInventoryEO : projectLawsInventoryEOList) { // LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); // updateWrapper.in(ProjectLawsInventoryEO::getId,lawsInventoryEO.getId()); @@ -7060,4 +7211,86 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectRelatedPersonnelList,String studioEngineer,String engineersId){ + String resultUserId = ""; + //法规工程师 + if(StringUtils.equals(roleCode,ProjectRoleEnum.REGULATI_ENGINEER.getValue())){ + String lawEngineer = projectRelatedPersonnelList.stream().filter(relatedPersonnel -> { + boolean flag = false; + if(StringUtils.isNotEmpty(relatedPersonnel.getLawEngineer())){ + flag = true; + } + return flag; + }).map(ProjectRelatedPersonnel::getLawEngineer).distinct().collect(Collectors.joining(",")); + if(StringUtils.isNotEmpty(lawEngineer)){ + if(!StringUtils.contains(lawEngineer,engineersId)){ + String[] lawEngineerArr = lawEngineer.split(","); + if(lawEngineerArr.length == 1){ + resultUserId = lawEngineer; + } + }else { + resultUserId = engineersId; + } + } + } + //认证工程师 + if(StringUtils.equals(roleCode,ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())){ + String certificationEngineer = projectRelatedPersonnelList.stream().filter(relatedPersonnel -> { + boolean flag = false; + if(StringUtils.isNotEmpty(relatedPersonnel.getLawEngineer())){ + flag = true; + } + return flag; + }).map(ProjectRelatedPersonnel::getCertificationEngineer).distinct().collect(Collectors.joining(",")); + if(StringUtils.isNotEmpty(certificationEngineer)){ + if(!StringUtils.contains(certificationEngineer,engineersId)){ + String[] certificationEngineerArr = certificationEngineer.split(","); + if(certificationEngineerArr.length == 1){ + resultUserId = certificationEngineer; + } + }else { + resultUserId = engineersId; + } + } + } + //工程接口人 + if(StringUtils.equals(roleCode,ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue())){ + String engineeringInterfacePerson = projectRelatedPersonnelList.stream().filter(relatedPersonnel -> { + boolean flag = false; + if(StringUtils.isNotEmpty(relatedPersonnel.getLawEngineer())){ + flag = true; + } + return flag; + }).map(ProjectRelatedPersonnel::getEngineeringInterfacePerson).distinct().collect(Collectors.joining(",")); + if(StringUtils.isNotEmpty(engineeringInterfacePerson)){ + if(!StringUtils.contains(engineeringInterfacePerson,engineersId)){ + String[] engineeringInterfacePersonArr = engineeringInterfacePerson.split(","); + if(engineeringInterfacePersonArr.length == 1){ + resultUserId = engineeringInterfacePerson; + } + }else { + resultUserId = engineersId; + } + } + } + //studio + if(StringUtils.equals(roleCode,ProjectRoleEnum.STUDIO_ENGINEER.getValue())){ + resultUserId = studioEngineer; + } + return resultUserId; + } }