From d7be39abe62f8fe8802a1cd1c0abc929bb5bb32a Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Thu, 14 Jul 2022 11:09:30 +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=E5=AF=B9=E6=8E=A5=E3=80=82=20=E6=B3=95=E8=A7=84?= =?UTF-8?q?=E6=8A=80=E6=9C=AF=E8=AF=84=E4=BC=B0=E5=88=B0=E8=BE=BE=E6=88=AA?= =?UTF-8?q?=E6=AD=A2=E6=97=A5=E6=9C=9F=E5=AE=9A=E6=97=B6=E5=99=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/LawsProcessHistoryEOServiceImpl.java | 9 ++- .../LawsTechnologyEvaluationEOController.java | 2 +- .../job/LawsTechnologyEvaluationJob.java | 80 +++++++++++++++++++ .../job/LawsTechnologyEvaluationNodeEnum.java | 63 +++++++++++++++ ...LawsTechnologyEvaluationEOServiceImpl.java | 11 +-- .../processForm/evaluationProcess/index.vue | 3 +- 6 files changed, 154 insertions(+), 14 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationNodeEnum.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsProcessHistoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsProcessHistoryEOServiceImpl.java index a8e64f79f..0196e3a53 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsProcessHistoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsProcessHistoryEOServiceImpl.java @@ -11,10 +11,12 @@ import com.jero.modules.lawsOpinionGather.enums.LawsOpinionGatherNodeEnum; import com.jero.modules.lawsOpinionGather.enums.OperatorRoleCodeEnum; import com.jero.modules.lawsOpinionGather.mapper.LawsProcessHistoryEOMapper; import com.jero.modules.lawsOpinionGather.service.ILawsProcessHistoryEOService; +import com.jero.modules.lawsTechnologyEvaluation.job.LawsTechnologyEvaluationNodeEnum; import com.jero.modules.project.enums.OperatorTypeEnum; import com.jero.modules.project.enums.RequestSourceEnum; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; +import com.jero.modules.wkflow.enums.FlowTypeEnum; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -120,9 +122,12 @@ public class LawsProcessHistoryEOServiceImpl extends ServiceImpl> importItemExcel(MultipartFile file, @RequestParam(name = "cut") String cut, HttpServletRequest request) throws Exception { List> result = this.lawsTechnologyEvaluationEOService.importItemExcel(file,cut,request); return result; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java new file mode 100644 index 000000000..43d11a9a9 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java @@ -0,0 +1,80 @@ +package com.jero.modules.lawsTechnologyEvaluation.job; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.api.vo.Result; +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.wkflow.feginClient.WorkFlowFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +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 LawsTechnologyEvaluationJob implements Job { + + @Autowired + private ILawsTechnologyEvaluationEOService lawsTechnologyEvaluationEOService; + @Autowired + private ILawsTechnologyEvaluationFlowDetailEOService lawsTechnologyEvaluationFlowDetailEOService; + @Autowired + private WorkFlowFeignClient workFlowFeignClient; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + log.info("法规技术评估流程,定时任务开启 ====================================================="); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus, GatherResultEnum.UNDERWAY.getValue()); + List lawsTechnologyEvaluationEOList = this.lawsTechnologyEvaluationEOService.list(queryWrapper); + + if (CollectionUtils.isNotEmpty(lawsTechnologyEvaluationEOList)) { + Date currentDate = new Date(); + //过滤截止日期小于当前日期的法规技术评估数据 + List updateLawsTechnologyEvaluationEOList = lawsTechnologyEvaluationEOList.stream().filter(e -> { + boolean flag = false; + if(currentDate.after(e.getEndTime())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(updateLawsTechnologyEvaluationEOList)){ + List lawsTechnologyEvaluationIdList = updateLawsTechnologyEvaluationEOList.stream().map(LawsTechnologyEvaluationEO::getId).distinct().collect(Collectors.toList()); + + //获取这些法规技术评估数据的下级流程明细数据。 + QueryWrapper flowDetailEOQueryWrapper = new QueryWrapper<>(); + flowDetailEOQueryWrapper.lambda().in(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId,lawsTechnologyEvaluationIdList); + List lawsTechnologyEvaluationFlowDetailEOList = lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailEOQueryWrapper); + + if(CollectionUtils.isNotEmpty(lawsTechnologyEvaluationFlowDetailEOList)){ + String actiProcInstIds = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(",")); + Result result = this.workFlowFeignClient.completeTaskByPids(actiProcInstIds); + if(result.getCode().equals(CommonConstant.SC_OK_200)){ + updateLawsTechnologyEvaluationEOList.forEach(lawsTechnologyEvaluationEO -> { + lawsTechnologyEvaluationEO.setFlowStatus(GatherResultEnum.COMPLETED.getValue()); + }); + this.lawsTechnologyEvaluationEOService.updateBatchById(updateLawsTechnologyEvaluationEOList); + } + } + + } + } + + log.info("法规技术评估流程,定时任务结束 ====================================================="); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationNodeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationNodeEnum.java new file mode 100644 index 000000000..745cb58d4 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationNodeEnum.java @@ -0,0 +1,63 @@ +package com.jero.modules.lawsTechnologyEvaluation.job; + +import com.alibaba.druid.util.StringUtils; +import com.jero.common.constant.enums.CutEnum; + +/** + * 法规技术评估 节点枚举类 + */ +public enum LawsTechnologyEvaluationNodeEnum { + + ENGINEER_INITIATED("fggcsfq","法规工程师发起","Engineer initiated"), + APPRAISERS_EVALUATION("pgrqr","评估人评估","Appraiser's evaluation"), + SPONSOR_REVIEW("fqrsc","发起人审查","Sponsor review"), + ; + + String key; + String cnName; + String enName; + + private LawsTechnologyEvaluationNodeEnum(String key, String cnName, String enName) { + this.key = key; + this.cnName = cnName; + this.enName = enName; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getCnName() { + return cnName; + } + + public void setCnName(String cnName) { + this.cnName = cnName; + } + + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public static String getTextByValue(String key,String cut) { + LawsTechnologyEvaluationNodeEnum[] values = values(); + for (LawsTechnologyEvaluationNodeEnum lawsOpinionGatherNodeEnum : values) { + if (lawsOpinionGatherNodeEnum.key.equals(key)) { + if(StringUtils.equals(cut, CutEnum.CN.getValue())){ + return lawsOpinionGatherNodeEnum.cnName; + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + return lawsOpinionGatherNodeEnum.enName; + } + } + } + return null; + } +} 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 08d0b962b..f621b8719 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 @@ -336,13 +336,6 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl { if (res.success) { this.complianceResult = res.result.complianceResult || {}