Browse Source

导出

dev_shibei_match
zxc 4 years ago
parent
commit
175d775b37
  1. 26
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java
  2. 57
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PcWorkListExport.java
  3. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/PatrolRoutineWorkService.java
  4. 34
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java

26
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java

@ -1,6 +1,10 @@
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.aop.NoRepeatSubmit;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.PatrolRoutineWorkFormDTO;
@ -8,16 +12,21 @@ import com.epmet.dto.form.PcWorkListFormDTO;
import com.epmet.dto.form.patrol.PatrolQueryFormDTO;
import com.epmet.dto.result.PatrolRoutineWorkResult;
import com.epmet.dto.result.PcWorkListResultDTO;
import com.epmet.excel.PcWorkListExport;
import com.epmet.service.PatrolRoutineWorkService;
import com.github.pagehelper.Page;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import static io.netty.handler.codec.smtp.SmtpRequests.data;
/**
* 例行工作
*
@ -70,4 +79,21 @@ public class PatrolRoutineWorkController {
return new Result<PcWorkListResultDTO>().ok(gridUserWorkService.pcWorkList(formDTO));
}
@PostMapping("pcwork/list/export")
public void pcWorkListExport(@RequestBody PcWorkListFormDTO formDTO, HttpServletResponse response) throws Exception {
// formDTO.setIsPage(false);
ValidatorUtils.validateEntity(formDTO, PcWorkListFormDTO.PcWorkListForm.class);
gridUserWorkService.pcWorkListExport(formDTO,response);
// ExcelUtils.exportExcelToTarget(response, null, resultDTO.getList(), PcWorkListExport.class);
}
public String getPcWorkListExportName(PcWorkListFormDTO formDTO){
String result = "例行工作列表";
if (StringUtils.isNotBlank(formDTO.getStartTime())){
}
return result;
}
}

57
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/PcWorkListExport.java

@ -0,0 +1,57 @@
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/1/5 10:00 上午
* @DESC
*/
@Getter
@Setter
@EqualsAndHashCode
public class PcWorkListExport {
@ExcelProperty("事项名称")
private String title;
@ExcelProperty("事项类型码")
private String workTypeCode;
@ExcelProperty("事项类型名称")
private String workTypeName;
@ExcelProperty("有无异常")
private String isNormal;
@ExcelProperty("发生地点")
private String happenAddress;
@ExcelProperty("发生时间")
private String happenTime;
@ExcelProperty("人员ID")
private String staffId;
@ExcelProperty("人员姓名")
private String staffName;
@ExcelProperty("网格ID")
private String gridId;
@ExcelProperty("网格名字")
private String gridName;
@ExcelProperty("提交日期")
private String createdTime;
@ExcelProperty("工作内容")
private String workContent;
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/PatrolRoutineWorkService.java

@ -26,6 +26,7 @@ import com.epmet.dto.result.PcWorkListResultDTO;
import com.epmet.entity.PatrolRoutineWorkEntity;
import com.github.pagehelper.Page;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@ -56,4 +57,5 @@ public interface PatrolRoutineWorkService extends BaseService<PatrolRoutineWorkE
* @date 2022/1/4 2:18 下午
*/
PcWorkListResultDTO pcWorkList(PcWorkListFormDTO formDTO);
void pcWorkListExport(PcWorkListFormDTO formDTO, HttpServletResponse response) throws Exception;
}

34
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java

@ -17,6 +17,9 @@
package com.epmet.service.impl;
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.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.rocketmq.messages.BaseMQMsgDTO;
@ -28,6 +31,7 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.SystemMessageType;
import com.epmet.dao.PatrolRoutineWorkDao;
@ -41,6 +45,7 @@ import com.epmet.dto.result.PatrolRoutineWorkResult;
import com.epmet.dto.result.PcWorkListResultDTO;
import com.epmet.entity.PatrolRoutineWorkEntity;
import com.epmet.entity.PatrolRoutineWorkTypeEntity;
import com.epmet.excel.PcWorkListExport;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
@ -57,6 +62,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -190,6 +196,34 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl<PatrolRoutineW
return result;
}
@Override
public void pcWorkListExport(PcWorkListFormDTO formDTO, HttpServletResponse response) throws Exception {
String name = "zxc.xlsx";
ExcelWriter excelWriter = null;
try {
// 这里 需要指定写用哪个class去写
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(name,response)).build();
// 这里注意 如果同一个sheet只要创建一次
WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();
Integer pageNo = NumConstant.ONE;
Integer pageSize = NumConstant.ONE_HUNDRED;
Integer num = NumConstant.ZERO;
do {
formDTO.setPageNo(pageNo);
formDTO.setPageSize(pageSize);
List<PcWorkListExport> data = ConvertUtils.sourceToTarget(pcWorkList(formDTO).getList(), PcWorkListExport.class);
num = data.size();
excelWriter.write(data, writeSheet);
pageNo++;
}while (num > NumConstant.ZERO && num.compareTo(pageSize) == NumConstant.ZERO);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
/**
* @Description 处理 workTypeName
* @param workTypeList

Loading…
Cancel
Save