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("add".equals(type) || "import".equals(type)) {
String valueTemp = UUID.randomUUID().toString().replace("-", "");
// value = valueTemp;
//修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : value.toString().split(",")) {
@@ -381,9 +380,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
valuesBuilder.append("," + "'" + value + "'");
} else if("update".equals(type)){
// 前端标识 key_flag 0-未修改, 1-已修改
if(value.toString().contains(",")){
if(value.toString().contains(",")){ // 新加了多个文件
String valueTemp = UUID.randomUUID().toString().replace("-", "");
// value = valueTemp;
//修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : value.toString().split(",")) {
@@ -396,11 +394,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
valuesBuilder.append("," + "'" + valueTemp + "'");
} else {
List<OSSFile> 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<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : value.toString().split(",")) {
@@ -418,7 +415,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
} else {
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"))) {
value = parameter.get(key + "_id");
@@ -902,7 +899,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
itemsMap.put(dbFieldName, valuesList);
}
}
// 人员选择
// 人员选择 存id(文档库存的账号)
if (FieldTypeEnum.PERSON.getValue().equals(fieldType)) {
if (StringUtils.isNotBlank((String)itemsMap.get(dbFieldName))) {
List<SysUser> sysUserList = sysUserService.listByIds(Arrays.asList(itemsMap.get(dbFieldName).toString().split(",")));
@@ -924,43 +921,39 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
}
}
}
// 标准选择
if (FieldTypeEnum.STANDARD.getValue().equals(fieldType)) {
// 标准选择 存编号(不用返回id
/*if (FieldTypeEnum.STANDARD.getValue().equals(fieldType)) {
if (StringUtils.isNotBlank((String)itemsMap.get(dbFieldName))) {
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<>();
List<String> idList = new ArrayList<>();
List<String> nameList = new ArrayList<>();
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");
idSerialNumberMap.put(documentLibraryEOId, serialNumber);
idList.add(documentLibraryEOId);
idSerialNumberMap.put(serialNumber, documentLibraryEOId);
nameList.add(serialNumber);
}
List<String> valueList = Arrays.asList(itemsMap.get(dbFieldName).toString().split(","));
List<String> newValueList = new ArrayList<>();
List<String> 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<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;
}