From 3c8be09c74459afe49a2ce7b1b1b3d0d1814638a Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 13 Apr 2022 13:43:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=9A=E5=91=98=E5=88=97=E8=A1=A8=E5=AF=BC?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/PartyMemberListFormDTO.java | 5 +- .../controller/IcResiUserController.java | 111 ++++++++++++++++++ .../excel/PartyMemberAgeExportExcel.java | 21 ++++ .../PartyMemberEducationExportExcel.java | 21 ++++ .../service/impl/IcResiUserServiceImpl.java | 27 ++++- .../main/resources/mapper/IcResiUserDao.xml | 2 + 6 files changed, 178 insertions(+), 9 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PartyMemberAgeExportExcel.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PartyMemberEducationExportExcel.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PartyMemberListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PartyMemberListFormDTO.java index a6ffad6477..39ce7f3a9d 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PartyMemberListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PartyMemberListFormDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.dto.form.PageFormDTO; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -11,7 +12,7 @@ import java.io.Serializable; * @Date 2021/12/10 15:49 */ @Data -public class PartyMemberListFormDTO implements Serializable { +public class PartyMemberListFormDTO extends PageFormDTO implements Serializable { private static final long serialVersionUID = -6085134769034337175L; @NotBlank(message = "组织类型不能为空") @@ -19,6 +20,4 @@ public class PartyMemberListFormDTO implements Serializable { @NotBlank(message = "组织ID不能为空") private String orgId; private String code; - private Integer pageNo = 1; - private Integer pageSize = 20; } 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 86a403a58f..4d2444d767 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 @@ -43,6 +43,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.*; +import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.SystemMessageType; import com.epmet.constants.ImportTaskConstants; @@ -50,6 +51,8 @@ import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.enums.IcResiUserTableEnum; +import com.epmet.excel.PartyMemberAgeExportExcel; +import com.epmet.excel.PartyMemberEducationExportExcel; import com.epmet.excel.support.ExportResiUserItemDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient; @@ -59,6 +62,7 @@ import com.epmet.service.IcResiUserService; import feign.RequestInterceptor; import jodd.io.FileUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; @@ -84,6 +88,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; import java.util.concurrent.ExecutorService; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -653,6 +658,56 @@ public class IcResiUserController implements ResultDataResolver { return new Result>().ok(icResiUserService.getPartyMemberAgeList(formDTO)); } + @NoRepeatSubmit + @PostMapping("partymemberagelist/export") + public void partyMemberAgeListExport(@LoginUser TokenDto tokenDto, @RequestBody PartyMemberListFormDTO formDTO, HttpServletResponse response) { + ExcelWriter excelWriter = null; + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + formDTO.setIsPage(false); + List exportList = new ArrayList<>(); + try { + String fileName = ""; + switch (formDTO.getCode()) { + case NumConstant.ZERO_STR: + fileName = "50岁以下党员信息.xlsx"; + break; + case NumConstant.ONE_STR: + fileName = "50-59岁党员信息.xlsx"; + break; + case NumConstant.TWO_STR: + fileName = "60-69岁党员信息.xlsx"; + break; + case NumConstant.THREE_STR: + fileName = "70-79岁党员信息.xlsx"; + break; + case NumConstant.FOUR_STR: + fileName = "80岁以上党员信息.xlsx"; + break; + default: + fileName = "党员年龄信息.xlsx"; + break; + } + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), PartyMemberAgeExportExcel.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("党员列表").registerWriteHandler(new FreezeAndFilter()).build(); + List list = icResiUserService.getPartyMemberAgeList(formDTO).getList(); + AtomicInteger i = new AtomicInteger(1); + if (CollectionUtils.isNotEmpty(list)) { + exportList = list.stream().map(item -> { + PartyMemberAgeExportExcel excel = ConvertUtils.sourceToTarget(item, PartyMemberAgeExportExcel.class); + excel.setIndex(i.getAndIncrement()); + return excel; + }).collect(Collectors.toList()); + } + excelWriter.write(exportList, writeSheet); + } catch (Exception e) { + log.error("export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + /** * 党员学历统计 * @Param formDTO @@ -679,6 +734,62 @@ public class IcResiUserController implements ResultDataResolver { return new Result>().ok(icResiUserService.getPartyMemberEducationList(formDTO)); } + @NoRepeatSubmit + @PostMapping("partymembereducationlist/export") + public void partyMemberEducationListExport(@LoginUser TokenDto tokenDto, @RequestBody PartyMemberListFormDTO formDTO, HttpServletResponse response) { + ExcelWriter excelWriter = null; + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + formDTO.setIsPage(false); + List exportList = new ArrayList<>(); + try { + String fileName = ""; + switch (formDTO.getCode()) { + case NumConstant.ZERO_STR: + fileName = "小学及文盲党员信息.xlsx"; + break; + case NumConstant.ONE_STR: + fileName = "初中学历党员信息.xlsx"; + break; + case NumConstant.TWO_STR: + fileName = "高中学历党员信息.xlsx"; + break; + case NumConstant.THREE_STR: + fileName = "大专学历党员信息.xlsx"; + break; + case NumConstant.FOUR_STR: + fileName = "本科学历党员信息.xlsx"; + break; + case NumConstant.FIVE_STR: + fileName = "硕士学历党员信息.xlsx"; + break; + case NumConstant.SIX_STR: + fileName = "博士学历党员信息.xlsx"; + break; + default: + fileName = "党员学历信息.xlsx"; + break; + } + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), PartyMemberEducationExportExcel.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("党员列表").registerWriteHandler(new FreezeAndFilter()).build(); + List list = icResiUserService.getPartyMemberEducationList(formDTO).getList(); + AtomicInteger i = new AtomicInteger(1); + if (CollectionUtils.isNotEmpty(list)) { + exportList = list.stream().map(item -> { + PartyMemberEducationExportExcel excel = ConvertUtils.sourceToTarget(item, PartyMemberEducationExportExcel.class); + excel.setIndex(i.getAndIncrement()); + return excel; + }).collect(Collectors.toList()); + } + excelWriter.write(exportList, writeSheet); + } catch (Exception e) { + log.error("export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + /** * 根据居民id查询居民信息简介 * @param resiUserId diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PartyMemberAgeExportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PartyMemberAgeExportExcel.java new file mode 100644 index 0000000000..c8a6e6f8d0 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PartyMemberAgeExportExcel.java @@ -0,0 +1,21 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/4/13 10:46 + */ +@Data +public class PartyMemberAgeExportExcel { + @Excel(name = "序号", width = 10) + private Integer index; + @Excel(name = "姓名", width = 20) + private String name; + @Excel(name = "年龄", width = 10) + private String age; + @Excel(name = "手机号码", width = 30) + private String mobile; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PartyMemberEducationExportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PartyMemberEducationExportExcel.java new file mode 100644 index 0000000000..1ec5f8033d --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PartyMemberEducationExportExcel.java @@ -0,0 +1,21 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/4/13 10:46 + */ +@Data +public class PartyMemberEducationExportExcel { + @Excel(name = "序号", width = 10) + private Integer index; + @Excel(name = "姓名", width = 20) + private String name; + @Excel(name = "学历", width = 10) + private String education; + @Excel(name = "手机号码", width = 30) + private String mobile; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 28b46cbc9d..50f46409a4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -1483,10 +1483,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl getPartyMemberAgeList(PartyMemberListFormDTO formDTO) { - PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + if (formDTO.getIsPage()) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List list = baseDao.getPartyMemberAgeList(formDTO.getOrgType(), formDTO.getOrgId(), formDTO.getCode()); + PageInfo pageInfo = new PageInfo<>(list); + return new PageData<>(list, pageInfo.getTotal()); + } List list = baseDao.getPartyMemberAgeList(formDTO.getOrgType(), formDTO.getOrgId(), formDTO.getCode()); - PageInfo pageInfo = new PageInfo<>(list); - return new PageData<>(list, pageInfo.getTotal()); + return new PageData<>(list, null == list?NumConstant.ZERO:list.size()); } /** @@ -1542,15 +1546,26 @@ public class IcResiUserServiceImpl extends BaseServiceImpl getPartyMemberEducationList(PartyMemberListFormDTO formDTO) { - PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + if (formDTO.getIsPage()) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List list = baseDao.getPartyMemberEducationList(formDTO.getOrgType(), formDTO.getOrgId(), formDTO.getCode()); + Result> mapResult = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.EDUCATION.getCode()); + PageInfo pageInfo = new PageInfo<>(list); + if (CollectionUtils.isNotEmpty(list)) { + list.forEach(item -> { + item.setEducation(null == mapResult.getData().get(item.getEducation()) ? "" : mapResult.getData().get(item.getEducation())); + }); + } + return new PageData<>(list, pageInfo.getTotal()); + } List list = baseDao.getPartyMemberEducationList(formDTO.getOrgType(), formDTO.getOrgId(), formDTO.getCode()); Result> mapResult = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.EDUCATION.getCode()); - PageInfo pageInfo = new PageInfo<>(list); if (CollectionUtils.isNotEmpty(list)) { list.forEach(item -> { item.setEducation(null == mapResult.getData().get(item.getEducation()) ? "" : mapResult.getData().get(item.getEducation())); }); } - return new PageData<>(list, pageInfo.getTotal()); + return new PageData<>(list, null == list?NumConstant.ZERO:list.size()); + } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 6ca3dbebf1..a70ffddac0 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -468,6 +468,7 @@ WHERE ageGroup = #{code} + ORDER BY CONVERT(NAME USING GBK) ASC