fix: 老法规导入BUG修正

企标使用新版正则表达式
修复重复文件数据的BUG
This commit is contained in:
2023-11-28 11:57:20 +08:00
parent 343a4ad101
commit dfbd8d6aa5
3 changed files with 65 additions and 12 deletions
@@ -157,11 +157,11 @@ public class EnterpriseStandardUtil {
public static Map<String, String> splitStandardNumber(String standardNumber) {
// 定义多个正则表达式来匹配不同的标准号格式
String[] regexPatterns = {
"([A-Za-z]{1,2})[-\\/]([A-Za-z]{1,2})\\s+([A-Za-z0-9]{1,3})[-—–]?(\\d{4,5}(?:\\.\\d+)?)[-—](\\d{4})", // 下面四种综合的正则
"([A-Za-z]{1,2})\\/([A-Za-z]{1,2}) (\\d)(\\d{4})-(\\d{4})",// 正常格式
"([A-Za-z]{1,2})\\/([A-Za-z]{1,2}) (\\d{1,3})(\\.\\d+)?-(\\d{4})", // 带小数的格式
"([A-Za-z]{1,2})\\/([A-Za-z]{1,2})\\s+([A-Za-z0-9]{1,3})-(\\d{4})", // 类别代号J11这种格式
"([A-Za-z]{1,2})[-\\/]([A-Za-z]{1,2})\\s+([A-Za-z0-9]{1,3})[-—–]\\d{4,5}(\\.\\d+)?-(\\d{4})"
"([A-Z]+)/([A-Z]+)\\s+([0-9A-Z])(\\d+(?:\\.\\d+)?)[-—](\\w+)",
// "([A-Za-z]{1,2})[-\\/]([A-Za-z]{1,2})\\s+([A-Za-z0-9]{1,3})[-—–]?(\\d{4,5}(?:\\.\\d+)?)[-—–]([A-Za-z0-9]+)", // 下面四种综合的正则
// "([A-Za-z]{1,2})\\/([A-Za-z]{1,2}) (\\d)(\\d{4})-([A-Za-z0-9]+)",// 正常格式
// "([A-Za-z]{1,2})\\/([A-Za-z]{1,2}) (\\d)(\\.\\d+)?-([A-Za-z0-9]+)", // 带小数的格式
// "([A-Za-z]{1,2})\\/([A-Za-z]{1,2})\\s+([A-Za-z0-9])-([A-Za-z0-9]+)",
};
Map<String, String> map = new HashMap<>();
@@ -173,13 +173,14 @@ public class EnterpriseStandardUtil {
String esCode = matcher.group(1);
String eNameCode = matcher.group(2);
String sCategoryCode = matcher.group(3);
String sequenceNumber = matcher.group(4);
String yearNum = matcher.group(5);
map.put(FieldCommon.ENTERPRISE_STANDARD_CODE, esCode);
map.put(FieldCommon.ENTERPRISE_NAME_CODE, eNameCode);
map.put(FieldCommon.STANDARD_CATEGORY_CODE, sCategoryCode);
map.put(FieldCommon.STANDARD_NUMBER_TEMP, sequenceNumber);
map.put(FieldCommon.YEAR_NUMBER, yearNum);
isMatched = true;
break; // 匹配成功,跳出循环
}