diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index f6f8ff08a..f6adbf734 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -366,7 +366,6 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl oSSFileList = new ArrayList<>(); for (String fileId : value.toString().split(",")) { @@ -381,9 +380,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl oSSFileList = new ArrayList<>(); for (String fileId : value.toString().split(",")) { @@ -396,11 +394,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl ossFiles = ossFileService.getFileInfosByConnectId(value.toString()); - if(CollectionUtil.isNotEmpty(ossFiles)){ + if(CollectionUtil.isNotEmpty(ossFiles)){ // 没有修改文件 valuesBuilder.append("," + "'" + value + "'"); - } else { + } else { // 新加了一个文件 String valueTemp = UUID.randomUUID().toString().replace("-", ""); - // value = valueTemp; //修改文件表关联信息connect_id List oSSFileList = new ArrayList<>(); for (String fileId : value.toString().split(",")) { @@ -418,7 +415,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl sysUserList = sysUserService.listByIds(Arrays.asList(itemsMap.get(dbFieldName).toString().split(","))); @@ -924,43 +921,39 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl 0) { - List> documentLibraryEOList = documentLibraryEOService.queryListByIds(itemsMap.get(dbFieldName).toString()); + List> documentLibraryEOList = documentLibraryEOService.getListBySerialNumber(itemsMap.get(dbFieldName).toString()); + documentLibraryEOList = documentLibraryEOList.stream() + .collect(Collectors.collectingAndThen(Collectors + .toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.get("serial_number").toString()))), ArrayList::new)); // 根据编号去重 Map idSerialNumberMap = new HashMap<>(); List idList = new ArrayList<>(); + List nameList = new ArrayList<>(); for (Map map : documentLibraryEOList) { - String serialNumber = (String) map.get("serial_number"); + String serialNumber = (String) map.get("serial_number"); // TODO 可能存在编号相同的情况 String documentLibraryEOId = (String) map.get("id"); - idSerialNumberMap.put(documentLibraryEOId, serialNumber); - idList.add(documentLibraryEOId); + idSerialNumberMap.put(serialNumber, documentLibraryEOId); + nameList.add(serialNumber); } - List valueList = Arrays.asList(itemsMap.get(dbFieldName).toString().split(",")); - List newValueList = new ArrayList<>(); - + List valueList = Arrays.asList(itemsMap.get(dbFieldName).toString().split(",")).stream().distinct().collect(Collectors.toList()); for(String value : valueList) { - if (idList.contains(value)) { - newValueList.add(idSerialNumberMap.get(value)); + if (nameList.contains(value)) { + idList.add(idSerialNumberMap.get(value)); } else { - newValueList.add(value); + idList.add(value); } } - String names = StringUtils.join(newValueList, ","); - itemsMap.put(dbFieldName+"_id", itemsMap.get(dbFieldName).toString()); - itemsMap.put(dbFieldName, names); + + String ids = StringUtils.join(idList, ","); + itemsMap.put(dbFieldName+"_id", ids); + itemsMap.put(dbFieldName, itemsMap.get(dbFieldName).toString()); } -// List> documentLibraryEOList = documentLibraryEOService.queryListByIds(itemsMap.get(dbFieldName).toString()); -// if(CollectionUtil.isNotEmpty(documentLibraryEOList)){ -// String names = StringUtils.join(documentLibraryEOList.stream().map(map->map.get("serial_number")).collect(Collectors.toList()),","); -// itemsMap.put(dbFieldName+"_id", itemsMap.get(dbFieldName).toString()); -// itemsMap.put(dbFieldName, names); -// -// } } - } + }*/ } return itemsMap; }