diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index 50804641..05d12db8 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -772,8 +772,19 @@ public class LawsCommonServiceImpl implements ILawsCommonService { queryWrapper.in(OSSFile::getId, valueList); queryWrapper.orderByDesc(OSSFile::getId); List fileList = ossFileService.list(queryWrapper); - value = StringUtils.join(fileList.stream() - .map(OSSFile::getFileName).collect(Collectors.toList()), ","); + List textList = fileList.stream() + .map(OSSFile::getFileName).collect(Collectors.toList()); + value = StringUtils.join(textList, ","); + // 因为排序问题,值可能不一样 + if (StringUtils.isNotBlank(oldValue)) { + List differentList = Arrays.asList(oldValue.split(",")); + textList.removeAll(differentList); + // 如果值一样,只是排序问题,则不更新 + if (CollectionUtils.isEmpty(textList)) { + oldValue = ""; + value = ""; + } + } } } else if (FieldCommon.STANDARD_SYSTEM.equals(key)) { // 标准体系 @@ -784,26 +795,28 @@ public class LawsCommonServiceImpl implements ILawsCommonService { queryWrapper.in(LawsTreeNode::getId, valueList); queryWrapper.orderByDesc(LawsTreeNode::getId); List nodeList = lawsTreeNodeService.list(queryWrapper); - value = StringUtils.join(nodeList.stream() - .map(LawsTreeNode::getNodeName).collect(Collectors.toList()), ","); + List textList = nodeList.stream() + .map(LawsTreeNode::getNodeName).collect(Collectors.toList()); + value = StringUtils.join(textList, ","); + // 因为排序问题,值可能不一样 + if (StringUtils.isNotBlank(oldValue)) { + List differentList = Arrays.asList(oldValue.split(",")); + textList.removeAll(differentList); + // 如果值一样,只是排序问题,则不更新 + if (CollectionUtils.isEmpty(textList)) { + oldValue = ""; + value = ""; + } + } } - } else if (FieldCommon.REPLACED_STANDARD.equals(key)) { - // 代替标准号 - oldValue = (String) oldDataMap.get(key + FieldCommon._DICT_TEXT); - } else if (FieldCommon.REFERENCE_STANDARD.equals(key)) { - // 引用标准 - oldValue = (String) oldDataMap.get(key + FieldCommon._DICT_TEXT); } else if (FieldCommon.PART_NAME.equals(key)) { - // 零部件名称 + // 零部件名称(单选) oldValue = (String) oldDataMap.get(key + FieldCommon._DICT_TEXT); if (StringUtils.isNotBlank(value)) { - List valueList = Arrays.asList(value.split(",")); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(SysDictItem::getId, valueList); - queryWrapper.orderByDesc(SysDictItem::getId); - List dictList = sysDictItemService.list(queryWrapper); - value = StringUtils.join(dictList.stream() - .map(SysDictItem::getItemText).collect(Collectors.toList()), ","); + queryWrapper.eq(SysDictItem::getId, value); + SysDictItem dictItem = sysDictItemService.getOne(queryWrapper); + value = dictItem.getItemText(); } } else if (FieldCommon.TYPE_DICT.contains(lawsTag.getFieldShowType())) { // 字典翻译 @@ -815,8 +828,19 @@ public class LawsCommonServiceImpl implements ILawsCommonService { queryWrapper.in(SysDictItem::getItemValue, valueList); queryWrapper.orderByDesc(SysDictItem::getId); List dictList = sysDictItemService.list(queryWrapper); - value = StringUtils.join(dictList.stream() - .map(SysDictItem::getItemText).collect(Collectors.toList()), ","); + List textList = dictList.stream() + .map(SysDictItem::getItemText).collect(Collectors.toList()); + value = StringUtils.join(textList, ","); + // 因为排序问题,值可能不一样 + if (StringUtils.isNotBlank(oldValue)) { + List differentList = Arrays.asList(oldValue.split(",")); + textList.removeAll(differentList); + // 如果值一样,只是排序问题,则不更新 + if (CollectionUtils.isEmpty(textList)) { + oldValue = ""; + value = ""; + } + } } }