From 3a55554d392b53bb8962399b0467bf1c3207cd21 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Tue, 19 Apr 2022 16:12:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E9=A1=B9=E7=9B=AEid?= =?UTF-8?q?=E3=80=81=E9=A2=86=E5=9F=9Fid=20=E6=9F=A5=E8=AF=A2=E6=B3=95?= =?UTF-8?q?=E8=A7=84=E6=B8=85=E5=8D=95=E7=BC=96=E8=BE=91=E6=97=B6=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3=E3=80=82=20?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E7=9B=B8=E5=85=B3=E4=BA=BA=E5=91=98=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E3=80=82=20=E5=8F=91=E8=B5=B7=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=EF=BC=8C=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF?= =?UTF-8?q?=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); + } + } From 5578c41c6c4845fec34b0b76077f60369b5d69e8 Mon Sep 17 00:00:00 2001 From: qq787203167 <787203167@qq.com> Date: Tue, 19 Apr 2022 16:14:26 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=B8=83=E5=B1=80=E6=9C=AA=E7=AC=A6?= =?UTF-8?q?=E5=90=88=E9=A1=B9=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 8 +- jero-web/src/common/lang/zh-cn.js | 7 +- .../ProjectDetails/index.vue | 32 +-- .../components/nonConformance.vue | 192 ++++++++++++++++++ 4 files changed, 224 insertions(+), 15 deletions(-) create mode 100644 jero-web/src/views/projectManagement/components/nonConformance.vue diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 78cd46eac..0a5a7eb63 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -675,5 +675,11 @@ module.exports = { basicInformationOfParameters:'Basic information of parameters', regulatoryCertificationTaskPlan:'Regulatory / certification task plan', bringInRelevantPersonnel:'Bring in relevant personnel', - confirmBringInRelevantPersonnel:'confirm Bring in relevant personnel' + confirmBringInRelevantPersonnel:'confirm Bring in relevant personnel', + problemType:'Problem type', + projectDetails:'Project details', + listOfRegulations:'List of regulations', + taskList:'Task list', + TaskParameterCollection:'Task parameter collection', + nonConformance:'Non conformance', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 147e766b6..c4cbd700f 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -680,5 +680,10 @@ module.exports = { regulatoryCertificationTaskPlan:'法规/认证任务计划', bringInRelevantPersonnel:'带入相关人员', confirmBringInRelevantPersonnel:'确认带入相关人员?', - + problemType:'问题类型', + projectDetails:'项目详情', + listOfRegulations:'法规清单', + taskList:'任务清单', + TaskParameterCollection:'任务参数收集', + nonConformance:'未符合项', } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/ProjectDetails/index.vue b/jero-web/src/views/projectManagement/ProjectDetails/index.vue index c8413059e..b1c26d5d1 100644 --- a/jero-web/src/views/projectManagement/ProjectDetails/index.vue +++ b/jero-web/src/views/projectManagement/ProjectDetails/index.vue @@ -10,28 +10,28 @@ -
+
-
+
- 项目详情 + {{$t('projectDetails')}}
-
+
- 法规清单 + {{$t('listOfRegulations')}}
-
+
- 任务清单 + {{$t('taskList')}}
-
+
- 任务参数收集 + {{$t('TaskParameterCollection')}}
-
+
- 未符合项 + {{$t('nonConformance')}}
@@ -39,6 +39,7 @@ +
@@ -50,6 +51,7 @@ import listOfRegulations from '../components/listOfRegulations' import ProjectDetailsName from '../components/ProjectDetails' import TaskParameterCollection from '../components/TaskParameterCollection' + import nonConformance from '../components/nonConformance' export default { name: 'ProjectDetails', @@ -57,11 +59,12 @@ TaskList, listOfRegulations, ProjectDetailsName, - TaskParameterCollection + TaskParameterCollection, + nonConformance }, data() { return { - title: '项目详情', + title: this.$t('projectDetails'), textTitle: '项目详情' } }, @@ -139,6 +142,9 @@ .Virtual-detail-left-text { padding: 2px 12px; cursor: pointer; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } } diff --git a/jero-web/src/views/projectManagement/components/nonConformance.vue b/jero-web/src/views/projectManagement/components/nonConformance.vue new file mode 100644 index 000000000..2af6ec662 --- /dev/null +++ b/jero-web/src/views/projectManagement/components/nonConformance.vue @@ -0,0 +1,192 @@ + + + + \ No newline at end of file