fix: 81953 企标计划立项--修订--发起节点提交需要调整唯一性校验

This commit is contained in:
2024-02-23 11:24:04 +08:00
parent 427df4d803
commit c61e9aae81
7 changed files with 58 additions and 9 deletions
@@ -141,6 +141,11 @@ public class ResultCommon {
*/
public static final String EN_STANDARD_NUMBER_CONFLICT = "en.standard.number.conflict";
/**
* 该新企标编号与已存在的企标编号重复,请重新修改提交
*/
public static final String NEW_EN_STANDARD_NUMBER_CONFLICT = "new.en.standard.number.conflict";
/**
* 无效的企标计划
*/
@@ -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()));
}
@@ -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) {
@@ -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);
}
@@ -73,4 +73,5 @@ can.not.edit.abolish.or.archive.es=\u5DF2\u5E9F\u6B62\u6216\u5DF2\u5F52\u6863\u7
task.urging.error.2=\u6682\u65E0\u8BE5\u6D41\u7A0B\u50AC\u529E\u6743\u9650
horizontal.transgression.select=\u6682\u65E0\u6743\u9650\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9
assess.delete.error=\u672A\u7B26\u5408\u9879\u4E2D\u6709\u6574\u6539\u4E2D\u3001\u5BA1\u6279\u4E2D\u7684\u6570\u636E\u65F6\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
assess.delete.error2=\u9879\u76EE\u4E2D\u6709\u8BC4\u4F30\u4E2D\u7684\u6570\u636E\u65F6\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
assess.delete.error2=\u9879\u76EE\u4E2D\u6709\u8BC4\u4F30\u4E2D\u7684\u6570\u636E\u65F6\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
new.en.standard.number.conflict=\u8BE5\u65B0\u4F01\u6807\u7F16\u53F7\u4E0E\u5DF2\u5B58\u5728\u7684\u4F01\u6807\u7F16\u53F7\u91CD\u590D\uFF0C\u8BF7\u91CD\u65B0\u4FEE\u6539\u63D0\u4EA4
@@ -78,4 +78,5 @@ can.not.edit.abolish.or.archive.es=Can not edit abolished or archived enterprise
task.urging.error.2=I currently do not have the authority to urge this process
horizontal.transgression.select=no permission at the moment please reselect
assess.delete.error=When there is data under rectification or approval in the non compliant items, deletion is not allowed
assess.delete.error2=When there is data under evaluation in the project, deletion is not allowed
assess.delete.error2=When there is data under evaluation in the project, deletion is not allowed
new.en.standard.number.conflict=The new enterprise standard number is duplicated with the existing enterprise standard number, please modify and submit it again
@@ -78,4 +78,5 @@ can.not.edit.abolish.or.archive.es=\u5DF2\u5E9F\u6B62\u6216\u5DF2\u5F52\u6863\u7
task.urging.error.2=\u6682\u65E0\u8BE5\u6D41\u7A0B\u50AC\u529E\u6743\u9650
horizontal.transgression.select=\u6682\u65E0\u6743\u9650\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9
assess.delete.error=\u672A\u7B26\u5408\u9879\u4E2D\u6709\u6574\u6539\u4E2D\u3001\u5BA1\u6279\u4E2D\u7684\u6570\u636E\u65F6\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
assess.delete.error2=\u9879\u76EE\u4E2D\u6709\u8BC4\u4F30\u4E2D\u7684\u6570\u636E\u65F6\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
assess.delete.error2=\u9879\u76EE\u4E2D\u6709\u8BC4\u4F30\u4E2D\u7684\u6570\u636E\u65F6\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
new.en.standard.number.conflict=\u8BE5\u65B0\u4F01\u6807\u7F16\u53F7\u4E0E\u5DF2\u5B58\u5728\u7684\u4F01\u6807\u7F16\u53F7\u91CD\u590D\uFF0C\u8BF7\u91CD\u65B0\u4FEE\u6539\u63D0\u4EA4