fix: 81853 企标更改流程--流程进行中,企标删除成功了
This commit is contained in:
+5
@@ -20,4 +20,9 @@ public interface ProcessEsChangeService extends IService<ProcessEsChange> {
|
||||
|
||||
void approval(ESChangeDataVO changeData, boolean pass);
|
||||
|
||||
/**
|
||||
* 检查是否在流程中,如果在流程中则不允许删除
|
||||
* @param ids
|
||||
*/
|
||||
void delCheck(String ids);
|
||||
}
|
||||
|
||||
+40
@@ -7,6 +7,8 @@ import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.TranslationAspect;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||
import com.jero.modules.activiti.process.common.entity.CounterSignNodeNameConstants;
|
||||
@@ -25,6 +27,7 @@ import com.jero.modules.activiti.process.esChange.mapper.ProcessEsChangeMapper;
|
||||
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.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
@@ -40,6 +43,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
@@ -76,6 +80,9 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
@Resource
|
||||
private TranslationAspect translationAspect;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@Override
|
||||
public void startProcess(ESChangeDataVO changeData) {
|
||||
// 执行流程发起前的操作
|
||||
@@ -255,6 +262,39 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delCheck(String ids) {
|
||||
String[] idsList = ids.split(",");
|
||||
// 找到所有进行中的企标修改流程
|
||||
LambdaQueryWrapper<ProcessAll> processAllWrapper = new LambdaQueryWrapper<>();
|
||||
processAllWrapper.eq(ProcessAll::getPrcType, ProcessTypeEnum.ES_CHANGE.getValue());
|
||||
processAllWrapper.eq(ProcessAll::getPrcStatus, ProcessStatusEnum.INCOMPLETE.getValue());
|
||||
List<ProcessAll> processAllList = processAllService.list(processAllWrapper);
|
||||
if (processAllList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
// 获取所有流程实例ID
|
||||
List<String> processInstanceIdList = new ArrayList<>();
|
||||
for (ProcessAll processAll : processAllList) {
|
||||
processInstanceIdList.add(processAll.getProcessInstanceId());
|
||||
}
|
||||
// 根据所有流程实例Id找到相应的企标修改流程
|
||||
LambdaQueryWrapper<ProcessEsChange> processEsChangeWrapper = new LambdaQueryWrapper<>();
|
||||
processEsChangeWrapper.in(ProcessEsChange::getProcessInstanceId, processInstanceIdList);
|
||||
List<ProcessEsChange> processEsChangeList = list(processEsChangeWrapper);
|
||||
Map<String, List<ProcessEsChange>> processEsChangeMap = processEsChangeList.stream()
|
||||
.filter(e -> e.getStandardId() != null)
|
||||
.collect(Collectors.groupingBy(ProcessEsChange::getStandardId));
|
||||
// 判断是否有进行中的企标修改流程
|
||||
for (String id : idsList) {
|
||||
if (processEsChangeMap.containsKey(id)) {
|
||||
List<ProcessEsChange> processEsChanges = processEsChangeMap.get(id);
|
||||
throw new JeroBootException("标准编号为:" + processEsChanges.get(0).getStandardNumber() + "已在企标变更流程进行中,不可删除!");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user