bug50782-标准选择存编号

This commit is contained in:
liyawei
2022-05-16 14:43:53 +08:00
parent 77d54b1ae0
commit ecf699bc66
@@ -366,7 +366,6 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
if (ObjectUtils.isNotEmpty(value)) { if (ObjectUtils.isNotEmpty(value)) {
if("add".equals(type) || "import".equals(type)) { if("add".equals(type) || "import".equals(type)) {
String valueTemp = UUID.randomUUID().toString().replace("-", ""); String valueTemp = UUID.randomUUID().toString().replace("-", "");
// value = valueTemp;
//修改文件表关联信息connect_id //修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>(); List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : value.toString().split(",")) { for (String fileId : value.toString().split(",")) {
@@ -381,9 +380,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
valuesBuilder.append("," + "'" + value + "'"); valuesBuilder.append("," + "'" + value + "'");
} else if("update".equals(type)){ } else if("update".equals(type)){
// 前端标识 key_flag 0-未修改, 1-已修改 // 前端标识 key_flag 0-未修改, 1-已修改
if(value.toString().contains(",")){ if(value.toString().contains(",")){ // 新加了多个文件
String valueTemp = UUID.randomUUID().toString().replace("-", ""); String valueTemp = UUID.randomUUID().toString().replace("-", "");
// value = valueTemp;
//修改文件表关联信息connect_id //修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>(); List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : value.toString().split(",")) { for (String fileId : value.toString().split(",")) {
@@ -396,11 +394,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
valuesBuilder.append("," + "'" + valueTemp + "'"); valuesBuilder.append("," + "'" + valueTemp + "'");
} else { } else {
List<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(value.toString()); List<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(value.toString());
if(CollectionUtil.isNotEmpty(ossFiles)){ if(CollectionUtil.isNotEmpty(ossFiles)){ // 没有修改文件
valuesBuilder.append("," + "'" + value + "'"); valuesBuilder.append("," + "'" + value + "'");
} else { } else { // 新加了一个文件
String valueTemp = UUID.randomUUID().toString().replace("-", ""); String valueTemp = UUID.randomUUID().toString().replace("-", "");
// value = valueTemp;
//修改文件表关联信息connect_id //修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>(); List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : value.toString().split(",")) { for (String fileId : value.toString().split(",")) {
@@ -418,7 +415,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
} else { } else {
valuesBuilder.append("," + "'" + value + "'"); valuesBuilder.append("," + "'" + value + "'");
} }
} else if(fieldPersonList.contains(key) || fieldStanList.contains(key)){ } else if(fieldPersonList.contains(key)){ // || fieldStanList.contains(key)
// 人员选择类型 标准选择类型 // 人员选择类型 标准选择类型
if(ObjectUtil.isNotNull(parameter.get(key+"_id"))) { if(ObjectUtil.isNotNull(parameter.get(key+"_id"))) {
value = parameter.get(key + "_id"); value = parameter.get(key + "_id");
@@ -902,7 +899,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
itemsMap.put(dbFieldName, valuesList); itemsMap.put(dbFieldName, valuesList);
} }
} }
// 人员选择 // 人员选择 存id(文档库存的账号)
if (FieldTypeEnum.PERSON.getValue().equals(fieldType)) { if (FieldTypeEnum.PERSON.getValue().equals(fieldType)) {
if (StringUtils.isNotBlank((String)itemsMap.get(dbFieldName))) { if (StringUtils.isNotBlank((String)itemsMap.get(dbFieldName))) {
List<SysUser> sysUserList = sysUserService.listByIds(Arrays.asList(itemsMap.get(dbFieldName).toString().split(","))); List<SysUser> sysUserList = sysUserService.listByIds(Arrays.asList(itemsMap.get(dbFieldName).toString().split(",")));
@@ -924,43 +921,39 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
} }
} }
} }
// 标准选择 // 标准选择 存编号(不用返回id)
if (FieldTypeEnum.STANDARD.getValue().equals(fieldType)) { /*if (FieldTypeEnum.STANDARD.getValue().equals(fieldType)) {
if (StringUtils.isNotBlank((String)itemsMap.get(dbFieldName))) { if (StringUtils.isNotBlank((String)itemsMap.get(dbFieldName))) {
if (itemsMap.get(dbFieldName).toString().split(",").length > 0) { if (itemsMap.get(dbFieldName).toString().split(",").length > 0) {
List<Map<String, Object>> documentLibraryEOList = documentLibraryEOService.queryListByIds(itemsMap.get(dbFieldName).toString()); List<Map<String, Object>> 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<String, String> idSerialNumberMap = new HashMap<>(); Map<String, String> idSerialNumberMap = new HashMap<>();
List<String> idList = new ArrayList<>(); List<String> idList = new ArrayList<>();
List<String> nameList = new ArrayList<>();
for (Map<String, Object> map : documentLibraryEOList) { for (Map<String, Object> map : documentLibraryEOList) {
String serialNumber = (String) map.get("serial_number"); String serialNumber = (String) map.get("serial_number"); // TODO 可能存在编号相同的情况
String documentLibraryEOId = (String) map.get("id"); String documentLibraryEOId = (String) map.get("id");
idSerialNumberMap.put(documentLibraryEOId, serialNumber); idSerialNumberMap.put(serialNumber, documentLibraryEOId);
idList.add(documentLibraryEOId); nameList.add(serialNumber);
} }
List<String> valueList = Arrays.asList(itemsMap.get(dbFieldName).toString().split(",")); List<String> valueList = Arrays.asList(itemsMap.get(dbFieldName).toString().split(",")).stream().distinct().collect(Collectors.toList());
List<String> newValueList = new ArrayList<>();
for(String value : valueList) { for(String value : valueList) {
if (idList.contains(value)) { if (nameList.contains(value)) {
newValueList.add(idSerialNumberMap.get(value)); idList.add(idSerialNumberMap.get(value));
} else { } else {
newValueList.add(value); idList.add(value);
} }
} }
String names = StringUtils.join(newValueList, ",");
itemsMap.put(dbFieldName+"_id", itemsMap.get(dbFieldName).toString()); String ids = StringUtils.join(idList, ",");
itemsMap.put(dbFieldName, names); itemsMap.put(dbFieldName+"_id", ids);
itemsMap.put(dbFieldName, itemsMap.get(dbFieldName).toString());
} }
// List<Map<String, Object>> 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; return itemsMap;
} }