diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java index fd280ba2be..259b535642 100755 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordMaritalController.java @@ -1,24 +1,37 @@ package com.epmet.controller; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; 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.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.DateUtils; +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.dto.DataSyncRecordDeathDTO; import com.epmet.dto.DataSyncRecordMaritalDTO; import com.epmet.dto.form.dataSync.DataSyncRecordDeathPageFormDTO; +import com.epmet.dto.form.dataSync.DataSyncRecordDisabilityFormDTO; import com.epmet.dto.form.dataSync.DataSyncRecordMaritalPageFormDTO; import com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO; +import com.epmet.excel.DataSyncRecordMaritalExcel; import com.epmet.service.DataSyncRecordMaritalService; +import lombok.extern.log4j.Log4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.Date; import java.util.List; import java.util.Map; @@ -29,6 +42,7 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2023-05-18 */ +@Log4j @RestController @RequestMapping("dataSyncRecordMarital") public class DataSyncRecordMaritalController { @@ -76,4 +90,43 @@ public class DataSyncRecordMaritalController { return new Result(); } + /** + * @Description: 导出 + * @param tokenDto: + * @param formDTO: + * @param response: + * @Return void + * @Author: lichao + * @Date: 2023/5/22 16:18 + */ + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody DataSyncRecordMaritalPageFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + formDTO.setIsPage(false); + ExcelWriter excelWriter = null; + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + int pageNo = formDTO.getPageNo(); + try { + String today = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_MMDD); + String fileName = "数据比对-婚姻数据".concat(today); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), DataSyncRecordMaritalExcel.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + do { + data = dataSyncRecordMaritalService.page(formDTO); + formDTO.setPageNo(++pageNo); + excelWriter.write(data.getList(), writeSheet); + } while (org.apache.commons.collections4.CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize()); + + } catch (Exception e) { + log.error("export exception", e); + } finally { + // 千万别忘记finish 会帮忙关闭流 + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordMaritalExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordMaritalExcel.java index 9a97b80380..b020ec8846 100755 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordMaritalExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/DataSyncRecordMaritalExcel.java @@ -1,6 +1,8 @@ package com.epmet.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.util.Date; @@ -14,59 +16,27 @@ import java.util.Date; @Data public class DataSyncRecordMaritalExcel { - @Excel(name = "主键") - private String id; - - @Excel(name = "客户Id") - private String customerId; - - @Excel(name = "组织Id") - private String agencyId; - - @Excel(name = "组织的pids 含agencyId本身") - private String pids; - - @Excel(name = "网格ID") - private String gridId; - - @Excel(name = "姓名") + /** + * 姓名 + */ + @ColumnWidth(10) + @ExcelProperty("姓名") private String name; - @Excel(name = "身份证") + @ColumnWidth(25) + @ExcelProperty("身份证") private String idCard; - @Excel(name = "电话") - private String mobile; - - @Excel(name = "居民Id,ic_resi_user.id") - private String icResiUserId; - - @Excel(name = "婚姻状况") - private String maritalStatusName; + @ColumnWidth(25) + @ExcelProperty("婚姻状况") + private String maritalStatus; - @Excel(name = "处理状态(更新至居民信息) 0:未处理;1:处理成功;2处理失败") - private Integer dealStatus; + @ColumnWidth(25) + @ExcelProperty("处理状态") + private String dealStatusName; - @Excel(name = "处理结果") + @ColumnWidth(25) + @ExcelProperty("处理结果") private String dealResult; - @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; - - } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordMaritalService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordMaritalService.java index 4abc5f56d6..cfa20ef2e9 100755 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordMaritalService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordMaritalService.java @@ -10,6 +10,7 @@ import com.epmet.dto.result.DataSyncRecordMaritalPageResultDTO; import com.epmet.entity.DataSyncRecordDeathEntity; import com.epmet.entity.DataSyncRecordMaritalEntity; +import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -82,4 +83,5 @@ public interface DataSyncRecordMaritalService extends BaseService queryWrapper); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java index ea7d2bfb94..1828da747f 100755 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncRecordMaritalServiceImpl.java @@ -24,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -99,4 +100,5 @@ public class DataSyncRecordMaritalServiceImpl extends BaseServiceImpl