|
|
@ -1,6 +1,8 @@
|
|
|
|
package com.os.ems.base.service.impl;
|
|
|
|
package com.os.ems.base.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.*;
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
import java.util.regex.Matcher;
|
|
|
|
|
|
|
|
import java.util.regex.Pattern;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
|
import com.os.common.utils.DateUtils;
|
|
|
|
import com.os.common.utils.DateUtils;
|
|
|
@ -194,6 +196,18 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService
|
|
|
|
"橡胶四厂", "三聚凯特", "世源", "联盛", "正兴", "天峰药业", "中科北方", "沃得",
|
|
|
|
"橡胶四厂", "三聚凯特", "世源", "联盛", "正兴", "天峰药业", "中科北方", "沃得",
|
|
|
|
"沈阳经济技术开发区管理委员会办公室", "管理中心", "科创", "博泰", "亿纬", "普利司通"
|
|
|
|
"沈阳经济技术开发区管理委员会办公室", "管理中心", "科创", "博泰", "亿纬", "普利司通"
|
|
|
|
));
|
|
|
|
));
|
|
|
|
|
|
|
|
// 提取数字序号
|
|
|
|
|
|
|
|
Pattern pattern = Pattern.compile("(\\d+)[、]");
|
|
|
|
|
|
|
|
Matcher matcher = pattern.matcher(name);
|
|
|
|
|
|
|
|
if (matcher.find()) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
int number = Integer.parseInt(matcher.group(1).trim());
|
|
|
|
|
|
|
|
return number;
|
|
|
|
|
|
|
|
} catch (NumberFormatException e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
// 如果解析失败,继续按特定顺序列表排序
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 遍历特定顺序列表
|
|
|
|
// 遍历特定顺序列表
|
|
|
|
for (int i = 0; i < specificOrder.size(); i++) {
|
|
|
|
for (int i = 0; i < specificOrder.size(); i++) {
|
|
|
@ -201,7 +215,7 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService
|
|
|
|
String prefix = specificOrder.get(i);
|
|
|
|
String prefix = specificOrder.get(i);
|
|
|
|
// 如果名称包含当前前缀,则返回当前索引
|
|
|
|
// 如果名称包含当前前缀,则返回当前索引
|
|
|
|
if (kmpSearch(name, prefix) != -1) {
|
|
|
|
if (kmpSearch(name, prefix) != -1) {
|
|
|
|
return i;
|
|
|
|
return i + 100000;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 如果找不到匹配项,则返回最大值
|
|
|
|
// 如果找不到匹配项,则返回最大值
|
|
|
|