From bddcaa2b1b676db1797ad4cad8fd12c1c52916a5 Mon Sep 17 00:00:00 2001 From: liao Date: Thu, 28 Sep 2023 10:27:29 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=9B=B4=E6=96=B0=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=E9=97=AE=E9=A2=98=E5=BC=95=E8=B5=B7=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LawsCommonServiceImpl.java | 62 +++++++++++++------ 1 file changed, 43 insertions(+), 19 deletions(-) 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 = ""; + } + } } }