diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberPayRecordDetailDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberPayRecordDetailDTO.java index d218d169ea..e0537443ce 100644 --- a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberPayRecordDetailDTO.java +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/IcPartyMemberPayRecordDetailDTO.java @@ -1,10 +1,11 @@ package com.epmet.resi.partymember.dto.partymember; -import java.io.Serializable; -import java.util.Date; +import com.epmet.commons.tools.dto.form.PageFormDTO; import lombok.Data; +import java.io.Serializable; import java.math.BigDecimal; +import java.util.Date; /** * 党员缴费记录明细表 @@ -13,7 +14,7 @@ import java.math.BigDecimal; * @since v1.0.0 2022-05-17 */ @Data -public class IcPartyMemberPayRecordDetailDTO implements Serializable { +public class IcPartyMemberPayRecordDetailDTO extends PageFormDTO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberPayRecordDetailController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberPayRecordDetailController.java index c534ae9359..4c095ac243 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberPayRecordDetailController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartyMemberPayRecordDetailController.java @@ -1,28 +1,38 @@ package com.epmet.modules.partymember.controller; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; 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.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.modules.partymember.excel.IcPartyMemberPayRecordDetailExcel; import com.epmet.modules.partymember.service.IcPartyMemberPayRecordDetailService; import com.epmet.resi.partymember.dto.partymember.IcPartyMemberPayRecordDetailDTO; -import com.epmet.resi.partymember.dto.partymember.IcPartymemberStyleDTO; -import com.epmet.resi.partymember.dto.partymember.form.IcPartyMemberPayRecordDetailFormDTO; -import com.epmet.resi.partymember.dto.partymember.form.PartyMemberStyleFormDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import java.io.PrintWriter; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; /** @@ -31,6 +41,7 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2022-05-17 */ +@Slf4j @RestController @RequestMapping("icPartyMemberPayRecordDetail") public class IcPartyMemberPayRecordDetailController { @@ -79,10 +90,46 @@ public class IcPartyMemberPayRecordDetailController { return new Result(); } - @GetMapping("export") - public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { - List list = icPartyMemberPayRecordDetailService.list(params); - ExcelUtils.exportExcelToTarget(response, null, list, IcPartyMemberPayRecordDetailExcel.class); + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody Map params, HttpServletResponse response) throws Exception { +// List list = icPartyMemberPayRecordDetailService.list(params); +// ExcelUtils.exportExcelToTarget(response, null, list, IcPartyMemberPayRecordDetailExcel.class); + + params.put("customerId",tokenDto.getCustomerId()); + params.put("isPage",false); + params.put("pageSize",NumConstant.TEN_THOUSAND); + + ExcelWriter excelWriter = null; + AtomicInteger i = new AtomicInteger(1); + try { + String fileName = "缴费记录.xlsx"; + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcPartyMemberPayRecordDetailExcel.class).build(); + PageData page = null; + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + do { + page = icPartyMemberPayRecordDetailService.getPhrasePage(params); + List list = ConvertUtils.sourceToTarget(page.getList(), IcPartyMemberPayRecordDetailExcel.class); + list.forEach(item -> { + item.setIndex(i.getAndIncrement()); + }); + excelWriter.write(list, writeSheet); +// formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); + } while (CollectionUtils.isNotEmpty(page.getList()) && page.getList().size() == NumConstant.TEN_THOUSAND); + } catch (EpmetException e) { + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-type", "application/json; charset=UTF-8"); + PrintWriter printWriter = response.getWriter(); + Result result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),e.getMsg()); + printWriter.write(JSON.toJSONString(result)); + printWriter.close(); + } catch (Exception e) { + log.error("export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/IcPartyMemberPayRecordDetailExcel.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/IcPartyMemberPayRecordDetailExcel.java index fbc64d9b52..f4ae8dc8c5 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/IcPartyMemberPayRecordDetailExcel.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/IcPartyMemberPayRecordDetailExcel.java @@ -1,10 +1,10 @@ package com.epmet.modules.partymember.excel; -import cn.afterturn.easypoi.excel.annotation.Excel; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.math.BigDecimal; -import java.util.Date; /** * 党员缴费记录明细表 @@ -15,44 +15,70 @@ import java.util.Date; @Data public class IcPartyMemberPayRecordDetailExcel { - @Excel(name = "唯一标识") - private String id; + @ColumnWidth(10) + @ExcelProperty(value = "序号",order = 1) + private Integer index; - @Excel(name = "客户Id (customer.id)") - private String customerId; + @ColumnWidth(20) + @ExcelProperty(value = "所属党组织",order = 2) + private String orgName; - @Excel(name = "党员ID") - private String partyMemberId; + @ColumnWidth(20) + @ExcelProperty(value = "姓名",order = 3) + private String name; - @Excel(name = "党员缴费记录表ID") - private String recordId; + @ColumnWidth(20) + @ExcelProperty(value = "身份证号",order = 4) + private String idCard; - @Excel(name = "缴费年度") - private String year; + @ColumnWidth(20) + @ExcelProperty(value = "手机号",order = 5) + private String mobile; - @Excel(name = "缴费季度") - private String quarter; + @ColumnWidth(20) + @ExcelProperty(value = "缴费次数",order = 6) + private String times; - @Excel(name = "缴费金额") + @ColumnWidth(20) + @ExcelProperty(value = "缴费金额",order = 7) private BigDecimal money; - @Excel(name = "删除标识:0.未删除 1.已删除") - private Integer delFlag; - - @Excel(name = "乐观锁") - private Integer revision; - - @Excel(name = "创建人") - private String createdBy; - - @Excel(name = "创建时间") - private Date createdTime; - - @Excel(name = "更新人") - private String updatedBy; - - @Excel(name = "更新时间") - private Date updatedTime; + @ColumnWidth(20) + @ExcelProperty(value = "备注",order = 8) + private String remark; + +// @Excel(name = "客户Id (customer.id)") +// private String customerId; +// +// @Excel(name = "党员ID") +// private String partyMemberId; +// +// @Excel(name = "党员缴费记录表ID") +// private String recordId; +// +// @Excel(name = "缴费年度") +// private String year; +// +// @Excel(name = "缴费季度") +// private String quarter; + +// @Excel(name = "删除标识:0.未删除 1.已删除") +// private Integer delFlag; +// +// @Excel(name = "乐观锁") +// private Integer revision; +// +// @Excel(name = "创建人") +// private String createdBy; +// +// @Excel(name = "创建时间") +// private Date createdTime; +// +// @Excel(name = "更新人") +// private String updatedBy; +// +// @Excel(name = "更新时间") +// private Date updatedTime; }