Browse Source

Merge remote-tracking branch 'remotes/origin/dev_resi_export' into develop

dev
jianjun 3 years ago
parent
commit
88e6627f2a
  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. 67
      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;
@ -415,16 +414,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);
} }

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

@ -3,21 +3,28 @@ package com.epmet.service.impl;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSON; 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;
@ -35,6 +42,7 @@ import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -65,27 +73,47 @@ 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();
// 背景设置为红色
headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,new WriteCellStyle());
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();
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("居民基本信息.xlsx", response)).registerWriteHandler(writeHandler).build(); excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("居民基本信息.xlsx", response)).registerWriteHandler(writeHandler).build();
WriteSheet writeSheet = EasyExcel.writerSheet().head(exportConfigData.getHeaders()).build(); WriteSheet writeSheet = EasyExcel.writerSheet()
.registerWriteHandler(horizontalCellStyleStrategy)
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.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(),"获取工作人员信息失败");
} }
@ -100,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();
@ -148,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 {
@ -158,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("获取模板失败");
@ -199,6 +237,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
} else { } else {
String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue()); String[] parts = icResiUserImportService.splitOptionSourceUrl(e.getOptionSourceValue());
//todo 不支持多个itemId
Map<String, String> remoteOptions = icResiUserImportService.listRemoteOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query"); Map<String, String> remoteOptions = icResiUserImportService.listRemoteOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query");
log.info("========putRemoteValue:条件:{}", JSON.toJSONString(columnWrappers)); log.info("========putRemoteValue:条件:{}", JSON.toJSONString(columnWrappers));
log.info("========putRemoteValue:结果:{}", JSON.toJSONString(remoteOptions)); log.info("========putRemoteValue:结果:{}", JSON.toJSONString(remoteOptions));
@ -229,7 +268,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
valueList.add(option.getLabel()); valueList.add(option.getLabel());
} }
}); });
return Joiner.on(",").join(valueList); return Joiner.on("").join(valueList);
} }
for (OptionDTO dto : e.getOptions()) { for (OptionDTO dto : e.getOptions()) {

Loading…
Cancel
Save