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;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.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.service.ILawsCommonService;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.tag.enums.TableNameEnum;
import lombok.SneakyThrows;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -27,59 +25,31 @@ import java.util.Map;
public class ProcessCarEsApprovalEndListener implements ExecutionListener {
@Resource
private CarEsApprovalService esRevisionService;
@Resource
private EsRevisionAdviceService esAdviceService;
private CarEsApprovalService flowService;
@Resource
private ILawsCommonService lawsCommonService;
@Resource
private IOSSFileService ossFileService;
@Resource
private EsRevisionAdviceService revisionAdviceService;
@Value(value = "${jero.uploadType}")
private String uploadType;
@SneakyThrows
@Override
public void notify(DelegateExecution delegateExecution) {
// // 获取流程实例Id
// String processInstanceId = delegateExecution.getProcessInstanceId();
// // 根据流程Id获取业务数据
// LambdaQueryWrapper<ProcessSpecialEsApproval> revisionWrapper = new LambdaQueryWrapper<>();
// revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId);
// // 获取企标相关数据
// ProcessSpecialEsApproval data = esRevisionService.getOne(revisionWrapper);
// // 将数据转换为Map
// Map<String, Object> variables = transMap(data);
// Date adviceDeadline = data.getAdviceDeadline();
// if (adviceDeadline != null) {
// // 制作征求意见稿
// 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);
// }
// // 更改企标计划状态
// 获取流程实例Id
String processInstanceId = delegateExecution.getProcessInstanceId();
// 根据流程Id获取业务数据
LambdaQueryWrapper<ProcessCarEsApproval> revisionWrapper = new LambdaQueryWrapper<>();
revisionWrapper.eq(ProcessCarEsApproval::getProcessInstanceId, processInstanceId);
// 获取企标相关数据
ProcessCarEsApproval data = flowService.getOne(revisionWrapper);
// 将数据转换为Map
Map<String, Object> variables = transMap(data);
// 发布企标
lawsCommonService.commonAdd(variables);
}
private Map<String, Object> transMap(ProcessMachineEsApproval data) {
private Map<String, Object> transMap(ProcessCarEsApproval data) {
Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class);
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();
variables.put(FieldCommon.ID, standardId);
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.laws.common.constant.FieldCommon;
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.service.IOSSFileService;
import com.jero.modules.tag.enums.TableNameEnum;
@@ -62,6 +63,9 @@ public class ProcessESRevisionEndListener implements ExecutionListener {
@Value(value = "${jero.uploadType}")
private String uploadType;
@Resource
private EnterpriseStandardPlanService planService;
@SneakyThrows
@Override
public void notify(DelegateExecution delegateExecution) {
@@ -90,7 +94,6 @@ public class ProcessESRevisionEndListener implements ExecutionListener {
list.forEach(item -> item.setStandardId(esId));
esAdviceService.updateBatchById(list);
}
// 更改企标计划状态
}
private Map<String, Object> transMap(ProcessEsRevision data) {
@@ -1,19 +1,17 @@
package com.jero.modules.activiti.process.machineEsApproval.listener;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
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.service.MachineEsApprovalService;
import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.tag.enums.TableNameEnum;
import lombok.SneakyThrows;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -27,59 +25,32 @@ import java.util.Map;
public class ProcessMachineEsApprovalEndListener implements ExecutionListener {
@Resource
private MachineEsApprovalService esRevisionService;
@Resource
private EsRevisionAdviceService esAdviceService;
private MachineEsApprovalService flowService;
@Resource
private ILawsCommonService lawsCommonService;
@Resource
private IOSSFileService ossFileService;
@Resource
private EsRevisionAdviceService revisionAdviceService;
@Value(value = "${jero.uploadType}")
private String uploadType;
@SneakyThrows
@Override
public void notify(DelegateExecution delegateExecution) {
// // 获取流程实例Id
// String processInstanceId = delegateExecution.getProcessInstanceId();
// // 根据流程Id获取业务数据
// LambdaQueryWrapper<ProcessSpecialEsApproval> revisionWrapper = new LambdaQueryWrapper<>();
// revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId);
// // 获取企标相关数据
// ProcessSpecialEsApproval data = esRevisionService.getOne(revisionWrapper);
// // 将数据转换为Map
// Map<String, Object> variables = transMap(data);
// Date adviceDeadline = data.getAdviceDeadline();
// if (adviceDeadline != null) {
// // 制作征求意见稿
// 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);
// }
// // 更改企标计划状态
// 获取流程实例Id
String processInstanceId = delegateExecution.getProcessInstanceId();
// 根据流程Id获取业务数据
LambdaQueryWrapper<ProcessMachineEsApproval> revisionWrapper = new LambdaQueryWrapper<>();
revisionWrapper.eq(ProcessMachineEsApproval::getProcessInstanceId, processInstanceId);
// 获取企标相关数据
ProcessMachineEsApproval data = flowService.getOne(revisionWrapper);
// 将数据转换为Map
Map<String, Object> variables = transMap(data);
// 发布企标
lawsCommonService.commonAdd(variables);
}
private Map<String, Object> transMap(ProcessMachineEsApproval data) {
Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class);
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();
variables.put(FieldCommon.ID, standardId);
String onEditFile = data.getOnEditFile();
@@ -1,22 +1,25 @@
package com.jero.modules.activiti.process.specialEsApproval.listener;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
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.service.SpecialEsApprovalService;
import com.jero.modules.laws.common.constant.FieldCommon;
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 lombok.SneakyThrows;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Date;
import java.util.Map;
/**
@@ -27,59 +30,50 @@ import java.util.Map;
public class ProcessSpecialEsApprovalEndListener implements ExecutionListener {
@Resource
private SpecialEsApprovalService esRevisionService;
@Resource
private EsRevisionAdviceService esAdviceService;
private SpecialEsApprovalService flowService;
@Resource
private ILawsCommonService lawsCommonService;
@Resource
private IOSSFileService ossFileService;
@Resource
private EsRevisionAdviceService revisionAdviceService;
@Value(value = "${jero.uploadType}")
private String uploadType;
private EnterpriseStandardPlanService planService;
@SneakyThrows
@Override
public void notify(DelegateExecution delegateExecution) {
// // 获取流程实例Id
// String processInstanceId = delegateExecution.getProcessInstanceId();
// // 根据流程Id获取业务数据
// LambdaQueryWrapper<ProcessSpecialEsApproval> revisionWrapper = new LambdaQueryWrapper<>();
// revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId);
// // 获取企标相关数据
// ProcessSpecialEsApproval data = esRevisionService.getOne(revisionWrapper);
// // 将数据转换为Map
// Map<String, Object> variables = transMap(data);
// Date adviceDeadline = data.getAdviceDeadline();
// if (adviceDeadline != null) {
// // 制作征求意见稿
// 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);
// }
// // 更改企标计划状态
// 获取流程实例Id
String processInstanceId = delegateExecution.getProcessInstanceId();
// 根据流程Id获取业务数据
LambdaQueryWrapper<ProcessSpecialEsApproval> revisionWrapper = new LambdaQueryWrapper<>();
revisionWrapper.eq(ProcessSpecialEsApproval::getProcessInstanceId, processInstanceId);
// 获取企标相关数据
ProcessSpecialEsApproval data = flowService.getOne(revisionWrapper);
// 将数据转换为Map
Map<String, Object> variables = transMap(data);
// 发布企标
lawsCommonService.commonEdit(variables);
// 更改企标计划状态
String espId = data.getId();
EnterpriseStandardPlan plan = planService.getById(espId);
// 判断是逾期完成还是完成
Date curDate = new Date();
curDate = DateUtil.beginOfDay(curDate);
// 判断当前日期是否晚于初稿完成日期或计划归档日期
if (curDate.after(plan.getDraftCompleteDate()) || curDate.after(plan.getPlanArchivingDate())) {
// 逾期完成
plan.setPlanStatus(ESPProjectStatus.OVERDUE_COMPLETED.getValue());
} else {
// 正常完成
plan.setPlanStatus(ESPProjectStatus.COMPLETED.getValue());
}
planService.updateById(plan);
}
private Map<String, Object> transMap(ProcessSpecialEsApproval data) {
Map<String, Object> variables = JSON.parseObject(data.getBusinessJson(), Map.class);
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();
variables.put(FieldCommon.ID, standardId);
String onEditFile = data.getOnEditFile();