diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 7cc6ff0c9..56c3395e4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -2971,23 +2971,23 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl matchRelevantPeople(@RequestParam Map params){ + @PostMapping(value = "/matchRelevantPeople") + public Result matchRelevantPeople(@RequestBody Map params){ return this.projectLawsInventoryEOService.matchRelevantPeople(params); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CollectManifestRoleIdEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CollectManifestRoleIdEnum.java new file mode 100644 index 000000000..46ac56ff5 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CollectManifestRoleIdEnum.java @@ -0,0 +1,97 @@ +package com.jero.modules.project.enums; + +import cn.hutool.core.collection.CollectionUtil; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; + +/** + * @Author: liyawei + * @Description: + * @Date: Created in 10:56 2022/6/11 + */ +public enum CollectManifestRoleIdEnum { +// STUDIO_ID("R&H Studio","R&H Studio","studio","1534019911296118786",1), + ADMIN_ID("R&H Manager","R&H Manager","manager","1534020391015444481",2), + MANAGER_ID("系统管理员","Administrator","admin","f6817f48af4fb3af11b9e8bf182f618b",3); + + String name; + String enName; + String value; + String id; + Integer order; + + CollectManifestRoleIdEnum(String name, String enName, String value, String id, Integer order) { + this.name = name; + this.enName = enName; + this.value = value; + this.id = id; + this.order = order; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } + + public static List getIdList() { + List idList = new ArrayList<>(); + CollectManifestRoleIdEnum[] values = values(); + for (CollectManifestRoleIdEnum collectManifestRoleIdEnum : values) { + idList.add(collectManifestRoleIdEnum.getId()); + } + return idList; + } + + public static List getByIdList(List idList) { + List collectManifestRoleIdEnums = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(idList)) { + CollectManifestRoleIdEnum[] values = values(); + for (CollectManifestRoleIdEnum collectManifestRoleIdEnum : values) { + if (idList.contains(collectManifestRoleIdEnum.getId())) { + collectManifestRoleIdEnums.add(collectManifestRoleIdEnum); + } + } + } + if (CollectionUtil.isNotEmpty(collectManifestRoleIdEnums) && collectManifestRoleIdEnums.size() > 1) { + collectManifestRoleIdEnums.stream().sorted(Comparator.comparing(CollectManifestRoleIdEnum :: getOrder)); + } + return collectManifestRoleIdEnums; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/InventoryAffirmJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/InventoryAffirmJob.java index f99726b03..1fbef43a5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/InventoryAffirmJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/InventoryAffirmJob.java @@ -172,7 +172,7 @@ public class InventoryAffirmJob implements Job { sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, threeDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, threeDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.LIST_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ @@ -210,7 +210,7 @@ public class InventoryAffirmJob implements Job { sendMessageMap.put("hrefFeishu",hrefFeishu); sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, currentDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, currentDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.LIST_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } } 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 b23a2b800..44c08d6b0 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 @@ -239,22 +239,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl dummyInventoryInfoEOListNew = new ArrayList<>(); if(dummyInventoryInfoEOList.size() != 0){ List projectLawsInventoryEOS = new ArrayList<>(); - if(projectLawsInventoryEOList.size() ==0){ - //责任领域如果有多个,则需要拆分成多条 - for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOList) { - String dutyTerritory = dummyInventoryInfoEO.getDutyTerritory(); - if(StringUtils.isNotBlank(dutyTerritory)){ - for (String dutyTerritoryOne : dutyTerritory.split(",")) { - DummyInventoryInfoEO dummyInventoryInfoEONew = new DummyInventoryInfoEO(); - BeanUtils.copyProperties(dummyInventoryInfoEO,dummyInventoryInfoEONew); - dummyInventoryInfoEONew.setDutyTerritory(dutyTerritoryOne); - dummyInventoryInfoEOListNew.add(dummyInventoryInfoEONew); - } - }else{ - dummyInventoryInfoEOListNew.add(dummyInventoryInfoEO); + //责任领域如果有多个,则需要拆分成多条 + for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOList) { + String dutyTerritory = dummyInventoryInfoEO.getDutyTerritory(); + if(StringUtils.isNotBlank(dutyTerritory)){ + for (String dutyTerritoryOne : dutyTerritory.split(",")) { + DummyInventoryInfoEO dummyInventoryInfoEONew = new DummyInventoryInfoEO(); + BeanUtils.copyProperties(dummyInventoryInfoEO,dummyInventoryInfoEONew); + dummyInventoryInfoEONew.setDutyTerritory(dutyTerritoryOne); + dummyInventoryInfoEOListNew.add(dummyInventoryInfoEONew); } + }else{ + dummyInventoryInfoEOListNew.add(dummyInventoryInfoEO); } - + } + if(projectLawsInventoryEOList.size() ==0){ //此时法规清单中没有数据,直接将维护清单中的数据添加即可 for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOListNew) { ProjectLawsInventoryEO projectLawsInventoryEOTemp = new ProjectLawsInventoryEO(); 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 6a2e0cf55..9cbae09de 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 @@ -7,15 +7,26 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.enums.CutEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.LoginUser; +import com.jero.modules.enums.DictCodeEnum; import com.jero.modules.project.entity.ConditionAssessmentEO; import com.jero.modules.project.entity.ProjectLawsInventoryEO; +import com.jero.modules.project.entity.ProjectLawsInventoryLogEO; import com.jero.modules.project.entity.ProjectLibraryBase; +import com.jero.modules.project.entity.ProjectLibraryRoleRelEO; +import com.jero.modules.project.entity.ProjectRelatedPersonnel; import com.jero.modules.project.entity.ProjectTaskInventoryEO; -import com.jero.modules.project.entity.*; -import com.jero.modules.project.enums.*; +import com.jero.modules.project.entity.ProjectTaskPlanning; +import com.jero.modules.project.enums.CertificationProgressEnum; +import com.jero.modules.project.enums.CurrentProjectStatusEnum; +import com.jero.modules.project.enums.DesignComplianceStatusEnum; +import com.jero.modules.project.enums.InventoryAffirmStatusEnum; +import com.jero.modules.project.enums.OperatorTypeEnum; +import com.jero.modules.project.enums.ProjectRoleEnum; +import com.jero.modules.project.enums.TaskAffirmStatusEnum; import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper; import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; +import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper; import com.jero.modules.project.service.IConditionAssessmentEOService; import com.jero.modules.project.service.IProjectLibraryBaseService; @@ -41,7 +52,12 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.text.ParseException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -92,6 +108,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl result = projectRelatedPersonnelMapper.queryPageList(projectLibraryBase.getId(), + DictCodeEnum.DUTY_TERRITORY.getValue(), null, null, null, null); + //项目的认证工程师 + String certificationEngineer = projectLibraryBase.getCertificationEngineer(); + if(StringUtils.isNotBlank(certificationEngineer)){ + for (ProjectRelatedPersonnel projectRelatedPersonnel : result) { + //相关人员名单的认证工程师 + String certificationEngineerTemp = projectRelatedPersonnel.getCertificationEngineer(); + if(StringUtils.isNotBlank(certificationEngineerTemp)){ + StringBuilder sb = new StringBuilder(); + for (String s : certificationEngineerTemp.split(",")) { + if(certificationEngineer.contains(s)){ + sb.append(s + ","); + } + } + String substring = ""; + if(StringUtils.isNotBlank(sb)){ + substring = sb.substring(0, sb.length() - 1); + } + projectRelatedPersonnel.setCertificationEngineer(substring); + } + } + //批量修改相关人员名单信息中的认证工程师 + projectRelatedPersonnelService.updateBatchById(result); + } } /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java index 8730fe829..ba96e021c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java @@ -21,7 +21,9 @@ import com.jero.modules.project.util.SendMessageUtils; import com.jero.modules.project.vo.ProjectTaskInventoryVO; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.entity.SysUserRole; import com.jero.modules.system.mapper.SysUserMapper; +import com.jero.modules.system.service.ISysUserRoleService; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum; import com.jero.modules.wkflow.enums.FlowTypeEnum; @@ -83,6 +85,9 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl userRoleList = this.sysUserRoleService.list(new QueryWrapper().lambda().eq(SysUserRole::getUserId, currentUser.getId())); // 查询用户所有角色 + if(CollectionUtils.isNotEmpty(userRoleList)){ + List roleIdList = CollectManifestRoleIdEnum.getIdList(); + List userRoles = userRoleList.stream().filter(userRole -> { + boolean flag = false; + for (String roleId : roleIdList) { + if (StringUtils.equals(roleId, userRole.getRoleId())) { + flag = true; + } + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(userRoles)){ + isAdministrator = true; + } + } + List result = new ArrayList<>(); for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOList) { //流程实例id @@ -575,7 +602,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl {