From ffda1d0f8d3c79966d576cf007c5a661f59bef3d Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Fri, 4 Nov 2022 14:33:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=8A=80=E6=9C=AF=E8=AF=84?= =?UTF-8?q?=E4=BC=B0=E8=B7=B3=E8=BD=AC=E8=B7=AF=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsTechnologyEvaluationRemindJob.java | 43 ++-- ...echnologyEvaluationFlowDetailEOMapper.java | 3 +- ...TechnologyEvaluationFlowDetailEOMapper.xml | 2 +- ...LawsTechnologyEvaluationEOServiceImpl.java | 191 +++++++++++++++--- .../feginClient/WorkFlowFeignClient.java | 5 + 5 files changed, 193 insertions(+), 51 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationRemindJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationRemindJob.java index e2cdfab4b..e63518c3f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationRemindJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationRemindJob.java @@ -19,10 +19,7 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -104,13 +101,18 @@ public class LawsTechnologyEvaluationRemindJob implements Job { }).map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(",")); if(StringUtils.isNotEmpty(actiProcInstIds)){ - List userIdList = this.workFlowFeignClient.getTaskAssigneeListByPrcIds(actiProcInstIds); - if(CollectionUtils.isNotEmpty(userIdList)){ - JSONObject sendJsonObject = new JSONObject(); - sendJsonObject.put("msgType", MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_THREE_DAYS_BEFORE_MSG.getValue()); - sendJsonObject.put("lawsTechnologyEvaluationId",lawsTechnologyEvaluationEO.getId()); - sendJsonObject.put("userIdList",userIdList); - this.lawsTechnologyEvaluationEOService.workFlowSendMsg(sendJsonObject); + //List userIdList = this.workFlowFeignClient.getTaskAssigneeListByPrcIds(actiProcInstIds); + for (String actiProcInstId : actiProcInstIds.split(",")) { + Map map = this.workFlowFeignClient.getTaskInfo(actiProcInstId); + if (!map.isEmpty()) { + JSONObject sendJsonObject = new JSONObject(); + sendJsonObject.put("msgType", MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_THREE_DAYS_BEFORE_MSG.getValue()); + sendJsonObject.put("lawsTechnologyEvaluationId",lawsTechnologyEvaluationEO.getId()); + sendJsonObject.put("userId",map.get("userId")); + sendJsonObject.put("taskId",map.get("taskId")); + sendJsonObject.put("taskDefKey",map.get("taskDefKey")); + this.lawsTechnologyEvaluationEOService.workFlowSendMsg(sendJsonObject); + } } } } else if (endTime.equals(now)){ @@ -124,13 +126,18 @@ public class LawsTechnologyEvaluationRemindJob implements Job { }).map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(",")); if(StringUtils.isNotEmpty(actiProcInstIds)){ - List userIdList = this.workFlowFeignClient.getTaskAssigneeListByPrcIds(actiProcInstIds); - if(CollectionUtils.isNotEmpty(userIdList)){ - JSONObject sendJsonObject = new JSONObject(); - sendJsonObject.put("msgType", MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_TODAY_MSG.getValue()); - sendJsonObject.put("lawsTechnologyEvaluationId",lawsTechnologyEvaluationEO.getId()); - sendJsonObject.put("userIdList",userIdList); - this.lawsTechnologyEvaluationEOService.workFlowSendMsg(sendJsonObject); + //List userIdList = this.workFlowFeignClient.getTaskAssigneeListByPrcIds(actiProcInstIds); + for (String actiProcInstId : actiProcInstIds.split(",")) { + Map map = this.workFlowFeignClient.getTaskInfo(actiProcInstId); + if (!map.isEmpty()) { + JSONObject sendJsonObject = new JSONObject(); + sendJsonObject.put("msgType", MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_TODAY_MSG.getValue()); + sendJsonObject.put("lawsTechnologyEvaluationId",lawsTechnologyEvaluationEO.getId()); + sendJsonObject.put("userId",map.get("userId")); + sendJsonObject.put("taskId",map.get("taskId")); + sendJsonObject.put("taskDefKey",map.get("taskDefKey")); + this.lawsTechnologyEvaluationEOService.workFlowSendMsg(sendJsonObject); + } } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/LawsTechnologyEvaluationFlowDetailEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/LawsTechnologyEvaluationFlowDetailEOMapper.java index f2c103e1f..aee4a72d2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/LawsTechnologyEvaluationFlowDetailEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/LawsTechnologyEvaluationFlowDetailEOMapper.java @@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface LawsTechnologyEvaluationFlowDetailEOMapper extends BaseMapper { - LawsTechnologyEvaluationFlowDetailEO queryByEvaluationId(@Param("lawsTechnologyEvaluationId") String lawsTechnologyEvaluationId); + LawsTechnologyEvaluationFlowDetailEO queryByEvaluationId(@Param("lawsTechnologyEvaluationId") String lawsTechnologyEvaluationId, + @Param("evaluator") String evaluator); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/xml/LawsTechnologyEvaluationFlowDetailEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/xml/LawsTechnologyEvaluationFlowDetailEOMapper.xml index c1fdf969b..a3c8145e4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/xml/LawsTechnologyEvaluationFlowDetailEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/xml/LawsTechnologyEvaluationFlowDetailEOMapper.xml @@ -17,7 +17,7 @@ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java index 39dfd81ee..8c0810429 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java @@ -623,17 +623,18 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl userIdList = new ArrayList<>(); - + String taskId = jsonObject.getString("taskId"); + //飞书跳转链接 + String hrefFeishu = ""; //String msgContentEN = ""; //String msgTitle = ""; String initiator = ""; String lawsTechnologyEvaluationId = jsonObject.getString("lawsTechnologyEvaluationId"); LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO = queryById(lawsTechnologyEvaluationId); - //LawsTechnologyEvaluationFlowDetailEO flowDetailEO = flowDetailEOMapper.queryByEvaluationId(lawsTechnologyEvaluationId); + //String number = flowDetailEO.getPrcNum(); //String name = flowDetailEO.getPrcName(); String endTime = new SimpleDateFormat("yyyy-MM-dd").format(lawsTechnologyEvaluationEO.getEndTime()); - //英文标题 BussDocumentLibraryEO bussDocumentLibraryEO = bussDocumentLibraryEOService.queryById(lawsTechnologyEvaluationEO.getStandId()); @@ -643,7 +644,7 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, currentUserId)); - userIdList.add(jsonObject.getString("initiatorUserId")); + //userIdList.add(jsonObject.getString("initiatorUserId")); //XXX(人员账号)已提交GB 7258 的法规意见收集流程,请及时查看审核。 //msgContentEN = currentUser.getUsername() + " has submitted the collection process of Regulatory and technical assessment of "+serialNumber+", Please check and address it in time."; //msgTitle = "You have a Regulatory and technical assessment task to complete"; initiator = currentUser.getUsername(); - cnContentUpper = "您好,"+ currentUser.getUsername() +"已提交评估结果,请审核"; + cnContentUpper = "您好,"+ initiator +"已提交评估结果,请审核"; cnContentLower = "编号:" + lawsTechnologyEvaluationEO.getSerialNumber() + "\n标题: " + lawsTechnologyEvaluationEO.getTitle() + "\n发起人: " + initiator + "\n截止时间: " + endTime; - enContentUpper = "Hello! "+ currentUser.getUsername() +" has submitted the assessment result. Please review it"; + enContentUpper = "Hello! "+ initiator +" has submitted the assessment result. Please review it"; enContentLower = "Regulation No :" + lawsTechnologyEvaluationEO.getSerialNumber() + "\nTitle: " + bussDocumentLibraryEO.getTitleEn() + "\nInitiator: " + initiator + "\nDue Date: " + endTime; + + LawsTechnologyEvaluationFlowDetailEO flowDetailEO = flowDetailEOMapper.queryByEvaluationId(lawsTechnologyEvaluationId,jsonObject.getString("evaluators")); + if (ObjectUtils.isNotEmpty(flowDetailEO)) { + hrefFeishu = backUrl + "/evaluationProcess?taskDefinitionKey=fqrsc&taskIds="+ taskId +"&prcType=6&prcNum="+ flowDetailEO.getPrcNum() +"&prcId="+ flowDetailEO.getActiProcInstId() +"&router=%2FregulatoryAssessmentTasks&isDisabled=false"; + + String[] thirdId = new String[1]; + SysUser sysUser = sysUserService.getById(jsonObject.getString("evaluators")); + if (ObjectUtils.isNotEmpty(sysUser)) { + thirdId[0] = sysUser.getThirdId(); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(title); + feishuMsgVo.setCnContentUpper(cnContentUpper); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper(enContentUpper); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdId, feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + + + }else if(StringUtils.equals(msgType, MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_AUDIT_ACCEPTED_MSG.getValue())){ - userIdList.add(jsonObject.getString("evaluationId")); + //userIdList.add(jsonObject.getString("evaluationId")); //您提交的GB 7258 的法规技术评估流程已通过。 //msgContentEN = "The regulatory and technical assessment process for "+serialNumber+" you submitted has passed."; //msgTitle = "You have a Regulatory and technical assessment task completed"; @@ -701,8 +757,33 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl) jsonObject.get("userIdList"); + + LawsTechnologyEvaluationFlowDetailEO flowDetailEO = flowDetailEOMapper.queryByEvaluationId(lawsTechnologyEvaluationId,jsonObject.getString("userId")); + if (ObjectUtils.isNotEmpty(flowDetailEO)) { + hrefFeishu = backUrl + "/evaluationProcess?taskDefinitionKey="+ jsonObject.getString("taskDefKey") +"&taskIds="+ taskId +"&prcType=6&prcNum="+ flowDetailEO.getPrcNum() +"&prcId="+ flowDetailEO.getActiProcInstId() +"&router=%2FregulatoryAssessmentTasks&isDisabled=false"; + String[] thirdId = new String[1]; + SysUser sysUser = sysUserService.getById(jsonObject.getString("userId")); + if (ObjectUtils.isNotEmpty(sysUser)) { + thirdId[0] = sysUser.getThirdId(); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(title); + feishuMsgVo.setCnContentUpper(cnContentUpper); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper(enContentUpper); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdId, feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } } else if (StringUtils.equals(msgType, MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_TODAY_MSG.getValue())) { cnContentUpper = "您好,该任务将于今天到期,请尽快查看处理,谢谢!"; @@ -739,7 +866,29 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl) jsonObject.get("userIdList"); + + LawsTechnologyEvaluationFlowDetailEO flowDetailEO = flowDetailEOMapper.queryByEvaluationId(lawsTechnologyEvaluationId,jsonObject.getString("userId")); + if (ObjectUtils.isNotEmpty(flowDetailEO)) { + hrefFeishu = backUrl + "/evaluationProcess?taskDefinitionKey="+ jsonObject.getString("taskDefKey") +"&taskIds="+ taskId +"&prcType=6&prcNum="+ flowDetailEO.getPrcNum() +"&prcId="+ flowDetailEO.getActiProcInstId() +"&router=%2FregulatoryAssessmentTasks&isDisabled=false"; + String[] thirdId = new String[1]; + SysUser sysUser = sysUserService.getById(jsonObject.getString("userId")); + if (ObjectUtils.isNotEmpty(sysUser)) { + thirdId[0] = sysUser.getThirdId(); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(title); + feishuMsgVo.setCnContentUpper(cnContentUpper); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper(enContentUpper); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdId, feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } } /*else if (StringUtils.equals(msgType, MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_MSG.getValue())) { userIdList = (List) jsonObject.get("userIdList"); @@ -750,26 +899,6 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl thirdIdList = new ArrayList<>(); - List sysUsers = sysUserService.listByIds(userIdList); - if (ObjectUtils.isNotEmpty(sysUsers)) { - thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); - } - //飞书跳转链接 - String hrefFeishu = backUrl + JumpLinkEnum.FGPG_TODO_CENTER_LINK.getLink(); - try { - FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); - feishuMsgVo.setTitle(title); - feishuMsgVo.setCnContentUpper(cnContentUpper); - feishuMsgVo.setCnContentLower(cnContentLower); - feishuMsgVo.setEnContentUpper(enContentUpper); - feishuMsgVo.setEnContentLower(enContentLower); - feishuMsgVo.setUrl(hrefFeishu); - feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 - feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); - } catch (IOException e) { - log.error("飞书消息推送失败"); - } //系统内部跳转链接 //String href = "" + " View details" + ""; //String contentInfo = msgContentEN + " " + href; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java index 28a479a45..32b08b47e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java @@ -198,4 +198,9 @@ public interface WorkFlowFeignClient { */ @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/dispostHistoryBusProcessNewData",method = RequestMethod.GET) Result dispostHistoryBusProcessNewData(); + + @RequestMapping(value = "/bat-wkflow/task/getTaskInfo",method = RequestMethod.GET) + Map getTaskInfo(@RequestParam("actiProcInstId") String actiProcInstId); + + }