diff --git a/src/main/java/com/biutag/supervision/controller/report/ReportProjectController.java b/src/main/java/com/biutag/supervision/controller/report/ReportProjectController.java index ec6d11c..bee5b72 100644 --- a/src/main/java/com/biutag/supervision/controller/report/ReportProjectController.java +++ b/src/main/java/com/biutag/supervision/controller/report/ReportProjectController.java @@ -31,6 +31,7 @@ import com.biutag.supervision.pojo.param.Report.ReportProjectQueryParam; import com.biutag.supervision.pojo.param.entryWindow.EntryWindowQueryParam; import com.biutag.supervision.pojo.param.statement.StatementQueryParam; import com.biutag.supervision.pojo.request.reportProject.ReportProjectDeleteRequest; +import com.biutag.supervision.pojo.vo.entryWindow.EntryWindowExcelVo; import com.biutag.supervision.pojo.vo.entryWindow.EntryWindowVo; import com.biutag.supervision.pojo.vo.excel.ExcelControlPriceVo; import com.biutag.supervision.pojo.vo.report.ReportHomeVo; @@ -211,6 +212,48 @@ public class ReportProjectController { return Result.success(vo); } + @PostMapping("/excelEntryWindowList") + public void excelEntryWindowList(@RequestBody EntryWindowQueryParam queryParam, HttpServletResponse response) { + try { + queryParam.setCurrent(1); + queryParam.setSize(10000); + Result> result = page(queryParam); + if (result.getCode() != 200) { + throw new RuntimeException("数据查询失败"); + } + List dataList = result.getData().getRecords().stream().map(record -> { + EntryWindowExcelVo vo = new EntryWindowExcelVo(); + vo.setReportName(record.getReportName()); + vo.setReportType(record.getReportType()); + vo.setProjectType(record.getProjectType()); + vo.setIsRecessedText(record.getIsRecessed() == 0 ? "进窗" : "退窗"); + vo.setNodeText(FlowEnum.contains(record.getNode())); + vo.setAuditUnitStr(StrUtil.removeSuffix(ObjectUtil.defaultIfNull(record.getAuditUnitStr(), ""), "/")); + vo.setProjectUnitStr(StrUtil.removeSuffix(ObjectUtil.defaultIfNull(record.getProjectUnitStr(), ""), "/")); + vo.setProjectPrincipal(record.getProjectPrincipal()); + vo.setProjectPhone(record.getProjectPhone()); + vo.setPurchaseMethod(record.getPurchaseMethod()); + vo.setReportMoney(record.getReportMoney()); + vo.setApplicantTime(record.getApplicantTime()); + vo.setProjectApprovalMoney(record.getProjectApprovalMoney()); + vo.setProjectApprovalTime(record.getProjectApprovalTime()); + return vo; + }).collect(Collectors.toList()); + + String headerValue = "attachment; filename=\"" + URLEncoder.encode("进退窗项目列表.xlsx", "UTF-8") + "\""; + response.setHeader("Content-Disposition", headerValue); + response.setContentType("application/octet-stream"); + + EasyExcel.write(response.getOutputStream(), EntryWindowExcelVo.class) + .inMemory(Boolean.TRUE) + .sheet("进退窗项目列表") + .doWrite(dataList); + } catch (Exception e) { + log.error("导出进退窗项目列表失败", e); + throw new RuntimeException("导出失败", e); + } + } + //审计情况表报表 @PostMapping("/pageConditionVo") public Result> pageConditionVo(@RequestBody StatementQueryParam queryParam){ diff --git a/src/main/java/com/biutag/supervision/pojo/vo/entryWindow/EntryWindowExcelVo.java b/src/main/java/com/biutag/supervision/pojo/vo/entryWindow/EntryWindowExcelVo.java new file mode 100644 index 0000000..2a5c663 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/vo/entryWindow/EntryWindowExcelVo.java @@ -0,0 +1,56 @@ +package com.biutag.supervision.pojo.vo.entryWindow; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class EntryWindowExcelVo { + + @ExcelProperty(value = "项目名称") + private String reportName; + + @ExcelProperty(value = "报审类型") + private String reportType; + + @ExcelProperty(value = "项目类别") + private String projectType; + + @ExcelProperty(value = "状态") + private String isRecessedText; + + @ExcelProperty(value = "当前环节") + private String nodeText; + + @ExcelProperty(value = "审计单位") + private String auditUnitStr; + + @ExcelProperty(value = "项目单位") + private String projectUnitStr; + + @ExcelProperty(value = "项目负责人") + private String projectPrincipal; + + @ExcelProperty(value = "项目负责人联系方式") + private String projectPhone; + + @ExcelProperty(value = "采购方式") + private String purchaseMethod; + + @ExcelProperty(value = "报审金额") + private BigDecimal reportMoney; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ExcelProperty(value = "报审日期") + private LocalDateTime applicantTime; + + @ExcelProperty(value = "立项金额") + private BigDecimal projectApprovalMoney; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ExcelProperty(value = "立项日期") + private LocalDateTime projectApprovalTime; +}