diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index 37e3ac5c..6568ecd2 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -3196,33 +3196,69 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl sysDictItemLists = sysDictItemService.list(new LambdaQueryWrapper() .eq(SysDictItem::getDictId, firstDict.get().getId())); - List sysDictItemList = getLevelPath(sysDictItemLists); + String[] treePathList = value.split(","); for (String treePath : treePathList) { List path = - sysDictItemList.stream().filter(o -> treePath.equals(o.getLevelPath())) + sysDictItemLists.stream().filter(o -> treePath.equals(o.getItemText())) .collect(Collectors.toList()); if (!path.isEmpty()){ - if (path.size() > 1) { + // 如果有多个,按照全路径去匹配一遍 + if(path.size() > 1){ + List sysDictItemList = getLevelPath(sysDictItemLists); + List pathOther = + sysDictItemList.stream().filter(o -> treePath.equals(o.getLevelPath())) + .collect(Collectors.toList()); + if(pathOther.isEmpty()){ + if (path.size() > 1) { + if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())) { + errorMsg += fieldName + "中" + treePath + "存在多个;"; + countError++; + valueList = Collections.emptyList(); + } else { + errorMsg += fieldName + " " + treePath + "Exist in multiple;"; + } + break; + } + valueList.add(pathOther.get(0).getItemValue()); + }else{ + if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())) { + errorMsg += fieldName + "中" + treePath + "存在多个;"; + countError++; + valueList = Collections.emptyList(); + } else { + errorMsg += fieldName + " " + treePath + "Not exist;"; + } + break; + } + } + }else { + List sysDictItemList = getLevelPath(sysDictItemLists); + List pathOther = + sysDictItemList.stream().filter(o -> treePath.equals(o.getLevelPath())) + .collect(Collectors.toList()); + if(!pathOther.isEmpty()){ + if (path.size() > 1) { + if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())) { + errorMsg += fieldName + "中" + treePath + "存在多个;"; + countError++; + valueList = Collections.emptyList(); + } else { + errorMsg += fieldName + " " + treePath + "Exist in multiple;"; + } + break; + } + valueList.add(pathOther.get(0).getItemValue()); + }else{ if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())) { - errorMsg += fieldName + "中" + treePath + "存在多个;"; + errorMsg += fieldName + "中" + treePath + "不存在;"; countError++; valueList = Collections.emptyList(); } else { - errorMsg += fieldName + " " + treePath + "Exist in multiple;"; + errorMsg += fieldName + " " + treePath + "Not exist;"; } break; } - valueList.add(path.get(0).getItemValue()); - }else { - if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())) { - errorMsg += fieldName + "中" + treePath + "不存在;"; - countError++; - valueList = Collections.emptyList(); - } else { - errorMsg += fieldName + " " + treePath + "Not exist;"; - } - break; } } } @@ -3231,15 +3267,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl partNames = IPartNameService.list(new LambdaQueryWrapper().ne(PartName::getCode, "Part")); - partNameList = partNameGetLevelPath(partNames); - } String[] treePathList = value.split(","); for (String treePath : treePathList) { - List path = - partNameList.stream().filter(o -> treePath.equals(o.getLevelPath())) - .collect(Collectors.toList()); + List path = IPartNameService.list(new LambdaQueryWrapper() + .eq(PartName::getName, treePath)); if (!path.isEmpty()){ if (path.size() > 1) { if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())) {