From 80e259dcee34710ff941e0961d34099ce3e4ec7b Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 10 Apr 2024 14:47:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=81=E6=A0=87=E7=94=9F=E6=88=90?= =?UTF-8?q?=E7=BC=96=E5=8F=B7=E9=80=BB=E8=BE=91=EF=BC=8C=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E6=A8=AA=E6=9D=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enterprise/util/EnterpriseStandardUtil.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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 ddd762ed..651c291b 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 @@ -70,7 +70,7 @@ public class EnterpriseStandardUtil { for (ESSequenceNumberProvider provider : providers) { List sequenceNumbers = provider.getSequenceNumbers(esCodeDictValue, esNameCodeDictValue, categoryCodeDictValue); - if (sequenceNumbers != null) { + if (sequenceNumbers != null && !sequenceNumbers.isEmpty()) { allSequenceNumbers.addAll(sequenceNumbers); } } @@ -182,11 +182,20 @@ public class EnterpriseStandardUtil { } int dashIndex = standardNo.lastIndexOf('-'); + if (dashIndex == -1) { + dashIndex = standardNo.lastIndexOf('—'); + } if (dashIndex < 4) { return null; // 如果没有找到'-',或者'-'前面的字符少于4个 } - return standardNo.substring(dashIndex - 4, dashIndex); + int dotIndex = standardNo.lastIndexOf('.'); + if (dotIndex > 0 && dotIndex < dashIndex) { // 确保小数点在破折号前且存在 + int start = Math.max(dotIndex - 4, 0); // 确保不会有负索引 + return standardNo.substring(start, dashIndex); // 提取包含小数点的序列号部分 + } else { + return standardNo.substring(dashIndex - 4, dashIndex); // 如果没有小数点,应用原有逻辑 + } } public static Map splitStandardNumber(String standardNumber) {