diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java index ed792de92a..8547061def 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java @@ -174,7 +174,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { String tableName = sqlColumn.getTableName(); String itemId = sqlColumn.getItemId(); String columnName = columnDTO.getColumnName(); - if (hiddenColumnSet.contains(columnName)){ + if (hiddenColumnSet.contains(columnName)) { return; } String vauleStr = value == null ? StrConstant.EPMETY_STR : value.toString(); @@ -268,39 +268,41 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { String cacheValue = cache.getIfPresent(vauleStr); if (StringUtils.isNotBlank(cacheValue)) { map.put(columnName, cacheValue); - } else { - String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue()); - - if (FormItemTypeEnum.CASCADER.getCode().equals(e.getItemType())) { - Map remoteOptionMap = icResiUserImportService.listRemoteCascadeOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query"); - List listOptions = new ArrayList<>(); - String[] split = vauleStr.split(StrConstant.COMMA); - Arrays.stream(split).forEach((value) -> { - //todo 看看怎么更好的利用本地缓存 - OptionResultDTO optionResultDTO = remoteOptionMap.get(value); - if (optionResultDTO != null) { - listOptions.add(optionResultDTO.getLabel()); - } - }); - String join = Joiner.on("-").join(listOptions); - cache.put(vauleStr, join); - map.put(columnName, join); - } else { - //todo 不支持多个itemId - Map remoteOptions = icResiUserImportService.listRemoteOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query"); - if (FormItemTypeEnum.CHECKBOX.getCode().equals(e.getItemType())) { - remoteOptions.forEach((label, value) -> map.put(value, vauleStr.contains(value) ? StrConstant.YES : StrConstant.NO)); - } else if (FormItemTypeEnum.SELECT.getCode().equals(e.getItemType())) { - remoteOptions.forEach((label, value) -> { - if (vauleStr.equals(value)) { - map.put(columnName, label); - } - //放if外面是为了下次取得时候 可以有值 - cache.put(value, label); - }); - } - } + return; + } + String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue()); + //如果是级联的 则调用级联获取接口 根据原始值逗号隔开的 赋值 + if (FormItemTypeEnum.CASCADER.getCode().equals(e.getItemType())) { + Map remoteOptionMap = icResiUserImportService.listRemoteCascadeOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query"); + List listOptions = new ArrayList<>(); + String[] split = vauleStr.split(StrConstant.COMMA); + Arrays.stream(split).forEach((value) -> { + //todo 看看怎么更好的利用本地缓存 + OptionResultDTO optionResultDTO = remoteOptionMap.get(value); + if (optionResultDTO != null) { + listOptions.add(optionResultDTO.getLabel()); + } + }); + String join = Joiner.on("-").join(listOptions); + cache.put(vauleStr, join); + map.put(columnName, join); + return; + } + //todo 不支持多个itemId + Map remoteOptions = icResiUserImportService.listRemoteOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query"); + if (FormItemTypeEnum.CHECKBOX.getCode().equals(e.getItemType())) { + remoteOptions.forEach((label, value) -> map.put(value, vauleStr.contains(value) ? StrConstant.YES : StrConstant.NO)); + return; + } + if (FormItemTypeEnum.SELECT.getCode().equals(e.getItemType())) { + remoteOptions.forEach((label, value) -> { + if (vauleStr.equals(value)) { + map.put(columnName, label); + } + //放if外面是为了下次取得时候 可以有值 + cache.put(value, label); + }); } } catch (Exception ex) { log.warn("listRemoteOptions url", ex);