From 5963bb7316f43cfeab64fdef606da0cf61bbd8a1 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 8 Aug 2024 10:27:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=2088182=20=E5=A4=96=E6=9D=A5=E6=A0=87?= =?UTF-8?q?=E5=87=86=E6=B3=95=E8=A7=84=E6=96=87=E6=9C=AC=E5=BA=93--?= =?UTF-8?q?=E5=AF=BC=E5=85=A5--=E6=93=8D=E4=BD=9C=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/laws/common/util/ImportUtil.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java b/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java index 7d7944ea..3510f4d0 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java @@ -686,13 +686,20 @@ public class ImportUtil { // 字典转换 public String convertDictValue(String dictCode, String cellValue) { String[] valueList = cellValue.split(","); - Map sexDictModelMap = + Map> sexDictModelMap = sysBaseAPI.getDictItems(dictCode).stream() - .collect(Collectors.toMap(DictModel::getText, d -> d)); + .collect(Collectors.groupingBy(DictModel::getText)); StringBuilder result = new StringBuilder(); for (String value : valueList) { - result.append(sexDictModelMap.get(value).getValue()).append(","); + List dictModels = sexDictModelMap.get(value); + if (dictModels.size() == 1) { + result.append(dictModels.get(0).getValue()).append(","); + } else { + // 找到value值最长的那个 + result.append(dictModels.stream() + .max(Comparator.comparingInt(e -> e.getValue().length())).get().getValue()).append(","); + } } // 去除掉最后的逗号 return result.substring(0, result.length() - 1); @@ -718,9 +725,9 @@ public class ImportUtil { // 字典验证(判断填写的是否是中的一个) public boolean dictValid(String dictCode, String cellValue) { String[] valueList = cellValue.split(","); - Map sexDictModelMap = + Map> sexDictModelMap = sysBaseAPI.getDictItems(dictCode).stream() - .collect(Collectors.toMap(DictModel::getText, d -> d)); + .collect(Collectors.groupingBy(DictModel::getText)); for (String value : valueList) { if (sexDictModelMap.get(value) == null) {