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.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.api.vo.ResultCommon;
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.exception.JeroBootException;
|
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.common.service.ActFlowCommonService;
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.EsInitChangeConstant;
|
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.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.enums.ESPProjectType;
|
||||||
import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeDataVO;
|
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.service.ProcessEsInitChangeService;
|
||||||
import com.jero.modules.activiti.process.esInitChange.mapper.ProcessEsInitChangeMapper;
|
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.dto.BasicProcessInfoDTO;
|
||||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
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.activiti.service.ProcessNodeLinkService;
|
||||||
import com.jero.modules.laws.enterprise.service.ESSequenceNumberProvider;
|
import com.jero.modules.laws.enterprise.service.ESSequenceNumberProvider;
|
||||||
import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil;
|
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.activiti.engine.task.Task;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -72,8 +78,16 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
|||||||
@Resource
|
@Resource
|
||||||
private IProcessHandleService processHandleService;
|
private IProcessHandleService processHandleService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private EsRevisionService revisionService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ProcessAllService processAllService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startProcess(InitChangeDataVO initChangeData) {
|
public void startProcess(InitChangeDataVO initChangeData) {
|
||||||
|
// 发起的时候校验标准编号是是否重复
|
||||||
|
this.validStandardNumber(initChangeData);
|
||||||
// 执行流程发起前的操作
|
// 执行流程发起前的操作
|
||||||
this.startRunTask(initChangeData);
|
this.startRunTask(initChangeData);
|
||||||
// 流程Key
|
// 流程Key
|
||||||
@@ -271,7 +285,7 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
|||||||
processHandleService.saveToDraft(processInfoVO);
|
processHandleService.saveToDraft(processInfoVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startRunTask(InitChangeDataVO initChangeData) {
|
private void validStandardNumber(InitChangeDataVO initChangeData) {
|
||||||
List<ProcessEsInitChange> esInitChangeList = initChangeData.getDataList();
|
List<ProcessEsInitChange> esInitChangeList = initChangeData.getDataList();
|
||||||
// 校验企标编号是否冲突
|
// 校验企标编号是否冲突
|
||||||
ProcessEsInitChange initChange = esInitChangeList.get(0);
|
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
|
@Override
|
||||||
public List<String> getSequenceNumbers(String esCodeDictValue, String esNameCodeDictValue, String categoryCodeDictValue) {
|
public List<String> getSequenceNumbers(String esCodeDictValue, String esNameCodeDictValue, String categoryCodeDictValue) {
|
||||||
// 已经存在的标准
|
// 已经存在的标准
|
||||||
|
|||||||
Reference in New Issue
Block a user