ci: 同步企标字段名称
This commit is contained in:
+28
-15
@@ -149,24 +149,37 @@ public class EnterpriseStandardUtil {
|
||||
}
|
||||
|
||||
public static Map<String, String> splitStandardNumber(String standardNumber) {
|
||||
// 使用正则表达式匹配所需的各个部分
|
||||
Pattern pattern = Pattern.compile("([A-Za-z]{1,2})\\/([A-Za-z]{1,2}) (\\d)(\\d{4})-(\\d{4})");
|
||||
Matcher matcher = pattern.matcher(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})"
|
||||
};
|
||||
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (matcher.find()) {
|
||||
String esCode = matcher.group(1);
|
||||
String eNameCode = matcher.group(2);
|
||||
String sCategoryCode = matcher.group(3);
|
||||
String yearNum = matcher.group(5);
|
||||
boolean isMatched = false;
|
||||
for (String regex : regexPatterns) {
|
||||
Pattern pattern = Pattern.compile(regex);
|
||||
Matcher matcher = pattern.matcher(standardNumber);
|
||||
if (matcher.find()) {
|
||||
String esCode = matcher.group(1);
|
||||
String eNameCode = matcher.group(2);
|
||||
String sCategoryCode = matcher.group(3);
|
||||
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.YEAR_NUMBER, yearNum);
|
||||
} else {
|
||||
log.error("企标标准号拆分失败");
|
||||
throw new JeroBootException("企标标准号拆分失败");
|
||||
map.put(FieldCommon.ENTERPRISE_STANDARD_CODE, esCode);
|
||||
map.put(FieldCommon.ENTERPRISE_NAME_CODE, eNameCode);
|
||||
map.put(FieldCommon.STANDARD_CATEGORY_CODE, sCategoryCode);
|
||||
map.put(FieldCommon.YEAR_NUMBER, yearNum);
|
||||
|
||||
isMatched = true;
|
||||
break; // 匹配成功,跳出循环
|
||||
}
|
||||
}
|
||||
if (!isMatched) {
|
||||
log.error("企标标准号" + standardNumber + "拆分失败");
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user