fix: 81953 企标计划立项--修订--发起节点提交需要调整唯一性校验
This commit is contained in:
+8
-2
@@ -2,7 +2,9 @@ package com.jero.modules.activiti.process.esInitChange.listener;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
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.process.esInitChange.entity.ProcessEsInitChange;
|
||||
@@ -78,10 +80,14 @@ public class ProcessESInitChangeEndListener implements ExecutionListener {
|
||||
processEsInitChange.setId(null);
|
||||
processEsInitChange.setProjectStatus(ESPProjectStatus.IN_PROGRESS.getValue());
|
||||
processEsInitChange.setChangeStatus(ESPChangeType.ADD.getValue());
|
||||
if (ESPProjectType.MODIFY.getValue().equals(projectType))
|
||||
if (ESPProjectType.MODIFY.getValue().equals(projectType)) {
|
||||
processEsInitChange.setApplicationCategory(ESPProjectType.MODIFY.getValue());
|
||||
else
|
||||
if (!esUtil.verifyEnStandardNumber(processEsInitChanges.get(0).getNewEnStandardNo())) {
|
||||
throw new JeroBootException(ResultCommon.NEW_EN_STANDARD_NUMBER_CONFLICT);
|
||||
}
|
||||
} else {
|
||||
processEsInitChange.setApplicationCategory(ESPProjectType.ENACT.getValue());
|
||||
}
|
||||
// 设置企业标准代号字段值
|
||||
processEsInitChange.setEnStandardCode(esUtil.getEnStandardCode(processEsInitChange.getNewEnStandardNo()));
|
||||
}
|
||||
|
||||
+5
@@ -370,6 +370,11 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
throw new JeroBootException(ResultCommon.EN_STANDARD_NUMBER_CONFLICT);
|
||||
}
|
||||
}
|
||||
if (initChange.getProjectType().equals(ESPProjectType.MODIFY.getValue())) {
|
||||
if (!esUtil.verifyEnStandardNumber(initChange.getNewEnStandardNo())) {
|
||||
throw new JeroBootException(ResultCommon.NEW_EN_STANDARD_NUMBER_CONFLICT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void startRunTask(InitChangeDataVO initChangeData) {
|
||||
|
||||
+34
-4
@@ -1,11 +1,17 @@
|
||||
package com.jero.modules.laws.enterprise.util;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
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.esInitChange.entity.ProcessEsInitChange;
|
||||
import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||
@@ -47,6 +53,9 @@ public class EnterpriseStandardUtil {
|
||||
@Resource
|
||||
private EnterpriseStandardPlanService espService;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
/**
|
||||
* 生成新序列号
|
||||
*
|
||||
@@ -253,13 +262,34 @@ public class EnterpriseStandardUtil {
|
||||
* @return
|
||||
*/
|
||||
public boolean verifyEnStandardNumber(String StandardNumber) {
|
||||
List<String> numList = new ArrayList<>();
|
||||
// 判断是否和企标库中重复
|
||||
numList.addAll(esService.list().stream().map(LawsEnterpriseStandard::getStandardNumber).collect(Collectors.toList()));
|
||||
LambdaQueryWrapper<LawsEnterpriseStandard> esWrapper = new LambdaQueryWrapper<>();
|
||||
esWrapper.eq(LawsEnterpriseStandard::getStandardNumber, StandardNumber);
|
||||
esWrapper.eq(LawsEnterpriseStandard::getDelFlag, YesOrNoEnum.NO.getInteger());
|
||||
List<String> numList = esService.list(esWrapper)
|
||||
.stream().map(LawsEnterpriseStandard::getStandardNumber).collect(Collectors.toList());
|
||||
// 判断是否和企标计划库中重复
|
||||
numList.addAll(espService.list().stream().map(EnterpriseStandardPlan::getNewEnStandardNo).collect(Collectors.toList()));
|
||||
LambdaQueryWrapper<EnterpriseStandardPlan> planWrapper = new LambdaQueryWrapper<>();
|
||||
planWrapper.eq(EnterpriseStandardPlan::getNewEnStandardNo, StandardNumber);
|
||||
planWrapper.eq(EnterpriseStandardPlan::getDelFlag, YesOrNoEnum.NO.getInteger());
|
||||
numList.addAll(espService.list(planWrapper)
|
||||
.stream().map(EnterpriseStandardPlan::getNewEnStandardNo).collect(Collectors.toList()));
|
||||
// 判断是否和立项流程中重复
|
||||
numList.addAll(initChangeService.list().stream().map(ProcessEsInitChange::getNewEnStandardNo).collect(Collectors.toList()));
|
||||
// 已经撤回的立项流程不需要判断重复
|
||||
LambdaQueryWrapper<ProcessAll> processAllLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
processAllLambdaQueryWrapper.eq(ProcessAll::getPrcType, ProcessTypeEnum.ES_INIT_CHANGE.getValue());
|
||||
processAllLambdaQueryWrapper.ne(ProcessAll::getPrcStatus, ProcessStatusEnum.WITHDRAWN.getValue());
|
||||
List<ProcessAll> paList = processAllService.list(processAllLambdaQueryWrapper);
|
||||
List<String> processInstanceIdList = new ArrayList<>();
|
||||
if (paList != null && !paList.isEmpty()) {
|
||||
processInstanceIdList = paList.stream().map(ProcessAll::getProcessInstanceId).collect(Collectors.toList());
|
||||
}
|
||||
LambdaQueryWrapper<ProcessEsInitChange> initChangeWrapper = new LambdaQueryWrapper<>();
|
||||
initChangeWrapper.eq(ProcessEsInitChange::getNewEnStandardNo, StandardNumber);
|
||||
initChangeWrapper.eq(ProcessEsInitChange::getDelFlag, YesOrNoEnum.NO.getValue());
|
||||
initChangeWrapper.in(ProcessEsInitChange::getProcessInstanceId, processInstanceIdList);
|
||||
numList.addAll(initChangeService.list(initChangeWrapper)
|
||||
.stream().map(ProcessEsInitChange::getNewEnStandardNo).collect(Collectors.toList()));
|
||||
return !numList.contains(StandardNumber);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user