fix: 88182 外来标准法规文本库--导入--操作失败

This commit is contained in:
2024-08-08 10:27:44 +08:00
parent 94190dfd37
commit 5963bb7316
@@ -686,13 +686,20 @@ public class ImportUtil {
// 字典转换
public String convertDictValue(String dictCode, String cellValue) {
String[] valueList = cellValue.split(",");
Map<String, DictModel> sexDictModelMap =
Map<String, List<DictModel>> 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<DictModel> 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<String, DictModel> sexDictModelMap =
Map<String, List<DictModel>> 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) {