From 3a55554d392b53bb8962399b0467bf1c3207cd21 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Tue, 19 Apr 2022 16:12:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E9=A1=B9=E7=9B=AEid=E3=80=81?= =?UTF-8?q?=E9=A2=86=E5=9F=9Fid=20=E6=9F=A5=E8=AF=A2=E6=B3=95=E8=A7=84?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E7=BC=96=E8=BE=91=E6=97=B6=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3=E3=80=82=20=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E7=9B=B8=E5=85=B3=E4=BA=BA=E5=91=98=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E3=80=82=20=E5=8F=91=E8=B5=B7=E6=B8=85=E5=8D=95=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=EF=BC=8C=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/ISysUserService.java | 7 + .../service/impl/SysUserServiceImpl.java | 9 + .../ProjectLawsInventoryEOController.java | 12 ++ .../ProjectRelatedPersonnelController.java | 14 +- .../entity/ProjectLawsInventoryEO.java | 7 + .../project/enums/SendMsgFlagEnum.java | 40 ++++ .../IProjectLawsInventoryEOService.java | 7 + .../IProjectRelatedPersonnelService.java | 3 + .../ProjectLawsInventoryEOServiceImpl.java | 177 +++++++++++++++++- .../ProjectRelatedPersonnelServiceImpl.java | 95 ++++++++++ 10 files changed, 369 insertions(+), 2 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/SendMsgFlagEnum.java 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 055ab14dd..05494a38e 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 @@ -243,4 +243,11 @@ public interface ISysUserService extends IService { List queryByDepIds(List departIds, String username); List queryByWorkNo(String workNo); + + /** + * 根据用户idList 查询用户信息 + * @param userIdList + * @return + */ + List querySysUserListByIdList(List userIdList); } 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 99334d94b..3e117829e 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 @@ -472,4 +472,13 @@ public class SysUserServiceImpl extends ServiceImpl impl return this.list(queryWrapper); } + @Override + public List querySysUserListByIdList(List userIdList) { + userIdList = userIdList.stream().distinct().collect(Collectors.toList()); + QueryWrapper sysUserQueryWrapper = new QueryWrapper<>(); + sysUserQueryWrapper.lambda().in(SysUser::getId,userIdList); + List sysUsers = this.baseMapper.selectList(sysUserQueryWrapper); + return sysUsers; + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java index 8c2747ffd..ba0f43bf5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java @@ -180,4 +180,16 @@ public class ProjectLawsInventoryEOController extends JeroController matchRelevantPeople(@RequestParam Map params){ + return this.projectLawsInventoryEOService.matchRelevantPeople(params); + } + } 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 6bb1dca71..dc732cd80 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 @@ -34,7 +34,7 @@ import java.util.Map; public class ProjectRelatedPersonnelController extends JeroController { @Autowired private IProjectRelatedPersonnelService projectRelatedPersonnelService; - + /** * 分页列表查询 * @return @@ -160,4 +160,16 @@ public class ProjectRelatedPersonnelController extends JeroController queryPersonByProjectId(@RequestParam(name="projectId",required=true) String projectId,@RequestParam(name="dutyTerritory",required=true) String dutyTerritory) { + return this.projectRelatedPersonnelService.queryPersonByProjectId(projectId,dutyTerritory); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java index cc9d6f568..8637a3040 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java @@ -309,4 +309,11 @@ public class ProjectLawsInventoryEO implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "任务确认-截止时间") private Date taskAffirmDueDate; + + /**任务确认-截止时间*/ + @Excel(name = "任务确认-截止时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "任务确认-截止时间") + private String sendMsgFlag; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/SendMsgFlagEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/SendMsgFlagEnum.java new file mode 100644 index 000000000..5acf91b72 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/SendMsgFlagEnum.java @@ -0,0 +1,40 @@ +package com.jero.modules.project.enums; + +public enum SendMsgFlagEnum { + TRUE("未发","0"), + FALSE("已发","1"); + + String name; + String value; + + private SendMsgFlagEnum(String name, String value) { + this.name = name; + this.value = value; + } + + 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 static String getTextByValue(String value) { + SendMsgFlagEnum[] values = values(); + for (SendMsgFlagEnum sendMsgFlagEnum : values) { + if (sendMsgFlagEnum.value.equals(value)) { + return sendMsgFlagEnum.name; + } + } + return null; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java index 9df208721..cf582993c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java @@ -69,4 +69,11 @@ public interface IProjectLawsInventoryEOService extends IService updateStatusBatch(Map params); + + /** + * 匹配相关人员 + * @param params + * @return + */ + Result matchRelevantPeople(Map params); } 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 2e19edebd..f76291225 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 @@ -1,6 +1,7 @@ package com.jero.modules.project.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jero.common.api.vo.Result; import com.jero.modules.project.entity.ProjectRelatedPersonnel; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -62,4 +63,6 @@ public interface IProjectRelatedPersonnelService extends IService queryList(); IPage queryPageList(Map params); + + Result queryPersonByProjectId(String projectId,String dutyTerritory); } 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 f98793697..948937535 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 @@ -1,31 +1,45 @@ package com.jero.modules.project.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.jero.common.api.vo.Result; +import com.jero.common.constant.CommonConstant; +import com.jero.common.constant.WebsocketConst; +import com.jero.common.constant.enums.MessageTypeEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; import com.jero.modules.document.entity.BussDocumentLibraryEO; import com.jero.modules.document.service.IBussDocumentLibraryEOService; +import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.message.websocket.WebSocket; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.project.entity.ProjectLawsInventoryEO; import com.jero.modules.project.entity.ProjectLibraryBase; +import com.jero.modules.project.entity.ProjectRelatedPersonnel; import com.jero.modules.project.enums.*; import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper; import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; +import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; import com.jero.modules.project.service.IProjectLawsInventoryEOService; +import com.jero.modules.project.service.IProjectRelatedPersonnelService; +import com.jero.modules.system.entity.SysAnnouncement; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysUserMapper; +import com.jero.modules.system.service.ISysAnnouncementService; +import com.jero.modules.system.service.ISysUserService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -55,6 +69,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectLawsInventoryEOS = this.baseMapper.selectList(queryWrapper); + ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectOne(new QueryWrapper() + .lambda().eq(ProjectLibraryBase::getId, projectLibraryId)); for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOS) { //如果该数据的状态为 未发起或拒绝 可以发起清单确认 @@ -433,8 +464,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().success(result + "成功!"); } + + /** + * 发送消息 + * @param msgContent + * @param projectLawsInventoryEO + */ + public void sendMessage(String msgContent,ProjectLawsInventoryEO projectLawsInventoryEO){ + + String idTemp = projectLawsInventoryEO.getProjectLibraryId(); + + List userIdList = new ArrayList<>(); + String homologationEngineerId = projectLawsInventoryEO.getHomologationEngineerId(); + String regulationOwnerId = projectLawsInventoryEO.getRegulationOwnerId(); + if(StringUtils.isNotEmpty(homologationEngineerId)){ + userIdList.add(homologationEngineerId); + } + if(StringUtils.isNotEmpty(regulationOwnerId)){ + userIdList.add(regulationOwnerId); + } + userIdList = userIdList.stream().distinct().collect(Collectors.toList()); + + List sysUsers = sysUserService.listByIds(userIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + + } + + //系统消息 + SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, msgContent, ""); + sysAnnouncementService.saveAnnouncement(sysAnnouncement); + sendWebsocket(idTemp, idTemp); + + //飞书消息 + try { + iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), msgContent, MessageTypeEnum.PUSH.getName(), ""); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + @NotNull + private SysAnnouncement getSysAnnouncement(List userIdList, String content, String contentInfo) { + SysAnnouncement sysAnnouncement = new SysAnnouncement(); + sysAnnouncement.setDelFlag("0"); + sysAnnouncement.setSendStatus("0"); + sysAnnouncement.setSendTime(new Date()); + sysAnnouncement.setMsgCategory(MessageTypeEnum.READ.getValue());//消息类型 + sysAnnouncement.setMsgType(CommonConstant.MSG_TYPE_UESR);//指定用户 + sysAnnouncement.setMsgContent(content); + sysAnnouncement.setMsgContentInfo(contentInfo); + sysAnnouncement.setUserIds(StringUtils.join(userIdList, ",")); + return sysAnnouncement; + } + + private void sendWebsocket(String msgId, String msgTet) { + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC); + obj.put(WebsocketConst.MSG_ID, msgId); + obj.put(WebsocketConst.MSG_TXT, msgTet); + webSocket.sendMessage(obj.toJSONString()); + } + + /** + * 匹配相关人员 + * @param params + * @return + */ + @Override + public Result matchRelevantPeople(Map params) { + String projectLibraryId = (String) params.get("projectLibraryId");//项目id + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + int isProjectRole = checkUserRole(projectLibraryId, currentUser.getId(), ""); + //验证用户是否是该项目的studio工程师,只有studio工程师才能匹配相关人员 + if(isProjectRole == Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())){ + //获取当前项目中的相关人员信息 + QueryWrapper queryProjectPerson = new QueryWrapper<>(); + queryProjectPerson.lambda().eq(ProjectRelatedPersonnel::getProjectId,projectLibraryId); + List projectRelatedPersonnels = this.projectRelatedPersonnelMapper.selectList(queryProjectPerson); + + if(CollectionUtils.isNotEmpty(projectRelatedPersonnels)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + List inventoryAffirmStatusList = new ArrayList<>(); + inventoryAffirmStatusList.add(InventoryAffirmStatusEnum.NOT_STARTED.getValue()); + inventoryAffirmStatusList.add(InventoryAffirmStatusEnum.REJECTED.getValue()); + queryWrapper.lambda().in(ProjectLawsInventoryEO::getInventoryAffirmStatus,inventoryAffirmStatusList); + queryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,projectLibraryId); + //查询当前项目下,清单状态为 未发起、拒绝状态的法规清单。 + List projectLawsInventoryEOS = this.baseMapper.selectList(queryWrapper); + + for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOS) { + for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) { + if(StringUtils.equals(projectRelatedPersonnel.getDutyTerritory(),projectLawsInventoryEO.getDutyTerritory())){ + //法规工程师 + if (StringUtils.isEmpty(projectLawsInventoryEO.getRegulationOwnerId())) { + String lawEngineer = projectRelatedPersonnel.getLawEngineer(); + if(StringUtils.isNotEmpty(lawEngineer)){ + String[] lawEngineerArr = lawEngineer.split(","); + if(lawEngineerArr.length == 1){ + projectLawsInventoryEO.setRegulationOwnerId(lawEngineer); + } + } + } + + //认证工程师 + if (StringUtils.isEmpty(projectLawsInventoryEO.getHomologationEngineerId())) { + String certificationEngineer = projectRelatedPersonnel.getCertificationEngineer(); + if(StringUtils.isNotEmpty(certificationEngineer)){ + String[] certificationEngineerArr = certificationEngineer.split(","); + if(certificationEngineerArr.length == 1){ + projectLawsInventoryEO.setHomologationEngineerId(certificationEngineer); + } + } + } + + //项目接口人 + if (StringUtils.isEmpty(projectLawsInventoryEO.getEngineeringInterfacePerson())) { + String engineeringInterfacePerson = projectRelatedPersonnel.getEngineeringInterfacePerson(); + if(StringUtils.isNotEmpty(engineeringInterfacePerson)){ + String[] engineeringInterfacePersonArr = engineeringInterfacePerson.split(","); + if(engineeringInterfacePersonArr.length == 1){ + projectLawsInventoryEO.setEngineeringInterfacePerson(engineeringInterfacePerson); + } + } + } + } + } + this.baseMapper.updateById(projectLawsInventoryEO); + } + }else { + throw new JeroBootException("当前项目中,未找到相关维护人员信息"); + } + }else { + throw new JeroBootException("当前操作用户不是该项目的studio工程师,没有权限操作!"); + } + return new Result<>().success("带入成功!"); + } } 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 165b9c488..320cf3ffe 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 @@ -1,15 +1,18 @@ package com.jero.modules.project.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.vo.Result; import com.jero.common.system.vo.LoginUser; import com.jero.modules.project.entity.ProjectRelatedPersonnel; import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; import com.jero.modules.project.service.IProjectRelatedPersonnelService; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysUserMapper; +import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.util.StringUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.shiro.SecurityUtils; @@ -33,6 +36,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl queryPersonByProjectId(String projectId,String dutyTerritory) { + JSONObject result = new JSONObject(); + List> lawEngineerList = new ArrayList<>(); + List> certificationEngineerList = new ArrayList<>(); + List> engineeringInterfacePersonList = new ArrayList<>(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(ProjectRelatedPersonnel::getProjectId,projectId); + queryWrapper.lambda().eq(ProjectRelatedPersonnel::getDutyTerritory,dutyTerritory); + List projectRelatedPersonnels = this.baseMapper.selectList(queryWrapper); + + if(CollectionUtils.isNotEmpty(projectRelatedPersonnels)){ + List userIdList = new ArrayList<>(); + for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) { + if(StringUtils.isNotBlank(projectRelatedPersonnel.getLawEngineer())){ + String[] lawEngineerArr = projectRelatedPersonnel.getLawEngineer().split(","); + for (String lawEngineer : lawEngineerArr) { + userIdList.add(lawEngineer); + } + } + if(StringUtils.isNotBlank(projectRelatedPersonnel.getCertificationEngineer())){ + String[] certificationEngineerArr = projectRelatedPersonnel.getCertificationEngineer().split(","); + for (String certificationEngineer : certificationEngineerArr) { + userIdList.add(certificationEngineer); + } + } + if(StringUtils.isNotBlank(projectRelatedPersonnel.getEngineeringInterfacePerson())){ + String[] engineeringInterfacePersonArr = projectRelatedPersonnel.getEngineeringInterfacePerson().split(","); + for (String engineeringInterfacePerson : engineeringInterfacePersonArr) { + userIdList.add(engineeringInterfacePerson); + } + } + } + List sysUserList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(userIdList)){ + sysUserList = sysUserService.querySysUserListByIdList(userIdList); + } + for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) { + if(StringUtils.isNotBlank(projectRelatedPersonnel.getLawEngineer())){ + String[] lawEngineerArr = projectRelatedPersonnel.getLawEngineer().split(","); + for (String lawEngineer : lawEngineerArr) { + for (SysUser sysUser : sysUserList) { + if(StringUtils.equals(lawEngineer,sysUser.getId())){ + Map map = new HashMap<>(); + map.put("name",sysUser.getRealname()); + map.put("value",sysUser.getId()); + lawEngineerList.add(map); + } + } + } + + } + if(StringUtils.isNotBlank(projectRelatedPersonnel.getCertificationEngineer())){ + String[] certificationEngineerArr = projectRelatedPersonnel.getCertificationEngineer().split(","); + for (String certificationEngineer : certificationEngineerArr) { + for (SysUser sysUser : sysUserList) { + if(StringUtils.equals(certificationEngineer,sysUser.getId())){ + Map map = new HashMap<>(); + map.put("name",sysUser.getRealname()); + map.put("value",sysUser.getId()); + certificationEngineerList.add(map); + } + } + } + } + if(StringUtils.isNotBlank(projectRelatedPersonnel.getEngineeringInterfacePerson())){ + String[] engineeringInterfacePersonArr = projectRelatedPersonnel.getEngineeringInterfacePerson().split(","); + for (String engineeringInterfacePerson : engineeringInterfacePersonArr) { + for (SysUser sysUser : sysUserList) { + if(StringUtils.equals(engineeringInterfacePerson,sysUser.getId())){ + Map map = new HashMap<>(); + map.put("name",sysUser.getRealname()); + map.put("value",sysUser.getId()); + engineeringInterfacePersonList.add(map); + } + } + } + } + } + } + + result.put("lawEngineerList",lawEngineerList); + result.put("certificationEngineerList",certificationEngineerList); + result.put("engineeringInterfacePersonList",engineeringInterfacePersonList); + return Result.OK(result); + } + }