feat: 四个流程结束后的入库相关处理

- 移除了 ProcessCarEsApprovalEndListener、ProcessESRevisionEndListener、ProcessMachineEsApprovalEndListener 和 ProcessSpecialEsApprovalEndListener 类中的多余代码
- 删除了不再使用的 import 语句
- 将流程实例 ID 的获取和业务数据的查询逻辑简化
- 统一了不同审批类型结束后的处理逻辑,主要是发布企业标准
- 调整了企业标准的状态为“目前有效”
This commit is contained in:
2024-10-14 11:59:07 +08:00
parent 3bf0b349c9
commit af16e32228
4 changed files with 69 additions and 131 deletions
@@ -1,19 +1,17 @@
package com.jero.modules.activiti.process.carEsApproval.listener; package com.jero.modules.activiti.process.carEsApproval.listener;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.jero.modules.activiti.process.carEsApproval.entity.ProcessCarEsApproval;
import com.jero.modules.activiti.process.carEsApproval.service.CarEsApprovalService; import com.jero.modules.activiti.process.carEsApproval.service.CarEsApprovalService;
import com.jero.modules.activiti.process.common.enums.StandardStateEnum; import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionAdviceService;
import com.jero.modules.activiti.process.machineEsApproval.entity.ProcessMachineEsApproval;
import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.tag.enums.TableNameEnum; import com.jero.modules.tag.enums.TableNameEnum;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener; import org.activiti.engine.delegate.ExecutionListener;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -27,59 +25,31 @@ import java.util.Map;
public class ProcessCarEsApprovalEndListener implements ExecutionListener { public class ProcessCarEsApprovalEndListener implements ExecutionListener {
@Resource @Resource
private CarEsApprovalService esRevisionService; private CarEsApprovalService flowService;
@Resource
private EsRevisionAdviceService esAdviceService;
@Resource @Resource
private ILawsCommonService lawsCommonService; private ILawsCommonService lawsCommonService;
@Resource
private IOSSFileService ossFileService;
@Resource
private EsRevisionAdviceService revisionAdviceService;
@Value(value = "${jero.uploadType}")
private String uploadType;
@SneakyThrows @SneakyThrows
@Override @Override
public void notify(DelegateExecution delegateExecution) { public void notify(DelegateExecution delegateExecution) {
// // 获取流程实例Id // 获取流程实例Id
// String processInstanceId = delegateExecution.getProcessInstanceId(); String processInstanceId = delegateExecution.getProcessInstanceId();
// // 根据流程Id获取业务数据 // 根据流程Id获取业务数据
// LambdaQueryWrapper<ProcessSpecialEsApproval> revisionWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProcessCarEsApproval> revisionWrapper = new LambdaQueryWrapper<>();
// revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId); revisionWrapper.eq(ProcessCarEsApproval::getProcessInstanceId, processInstanceId);
// // 获取企标相关数据 // 获取企标相关数据
// ProcessSpecialEsApproval data = esRevisionService.getOne(revisionWrapper); ProcessCarEsApproval data = flowService.getOne(revisionWrapper);
// // 将数据转换为Map // 将数据转换为Map
// Map<String, Object> variables = transMap(data); Map<String, Object> variables = transMap(data);
// Date adviceDeadline = data.getAdviceDeadline(); // 发布企标
// if (adviceDeadline != null) { lawsCommonService.commonAdd(variables);
// // 制作征求意见稿
// String draftFileId = this.makeDraftFile(data);
// variables.put(FieldCommon.FILE_DRAFT_FOR_COMMENT, draftFileId);
// }
// // 发布企标
// String esId = lawsCommonService.commonAdd(variables);
// // 所有意见设置标准Id
// LambdaQueryWrapper<EsRevisionAdvice> adviceWrapper = new LambdaQueryWrapper<>();
// adviceWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId);
// List<EsRevisionAdvice> list = esAdviceService.list(adviceWrapper);
// if (!list.isEmpty()) {
// list.forEach(item -> item.setStandardId(esId));
// esAdviceService.updateBatchById(list);
// }
// // 更改企标计划状态
} }
private Map<String, Object> transMap(ProcessMachineEsApproval data) { private Map<String, Object> transMap(ProcessCarEsApproval data) {
Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class); Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class);
variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue()); variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue());
// 标准状态 // 标准状态
variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.SEEK_FOR_OPINIONS.getStateValue()); variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue());
String standardId = IdWorker.getIdStr(); String standardId = IdWorker.getIdStr();
variables.put(FieldCommon.ID, standardId); variables.put(FieldCommon.ID, standardId);
String onEditFile = data.getOnEditFile(); String onEditFile = data.getOnEditFile();
@@ -12,6 +12,7 @@ import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionAdvi
import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionService; import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionService;
import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.tag.enums.TableNameEnum; import com.jero.modules.tag.enums.TableNameEnum;
@@ -62,6 +63,9 @@ public class ProcessESRevisionEndListener implements ExecutionListener {
@Value(value = "${jero.uploadType}") @Value(value = "${jero.uploadType}")
private String uploadType; private String uploadType;
@Resource
private EnterpriseStandardPlanService planService;
@SneakyThrows @SneakyThrows
@Override @Override
public void notify(DelegateExecution delegateExecution) { public void notify(DelegateExecution delegateExecution) {
@@ -90,7 +94,6 @@ public class ProcessESRevisionEndListener implements ExecutionListener {
list.forEach(item -> item.setStandardId(esId)); list.forEach(item -> item.setStandardId(esId));
esAdviceService.updateBatchById(list); esAdviceService.updateBatchById(list);
} }
// 更改企标计划状态
} }
private Map<String, Object> transMap(ProcessEsRevision data) { private Map<String, Object> transMap(ProcessEsRevision data) {
@@ -1,19 +1,17 @@
package com.jero.modules.activiti.process.machineEsApproval.listener; package com.jero.modules.activiti.process.machineEsApproval.listener;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.jero.modules.activiti.process.common.enums.StandardStateEnum; import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionAdviceService;
import com.jero.modules.activiti.process.machineEsApproval.entity.ProcessMachineEsApproval; import com.jero.modules.activiti.process.machineEsApproval.entity.ProcessMachineEsApproval;
import com.jero.modules.activiti.process.machineEsApproval.service.MachineEsApprovalService; import com.jero.modules.activiti.process.machineEsApproval.service.MachineEsApprovalService;
import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.tag.enums.TableNameEnum; import com.jero.modules.tag.enums.TableNameEnum;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener; import org.activiti.engine.delegate.ExecutionListener;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -27,59 +25,32 @@ import java.util.Map;
public class ProcessMachineEsApprovalEndListener implements ExecutionListener { public class ProcessMachineEsApprovalEndListener implements ExecutionListener {
@Resource @Resource
private MachineEsApprovalService esRevisionService; private MachineEsApprovalService flowService;
@Resource
private EsRevisionAdviceService esAdviceService;
@Resource @Resource
private ILawsCommonService lawsCommonService; private ILawsCommonService lawsCommonService;
@Resource
private IOSSFileService ossFileService;
@Resource
private EsRevisionAdviceService revisionAdviceService;
@Value(value = "${jero.uploadType}")
private String uploadType;
@SneakyThrows @SneakyThrows
@Override @Override
public void notify(DelegateExecution delegateExecution) { public void notify(DelegateExecution delegateExecution) {
// // 获取流程实例Id // 获取流程实例Id
// String processInstanceId = delegateExecution.getProcessInstanceId(); String processInstanceId = delegateExecution.getProcessInstanceId();
// // 根据流程Id获取业务数据 // 根据流程Id获取业务数据
// LambdaQueryWrapper<ProcessSpecialEsApproval> revisionWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProcessMachineEsApproval> revisionWrapper = new LambdaQueryWrapper<>();
// revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId); revisionWrapper.eq(ProcessMachineEsApproval::getProcessInstanceId, processInstanceId);
// // 获取企标相关数据 // 获取企标相关数据
// ProcessSpecialEsApproval data = esRevisionService.getOne(revisionWrapper); ProcessMachineEsApproval data = flowService.getOne(revisionWrapper);
// // 将数据转换为Map // 将数据转换为Map
// Map<String, Object> variables = transMap(data); Map<String, Object> variables = transMap(data);
// Date adviceDeadline = data.getAdviceDeadline(); // 发布企标
// if (adviceDeadline != null) { lawsCommonService.commonAdd(variables);
// // 制作征求意见稿
// String draftFileId = this.makeDraftFile(data);
// variables.put(FieldCommon.FILE_DRAFT_FOR_COMMENT, draftFileId);
// }
// // 发布企标
// String esId = lawsCommonService.commonAdd(variables);
// // 所有意见设置标准Id
// LambdaQueryWrapper<EsRevisionAdvice> adviceWrapper = new LambdaQueryWrapper<>();
// adviceWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId);
// List<EsRevisionAdvice> list = esAdviceService.list(adviceWrapper);
// if (!list.isEmpty()) {
// list.forEach(item -> item.setStandardId(esId));
// esAdviceService.updateBatchById(list);
// }
// // 更改企标计划状态
} }
private Map<String, Object> transMap(ProcessMachineEsApproval data) { private Map<String, Object> transMap(ProcessMachineEsApproval data) {
Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class); Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class);
variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue()); variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue());
// 标准状态 // 标准状态
variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.SEEK_FOR_OPINIONS.getStateValue()); variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue());
String standardId = IdWorker.getIdStr(); String standardId = IdWorker.getIdStr();
variables.put(FieldCommon.ID, standardId); variables.put(FieldCommon.ID, standardId);
String onEditFile = data.getOnEditFile(); String onEditFile = data.getOnEditFile();
@@ -1,22 +1,25 @@
package com.jero.modules.activiti.process.specialEsApproval.listener; package com.jero.modules.activiti.process.specialEsApproval.listener;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.jero.modules.activiti.process.common.enums.StandardStateEnum; import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionAdviceService;
import com.jero.modules.activiti.process.specialEsApproval.entity.ProcessSpecialEsApproval; import com.jero.modules.activiti.process.specialEsApproval.entity.ProcessSpecialEsApproval;
import com.jero.modules.activiti.process.specialEsApproval.service.SpecialEsApprovalService; import com.jero.modules.activiti.process.specialEsApproval.service.SpecialEsApprovalService;
import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.laws.enterprise.entity.ESPProjectStatus;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
import com.jero.modules.tag.enums.TableNameEnum; import com.jero.modules.tag.enums.TableNameEnum;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener; import org.activiti.engine.delegate.ExecutionListener;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.Map; import java.util.Map;
/** /**
@@ -27,59 +30,50 @@ import java.util.Map;
public class ProcessSpecialEsApprovalEndListener implements ExecutionListener { public class ProcessSpecialEsApprovalEndListener implements ExecutionListener {
@Resource @Resource
private SpecialEsApprovalService esRevisionService; private SpecialEsApprovalService flowService;
@Resource
private EsRevisionAdviceService esAdviceService;
@Resource @Resource
private ILawsCommonService lawsCommonService; private ILawsCommonService lawsCommonService;
@Resource @Resource
private IOSSFileService ossFileService; private EnterpriseStandardPlanService planService;
@Resource
private EsRevisionAdviceService revisionAdviceService;
@Value(value = "${jero.uploadType}")
private String uploadType;
@SneakyThrows @SneakyThrows
@Override @Override
public void notify(DelegateExecution delegateExecution) { public void notify(DelegateExecution delegateExecution) {
// // 获取流程实例Id // 获取流程实例Id
// String processInstanceId = delegateExecution.getProcessInstanceId(); String processInstanceId = delegateExecution.getProcessInstanceId();
// // 根据流程Id获取业务数据 // 根据流程Id获取业务数据
// LambdaQueryWrapper<ProcessSpecialEsApproval> revisionWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProcessSpecialEsApproval> revisionWrapper = new LambdaQueryWrapper<>();
// revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId); revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId);
// // 获取企标相关数据 // 获取企标相关数据
// ProcessSpecialEsApproval data = esRevisionService.getOne(revisionWrapper); ProcessSpecialEsApproval data = flowService.getOne(revisionWrapper);
// // 将数据转换为Map // 将数据转换为Map
// Map<String, Object> variables = transMap(data); Map<String, Object> variables = transMap(data);
// Date adviceDeadline = data.getAdviceDeadline(); // 发布企标
// if (adviceDeadline != null) { lawsCommonService.commonEdit(variables);
// // 制作征求意见稿 // 更改企标计划状态
// String draftFileId = this.makeDraftFile(data); String espId = data.getId();
// variables.put(FieldCommon.FILE_DRAFT_FOR_COMMENT, draftFileId); EnterpriseStandardPlan plan = planService.getById(espId);
// } // 判断是逾期完成还是完成
// // 发布企标 Date curDate = new Date();
// String esId = lawsCommonService.commonAdd(variables); curDate = DateUtil.beginOfDay(curDate);
// // 所有意见设置标准Id // 判断当前日期是否晚于初稿完成日期或计划归档日期
// LambdaQueryWrapper<EsRevisionAdvice> adviceWrapper = new LambdaQueryWrapper<>(); if (curDate.after(plan.getDraftCompleteDate()) || curDate.after(plan.getPlanArchivingDate())) {
// adviceWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId); // 逾期完成
// List<EsRevisionAdvice> list = esAdviceService.list(adviceWrapper); plan.setPlanStatus(ESPProjectStatus.OVERDUE_COMPLETED.getValue());
// if (!list.isEmpty()) { } else {
// list.forEach(item -> item.setStandardId(esId)); // 正常完成
// esAdviceService.updateBatchById(list); plan.setPlanStatus(ESPProjectStatus.COMPLETED.getValue());
// } }
// // 更改企标计划状态 planService.updateById(plan);
} }
private Map<String, Object> transMap(ProcessSpecialEsApproval data) { private Map<String, Object> transMap(ProcessSpecialEsApproval data) {
Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class); Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class);
variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue()); variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue());
// 标准状态 // 标准状态
variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.SEEK_FOR_OPINIONS.getStateValue()); variables.put(FieldCommon.STANDARD_STATE, StandardStateEnum.CURRENTLY_EFFECTIVE.getStateValue());
String standardId = IdWorker.getIdStr(); String standardId = IdWorker.getIdStr();
variables.put(FieldCommon.ID, standardId); variables.put(FieldCommon.ID, standardId);
String onEditFile = data.getOnEditFile(); String onEditFile = data.getOnEditFile();