diff --git a/business-service/src/main/java/com/ho/business/controller/EarningsCalculateController.java b/business-service/src/main/java/com/ho/business/controller/EarningsCalculateController.java index 65d1a5a..13c3461 100644 --- a/business-service/src/main/java/com/ho/business/controller/EarningsCalculateController.java +++ b/business-service/src/main/java/com/ho/business/controller/EarningsCalculateController.java @@ -199,6 +199,43 @@ public class EarningsCalculateController { } return betweenList; } + @TokenIgnore + @PostMapping("/exportPv") + @ApiOperation(value = "pv导出") + public void exportPv(HttpServletRequest req, HttpServletResponse response, @RequestBody EarningsCalculateReq earningsCalculateReq){ + String lang = req.getHeader(CommonConstant.LANG); + earningsCalculateReq.setLang(lang); + EarningsCalculateResp total = earningsCalculateService.getTotal(earningsCalculateReq,PAGE_LIST_TYPE); + ServletOutputStream out = null; + try { + out = response.getOutputStream(); + response.setContentType("multipart/form-data"); + response.setCharacterEncoding("UTF-8"); + //文件名字 + String fileName = "demo.xlsx"; + response.setHeader("Content-disposition", "attachment;filename=" +fileName); + String path="template/earningsPvTemplate.xlsx"; + //文件模板输入流 + InputStream inputStream = new ClassPathResource(path).getInputStream(); + ExcelWriter writer = EasyExcel.write(out).withTemplate(inputStream).build(); + WriteSheet sheet = EasyExcel.writerSheet().build(); + FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); + + List pvList = earningsCalculateService.getPvMonthData(earningsCalculateReq); + for (PowerGenerateRespVO pcsElecData : pvList) { + bigDecimalUtil.keepTwoDecimalPlaces(pcsElecData); + bigDecimalUtil.ifIsNUll(pcsElecData); + } + writer.fill(new FillWrapper("vo", pvList), fillConfig, sheet); + //填充数据 + writer.fill(total,fillConfig,sheet); + //填充完成 + writer.finish(); + out.flush(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } @TokenIgnore @PostMapping("/export") diff --git a/business-service/src/main/resources/template/earningsPvTemplate.xlsx b/business-service/src/main/resources/template/earningsPvTemplate.xlsx new file mode 100644 index 0000000..a66f067 Binary files /dev/null and b/business-service/src/main/resources/template/earningsPvTemplate.xlsx differ