From 9676e6f721b8a3489f49705861cf879b37bda845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Thu, 13 Apr 2023 17:05:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=BA=93=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BussDocumentLibraryEOServiceImpl.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) 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 29c44d722..180b20758 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 @@ -1065,24 +1065,24 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl menuMap = new HashMap<>(); menuMap.put("name",areaName); result.add(menuMap); - List fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList()); - for (OnlCgformField onlCgformField : fieldListTemp) { - //字段 - String dbFieldName = onlCgformField.getDbFieldName(); - //字段类型 - String fieldShowType = onlCgformField.getFieldShowType(); - - if (FieldTypeEnum.FILE.getValue().equals(fieldShowType)) { - Map menuMap1 = new HashMap<>(); - menuMap1.put("pname",areaName); - if (CutEnum.CN.getValue().equals(cut)) { - menuMap1.put("name",onlCgformField.getDbFieldTxt()); - } else { - menuMap1.put("name",onlCgformField.getDbFieldEnName()); - } - result.add(menuMap1); - } - } +// List fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList()); +// for (OnlCgformField onlCgformField : fieldListTemp) { +// //字段 +// String dbFieldName = onlCgformField.getDbFieldName(); +// //字段类型 +// String fieldShowType = onlCgformField.getFieldShowType(); +// +// if (FieldTypeEnum.FILE.getValue().equals(fieldShowType)) { +// Map menuMap1 = new HashMap<>(); +// menuMap1.put("pname",areaName); +// if (CutEnum.CN.getValue().equals(cut)) { +// menuMap1.put("name",onlCgformField.getDbFieldTxt()); +// } else { +// menuMap1.put("name",onlCgformField.getDbFieldEnName()); +// } +// result.add(menuMap1); +// } +// } } return result; } From fc660da9e9cb3baae3899aaeca7a54ad6489d8b2 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 13 Apr 2023 17:19:05 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=A3=9E=E4=B9=A6=E6=B6=88=E6=81=AF-?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0=E6=94=B6=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cert/collect/entity/ParamsManifestEO.java | 3 + .../mapper/xml/ParamsManifestEOMapper.xml | 4 +- .../ParamsCollectManifestEOServiceImpl.java | 490 ++++++++++++------ .../impl/ParamsManifestEOServiceImpl.java | 8 +- .../cert/collect/vo/ParamsManifestVO.java | 1 + .../feishu/enums/TemplateInfoEnum2.java | 23 + .../feishu/service/IFeishuService.java | 7 + .../service/impl/FeishuServiceImpl.java | 58 +++ .../modules/project/enums/JumpLinkEnum.java | 7 + .../ParameterItemCollectionList.vue | 7 +- 10 files changed, 443 insertions(+), 165 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java index 5294f973c..91f022a42 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java @@ -103,6 +103,9 @@ public class ParamsManifestEO implements Serializable { @TableField(exist = false) private String projectName; + @TableField(exist = false) + private String projectNameEn; + @ApiModelProperty(value = "相关项目版本") private String projectVersion; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml index 55d306b2a..96bd6c847 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml @@ -27,6 +27,7 @@ + @@ -204,7 +205,8 @@ select plb.id as project_id, target_market as targetMarket, - concat(pni.project_name,'-',pyni.year_name) as project_name + concat(pni.project_name,'-',pyni.year_name) as project_name, + concat(pni.project_name,'-',pyni.year_name) as project_name_en from project_library_base plb left join project_name_info as pni on plb.project_name_id = pni.id left join project_year_name_info as pyni on plb.year_name_id = pyni.id diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 3c805bcd0..8d5551523 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -37,6 +37,7 @@ import com.jero.modules.cert.template.enums.ParamsIsMustEnum; import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOService; import com.jero.modules.cert.template.service.IParamsInfoPublishEOService; import com.jero.modules.document.vo.QueryConditionVO; +import com.jero.modules.feishu.enums.TemplateInfoEnum2; import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.message.websocket.WebSocket; @@ -53,6 +54,7 @@ import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; import com.jero.modules.project.service.IProjectLibraryBaseService; import com.jero.modules.project.service.IProjectRelatedPersonnelService; import com.jero.modules.project.service.IProjectUserPermissionService; +import com.jero.modules.project.service.impl.ProjectLawsInventoryEOServiceImpl; import com.jero.modules.split.common.FileUnZip; import com.jero.modules.split.common.ReadExcel; import com.jero.modules.system.entity.SysDictItem; @@ -164,6 +166,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl updateEOList = new ArrayList<>(); List paramsCollectManifestLogEOList = new ArrayList<>(); + List userNameList = new ArrayList<>(); + List nioNumberList = new ArrayList<>(); + String state = ""; for (int i = 0; i < paramsCollectManifestIdStr.length; i++) { ParamsCollectManifestEO paramsCollectManifestEO = getById(paramsCollectManifestIdStr[i]); + if(ObjectUtils.isNotEmpty(paramsCollectManifestEO) && StringUtils.isNotBlank(paramsCollectManifestEO.getNioNumber())){ + nioNumberList.add(paramsCollectManifestEO.getNioNumber()); + } + if(ObjectUtils.isNotEmpty(paramsCollectManifestEO) && StringUtils.isNotBlank(paramsCollectManifestEO.getDre())){ + userNameList.add(paramsCollectManifestEO.getSdt()); + } + ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO(); updateEO.setId(paramsCollectManifestIdStr[i]); if (CollectManifestStateEnum.SDT_BACK.getValue().equals(paramsCollectManifestEO.getState()) @@ -2175,8 +2189,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl engThirdIds = new ArrayList<>(); - List projectLibraryBases = projectLibraryBaseMapper.queryById(paramsManifestEO.getProjectId()); - if (ObjectUtils.isNotEmpty(projectLibraryBases)) { - String[] ids = projectLibraryBases.get(0).getCertificationEngineer().split(","); - if (ObjectUtils.isNotEmpty(ids)) { - for (String id : ids) { - SysUser engineer = sysUserService.getById(id); - if (ObjectUtils.isNotEmpty(engineer)) { - engThirdIds.add(engineer.getThirdId()); - } + ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId); + List userIdList = new ArrayList<>(); + List projectLibraryBases = projectLibraryBaseMapper.queryById(paramsManifestEO.getProjectId()); + if (ObjectUtils.isNotEmpty(projectLibraryBases)) { + String[] ids = projectLibraryBases.get(0).getCertificationEngineer().split(","); + if (ObjectUtils.isNotEmpty(ids)) { + for (String id : ids) { + SysUser engineer = sysUserService.getById(id); + if (ObjectUtils.isNotEmpty(engineer)) { + userIdList.add(engineer.getId()); } } } - if (CollectManifestStateEnum.SDT_BACK.getValue().equals(paramsCollectManifestEO.getState())) { - //通知认证工程师 - try { - FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); - feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn()); - feishuMsgVo.setCnContentUpper("您好," + currentUser.getUsername() + "退回了参数NIO-" + paramsCollectManifestEO.getNioNumber() + ",请及时处理"); - feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() + - "\n发起人: " + currentUser.getUsername() + - "\n截止时间: " + deadline); - feishuMsgVo.setEnContentUpper("Hello! " + currentUser.getUsername() + " has returned the Parameter NIO-" + paramsCollectManifestEO.getNioNumber() + ". Please address it in a timely manner"); - feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() + - "\nInitiator: " + currentUser.getUsername() + - "\nDue Date: " + deadline); - feishuMsgVo.setUrl(hrefFeishu); - feishuMsgVo.setColor(MsgColorEnum.RED.getValue()); // 颜色 - feishuService.sendCard(engThirdIds.toArray(new String[engThirdIds.size()]), feishuMsgVo); - } catch (IOException e) { - log.error("飞书消息推送失败"); - } - } else if (CollectManifestStateEnum.DRE_BACK.getValue().equals(paramsCollectManifestEO.getState())) { + } - //通知认证工程师 - /*try { - FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); - feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn()); - feishuMsgVo.setCnContentUpper("您好,"+ currentUser.getUsername() +"申请撤回参数NIO-"+ paramsCollectManifestEO.getNioNumber() +",请及时处理"); - feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() + - "\n发起人: " + currentUser.getUsername() + - "\n截止时间: " + deadline); - feishuMsgVo.setEnContentUpper("Hello! "+ currentUser.getUsername() +" requested for withdrawing Parameter NIO-"+ paramsCollectManifestEO.getNioNumber() +". Please address it in a timely manner"); - feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() + - "\nInitiator: " + currentUser.getUsername() + - "\nDue Date: " + deadline); - feishuMsgVo.setUrl(hrefFeishu); - feishuMsgVo.setColor(MsgColorEnum.RED.getValue()); // 颜色 - feishuService.sendCard(engThirdIds.toArray(new String[engThirdIds.size()]), feishuMsgVo); - } catch (IOException e) { - log.error("飞书消息推送失败"); - }*/ - //通知工程接口人 - List SdtThirdIds = new ArrayList<>(); - for (String sdt : paramsCollectManifestEO.getSdt().split(",")) { - SysUser sdtUser = sysUserService.getUserByName(sdt); - if (ObjectUtils.isNotEmpty(sdtUser)) { - SdtThirdIds.add(sdtUser.getThirdId()); - } - } + ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(paramsManifestEO.getProjectId(), + paramsManifestEO.getProjectVersion(), paramsCollectManifestVO.getCut()); + paramsManifestEO.setProjectName(projectInfo.getProjectName()); + paramsManifestEO.setProjectNameEn(projectInfo.getProjectNameEn()); - try { - FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); - feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn()); - feishuMsgVo.setCnContentUpper("您好," + currentUser.getUsername() + "退回了参数NIO-" + paramsManifestEO.getTitle() + ",请及时处理"); - feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() + - "\n发起人: " + currentUser.getUsername() + - "\n截止时间: " + deadline); - feishuMsgVo.setEnContentUpper("Hello! " + currentUser.getUsername() + " has returned the Parameter NIO-" + paramsManifestEO.getTitle() + ". Please address it in a timely manner"); - feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() + - "\nInitiator: " + currentUser.getUsername() + - "\nDue Date: " + deadline); - feishuMsgVo.setUrl(hrefFeishu); - feishuMsgVo.setColor(MsgColorEnum.RED.getValue()); // 颜色 - feishuService.sendCard(SdtThirdIds.toArray(new String[SdtThirdIds.size()]), feishuMsgVo); - } catch (IOException e) { - log.error("飞书消息推送失败"); - } + String urlParamsStrCn = parseUrlParams(paramsManifestEO,CutEnum.CN.getValue(),projectInfo.getProjectNameEn()); + String urlParamsStrEn = parseUrlParams(paramsManifestEO,CutEnum.EN.getValue(),projectInfo.getProjectNameEn()); + String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn; + String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn; + if (CollectManifestStateEnum.SDT_BACK.getValue().equals(state)) { + try { + String contentInfoFeiCn = "您好," + currentUser.getUsername() + "退回了参数" + StringUtils.join(nioNumberList,",") + ",请及时处理。"; + String contentInfoFeiEn = "Hello! " + currentUser.getUsername() + " has returned the Parameter " + StringUtils.join(nioNumberList,",") + ". Please address it in a timely manner."; + //飞书消息(模板-20230410) + Map params = new HashMap<>(); + params.put("contentInfoFeiCn",contentInfoFeiCn); + params.put("contentInfoFeiEn",contentInfoFeiEn); + params.put("userIdList",userIdList); + params.put("projectCn",projectInfo.getProjectName()); + params.put("projectEn",projectInfo.getProjectNameEn()); + params.put("initiator",currentUser.getUsername()); + params.put("back_url_cn",hrefFeishuCn); + params.put("back_url_en",hrefFeishuEn); + feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_BACK.getValue(),params); + } catch (Exception e) { + log.error("飞书消息推送失败"); + } + } else if (CollectManifestStateEnum.DRE_BACK.getValue().equals(state)) { + try { + List sysUserList = sysUserService.querySysUserByUserNameList(userNameList); + List sdtIdList = sysUserList.stream().map(SysUser::getId).collect(Collectors.toList()); + String contentInfoFeiCn = "您好," + currentUser.getUsername() + "退回了参数" + StringUtils.join(nioNumberList,",") + ",请及时处理。"; + String contentInfoFeiEn = "Hello! " + currentUser.getUsername() + " has returned the Parameter " + StringUtils.join(nioNumberList,",") + ". Please address it in a timely manner."; + + //飞书消息(模板-20230410) + Map params = new HashMap<>(); + params.put("contentInfoFeiCn",contentInfoFeiCn); + params.put("contentInfoFeiEn",contentInfoFeiEn); + params.put("userIdList",sdtIdList); + params.put("projectCn",projectInfo.getProjectName()); + params.put("projectEn",projectInfo.getProjectNameEn()); + params.put("initiator",currentUser.getUsername()); + params.put("back_url_cn",hrefFeishuCn); + params.put("back_url_en",hrefFeishuEn); + feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_BACK.getValue(),params); + } catch (Exception e) { + log.error("飞书消息推送失败"); } } @@ -2368,8 +2354,17 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsCollectManifestLogEOList = new ArrayList<>(); List updateEOList = new ArrayList<>(); + List nioNumberList = new ArrayList<>(); + List userNameList = new ArrayList<>(); for (int i = 0; i < paramsCollectManifestIdStr.length; i++) { ParamsCollectManifestEO paramsCollectManifestEO = getById(paramsCollectManifestIdStr[i]); + if(ObjectUtils.isNotEmpty(paramsCollectManifestEO) && StringUtils.isNotBlank(paramsCollectManifestEO.getNioNumber())){ + nioNumberList.add(paramsCollectManifestEO.getNioNumber()); + } + if(ObjectUtils.isNotEmpty(paramsCollectManifestEO) && StringUtils.isNotBlank(paramsCollectManifestEO.getDre())){ + userNameList.add(paramsCollectManifestEO.getDre()); + } + Integer state = Integer.parseInt(paramsCollectManifestEO.getState()); ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO(); @@ -2397,6 +2392,37 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl sysUserList = sysUserService.querySysUserByUserNameList(userNameList); + List userIdList = sysUserList.stream().map(SysUser::getId).collect(Collectors.toList()); + + String contentInfoFeiCn = "您参与填写的参数 " + StringUtils.join(nioNumberList,",") + " 已被 " + currentUser.getUsername() + " 撤回。"; + String contentInfoFeiEn = "The parameter " + StringUtils.join(nioNumberList,",") + " you filled in have been withdrawn by " + currentUser.getUsername(); + + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// //飞书消息(模板-20230410) + Map params = new HashMap<>(); + params.put("contentInfoFeiCn",contentInfoFeiCn); + params.put("contentInfoFeiEn",contentInfoFeiEn); + params.put("userIdList",userIdList); + params.put("projectCn",projectInfo.getProjectName()); + params.put("projectEn",projectInfo.getProjectNameEn()); + params.put("initiator",currentUser.getUsername()); + params.put("dueDate",""); + params.put("back_url_cn",hrefFeishuCn); + params.put("back_url_en",hrefFeishuEn); + feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_NO_DEADLINE.getValue(),params); + return updateBatchById(updateEOList); } @@ -2487,6 +2513,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImplthe link,"; - //String content = connectBuilder.substring(0, connectBuilder.toString().length()-1) + " and other parameter items, please enter the link to handle it."; - //String contentInfo = connectBuilder.substring(0, connectBuilder.toString().length()-1) + " and other parameter items, please enter " + href + " and fill in the relevant information."; - //String msgTitle = projectInfo.getProjectName() + ": You have a homo parameter task to complete"; + String urlParamsStrCn = parseUrlParams(paramsManifestEO,CutEnum.CN.getValue(),projectInfo.getProjectNameEn()); + String urlParamsStrEn = parseUrlParams(paramsManifestEO,CutEnum.EN.getValue(),projectInfo.getProjectNameEn()); + String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn; + String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn; // 发送系统消息 /*SysAnnouncement sysAnnouncement = new SysAnnouncement(); sysAnnouncement.setDelFlag("0"); @@ -2604,20 +2631,37 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl params = new HashMap<>(); + params.put("contentInfoFeiCn",contentInfoFeiCn); + params.put("contentInfoFeiEn",contentInfoFeiEn); + params.put("userIdList",Arrays.asList(sysUser.getId().split(","))); + params.put("projectCn",projectInfo.getProjectName()); + params.put("projectEn",projectInfo.getProjectNameEn()); + params.put("initiator",currentUser.getUsername()); + params.put("dueDate",sdf.format(deadline)); + params.put("back_url_cn",hrefFeishuCn); + params.put("back_url_en",hrefFeishuEn); + feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params); + + } catch (Exception e) { log.error("飞书消息推送失败"); } @@ -2643,6 +2687,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImplthe link,"; - //String contentInfo = connectBuilder.substring(0, connectBuilder.toString().length() - 1) + " and other parameter items, please enter " + href + " and fill in the relevant information."; - //String msgTitle = projectInfo.getProjectName() + ": You have a homo parameter task to complete"; - - // 发送系统消息 - /* SysAnnouncement sysAnnouncement = new SysAnnouncement(); - sysAnnouncement.setDelFlag("0"); - sysAnnouncement.setSendStatus("0"); - sysAnnouncement.setSendTime(new Date()); - sysAnnouncement.setMsgCategory(MessageTypeEnum.HOMO_TASK.getValue());//消息类型 - sysAnnouncement.setInitiator(currentUser.getUsername()); // 发起人 - sysAnnouncement.setMsgType(CommonConstant.MSG_TYPE_UESR);//指定用户 - sysAnnouncement.setTitile(msgTitle); - sysAnnouncement.setMsgContent(content); - sysAnnouncement.setMsgContentInfo(contentInfo); - sysAnnouncement.setUserIds(sysUser.getId()); - sysAnnouncementService.saveAnnouncement(sysAnnouncement); - - JSONObject obj = new JSONObject(); - obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC); - obj.put(WebsocketConst.MSG_ID, paramsManifestId); - obj.put(WebsocketConst.MSG_TXT, contentInfo); - webSocket.sendMessage(obj.toJSONString());*/ + String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn; + String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn; // 发送飞书消息 try { - FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); - feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn()); - feishuMsgVo.setCnContentUpper("您好,请及时分配参数填写人"); - feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() + - "\n发起人: " + currentUser.getUsername() + - "\n截止时间: " + sdf.format(deadline)); - feishuMsgVo.setEnContentUpper("Hello! Please assign the task of filling in Homo Parameter in a timely manner"); - feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() + - "\nInitiator: " + currentUser.getUsername() + - "\nDue Date: " + sdf.format(deadline)); - feishuMsgVo.setUrl(hrefFeishu); - feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 - feishuService.sendCard(thirdIds, feishuMsgVo); - } catch (IOException e) { +// FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); +// feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn()); +// feishuMsgVo.setCnContentUpper("您好,请及时分配参数填写人"); +// feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() + +// "\n发起人: " + currentUser.getUsername() + +// "\n截止时间: " + sdf.format(deadline)); +// feishuMsgVo.setEnContentUpper("Hello! Please assign the task of filling in Homo Parameter in a timely manner"); +// feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() + +// "\nInitiator: " + currentUser.getUsername() + +// "\nDue Date: " + sdf.format(deadline)); +// feishuMsgVo.setUrl(hrefFeishu); +// feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 +// feishuService.sendCard(thirdIds, feishuMsgVo); + + String contentInfoFeiCn = "您好,请及时分配参数填写人。"; + String contentInfoFeiEn = "Hello! Please assign the task of filling in Homo Parameter in a timely manner."; + + if(StringUtils.isNotBlank(paramsCollectManifestVO.getProjectId())){ + ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(paramsCollectManifestVO.getProjectId()); + String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 + String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 + // 获取法规清单 - 飞书跳转链接 + Map hrefFeishuMap = projectLawsInventoryEOService + .getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN, com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_ENGINEER.getValue()); + + + //飞书消息(模板-20230410) + Map params = new HashMap<>(); + params.put("contentInfoFeiCn",contentInfoFeiCn); + params.put("contentInfoFeiEn",contentInfoFeiEn); + params.put("userIdList",Arrays.asList(sysUser.getId().split(","))); + params.put("projectCn",projectInfo.getProjectName()); + params.put("projectEn",projectInfo.getProjectNameEn()); + params.put("initiator",currentUser.getUsername()); + params.put("dueDate",sdf.format(deadline)); + params.put("back_url_cn",hrefFeishuCn); + params.put("back_url_en",hrefFeishuEn); +// params.put("back_url_cn",(String)hrefFeishuMap.get("hrefFeishu_cn")); +// params.put("back_url_en",(String)hrefFeishuMap.get("hrefFeishu_en")); + feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params); + } + } catch (Exception e) { log.error("飞书消息推送失败"); } } @@ -2817,6 +2871,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl updateEOList = new ArrayList<>(); @@ -2921,7 +2976,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImplthe link,"; //String contentInfo = connectBuilder.substring(0, connectBuilder.toString().length() - 1) + " and other parameter items, please enter " + href + " and fill in the relevant information."; @@ -5132,13 +5187,12 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl list = findAllFieldsOfSelfAndSuperClass(clazz.getClass()); StringBuilder requestURL = new StringBuilder(); try { - boolean flag = true; String property, value, params; for (Field field : list) { @@ -5151,7 +5205,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl collectManifestEOS = paramsCollectManifestEOMapper.queryByParamManifestId(manifestEO.getId()); @@ -6570,9 +6629,20 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsCollectManifestLogEOList = new ArrayList<>(); LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + List nioNumberList = new ArrayList<>(); + List userNameList = new ArrayList<>(); for (int i = 0; i < paramsCollectManifestIdArr.length; i++) { String paramsCollectManifestId = paramsCollectManifestIdArr[i]; ParamsCollectManifestEO collectManifestEO = this.getById(paramsCollectManifestId); + if(ObjectUtils.isNotEmpty(collectManifestEO) && StringUtils.isNotBlank(collectManifestEO.getNioNumber())){ + nioNumberList.add(collectManifestEO.getNioNumber()); + } + if(ObjectUtils.isNotEmpty(collectManifestEO) && StringUtils.isNotBlank(collectManifestEO.getSdt())){ + userNameList.add(collectManifestEO.getSdt()); + } + if(ObjectUtils.isNotEmpty(collectManifestEO) && StringUtils.isNotBlank(collectManifestEO.getDre())){ + userNameList.add(collectManifestEO.getDre()); + } // 如果数据状态为 "已同步上报库",不予处理 if (StringUtils.equals(collectManifestEO.getState(), CollectManifestStateEnum.SYNC_REPORT.getValue())) { continue; @@ -6633,6 +6703,38 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl sysUserList = sysUserService.querySysUserByUserNameList(userNameList); + List userIdList = sysUserList.stream().map(SysUser::getId).collect(Collectors.toList()); + + String contentInfoFeiCn = "您参与填写的参数 " + StringUtils.join(nioNumberList,",") + " 已被 " + currentUser.getUsername() + " 撤回。"; + String contentInfoFeiEn = "The parameter " + StringUtils.join(nioNumberList,",") + " you filled in have been withdrawn by " + currentUser.getUsername(); + + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// //飞书消息(模板-20230410) + Map params = new HashMap<>(); + params.put("contentInfoFeiCn",contentInfoFeiCn); + params.put("contentInfoFeiEn",contentInfoFeiEn); + params.put("userIdList",userIdList); + params.put("projectCn",projectInfo.getProjectName()); + params.put("projectEn",projectInfo.getProjectNameEn()); + params.put("initiator",currentUser.getUsername()); + params.put("dueDate",""); + params.put("back_url_cn",hrefFeishuCn); + params.put("back_url_en",hrefFeishuEn); + feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_NO_DEADLINE.getValue(),params); + + return Result.OK("强制撤回成功!"); } @@ -6651,6 +6753,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl updateEOList = new ArrayList<>(); @@ -6700,7 +6803,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> paramsCollectManifestMapList, ParamsManifestEO paramsManifestEO, ParamsManifestVO projectInfo, String dre, Date deadline) { + public void sendChangeMessage(List> paramsCollectManifestMapList, + ParamsManifestEO paramsManifestEO, ParamsManifestVO projectInfo, + String dre, Date deadline) { LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (CollectionUtils.isNotEmpty(paramsCollectManifestMapList)) { // 工程接口人 @@ -6720,16 +6825,23 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl params = new HashMap<>(); + params.put("contentInfoFeiCn",cnContentUpper); + params.put("contentInfoFeiEn",enContentUpper); + params.put("userIdList",Arrays.asList(sysUser.getId().split(","))); + params.put("projectCn",projectInfo.getProjectName()); + params.put("projectEn",projectInfo.getProjectNameEn()); + params.put("initiator",currentUser.getUsername()); + params.put("back_url_cn",hrefFeishuCn); + params.put("back_url_en",hrefFeishuEn); + params.put("dueDate",sdf.format(deadline)); + feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params); + + } catch (Exception e) { log.error("飞书消息推送失败"); } } @@ -6770,9 +6898,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl params = new HashMap<>(); + params.put("contentInfoFeiCn",cnContentUpper); + params.put("contentInfoFeiEn",enContentUpper); + params.put("userIdList",Arrays.asList(sysUser.getId().split(","))); + params.put("projectCn",projectInfo.getProjectName()); + params.put("projectEn",projectInfo.getProjectNameEn()); + params.put("initiator",currentUser.getUsername()); + params.put("back_url_cn",hrefFeishuCn); + params.put("back_url_en",hrefFeishuEn); + params.put("dueDate",sdf.format(deadline)); + feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params); + + } catch (Exception e) { log.error("飞书消息推送失败"); } } @@ -6800,9 +6947,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl params = new HashMap<>(); + params.put("contentInfoFeiCn",contentInfoFeiCn); + params.put("contentInfoFeiEn",contentInfoFeiEn); + params.put("userIdList",Arrays.asList(sysUser.getId().split(","))); + params.put("projectCn",projectInfo.getProjectName()); + params.put("projectEn",projectInfo.getProjectNameEn()); + params.put("initiator",currentUser.getUsername()); + params.put("dueDate",sdf.format(deadline)); + params.put("back_url_cn",hrefFeishuCn); + params.put("back_url_en",hrefFeishuEn); + feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params); + } catch (Exception e) { log.error("飞书消息推送失败"); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java index b042e0dff..5673e1662 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java @@ -830,11 +830,15 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); - targetMarket = getTargetMarket(cut, regionList, targetMarket); + targetMarketCn = getTargetMarket(CutEnum.CN.getValue(), regionList, targetMarket); + targetMarketEn = getTargetMarket(CutEnum.EN.getValue(), regionList, targetMarket); } - paramsManifestVO.setProjectName(paramsManifestVO.getProjectName() + "-" + targetMarket + "-" + projectVersion); // 项目名称加上 相关项目版本 + paramsManifestVO.setProjectName(paramsManifestVO.getProjectName() + "-" + targetMarketCn + "-" + projectVersion); // 项目名称加上 相关项目版本 + paramsManifestVO.setProjectNameEn(paramsManifestVO.getProjectNameEn() + "-" + targetMarketEn + "-" + projectVersion); // 项目名称加上 相关项目版本 return paramsManifestVO; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/vo/ParamsManifestVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/vo/ParamsManifestVO.java index 1ffbdaf53..d79b13693 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/vo/ParamsManifestVO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/vo/ParamsManifestVO.java @@ -14,6 +14,7 @@ public class ParamsManifestVO { private String title; private Integer version; private String projectName; + private String projectNameEn; private String targetMarket; private String projectId; private String state; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/enums/TemplateInfoEnum2.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/enums/TemplateInfoEnum2.java index 08698b578..c31389bcd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/enums/TemplateInfoEnum2.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/enums/TemplateInfoEnum2.java @@ -92,6 +92,29 @@ public enum TemplateInfoEnum2 { */ REGULATION_TECHNICAL_ASSESSMENT("法规技术评估","ctp_AArfYGLozU47","Regulation Technical Assessment"), + /** + * 认证参数收集-绿色 + */ + HOMO_PARAMETER_COLLECTION_GREEN("认证参数收集","ctp_AArfOz40GZbO","Homo Parameter Collection"), + + /** + * 认证参数收集-红色 + */ + HOMO_PARAMETER_COLLECTION_RED("认证参数收集","ctp_AArY524rQ7Be","Homo Parameter Collection"), + + /** + * 认证参数收集-不含截止时间 + */ + HOMO_PARAMETER_COLLECTION_NO_DEADLINE("认证参数收集","ctp_AArf8fDcmoHs","Homo Parameter Collection"), + + /** + * 认证参数收集-退回 + */ + HOMO_PARAMETER_COLLECTION_BACK("认证参数收集","ctp_AArfMfqLZlqQ","Homo Parameter Collection"), + + + + ; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/IFeishuService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/IFeishuService.java index 59dec80b4..53494a3a1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/IFeishuService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/IFeishuService.java @@ -152,4 +152,11 @@ public interface IFeishuService { */ void sendMessageRegulationOpinionCollection(String templeteId,Map params); + /** + * 飞书消息模板--认证参数收集(主题颜色为红色或绿色) + * @param templeteId + * @param params + */ + void sendMessageHomoParameterCollection(String templeteId,Map params); + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java index 7315a234c..6b0261dc1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java @@ -1473,6 +1473,11 @@ public class FeishuServiceImpl implements IFeishuService { } } + /** + * 飞书消息模板--法规预警 + * @param templeteId + * @param params + */ @Override public void sendMessageLawsWarn(String templeteId, Map params) { List userIdList = (List) params.get("userIdList"); @@ -1516,6 +1521,11 @@ public class FeishuServiceImpl implements IFeishuService { } } + /** + * 飞书消息模板--法规意见收集和法规技术评估 + * @param templeteId + * @param params + */ @Override public void sendMessageRegulationOpinionCollection(String templeteId, Map params) { List userIdList = (List) params.get("userIdList"); @@ -1563,7 +1573,55 @@ public class FeishuServiceImpl implements IFeishuService { log.error("飞书消息推送失败"); } } + } + /** + * 飞书消息模板--认证参数收集(主题颜色为红色或绿色) + * @param templeteId + * @param params + */ + @Override + public void sendMessageHomoParameterCollection(String templeteId, Map params) { + List userIdList = (List) params.get("userIdList"); + if (CollectionUtils.isNotEmpty(userIdList)) { + List userInfoList = this.sysUserService.querySysUserListByIdList(userIdList); + + String contentCn = (String) params.get("contentInfoFeiCn"); + String contentEn = (String) params.get("contentInfoFeiEn"); + String back_url_cn = (String) params.get("back_url_cn"); + String back_url_en = (String) params.get("back_url_en"); + String projectCn = (String) params.get("projectCn"); + String projectEn = (String) params.get("projectEn"); + String initiator = (String) params.get("initiator"); +// String initiatorEn = (String) params.get("initiatorEn"); + String dueDate = (String) params.get("dueDate"); + try { + for (String userId : userIdList) { + String thirdId = this.sysUserService.getUserThirdIdByUserId(userInfoList,userId); + if(StringUtils.isNotEmpty(thirdId)){ + // 根据结束时间进行排序,获取最近的时间,发消息时使用。 + JSONObject larkMesJson = new JSONObject(); + larkMesJson.put("template_id", templeteId); + larkMesJson.put("userIds",thirdId); + Map templateVariableMap = new HashMap<>(); + templateVariableMap.put("contentInfoFeiCn",contentCn); + templateVariableMap.put("contentInfoFeiEn",contentEn); + templateVariableMap.put("view_url_cn",back_url_cn); + templateVariableMap.put("view_url_en",back_url_en); + templateVariableMap.put("projectCn"," " + projectCn); + templateVariableMap.put("projectEn"," " + projectEn); + templateVariableMap.put("initiator"," " + initiator); +// templateVariableMap.put("initiatorEn",initiatorEn); + templateVariableMap.put("dueDate"," " + dueDate); + + larkMesJson.put("templateVariableMap",templateVariableMap); + batchSendLarkCardMsgByTemplate2(larkMesJson); + } + } + } catch (Exception e) { + log.error("飞书消息推送失败"); + } + } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/JumpLinkEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/JumpLinkEnum.java index 651d15973..b93669d80 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/JumpLinkEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/JumpLinkEnum.java @@ -27,6 +27,13 @@ public enum JumpLinkEnum { PROBLEM_KNOWLEDGE_BASE_DETAIL("问题知识库,详情页","","/problemKnowledgeBaseView",""), PROBLEM_KNOWLEDGE_BASE("问题知识库,列表页","","/problemknowledgeBase",""), + + + //认证参数收集,认证工程师发起,工程接口人接收 +// PROBLEM_KNOWLEDGE_BASE("问题知识库,列表页","","/problemknowledgeBase",""), + + + ; diff --git a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue index 3b66129d8..06616847b 100644 --- a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue +++ b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue @@ -2216,7 +2216,12 @@ _array.push(item.id) }) let _this = this - let param = { ids: _array.join(',') } + let param = { + ids: _array.join(',') , + paramsManifestId:this.$route.query.id, + projectId:this.$route.query.projectId, + + } let url = '' if (this.currentPersonRole == 'homo') { url = '/jero-boot/params/collectManifest/mandatoryWithdraw'