|
@@ -55,32 +55,28 @@ public class RwdeditRefTypeInfosService {
|
|
|
ArrayNode parentCodes = JacksonMapper.nonDefaultMapper.createArrayNode();
|
|
|
Set<String> filterIds = new HashSet<>();
|
|
|
dataList.forEach(entity->{
|
|
|
- if (!filterIds.contains(entity.getParentCode())){
|
|
|
- parentCodes.add(entity.getParentCode());
|
|
|
- filterIds.add(entity.getParentCode());
|
|
|
+ if (!filterIds.contains(entity.getCodePath())){
|
|
|
+ parentCodes.add(entity.getCodePath().substring(0,entity.getCodePath().lastIndexOf("-")));
|
|
|
+ filterIds.add(entity.getCodePath());
|
|
|
}
|
|
|
});
|
|
|
JacksonCriteria allCriteria = JacksonCriteria.newInstance();
|
|
|
ObjectNode objectNode = JacksonMapper.nonDefaultMapper.createObjectNode();
|
|
|
ObjectNode parentCodeNode = JacksonMapper.nonDefaultMapper.createObjectNode();
|
|
|
parentCodeNode.put("$in",parentCodes);
|
|
|
- objectNode.put("code", parentCodeNode);
|
|
|
+ objectNode.put("codePath", parentCodeNode);
|
|
|
allCriteria.setCriteria(objectNode);
|
|
|
- allCriteria.setWithColumns(new HashSet<>(Arrays.asList("code","name")));
|
|
|
+ allCriteria.setWithColumns(new HashSet<>(Arrays.asList("code","name","codePath")));
|
|
|
allCriteria.setWithoutCount(true);
|
|
|
PagedResponse<RwdeditRefTypeInfos> allRefTypeInfos = criteriaUtils.query(QRwdeditRefTypeInfos.rwdeditRefTypeInfos, this::parse, allCriteria);
|
|
|
List<RwdeditRefTypeInfos> allRefTypeInfosData = allRefTypeInfos.getData();
|
|
|
Map<String, String> nameMap = allRefTypeInfosData.stream()
|
|
|
.collect(Collectors
|
|
|
- .toMap(rwdeditRefTypeInfo -> rwdeditRefTypeInfo.getRefKey()
|
|
|
- +"-"+rwdeditRefTypeInfo.getCode()
|
|
|
- +"-"+rwdeditRefTypeInfo.getParentCode(), RwdeditRefTypeInfos::getName, (k1, k2) -> k1));
|
|
|
+ .toMap(RwdeditRefTypeInfos::getCodePath, RwdeditRefTypeInfos::getName, (k1, k2) -> k1));
|
|
|
List<RwdeditRefTypeInfosModel> collect = dataList.stream().map(entity -> {
|
|
|
RwdeditRefTypeInfosModel model = entity.toModel();
|
|
|
model.setParentName(nameMap
|
|
|
- .getOrDefault(model.getRefKey()
|
|
|
- +"-"+model.getCode()
|
|
|
- +"-"+model.getParentCode(),""));
|
|
|
+ .getOrDefault(entity.getCodePath().substring(0,entity.getCodePath().lastIndexOf("-")),""));
|
|
|
return model;
|
|
|
}).collect(Collectors.toList());
|
|
|
result.setData(collect);
|