From 7d6358bc87e985f53d7ed9980c14415e1f7e0963 Mon Sep 17 00:00:00 2001 From: wangzhijiang Date: Fri, 2 Sep 2022 13:22:28 +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=E3=80=81=E6=B3=95=E8=A7=84=E6=84=8F=E8=A7=81=E6=94=B6?= =?UTF-8?q?=E9=9B=86=E6=B5=81=E7=A8=8B=EF=BC=8C=E6=B6=88=E6=81=AF=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E5=99=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../job/LawsOpinionGatherRemindJob.java | 70 +++++++++++++++ .../LawsTechnologyEvaluationRemindJob.java | 87 +++++++++++++++++++ .../feginClient/WorkFlowFeignClient.java | 3 + 3 files changed, 160 insertions(+) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherRemindJob.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationRemindJob.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherRemindJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherRemindJob.java new file mode 100644 index 000000000..9bbfc9b96 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherRemindJob.java @@ -0,0 +1,70 @@ +package com.jero.modules.lawsOpinionGather.job; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO; +import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum; +import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService; +import com.jero.modules.project.enums.MsgTypeEnum; +import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +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; + +/** + * 法规意见收集表 - 定时器 + * 作用:数据还有一天过期时,给代办人发消息 + */ +@Slf4j +public class LawsOpinionGatherRemindJob implements Job { + @Autowired + private ILawsOpinionGatherEOService lawsOpinionGatherEOService; + @Autowired + private WorkFlowFeignClient workFlowFeignClient; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + //查询出收集结果为未完成的数据。 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult, GatherResultEnum.UNDERWAY.getValue()); + List lawsOpinionGatherEOList = this.lawsOpinionGatherEOService.list(queryWrapper); + if(CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + Date currentDate = new Date(); + + //获取后一天的时间 + Calendar calendar=new GregorianCalendar(); + calendar.setTime(new Date()); + calendar.add(Calendar.DATE,1); + Date nextDay = calendar.getTime(); + + String nextDayStr = sdf.format(nextDay); + + lawsOpinionGatherEOList.forEach(lawsOpinionGatherEO -> { + if(StringUtils.equals(nextDayStr,sdf.format(lawsOpinionGatherEO.getEndTime()))){ + List userIdList = this.workFlowFeignClient.getLawsOpinionGatherFlowAssigneeList(lawsOpinionGatherEO.getId()); + if(CollectionUtils.isNotEmpty(userIdList)){ + JSONObject sendJsonObject = new JSONObject(); + sendJsonObject.put("msgType", MsgTypeEnum.LAWS_OPOMOPM_GATHER_ENALUATOR_EXPIRE_REMIND_MSG.getValue()); + sendJsonObject.put("lawsOpinionGatherId",lawsOpinionGatherEO.getId()); + sendJsonObject.put("serialNumber",lawsOpinionGatherEO.getSerialNumber()); + sendJsonObject.put("userIdList",userIdList); + this.lawsOpinionGatherEOService.workFlowSendMsg(sendJsonObject); + } + } + }); + + } + } +} 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 new file mode 100644 index 000000000..66cc0531d --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationRemindJob.java @@ -0,0 +1,87 @@ +package com.jero.modules.lawsTechnologyEvaluation.job; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum; +import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; +import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO; +import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService; +import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService; +import com.jero.modules.project.enums.MsgTypeEnum; +import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +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.stream.Collectors; + +/** + * 法规技术评估 - 定时器 + * 作用:数据还有一天过期时,给代办人发消息 + */ +@Slf4j +public class LawsTechnologyEvaluationRemindJob implements Job { + @Autowired + private WorkFlowFeignClient workFlowFeignClient; + @Autowired + private ILawsTechnologyEvaluationEOService lawsTechnologyEvaluationEOService; + @Autowired + private ILawsTechnologyEvaluationFlowDetailEOService lawsTechnologyEvaluationFlowDetail; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus, GatherResultEnum.UNDERWAY.getValue()); + List LawsTechnologyEvaluationEOList = this.lawsTechnologyEvaluationEOService.list(queryWrapper); + if(CollectionUtils.isNotEmpty(LawsTechnologyEvaluationEOList)){ + List LawsTechnologyEvaluationIdList = LawsTechnologyEvaluationEOList.stream().map(LawsTechnologyEvaluationEO::getId).distinct().collect(Collectors.toList()); + + QueryWrapper detailQueryWrapper = new QueryWrapper<>(); + detailQueryWrapper.lambda().in(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId,LawsTechnologyEvaluationIdList); + List flowDetailList = this.lawsTechnologyEvaluationFlowDetail.list(detailQueryWrapper); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + //获取后一天的时间 + Calendar calendar=new GregorianCalendar(); + calendar.setTime(new Date()); + calendar.add(Calendar.DATE,1); + Date nextDay = calendar.getTime(); + + String nextDayStr = sdf.format(nextDay); + LawsTechnologyEvaluationEOList.forEach(lawsTechnologyEvaluationEO -> { + if(StringUtils.equals(nextDayStr,sdf.format(lawsTechnologyEvaluationEO.getEndTime()))){ + + String actiProcInstIds = flowDetailList.stream().filter(flowDetail -> { + boolean flag = false; + if (StringUtils.equals(lawsTechnologyEvaluationEO.getId(), flowDetail.getLawsTechnologyEvaluationId())) { + flag = true; + } + return flag; + }).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_MSG.getValue()); + sendJsonObject.put("lawsTechnologyEvaluationId",lawsTechnologyEvaluationEO.getId()); + sendJsonObject.put("serialNumber",lawsTechnologyEvaluationEO.getSerialNumber()); + sendJsonObject.put("userIdList",userIdList); + this.lawsTechnologyEvaluationEOService.workFlowSendMsg(sendJsonObject); + } + } + } + }); + } + } +} 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 add94d058..5cf557492 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 @@ -167,4 +167,7 @@ public interface WorkFlowFeignClient { @RequestMapping(value = "/bat-wkflow/task/getLawsOpinionGatherFlowAssigneeList",method = RequestMethod.GET) List getLawsOpinionGatherFlowAssigneeList(@RequestParam("lawsOpinionGatherId") String lawsOpinionGatherId); + + @RequestMapping(value = "/bat-wkflow/task/getTaskAssigneeListByPrcIds",method = RequestMethod.GET) + List getTaskAssigneeListByPrcIds(@RequestParam("actiProcInstIds") String actiProcInstIds); }