Browse Source

提高可读性

dev
jianjun 3 years ago
parent
commit
c7672f0f6d
  1. 68
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java

68
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<String, OptionResultDTO> remoteOptionMap = icResiUserImportService.listRemoteCascadeOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query");
List<String> 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<String, String> 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<String, OptionResultDTO> remoteOptionMap = icResiUserImportService.listRemoteCascadeOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query");
List<String> 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<String, String> 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);

Loading…
Cancel
Save