diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspect/service/impl/EsInspectFlowServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspect/service/impl/EsInspectFlowServiceImpl.java index d3113730..04b82968 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspect/service/impl/EsInspectFlowServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspect/service/impl/EsInspectFlowServiceImpl.java @@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.esinspect.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.SnowflakeUtils; import com.jero.modules.activiti.entity.ProcessAll; @@ -174,6 +175,8 @@ public class EsInspectFlowServiceImpl implements IEsInspectFlowService { v.setProjectId(projectId); return v; }).collect(Collectors.toList()).forEach(v -> log.info(v.toString())); + // 重复性校验 + duplicateCheck(processEsInspectList); processEsInspectService.saveOrUpdateBatch(processEsInspectList); for (ProcessEsInspect processEsInspect : processEsInspectList) { @@ -191,6 +194,24 @@ public class EsInspectFlowServiceImpl implements IEsInspectFlowService { } } + private void duplicateCheck(List processEsInspectList) { + for (ProcessEsInspect processEsInspect : processEsInspectList) { + ProcessEsInspect esInspect = processEsInspectService.getOne( + new LambdaQueryWrapper() + .eq(ProcessEsInspect::getInspectId, processEsInspect.getInspectId()) + .ne(ProcessEsInspect::getId, processEsInspect.getId())); + if (!Objects.isNull(esInspect)){ + int size = processDraftService.count(new LambdaQueryWrapper() + .eq(ProcessDraft::getProjectId, esInspect.getProjectId()) + .and(qw -> qw.ne(ProcessDraft::getSaveSource, "3") + .or().isNull(ProcessDraft::getSaveSource))); + if (size == 0){ + throw new JeroBootException("稽查计划企标不可重复发起!"); + } + } + } + } + private void handleReportAndRectifyPlan(ProcessAll processAll, ProcessEsInspect processEsInspect) { if (EsInspectCommon.PROCESS_NODE_3.equals(processAll.getNodeId())){ // 添加新稽查报告