From 13cf7620d99f36d534790ffdc41c1d15c882b331 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Thu, 30 Jun 2022 15:02:46 +0800 Subject: [PATCH] =?UTF-8?q?=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=E5=AE=9A=E6=97=B6=E5=99=A8=EF=BC=9A?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=97=A5=E6=9C=9F=E5=A4=A7=E4=BA=8E=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=88=AA=E6=AD=A2=E6=97=A5=E6=9C=9F=EF=BC=8C=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=8F=90=E4=BA=A4=E6=9C=AA=E6=8F=90=E4=BA=A4=E7=9A=84?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BB=A5=E5=8F=8A=E6=9B=B4=E6=96=B0=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/GatherResultEnum.java | 4 +- .../job/LawsOpinionGatherJob.java | 64 +++++++++++++++++++ .../feginClient/WorkFlowFeignClient.java | 2 + 3 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/enums/GatherResultEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/enums/GatherResultEnum.java index 777f4ed77..ef0721ab5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/enums/GatherResultEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/enums/GatherResultEnum.java @@ -8,8 +8,8 @@ import org.apache.commons.lang3.StringUtils; */ public enum GatherResultEnum { - UNDERWAY("进行中","underway","underway"), - COMPLETED("已完成","completed","completed"), + UNDERWAY("进行中","Underway","Underway"), + COMPLETED("已完成","Completed","Completed"), ; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java new file mode 100644 index 000000000..64c64e77f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java @@ -0,0 +1,64 @@ +package com.jero.modules.lawsOpinionGather.job; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.api.vo.Result; +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.wkflow.feginClient.WorkFlowFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import org.jeecg.modules.jmreport.common.constant.CommonConstant; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 法规意见收集表 - 定时器 + * 作用:当前日期大于等于截止日志的时候,把该数据的收集结果,更新为已完成,同时把当前这条数据的所有待办任务提交 + */ +@Slf4j +public class LawsOpinionGatherJob implements Job { + + @Autowired + private ILawsOpinionGatherEOService lawsOpinionGatherEOService; + @Autowired + private WorkFlowFeignClient workFlowFeignClient; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + log.info("法规意见收集流程,定时任务开启 ====================================================="); + QueryWrapper lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>(); + lawsOpinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult, GatherResultEnum.UNDERWAY.getValue()); + List lawsOpinionGatherEOList = this.lawsOpinionGatherEOService.list(lawsOpinionGatherEOQueryWrapper); + if (CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)) { + Date currentDate = new Date(); + List updateLawsOpinionGatherEOList = lawsOpinionGatherEOList.stream().filter(e -> { + boolean flag = false; + if(currentDate.after(e.getEndTime())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(updateLawsOpinionGatherEOList)){ + List actiProcInstIdList = updateLawsOpinionGatherEOList.stream().map(LawsOpinionGatherEO::getActiProcInstId).distinct().collect(Collectors.toList()); + String actiProcInstIds = StringUtils.join(actiProcInstIdList,","); + //将这些流程实例下的待办任务提交 + Result result = this.workFlowFeignClient.completeTaskByPids(actiProcInstIds); + if(result.getCode().equals(CommonConstant.SC_OK_200)){ + updateLawsOpinionGatherEOList.forEach(lawsOpinionGatherEO -> { + lawsOpinionGatherEO.setGatherResult(GatherResultEnum.COMPLETED.getValue()); + }); + this.lawsOpinionGatherEOService.updateBatchById(updateLawsOpinionGatherEOList); + } + } + } + log.info("法规意见收集流程,定时任务开启 ====================================================="); + } +} 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 54850b646..f6a1f8a0a 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 @@ -135,4 +135,6 @@ public interface WorkFlowFeignClient { @RequestMapping(value = "/bat-wkflow/task/queryProcessHistoryByPrcId",method = RequestMethod.GET) List> queryProcessHistoryByPrcId(@RequestParam("prcId") String prcId, @RequestParam("cut") String cut,@RequestParam("prcType") String prcType,@RequestParam(value="sortWord",required = false)String sortWord, @RequestParam(value="shunxu",required = false) String shunxu); + @RequestMapping(value = "/bat-wkflow/task/completeTaskByPids",method = RequestMethod.GET) + Result completeTaskByPids(@RequestParam("actiProcInstIds") String actiProcInstIds); }