feat: 变更流程开启后自动撤回制修订流程
This commit is contained in:
+37
-1
@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
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.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
@@ -14,13 +15,17 @@ import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.EsInitChangeConstant;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPApplicationCategoryEnum;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO;
|
||||
import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService;
|
||||
import com.jero.modules.activiti.process.esInitChange.mapper.ProcessEsInitChangeMapper;
|
||||
import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision;
|
||||
import com.jero.modules.activiti.process.esRevision.service.EsRevisionService;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.enterprise.service.ESSequenceNumberProvider;
|
||||
import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil;
|
||||
@@ -34,6 +39,7 @@ import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
@@ -72,8 +78,16 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
@Resource
|
||||
private EsRevisionService revisionService;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@Override
|
||||
public void startProcess(InitChangeDataVO initChangeData) {
|
||||
// 发起的时候校验标准编号是是否重复
|
||||
this.validStandardNumber(initChangeData);
|
||||
// 执行流程发起前的操作
|
||||
this.startRunTask(initChangeData);
|
||||
// 流程Key
|
||||
@@ -271,7 +285,7 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
processHandleService.saveToDraft(processInfoVO);
|
||||
}
|
||||
|
||||
public void startRunTask(InitChangeDataVO initChangeData) {
|
||||
private void validStandardNumber(InitChangeDataVO initChangeData) {
|
||||
List<ProcessEsInitChange> esInitChangeList = initChangeData.getDataList();
|
||||
// 校验企标编号是否冲突
|
||||
ProcessEsInitChange initChange = esInitChangeList.get(0);
|
||||
@@ -282,6 +296,28 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
}
|
||||
}
|
||||
|
||||
public void startRunTask(InitChangeDataVO initChangeData) {
|
||||
List<ProcessEsInitChange> esInitChangeList = initChangeData.getDataList();
|
||||
// 校验企标编号是否冲突
|
||||
ProcessEsInitChange initChange = esInitChangeList.get(0);
|
||||
// 如果是变更流程,则需要撤回制修订流程
|
||||
if (ESPApplicationCategoryEnum.CHANGE.getValue().equals(initChange.getApplicationCategory())) {
|
||||
List<String> espIdList = initChangeData.getDataList().stream().map(ProcessEsInitChange::getEspId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<ProcessEsRevision> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(ProcessEsRevision::getEspId, espIdList);
|
||||
lambdaQueryWrapper.eq(ProcessEsRevision::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
List<ProcessEsRevision> enactList = revisionService.list(lambdaQueryWrapper);
|
||||
if (enactList == null || enactList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
for (ProcessEsRevision esRevision : enactList) {
|
||||
String processInstanceId = esRevision.getProcessInstanceId();
|
||||
processAllService.forcedWithdrawal(processInstanceId);
|
||||
processAllService.updateDraftStatusByProjectId(esRevision.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getSequenceNumbers(String esCodeDictValue, String esNameCodeDictValue, String categoryCodeDictValue) {
|
||||
// 已经存在的标准
|
||||
|
||||
Reference in New Issue
Block a user