Browse Source

自定义导出

release
jianjun 3 years ago
parent
commit
8493e9592d
  1. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IcExportItemListFormDTO.java
  2. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IcExportTemplateSaveFormDTO.java
  3. 6
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateQueryFormDTO.java
  4. 1
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
  5. 1
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
  6. 5
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java
  7. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java
  8. 24
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java
  9. 31
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ExportResiUserFormDTO.java
  10. 12
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java
  11. 12
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  12. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserExportService.java
  13. 47
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java

2
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportItemListFormDTO.java → epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IcExportItemListFormDTO.java

@ -1,4 +1,4 @@
package com.epmet.dto.form; package com.epmet.commons.tools.dto.form;
import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.AddGroup;
import lombok.Data; import lombok.Data;

5
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateSaveFormDTO.java → epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IcExportTemplateSaveFormDTO.java

@ -1,4 +1,4 @@
package com.epmet.dto.form; package com.epmet.commons.tools.dto.form;
import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.AddGroup;
import lombok.Data; import lombok.Data;
@ -24,7 +24,7 @@ public class IcExportTemplateSaveFormDTO implements Serializable {
/** /**
* 是否保存为模板 :true :false * 是否保存为模板 :true :false
*/ */
private Boolean isTemp = false; private Boolean isSaveTemp = false;
/** /**
* 表单CODE从字典获取 * 表单CODE从字典获取
@ -35,7 +35,6 @@ public class IcExportTemplateSaveFormDTO implements Serializable {
/** /**
* 模板名称 * 模板名称
*/ */
//@NotBlank(message = "模板名称不能为空",groups = AddGroup.class)
@Length(max = 20, message = "模板名称最多为20个字", groups = { AddGroup.class }) @Length(max = 20, message = "模板名称最多为20个字", groups = { AddGroup.class })
private String name; private String name;

6
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateQueryFormDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto.form; package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.commons.tools.validator.group.ExportGroup; import com.epmet.commons.tools.validator.group.ExportGroup;
import lombok.Data; import lombok.Data;
@ -29,4 +30,9 @@ public class IcExportTemplateQueryFormDTO implements Serializable {
@NotBlank(message = "客户Id不能为空",groups = ExportGroup.class) @NotBlank(message = "客户Id不能为空",groups = ExportGroup.class)
private String customerId; private String customerId;
/**
* 页面上的导出配置参数
*/
private IcExportTemplateSaveFormDTO exportConfig;
} }

1
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java

@ -1,6 +1,7 @@
package com.epmet.feign; package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant; 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.commons.tools.utils.Result;
import com.epmet.dto.CustomerFootBarDTO; import com.epmet.dto.CustomerFootBarDTO;
import com.epmet.dto.IcFormItemOptionsDTO; import com.epmet.dto.IcFormItemOptionsDTO;

1
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java

@ -1,6 +1,7 @@
package com.epmet.feign.fallback; package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant; 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.ModuleUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerFootBarDTO; import com.epmet.dto.CustomerFootBarDTO;

5
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java

@ -2,16 +2,15 @@ package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.ExportGroup; import com.epmet.commons.tools.validator.group.ExportGroup;
import com.epmet.dto.IcExportTemplateDTO; import com.epmet.dto.IcExportTemplateDTO;
import com.epmet.dto.form.IcExportTemplateQueryFormDTO; import com.epmet.dto.form.IcExportTemplateQueryFormDTO;
import com.epmet.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.dto.result.IcCustomExportResultDTO; import com.epmet.dto.result.IcCustomExportResultDTO;
import com.epmet.dto.result.IcExportTemplateForExportResultDTO; import com.epmet.dto.result.IcExportTemplateForExportResultDTO;
import com.epmet.dto.result.TemplateDetailResultDTO; import com.epmet.dto.result.TemplateDetailResultDTO;
@ -51,8 +50,6 @@ public class IcExportTemplateController {
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("save") @PostMapping("save")
public Result<List<IcExportTemplateForExportResultDTO>> save(@RequestBody IcExportTemplateSaveFormDTO formDTO) { public Result<List<IcExportTemplateForExportResultDTO>> save(@RequestBody IcExportTemplateSaveFormDTO formDTO) {
//效验数据
ValidatorUtils.validateEntity(formDTO, AddGroup.class);
return new Result<List<IcExportTemplateForExportResultDTO>>().ok(icExportTemplateService.save(formDTO)); return new Result<List<IcExportTemplateForExportResultDTO>>().ok(icExportTemplateService.save(formDTO));
} }

2
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java

@ -5,7 +5,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IcExportTemplateDTO; import com.epmet.dto.IcExportTemplateDTO;
import com.epmet.dto.form.IcExportTemplateQueryFormDTO; import com.epmet.dto.form.IcExportTemplateQueryFormDTO;
import com.epmet.dto.form.IcExportTemplateSaveFormDTO; import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.dto.result.IcCustomExportResultDTO; import com.epmet.dto.result.IcCustomExportResultDTO;
import com.epmet.dto.result.IcExportTemplateForExportResultDTO; import com.epmet.dto.result.IcExportTemplateForExportResultDTO;
import com.epmet.dto.result.TemplateDetailResultDTO; import com.epmet.dto.result.TemplateDetailResultDTO;

24
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java

@ -8,6 +8,8 @@ import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.IcExportItemListFormDTO;
import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
@ -18,12 +20,12 @@ import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.EpmetRequestHolder; import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.dao.IcExportTemplateDao; import com.epmet.dao.IcExportTemplateDao;
import com.epmet.dao.IcFormItemDao; import com.epmet.dao.IcFormItemDao;
import com.epmet.dto.IcExportTemplateDTO; import com.epmet.dto.IcExportTemplateDTO;
import com.epmet.dto.form.IcExportItemListFormDTO;
import com.epmet.dto.form.IcExportTemplateQueryFormDTO; import com.epmet.dto.form.IcExportTemplateQueryFormDTO;
import com.epmet.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.dto.result.ConditionResultDTO; import com.epmet.dto.result.ConditionResultDTO;
import com.epmet.dto.result.IcCustomExportResultDTO; import com.epmet.dto.result.IcCustomExportResultDTO;
import com.epmet.dto.result.IcExportTemplateForExportResultDTO; import com.epmet.dto.result.IcExportTemplateForExportResultDTO;
@ -93,6 +95,9 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public List<IcExportTemplateForExportResultDTO> save(IcExportTemplateSaveFormDTO formDTO) { public List<IcExportTemplateForExportResultDTO> save(IcExportTemplateSaveFormDTO formDTO) {
//效验数据
ValidatorUtils.validateEntity(formDTO, AddGroup.class);
List<IcExportTemplateForExportResultDTO> resultList = new ArrayList<>(); List<IcExportTemplateForExportResultDTO> resultList = new ArrayList<>();
IcExportTemplateEntity tempEntity = new IcExportTemplateEntity(); IcExportTemplateEntity tempEntity = new IcExportTemplateEntity();
List<IcExportTemplateConfigEntity> itemList = new ArrayList<>(); List<IcExportTemplateConfigEntity> itemList = new ArrayList<>();
@ -111,7 +116,7 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
//2.根据是否保存判断查询当前组织已存在模板的最大sort值 //2.根据是否保存判断查询当前组织已存在模板的最大sort值
int sort = 1; int sort = 1;
String tempId = ""; String tempId = "";
if (formDTO.getIsTemp()) { if (formDTO.getIsSaveTemp()) {
List<IcExportTemplateDTO> templist = baseDao.selectByAgencyId(agencyInfo.getId()); List<IcExportTemplateDTO> templist = baseDao.selectByAgencyId(agencyInfo.getId());
if (!CollectionUtils.isEmpty(templist)) { if (!CollectionUtils.isEmpty(templist)) {
sort = templist.get(NumConstant.ZERO).getSort() + NumConstant.ONE; sort = templist.get(NumConstant.ZERO).getSort() + NumConstant.ONE;
@ -132,7 +137,7 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
packageData(formDTO.getItemList(), "0", customerId, tempId, resultList, itemList); packageData(formDTO.getItemList(), "0", customerId, tempId, resultList, itemList);
//4.执行数据保存 //4.执行数据保存
if (formDTO.getIsTemp()) { if (formDTO.getIsSaveTemp()) {
baseDao.insert(tempEntity); baseDao.insert(tempEntity);
icExportTemplateConfigService.insertBatch(itemList); icExportTemplateConfigService.insertBatch(itemList);
} }
@ -179,7 +184,16 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
@Override @Override
public IcCustomExportResultDTO getTemplateConfigForExport(IcExportTemplateQueryFormDTO param) { public IcCustomExportResultDTO getTemplateConfigForExport(IcExportTemplateQueryFormDTO param) {
List<IcExportTemplateForExportResultDTO> list = icExportTemplateDao.getTemplateConfigForExport(param); String tempId = param.getTempId();
List<IcExportTemplateForExportResultDTO> list = null;
if (StringUtils.isNotBlank(tempId)){
list = icExportTemplateDao.getTemplateConfigForExport(param);
}else {
list = this.save(param.getExportConfig());
}
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
return null; return null;
} }

31
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ExportResiUserFormDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 居民信息自定义导出
* @Author yinzuomei
* @Date 2021/10/27 2:06 下午
*/
@Data
public class ExportResiUserFormDTO implements Serializable {
private static final long serialVersionUID = 8777535966834678256L;
/**
* 表单查询条件
*/
private IcResiUserPageFormDTO searchForm;
/**
* 模板id
*/
private String templateId;
/**
* 自定义的导出表单参数
*/
private IcExportTemplateSaveFormDTO exportConfig;
}

12
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java

@ -1,7 +1,6 @@
package com.epmet.dto.form; package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.validator.group.ExportGroup;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
@ -18,10 +17,10 @@ public class IcResiUserPageFormDTO extends PageFormDTO implements Serializable {
public interface AddUserInternalGroup { public interface AddUserInternalGroup {
} }
@NotBlank(message = "formCode不能为空", groups = {AddUserInternalGroup.class,ExportGroup.class}) @NotBlank(message = "formCode不能为空", groups = {AddUserInternalGroup.class})
private String formCode; private String formCode;
@NotBlank(message = "customerId不能为空", groups = {AddUserInternalGroup.class,ExportGroup.class}) @NotBlank(message = "customerId不能为空", groups = {AddUserInternalGroup.class})
private String customerId; private String customerId;
/** /**
@ -29,7 +28,7 @@ public class IcResiUserPageFormDTO extends PageFormDTO implements Serializable {
*/ */
private List<ResiUserQueryValueDTO> conditions; private List<ResiUserQueryValueDTO> conditions;
@NotBlank(message = "当前用户id不能为空", groups = {AddUserInternalGroup.class,ExportGroup.class}) @NotBlank(message = "当前用户id不能为空", groups = {AddUserInternalGroup.class})
private String staffId; private String staffId;
/** /**
@ -37,10 +36,5 @@ public class IcResiUserPageFormDTO extends PageFormDTO implements Serializable {
*/ */
private String keyword; private String keyword;
/**
* 模板id
*/
private String templateId;
} }

12
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -46,7 +46,6 @@ import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.ExportGroup;
import com.epmet.constant.SystemMessageType; import com.epmet.constant.SystemMessageType;
import com.epmet.constants.ImportTaskConstants; import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.IcResiUserDTO;
@ -414,16 +413,9 @@ public class IcResiUserController implements ResultDataResolver {
*/ */
@NoRepeatSubmit @NoRepeatSubmit
@RequestMapping(value = "/exportExcelCustom") @RequestMapping(value = "/exportExcelCustom")
public void exportExcelCustom(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception { public void exportExcelCustom(@LoginUser TokenDto tokenDto, @RequestBody ExportResiUserFormDTO pageFormDTO, HttpServletResponse response) {
//TODO 去掉
//tokenDto.setUserId("73ae6280e46a6653a5605d51d5462725");
//tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
pageFormDTO.setCustomerId(tokenDto.getCustomerId());
pageFormDTO.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(pageFormDTO, IcResiUserPageFormDTO.AddUserInternalGroup.class,ExportGroup.class);
pageFormDTO.setIsPage(false);
//获取导出配置 //获取导出配置
icResiUserExportService.exportIcResiUser(pageFormDTO,response); icResiUserExportService.exportIcResiUser(tokenDto,pageFormDTO,response);
} }
/** /**

9
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserExportService.java

@ -1,6 +1,7 @@
package com.epmet.service; package com.epmet.service;
import com.epmet.dto.form.IcResiUserPageFormDTO; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.ExportResiUserFormDTO;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -14,11 +15,13 @@ public interface IcResiUserExportService {
/** /**
* desc: 根据条件查询居民信息并根据配置模板导出 * desc: 根据条件查询居民信息并根据配置模板导出
* *
* @param pageFormDTO *
* @param tokenDto
* @param exportResiUserFormDTO
* @param response * @param response
* @return void * @return void
* @author LiuJanJun * @author LiuJanJun
* @date 2022/4/22 1:35 下午 * @date 2022/4/22 1:35 下午
*/ */
void exportIcResiUser(IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response); void exportIcResiUser(TokenDto tokenDto, ExportResiUserFormDTO exportResiUserFormDTO, HttpServletResponse response);
} }

47
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java

@ -10,17 +10,21 @@ import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.FormItemTypeEnum; import com.epmet.commons.tools.enums.FormItemTypeEnum;
import com.epmet.commons.tools.enums.IcFormCodeEnum; import com.epmet.commons.tools.enums.IcFormCodeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constant.IcResiUserConstant; import com.epmet.constant.IcResiUserConstant;
import com.epmet.dto.form.ExportResiUserFormDTO;
import com.epmet.dto.form.IcExportTemplateQueryFormDTO; import com.epmet.dto.form.IcExportTemplateQueryFormDTO;
import com.epmet.dto.form.IcResiUserPageFormDTO; import com.epmet.dto.form.IcResiUserPageFormDTO;
import com.epmet.dto.result.FormItemResult; import com.epmet.dto.result.FormItemResult;
@ -69,14 +73,23 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
/** /**
* desc: 根据条件查询居民信息并根据配置模板导出 * desc: 根据条件查询居民信息并根据配置模板导出
* *
* @param pageFormDTO *
* @param tokenDto
* @param exportResiUserFormDTO
* @param response * @param response
* @return void * @return void
* @author LiuJanJun * @author LiuJanJun
* @date 2022/4/22 1:35 下午 * @date 2022/4/22 1:35 下午
*/ */
@Override @Override
public void exportIcResiUser(IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) { public void exportIcResiUser(TokenDto tokenDto, ExportResiUserFormDTO exportResiUserFormDTO, HttpServletResponse response) {
//校验参数
validateSearchForm(tokenDto, exportResiUserFormDTO);
IcResiUserPageFormDTO searchForm = exportResiUserFormDTO.getSearchForm();
String templateId = exportResiUserFormDTO.getTemplateId();
// 头的策略 // 头的策略
WriteCellStyle headWriteCellStyle = new WriteCellStyle(); WriteCellStyle headWriteCellStyle = new WriteCellStyle();
// 背景设置为红色 // 背景设置为红色
@ -88,9 +101,9 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
ExcelWriter excelWriter = null; ExcelWriter excelWriter = null;
try { try {
//获取用户配置的导出条件 //获取用户配置的导出条件
Result<IcCustomExportResultDTO> exportConfigResult = getIcCustomExportConfig(pageFormDTO); Result<IcCustomExportResultDTO> exportConfigResult = getIcCustomExportConfig(searchForm.getCustomerId(),templateId,exportResiUserFormDTO.getExportConfig());
Map<String, ExportResiUserItemDTO> itemOriginMap = getItemMap(pageFormDTO.getCustomerId()); Map<String, ExportResiUserItemDTO> itemOriginMap = getItemMap(searchForm.getCustomerId());
IcCustomExportResultDTO exportConfigData = exportConfigResult.getData(); IcCustomExportResultDTO exportConfigData = exportConfigResult.getData();
log.info("查询到的模板配置信息:{}", JSON.toJSONString(exportConfigData)); log.info("查询到的模板配置信息:{}", JSON.toJSONString(exportConfigData));
FreezeAndFilter writeHandler = new FreezeAndFilter(); FreezeAndFilter writeHandler = new FreezeAndFilter();
@ -100,7 +113,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.head(exportConfigData.getHeaders()).build(); .head(exportConfigData.getHeaders()).build();
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(pageFormDTO.getCustomerId(), pageFormDTO.getStaffId()); CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(searchForm.getCustomerId(), searchForm.getStaffId());
if (staffInfoCacheResult == null){ if (staffInfoCacheResult == null){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"获取工作人员信息失败"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"获取工作人员信息失败");
} }
@ -115,10 +128,10 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
allShowColumns.addAll(exportConfigData.getHiddenSqlColumns()); allShowColumns.addAll(exportConfigData.getHiddenSqlColumns());
do { do {
String finalStaffOrgPath = staffOrgPath; String finalStaffOrgPath = staffOrgPath;
mapListPage = PageHelper.startPage(pageFormDTO.getPageNo(), pageFormDTO.getPageSize(), pageFormDTO.getIsPage()).doSelectPage(() -> { mapListPage = PageHelper.startPage(searchForm.getPageNo(), searchForm.getPageSize(), searchForm.getIsPage()).doSelectPage(() -> {
icResiUserService.dynamicQuery(pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), IcResiUserConstant.IC_RESI_USER, allShowColumns, pageFormDTO.getConditions(), staffInfoCacheResult.getAgencyId(), finalStaffOrgPath); icResiUserService.dynamicQuery(searchForm.getCustomerId(), searchForm.getFormCode(), IcResiUserConstant.IC_RESI_USER, allShowColumns, searchForm.getConditions(), staffInfoCacheResult.getAgencyId(), finalStaffOrgPath);
}); });
pageFormDTO.setPageNo(pageFormDTO.getPageNo() + NumConstant.ONE); searchForm.setPageNo(searchForm.getPageNo() + NumConstant.ONE);
List<Map<String, Object>> result = mapListPage.getResult(); List<Map<String, Object>> result = mapListPage.getResult();
@ -163,7 +176,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
excelWriter.write(resultData, writeSheet); excelWriter.write(resultData, writeSheet);
//todo //todo
break; break;
} while (mapListPage.getResult().size() == pageFormDTO.getPageSize()); } while (mapListPage.getResult().size() == searchForm.getPageSize());
} catch (IOException e) { } catch (IOException e) {
log.error("exportIcResiUser exception", e); log.error("exportIcResiUser exception", e);
} finally { } finally {
@ -173,11 +186,21 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
} }
} }
public void validateSearchForm(TokenDto tokenDto, ExportResiUserFormDTO exportResiUserFormDTO) {
IcResiUserPageFormDTO searchForm = exportResiUserFormDTO.getSearchForm();
searchForm.setCustomerId(tokenDto.getCustomerId());
searchForm.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(searchForm, IcResiUserPageFormDTO.AddUserInternalGroup.class);
searchForm.setIsPage(false);
}
@Nullable @Nullable
public Result<IcCustomExportResultDTO> getIcCustomExportConfig(IcResiUserPageFormDTO pageFormDTO) { public Result<IcCustomExportResultDTO> getIcCustomExportConfig(String customerId, String templateId, IcExportTemplateSaveFormDTO exportConfig) {
//通过配置导出
IcExportTemplateQueryFormDTO param = new IcExportTemplateQueryFormDTO(); IcExportTemplateQueryFormDTO param = new IcExportTemplateQueryFormDTO();
param.setCustomerId(pageFormDTO.getCustomerId()); param.setCustomerId(customerId);
param.setTempId(pageFormDTO.getTemplateId()); param.setTempId(templateId);
param.setExportConfig(exportConfig);
Result<IcCustomExportResultDTO> exportConfigResult = operCustomizeOpenFeignClient.getExcelHeaderAndSqlColumnForExport(param); Result<IcCustomExportResultDTO> exportConfigResult = operCustomizeOpenFeignClient.getExcelHeaderAndSqlColumnForExport(param);
if (!exportConfigResult.success() || exportConfigResult.getData() == null) { if (!exportConfigResult.success() || exportConfigResult.getData() == null) {
log.error("获取模板失败"); log.error("获取模板失败");

Loading…
Cancel
Save