feat: 流程结束后保存到企标计划
This commit is contained in:
+31
-7
@@ -1,9 +1,19 @@
|
||||
package com.jero.modules.activiti.process.esInitChange.listener;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.aspect.annotation.RedisLock;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange;
|
||||
import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||
import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.ExecutionListener;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/10/10 14:14
|
||||
@@ -11,16 +21,30 @@ import org.activiti.engine.delegate.ExecutionListener;
|
||||
@Slf4j
|
||||
public class ProcessESInitChangeEndListener implements ExecutionListener {
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardPlanService espService;
|
||||
|
||||
@Resource
|
||||
private ProcessEsInitChangeService esInitChangeService;
|
||||
|
||||
/**
|
||||
* 企标立项变更流程结束之后需要把数据存入企标计划数据库 然后自动发起企标制修订流程
|
||||
* @param delegateExecution
|
||||
*/
|
||||
@Override
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
//TODO 企标立项变更流程结束之后需要把数据存入企标计划数据库 然后自动发起企标制修订流程
|
||||
|
||||
// 获取流程实例ID
|
||||
String processInstanceId = delegateExecution.getProcessInstanceId();
|
||||
// 根据流程实例Id找到所有流程业务数据
|
||||
LambdaQueryWrapper<ProcessEsInitChange> esInitChangeWrapper = new LambdaQueryWrapper<>();
|
||||
esInitChangeWrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId);
|
||||
List<ProcessEsInitChange> processEsInitChanges = esInitChangeService.list(esInitChangeWrapper);
|
||||
// 立项新增变更编辑
|
||||
List<EnterpriseStandardPlan> enterpriseStandardPlans = BeanCopyUtils.copyBeanList(processEsInitChanges, EnterpriseStandardPlan.class);
|
||||
espService.saveOrUpdateBatch(enterpriseStandardPlans);
|
||||
// 软删除流程数据
|
||||
esInitChangeService.removeByProcessInstanceId(processInstanceId);
|
||||
|
||||
// 立项新增
|
||||
|
||||
// 变更编辑
|
||||
|
||||
// 发起制修订流程
|
||||
//TODO 发起制修订流程
|
||||
}
|
||||
}
|
||||
|
||||
+6
@@ -45,4 +45,10 @@ public interface ProcessEsInitChangeService extends IService<ProcessEsInitChange
|
||||
* @param esInitChange
|
||||
*/
|
||||
void saveToDraft(List<ProcessEsInitChange> esInitChange);
|
||||
|
||||
/**
|
||||
* 软删除实例数据
|
||||
* @param processInstanceId
|
||||
*/
|
||||
void removeByProcessInstanceId(String processInstanceId);
|
||||
}
|
||||
|
||||
+10
-1
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.esInitChange.service.impl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
@@ -85,7 +86,7 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
public void startInitChange(List<ProcessEsInitChange> esInitChangeList) {
|
||||
// 校验企标编号是否冲突
|
||||
if (!esUtil.verifyEnStandardNumber(esInitChangeList.get(0).getOriginEnStandardNo())) {
|
||||
throw new JeroBootException("企标编号冲突");
|
||||
throw new JeroBootException("企标编号冲突,请重新生成");
|
||||
}
|
||||
|
||||
String processDefinitionKey = ProcessType.ES_INIT_CHANGE.getProcessKey();
|
||||
@@ -174,6 +175,14 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
processDraftService.saveBatch(draftList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeByProcessInstanceId(String processInstanceId) {
|
||||
LambdaUpdateWrapper<ProcessEsInitChange> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId)
|
||||
.set(ProcessEsInitChange::getDelFlag, YesOrNoEnum.YES.getValue());
|
||||
update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getSequenceNumbers(String esCodeDictValue, String esNameCodeDictValue, String categoryCodeDictValue) {
|
||||
// 已经存在的标准
|
||||
|
||||
Reference in New Issue
Block a user