diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/AuthCodeUtil.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/AuthCodeUtil.java
index 0ca2ab6412..53dfcd5411 100644
--- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/AuthCodeUtil.java
+++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/AuthCodeUtil.java
@@ -24,7 +24,7 @@ public class AuthCodeUtil {
/**
*
- * 从字符串的指定位置截取指定长度的子字符串
+ * 从字符串的指定位置截取指定长度的子字符串
*
* 原字符串
* 子字符串的起始位置
diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/group/ExportGroup.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/group/ExportGroup.java
new file mode 100644
index 0000000000..4b6f21b833
--- /dev/null
+++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/group/ExportGroup.java
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) 2018 人人开源 All rights reserved.
+ *
+ * https://www.renren.io
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.epmet.commons.tools.validator.group;
+
+/**
+ * 导出 Group
+ *
+ * @author Mark sunlightcs@gmail.com
+ * @since 1.0.0
+ */
+public interface ExportGroup {
+
+}
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateFormDTO.java
new file mode 100644
index 0000000000..e55e1e020e
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateFormDTO.java
@@ -0,0 +1,39 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * 自定义表单导出模板
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-04-21
+ */
+@Data
+public class IcExportTemplateFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 模板主键
+ */
+ private String tempId;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 表单CODE,从字典获取
+ */
+ private String formCode;
+
+ /**
+ * 模板名称
+ */
+ private String name;
+
+}
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcCustomExportResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcCustomExportResultDTO.java
new file mode 100644
index 0000000000..19b1dc1974
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcCustomExportResultDTO.java
@@ -0,0 +1,40 @@
+package com.epmet.dto.result;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * 自定义表单导出模板配置项 for 导出时使用
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-04-21
+ */
+@Data
+public class IcCustomExportResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 表头
+ */
+ private List> headers = new ArrayList<>();
+
+
+ /**
+ * sql中要返回的 列名 顺序跟表头顺序一致
+ */
+ private List sqlColumns;
+
+ @AllArgsConstructor
+ @Data
+ public static class SqlColumn {
+ private String tableName;
+ private String columnName;
+ }
+
+}
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcExportTemplateForExportResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcExportTemplateForExportResultDTO.java
new file mode 100644
index 0000000000..7dc27c898a
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcExportTemplateForExportResultDTO.java
@@ -0,0 +1,64 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ * 自定义表单导出模板配置项 for 导出时使用
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-04-21
+ */
+@Data
+public class IcExportTemplateForExportResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ private String id;
+
+ /**
+ * 模板主键id
+ */
+ private String tempId;
+
+ /**
+ * 父id
+ */
+ private String pid;
+
+ /**
+ * 表头宽度
+ */
+ private Integer width;
+
+ /**
+ * 项标签
+ */
+ private String label;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 表名
+ */
+ private String tableName;
+ /**
+ * 列名
+ */
+ private String columnName;
+
+ /**
+ * 子节点
+ */
+ private List children;
+
+}
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 c714bd77e1..65b1d43609 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
@@ -161,4 +161,12 @@ public interface OperCustomizeOpenFeignClient {
*/
@PostMapping("/oper/customize/icformitem/resi-category-items/list")
Result> listResiCategoryItems(@RequestParam("customer-id") String customerId);
+
+ /**
+ * 查询要导出的表头和sql返回结果的列的 用于导出
+ * @param param
+ * @return
+ */
+ @PostMapping("/oper/customize/icExportTemplate/getExcelHeaderAndSqlColumnForExport")
+ Result getExcelHeaderAndSqlColumnForExport(@RequestBody IcExportTemplateFormDTO param);
}
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 a8fdcbff41..19a01082cc 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
@@ -124,4 +124,9 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe
public Result> listResiCategoryItems(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "listResiCategoryItems", customerId);
}
+
+ @Override
+ public Result getExcelHeaderAndSqlColumnForExport(IcExportTemplateFormDTO param) {
+ return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getExcelHeaderAndSqlColumnForExport", param);
+ }
}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java
index 64ea75254e..7804e07bb8 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java
@@ -7,7 +7,10 @@ import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.commons.tools.validator.group.ExportGroup;
import com.epmet.dto.IcExportTemplateDTO;
+import com.epmet.dto.form.IcExportTemplateFormDTO;
+import com.epmet.dto.result.IcCustomExportResultDTO;
import com.epmet.service.IcExportTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -29,20 +32,20 @@ public class IcExportTemplateController {
private IcExportTemplateService icExportTemplateService;
@RequestMapping("page")
- public Result> page(@RequestParam Map params){
+ public Result> page(@RequestParam Map params) {
PageData page = icExportTemplateService.page(params);
return new Result>().ok(page);
}
- @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
- public Result get(@PathVariable("id") String id){
+ @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
+ public Result get(@PathVariable("id") String id) {
IcExportTemplateDTO data = icExportTemplateService.get(id);
return new Result().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
- public Result save(@RequestBody IcExportTemplateDTO dto){
+ public Result save(@RequestBody IcExportTemplateDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icExportTemplateService.save(dto);
@@ -51,12 +54,24 @@ public class IcExportTemplateController {
@PostMapping("delete")
- public Result delete(@RequestBody String[] ids){
+ public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icExportTemplateService.delete(ids);
return new Result();
}
+ /**
+ * desc:查询要导出的表头和sql返回结果的列的 用于导出
+ *
+ * @param param
+ * @return
+ */
+ @PostMapping("getExcelHeaderAndSqlColumnForExport")
+ public Result getExcelHeaderAndSqlColumnForExport(@RequestBody IcExportTemplateFormDTO param) {
+ ValidatorUtils.validateEntity(param, ExportGroup.class);
+ return new Result().ok(icExportTemplateService.getTemplateConfigForExport(param));
+ }
+
}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateDao.java
index cfcad2875c..8cf3df7aa5 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateDao.java
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateDao.java
@@ -1,9 +1,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.form.IcExportTemplateFormDTO;
+import com.epmet.dto.result.IcExportTemplateForExportResultDTO;
import com.epmet.entity.IcExportTemplateEntity;
import org.apache.ibatis.annotations.Mapper;
+import java.util.List;
+
/**
* 自定义表单导出模板
*
@@ -12,5 +16,6 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcExportTemplateDao extends BaseDao {
-
-}
\ No newline at end of file
+
+ List getTemplateConfigForExport(IcExportTemplateFormDTO param);
+}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcExportTemplateEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcExportTemplateEntity.java
index 433f78b4aa..0fbf031dc8 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcExportTemplateEntity.java
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcExportTemplateEntity.java
@@ -1,13 +1,10 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
-
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import java.util.Date;
-
/**
* 自定义表单导出模板
*
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcFormQueryBuilderEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcFormQueryBuilderEntity.java
index 9534fc12d2..22f83887ba 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcFormQueryBuilderEntity.java
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcFormQueryBuilderEntity.java
@@ -72,6 +72,11 @@ public class IcFormQueryBuilderEntity extends BaseEpmetEntity {
*/
private String funType;
+ /**
+ * 手机号:mobile; 身份证:id_card;只能输入数字:num
+ */
+ private String validType;
+
/**
* 排序
*/
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java
index 8aeeaea6d2..cc6e7fdd1c 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java
@@ -3,6 +3,8 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcExportTemplateDTO;
+import com.epmet.dto.form.IcExportTemplateFormDTO;
+import com.epmet.dto.result.IcCustomExportResultDTO;
import com.epmet.entity.IcExportTemplateEntity;
import java.util.List;
@@ -75,4 +77,14 @@ public interface IcExportTemplateService extends BaseService
+ * @author LiuJanJun
+ * @date 2022/4/22 3:55 下午
+ */
+ IcCustomExportResultDTO getTemplateConfigForExport(IcExportTemplateFormDTO param);
+}
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 9e88bda150..d965df9f47 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
@@ -8,15 +8,19 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcExportTemplateDao;
import com.epmet.dto.IcExportTemplateDTO;
+import com.epmet.dto.form.IcExportTemplateFormDTO;
+import com.epmet.dto.result.IcCustomExportResultDTO;
+import com.epmet.dto.result.IcExportTemplateForExportResultDTO;
import com.epmet.entity.IcExportTemplateEntity;
import com.epmet.service.IcExportTemplateService;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 自定义表单导出模板
@@ -27,6 +31,8 @@ import java.util.Map;
@Service
public class IcExportTemplateServiceImpl extends BaseServiceImpl implements IcExportTemplateService {
+ @Autowired
+ private IcExportTemplateDao icExportTemplateDao;
@Override
public PageData page(Map params) {
@@ -44,8 +50,8 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl getWrapper(Map params){
- String id = (String)params.get(FieldConstant.ID_HUMP);
+ private QueryWrapper getWrapper(Map params) {
+ String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@@ -80,4 +86,27 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl list = icExportTemplateDao.getTemplateConfigForExport(param);
+ if (CollectionUtils.isEmpty(list)) {
+ return null;
+ }
+ Map> resultTemp = list.stream().collect(Collectors.groupingBy(IcExportTemplateForExportResultDTO::getPid, LinkedHashMap::new, Collectors.toList()));
+ List> headerMap = new ArrayList<>();
+ List sqlColumns = new ArrayList<>();
+ resultTemp.forEach((pid, groupList) -> {
+ List headerGroupList = new ArrayList<>();
+ for (IcExportTemplateForExportResultDTO item : groupList) {
+ headerGroupList.add(item.getLabel());
+ sqlColumns.add(new IcCustomExportResultDTO.SqlColumn(item.getTableName(), item.getColumnName()));
+ }
+ headerMap.add(headerGroupList);
+ });
+ IcCustomExportResultDTO result = new IcCustomExportResultDTO();
+ result.setHeaders(headerMap);
+ result.setSqlColumns(sqlColumns);
+ return result;
+ }
+
}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.24__add_validtype_forbuild.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.24__add_validtype_forbuild.sql
new file mode 100644
index 0000000000..0565333344
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.24__add_validtype_forbuild.sql
@@ -0,0 +1,6 @@
+alter table ic_form_query_builder add COLUMN VALID_TYPE VARCHAR(32) COMMENT '手机号:mobile; 身份证:id_card;只能输入数字:num' after FUN_TYPE;
+
+update ic_form_query_builder set VALID_TYPE=(
+select i.VALID_TYPE from ic_form_item i where i.id=FORM_ITEM_ID
+and i.CUSTOMER_ID=CUSTOMER_ID
+)where DEL_FLAG='0';
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml
index f94f6a62bf..34257f84bc 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml
@@ -18,6 +18,15 @@
+
-
\ No newline at end of file
+
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml
index fb85fcd58b..e23407e93f 100644
--- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml
@@ -77,7 +77,7 @@
b.ITEM_TYPE,
i.ITEM_GROUP_ID,
i.REQUIRED,
- IFNULL(i.VALID_TYPE,'')as VALID_TYPE,
+ IFNULL(b.VALID_TYPE,'')as VALID_TYPE,
IFNULL(i.DEFAULT_VALUE,'') as DEFAULT_VALUE,
IFNULL(i.OPTION_SOURCE_TYPE,'') as OPTION_SOURCE_TYPE,
IFNULL(i.OPTION_SOURCE_VALUE,'') as OPTION_SOURCE_VALUE,
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java
index 462353b404..cf3839437a 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java
@@ -1,5 +1,6 @@
package com.epmet.dto.form;
+import com.epmet.commons.tools.validator.group.ExportGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -43,5 +44,8 @@ public class IcResiUserPageFormDTO implements Serializable {
*/
private String keyword;
+ @NotBlank(message = "模板id不能为空", groups = ExportGroup.class)
+ private String templateId;
+
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
index 142a824c97..ea2318d76d 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
@@ -58,6 +58,7 @@ import com.epmet.excel.support.ExportResiUserItemDTO;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.OperCustomizeOpenFeignClient;
import com.epmet.feign.OssFeignClient;
+import com.epmet.service.IcResiUserExportService;
import com.epmet.service.IcResiUserImportService;
import com.epmet.service.IcResiUserService;
import feign.RequestInterceptor;
@@ -124,6 +125,8 @@ public class IcResiUserController implements ResultDataResolver {
@Autowired
private IcResiUserImportService icResiUserImportService;
@Autowired
+ private IcResiUserExportService icResiUserExportService;
+ @Autowired
private RedisUtils redisUtils;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@@ -397,6 +400,28 @@ public class IcResiUserController implements ResultDataResolver {
}
}
+ /**
+ * desc: 自定义导出居民信息
+ *
+ * @param tokenDto
+ * @param pageFormDTO
+ * @param response
+ * @return void
+ * @author LiuJanJun
+ * @date 2021/11/19 4:24 下午
+ * @remark:分页批量导出 oss目录在 各个环境对应的前缀文件夹/file-template/resi-template/客户ID.xlsx,
+ * 如果某个客户需要更新模版 则替换掉上面的模版文件;然后 更新缓存里的值或者删除也行 再导出就会下载新的模版了
+ */
+ @NoRepeatSubmit
+ @RequestMapping(value = "/exportExcelCustom")
+ public void exportExcelCustom(/*@LoginUser*/ TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception {
+ //tokenDto.setUserId("9e37adcce6472152e6508a19d3683e02");
+ //tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
+ ValidatorUtils.validateEntity(pageFormDTO, IcResiUserPageFormDTO.AddUserInternalGroup.class,ExportGroup.class);
+ //获取导出配置
+ icResiUserExportService.exportIcResiUser(pageFormDTO,response);
+
+ }
/**
* desc:根据客户id 先从oss下载模版,如果有没有则使用系统默认模板 如果不存在则返回null
*
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserExportService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserExportService.java
new file mode 100644
index 0000000000..2ec2d51fbf
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserExportService.java
@@ -0,0 +1,24 @@
+package com.epmet.service;
+
+import com.epmet.dto.form.IcResiUserPageFormDTO;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *@Description 居民信息导出service
+ *@Author wangxianzhang
+ *@Date 2021/11/4
+ */
+public interface IcResiUserExportService {
+
+ /**
+ * desc: 根据条件查询居民信息并根据配置模板导出
+ *
+ * @param pageFormDTO
+ * @param response
+ * @return void
+ * @author LiuJanJun
+ * @date 2022/4/22 1:35 下午
+ */
+ void exportIcResiUser(IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response);
+}
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
new file mode 100644
index 0000000000..f06f1b35e5
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java
@@ -0,0 +1,48 @@
+package com.epmet.service.impl;
+
+import com.epmet.commons.tools.security.user.LoginUserUtil;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.form.IcExportTemplateFormDTO;
+import com.epmet.dto.form.IcResiUserPageFormDTO;
+import com.epmet.dto.result.IcCustomExportResultDTO;
+import com.epmet.feign.OperCustomizeOpenFeignClient;
+import com.epmet.service.IcResiUserExportService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * desc:
+ *
+ * @author: LiuJanJun
+ * @date: 2022/4/22 1:36 下午
+ * @version: 1.0
+ */
+@Slf4j
+@Service
+public class IcResiUserExportServiceImpl implements IcResiUserExportService {
+ @Autowired
+ private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient;
+ @Autowired
+ private LoginUserUtil loginUserUtil;
+ /**
+ * desc: 根据条件查询居民信息并根据配置模板导出
+ *
+ * @param pageFormDTO
+ * @param response
+ * @return void
+ * @author LiuJanJun
+ * @date 2022/4/22 1:35 下午
+ */
+ @Override
+ public void exportIcResiUser(IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) {
+ //获取模板条件
+ IcExportTemplateFormDTO param = new IcExportTemplateFormDTO();
+ param.setCustomerId(loginUserUtil.getLoginUserCustomerId());
+ param.setTempId(pageFormDTO.getTemplateId());
+ Result exportConfigResult = operCustomizeOpenFeignClient.getExcelHeaderAndSqlColumnForExport(param);
+
+ }
+}