diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java index f94f69e6..7302fad1 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java @@ -288,7 +288,6 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl list = this.list(lambdaQueryWrapper); return list.stream().map(ProcessEsInitChange::getNewEnStandardNo) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardPlanServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardPlanServiceImpl.java index e0c43d7c..b2ec8529 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardPlanServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardPlanServiceImpl.java @@ -125,7 +125,6 @@ public class EnterpriseStandardPlanServiceImpl extends ServiceImpl espList = this.list(lambdaQueryWrapper); return espList.stream().map(EnterpriseStandardPlan::getNewEnStandardNo) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/util/EnterpriseStandardUtil.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/util/EnterpriseStandardUtil.java index 488b60e3..b28c9f32 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/util/EnterpriseStandardUtil.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/util/EnterpriseStandardUtil.java @@ -3,8 +3,12 @@ package com.jero.modules.laws.enterprise.util; import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.DictModel; +import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange; +import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService; import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.enterprise.service.ESSequenceNumberProvider; +import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; +import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Component; @@ -29,6 +33,12 @@ public class EnterpriseStandardUtil { @Resource private List providers; + @Resource + private ILawsEnterpriseStandardService esService; + + @Resource + private ProcessEsInitChangeService initChangeService; + /** * 生成新序列号 * @@ -50,12 +60,9 @@ public class EnterpriseStandardUtil { .sorted() .collect(Collectors.toList()); - int expectedNumber = 1; // 我们期望的最小序列号 - for (int num : sortedNumbers) { - if (num != expectedNumber) { - break; - } - expectedNumber++; + int expectedNumber = 0; // 我们期望的最大序列号初始化为0 + if (!sortedNumbers.isEmpty()) { + expectedNumber = sortedNumbers.get(sortedNumbers.size() - 1) + 1; // 获取最大的数字并+1 } return String.format("%04d", expectedNumber); } @@ -138,11 +145,6 @@ public class EnterpriseStandardUtil { return standardNo.substring(dashIndex - 4, dashIndex); } - public boolean verifyEnStandardNumber(String StandardNumber) { - // TODO 校验企标编号是否有效 - return true; - } - public static Map splitStandardNumber(String standardNumber) { // 使用正则表达式匹配所需的各个部分 Pattern pattern = Pattern.compile("([A-Za-z]{1,2})\\/([A-Za-z]{1,2}) (\\d)(\\d{4})-(\\d{4})"); @@ -165,4 +167,18 @@ public class EnterpriseStandardUtil { } return map; } + + /** + * 校验企标编号是否不重复 + * @param StandardNumber + * @return + */ + public boolean verifyEnStandardNumber(String StandardNumber) { + List numList = new ArrayList<>(); + // 判断是否和企标库中重复 + numList.addAll(esService.list().stream().map(LawsEnterpriseStandard::getStandardNumber).collect(Collectors.toList())); + // 判断是否和立项流程中重复 + numList.addAll(initChangeService.list().stream().map(ProcessEsInitChange::getNewEnStandardNo).collect(Collectors.toList())); + return !numList.contains(StandardNumber); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/LawsEnterpriseStandardServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/LawsEnterpriseStandardServiceImpl.java index 3ec1db51..cb62cf7e 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/LawsEnterpriseStandardServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/LawsEnterpriseStandardServiceImpl.java @@ -174,7 +174,6 @@ public class LawsEnterpriseStandardServiceImpl extends ServiceImpl esList = this.list(lambdaQueryWrapper); return esList.stream().map(LawsEnterpriseStandard::getStandardNumber)