From c7672f0f6dd4b3e033dba38fddcf3444c5105374 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 27 Apr 2022 15:14:53 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8F=90=E9=AB=98=E5=8F=AF=E8=AF=BB?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IcResiUserExportServiceImpl.java | 68 ++++++++++--------- 1 file changed, 35 insertions(+), 33 deletions(-) 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); From 61315feeb436a0599f121d506daf8d2917f73d8f Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 27 Apr 2022 15:19:45 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/feign/OperCustomizeOpenFeignClient.java | 7 ------- .../OperCustomizeOpenFeignClientFallback.java | 5 ----- .../main/java/com/epmet/dao/IcFormItemDao.java | 9 --------- .../service/impl/IcExportTemplateServiceImpl.java | 13 +++++-------- .../src/main/resources/mapper/IcFormItemDao.xml | 15 --------------- 5 files changed, 5 insertions(+), 44 deletions(-) diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java index 9ad09ea7b0..ce708be3b2 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java @@ -1,7 +1,6 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerFootBarDTO; import com.epmet.dto.IcFormItemOptionsDTO; @@ -171,10 +170,4 @@ public interface OperCustomizeOpenFeignClient { @PostMapping("/oper/customize/icExportTemplate/getExcelHeaderAndSqlColumnForExport") Result getExcelHeaderAndSqlColumnForExport(@RequestBody IcExportTemplateQueryFormDTO param); - /** - * @author sun - * @Description 居民信息自定义模板导出--保存模板 - */ - @PostMapping("/oper/customize/icExportTemplate/save") - Result> save(@RequestBody IcExportTemplateSaveFormDTO formDTO); } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java index 91e4772d8a..555dac052c 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java @@ -1,7 +1,6 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerFootBarDTO; @@ -131,8 +130,4 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getExcelHeaderAndSqlColumnForExport", param); } - @Override - public Result> save(IcExportTemplateSaveFormDTO formDTO) { - return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "save", formDTO); - } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java index cece95984e..fda1c91afc 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java @@ -80,15 +80,6 @@ public interface IcFormItemDao extends BaseDao { **/ List getMustColumn(@Param("customerId") String customerId); - /** - * desc:获取需要远程获取并带有关联item的参数的 item项 - * - * @param customerId - * @param formCode - * @return - */ - List getConditionRemoteItems(@Param("customerId") String customerId, @Param("formCode") String formCode); - /** * desc:根据Id获取item对应的表名和item属性 * diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java index 3186d60146..482d3af99d 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java @@ -203,20 +203,17 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl remoteItemList = icFormItemDao.getConditionRemoteItems(param.getCustomerId(), param.getFormCode()); + Map> resultTemp = list.stream().collect(Collectors.groupingBy(IcExportTemplateForExportResultDTO::getPid, LinkedHashMap::new, Collectors.toList())); List> headerList = new ArrayList<>(); List showSqlColumns = new ArrayList<>(); List hiddenSqlColumns = new ArrayList<>(); Set hasExistColumnSet = new HashSet<>(); - resultTemp.get(NumConstant.ZERO_STR).forEach(root -> { - digui(resultTemp, root, headerList, showSqlColumns, hiddenSqlColumns, hasExistColumnSet); - }); + resultTemp.get(NumConstant.ZERO_STR) + .forEach(root -> recursionData(resultTemp, root, headerList, showSqlColumns, hiddenSqlColumns, hasExistColumnSet)); //组织 关联item项的 if (hasExistColumnSet.size() > NumConstant.ZERO) { Set configItemIdSet = list.stream().map(IcExportTemplateForExportResultDTO::getItemId).collect(Collectors.toSet()); @@ -297,7 +294,7 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl> resultTemp, IcExportTemplateForExportResultDTO root, List> headerList, List showSqlColumns, List hiddenSqlColumns, Set hasExistColumnSet) { + private void recursionData(Map> resultTemp, IcExportTemplateForExportResultDTO root, List> headerList, List showSqlColumns, List hiddenSqlColumns, Set hasExistColumnSet) { if (StringUtils.isNotBlank(root.getColumnName())) { showSqlColumns.add(new IcCustomExportResultDTO.SqlColumn(root.getItemId(),root.getTableName(),root.isSupportAdd(), root.getColumnName(),root.getOptionSourceType())); if (StringUtils.isNotBlank(root.getOptionSourceValue())&&root.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)) { @@ -315,7 +312,7 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl -