From f3ff791ec3bf7612e52aa10d68b5fedffb794a67 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sat, 23 Apr 2022 22:00:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E9=85=8D=E7=BD=AEde=E5=AF=BC=E5=87=BA=E7=9A=84?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E5=92=8C=E5=AD=97=E6=AE=B5=20=E6=8C=89?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=E8=BF=94=E5=9B=9E=E5=B9=B6=E5=AF=B9=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/utils/AuthCodeUtil.java | 2 +- .../tools/validator/group/ExportGroup.java | 19 ++++++ .../dto/form/IcExportTemplateFormDTO.java | 39 +++++++++++ .../dto/result/IcCustomExportResultDTO.java | 40 ++++++++++++ .../IcExportTemplateForExportResultDTO.java | 64 +++++++++++++++++++ .../feign/OperCustomizeOpenFeignClient.java | 8 +++ .../OperCustomizeOpenFeignClientFallback.java | 5 ++ .../IcExportTemplateController.java | 25 ++++++-- .../com/epmet/dao/IcExportTemplateDao.java | 9 ++- .../epmet/entity/IcExportTemplateEntity.java | 3 - .../service/IcExportTemplateService.java | 14 +++- .../impl/IcExportTemplateServiceImpl.java | 39 +++++++++-- .../resources/mapper/IcExportTemplateDao.xml | 11 +++- .../epmet/dto/form/IcResiUserPageFormDTO.java | 4 ++ .../controller/IcResiUserController.java | 43 +++++++------ .../service/IcResiUserExportService.java | 24 +++++++ .../impl/IcResiUserExportServiceImpl.java | 48 ++++++++++++++ 17 files changed, 361 insertions(+), 36 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/group/ExportGroup.java create mode 100644 epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateFormDTO.java create mode 100644 epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcCustomExportResultDTO.java create mode 100644 epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcExportTemplateForExportResultDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserExportService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java 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/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/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-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 490767dff7..01763bf43b 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; @@ -396,6 +399,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 * @@ -872,24 +897,6 @@ public class IcResiUserController implements ResultDataResolver { return new Result>().ok(icResiUserService.getExistUserByHouseIds(ids)); } -// public static ThreadLocal tl = new ThreadLocal(); - - @PostMapping("test-async") - public Result testAsync(HttpServletRequest request){ -// tl.set("wxz"); - executorService.submit(() -> { - try { - Thread.sleep(500l); - log.info("[我是子线程]:" + EpmetRequestHolder.getHeader("app")); - System.out.println("---"); - } catch (InterruptedException e) { - log.error("method exception", e); - } - icResiUserImportService.testAsync(); - }); - return new Result(); - } - /** * @Author sun * @Description 【人房】居民总数饼图 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); + + } +} From 47ca3ec7d2b6bd5e6d4eac2706f6e49a3f519321 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Sun, 24 Apr 2022 09:23:49 +0800 Subject: [PATCH 2/2] ic_form_query_builder.validType --- .../java/com/epmet/entity/IcFormQueryBuilderEntity.java | 5 +++++ .../db/migration/V0.0.24__add_validtype_forbuild.sql | 6 ++++++ .../src/main/resources/mapper/IcFormItemDao.xml | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.24__add_validtype_forbuild.sql 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/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/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,