|
|
@@ -191,31 +191,23 @@ public class NodeBaseInfoController extends BladeController {
|
|
|
List<WbsTreeContract> nodeNames = jdbcTemplate.query(sql1, new BeanPropertyRowMapper<>(WbsTreeContract.class));
|
|
|
nameRule = nameRule.trim().replaceAll("(?i:c)", "");
|
|
|
List<String> list = Arrays.asList(nameRule.split("[^.\\d]"));
|
|
|
- List<Integer> index = list.stream().map(Integer::parseInt).collect(Collectors.toList());
|
|
|
+ //添加排序规则,永远都是0-1-2-3-4-5-6的顺序去组装数据
|
|
|
+ List<Integer> index = list.stream().map(Integer::parseInt).sorted().collect(Collectors.toList());
|
|
|
Map<Integer, String> map = nodeNames.stream()
|
|
|
.collect(Collectors.toMap(
|
|
|
WbsTreeContract::getNodeType,
|
|
|
WbsTreeContract::getNodeName,
|
|
|
(existing, replacement) -> replacement // 如果键重复,保留后者
|
|
|
));
|
|
|
- StringBuilder result = new StringBuilder("");
|
|
|
+ List<String> result = new ArrayList<>();
|
|
|
for (Integer i : index) {
|
|
|
- if(i==0){
|
|
|
- if(map.containsKey(1)){
|
|
|
- result.append(map.get(1));
|
|
|
- }
|
|
|
- }
|
|
|
- else if(i==1){
|
|
|
- if(map.containsKey(18)){
|
|
|
- result.append(map.get(18));
|
|
|
- }
|
|
|
- }else {
|
|
|
- if(map.containsKey(i)){
|
|
|
- result.append(map.get(i));
|
|
|
- }
|
|
|
+ String title = map.get(i == 0 ? 1 : i == 1 && map.containsKey(18) ? 18 : i);
|
|
|
+ if(title == null || result.stream().anyMatch(f -> f.contains(title))){
|
|
|
+ continue;
|
|
|
}
|
|
|
+ result.add(title);
|
|
|
}
|
|
|
- return R.data(result.toString());
|
|
|
+ return R.data(String.join("", result));
|
|
|
}
|
|
|
|
|
|
public R synPDFInfo(String contractId, String nodeId, String classify, String projectId,Map<Long,Map<String,Object>>dataMap) {
|