Browse Source

迁入管理

dev
sunyuchao 4 years ago
parent
commit
f51f214d09
  1. 2
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcMoveInListResultDTO.java
  2. 52
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcMoveInRecordController.java
  3. 28
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcMoveInRecordExcel.java

2
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcMoveInListResultDTO.java

@ -116,7 +116,7 @@ public class IcMoveInListResultDTO implements Serializable {
* 迁入时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private String inTime;
private Date inTime;
/**
* 迁入原因

52
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcMoveInRecordController.java

@ -1,12 +1,18 @@
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.annotation.MaskResponse;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
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;
@ -18,10 +24,13 @@ import com.epmet.dto.form.IcMoveInListFormDTO;
import com.epmet.dto.result.IcMoveInListResultDTO;
import com.epmet.excel.IcMoveInRecordExcel;
import com.epmet.service.IcMoveInRecordService;
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.util.Date;
import java.util.List;
@ -33,6 +42,7 @@ import java.util.List;
*/
@RestController
@RequestMapping("icMoveIn")
@Slf4j
public class IcMoveInRecordController {
@Autowired
@ -79,12 +89,46 @@ public class IcMoveInRecordController {
}
@PostMapping("export")
public void export(@LoginUser TokenDto tokenDto, @RequestBody IcMoveInListFormDTO formDTO, HttpServletResponse response) throws Exception {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setIsPage(true);
public void export(@RequestBody IcMoveInListFormDTO formDTO, HttpServletResponse response) throws Exception {
formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
/* formDTO.setIsPage(true);
IcMoveInListResultDTO resultDTO = icMoveInRecordService.list(formDTO);
List<IcMoveInRecordExcel> list = ConvertUtils.sourceToTarget(resultDTO.getList(), IcMoveInRecordExcel.class);
ExcelUtils.exportExcelToTarget(response, null, list, IcMoveInRecordExcel.class);
ExcelUtils.exportExcelToTarget(response, null, list, IcMoveInRecordExcel.class);*/
ExcelWriter excelWriter = null;
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
int pageNo = NumConstant.ONE;
try {
String fileName = "迁入管理"+DateUtils.format(new Date())+".xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcMoveInRecordExcel.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
List<IcMoveInRecordExcel> list = null;
do {
IcMoveInListResultDTO data = icMoveInRecordService.list(formDTO);
list = ConvertUtils.sourceToTarget(data.getList(), IcMoveInRecordExcel.class);
formDTO.setPageNo(++pageNo);
excelWriter.write(list, writeSheet);
} while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize());
}catch (Exception e){
log.error("export exception", e);
}finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
@RequestMapping("detail")

28
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcMoveInRecordExcel.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 com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@ -15,43 +17,65 @@ import java.util.Date;
@Data
public class IcMoveInRecordExcel {
@ExcelProperty(value = "姓名")
@Excel(name = "姓名")
private String name;
@ExcelProperty(value = "所属网格")
@ColumnWidth(20)
@Excel(name = "所属网格")
private String gridName;
@ExcelProperty(value = "所属房屋")
@ColumnWidth(25)
@Excel(name = "所属房屋")
private String allName;
@ExcelProperty(value = "手机号")
@Excel(name = "手机号")
private String mobile;
@ExcelProperty(value = "身份证号")
@ColumnWidth(20)
@Excel(name = "身份证号")
private String idCard;
@ExcelProperty(value = "性别")
@Excel(name = "性别")
private String genderName;
@ExcelProperty(value = "年龄")
@Excel(name = "年龄")
private Integer age;
@ExcelProperty(value = "迁入时间")
@ColumnWidth(20)
@Excel(name = "迁入时间")
//@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private String inTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date inTime;
@ExcelProperty(value = "迁入原因")
@ColumnWidth(25)
@Excel(name = "迁入原因")
private String inReason;
@ExcelProperty(value = "由何地迁入")
@ColumnWidth(25)
@Excel(name = "由何地迁入")
private String sourceAddress;
@ExcelProperty(value = "迁移证号码")
@ColumnWidth(20)
@Excel(name = "迁移证号码")
private String moveNumber;
@ExcelProperty(value = "户主姓名")
@ColumnWidth(20)
@Excel(name = "户主姓名")
private String householderName;
@ExcelProperty(value = "与户主关系")
@ColumnWidth(20)
@Excel(name = "与户主关系")
private String householderRelationName;

Loading…
Cancel
Save