diff --git a/src/main/java/io/v/nutz/zhgh/welfare/controller/statistics/WelfareSingleController.java b/src/main/java/io/v/nutz/zhgh/welfare/controller/statistics/WelfareSingleController.java index 6e91b84..7e25136 100644 --- a/src/main/java/io/v/nutz/zhgh/welfare/controller/statistics/WelfareSingleController.java +++ b/src/main/java/io/v/nutz/zhgh/welfare/controller/statistics/WelfareSingleController.java @@ -853,6 +853,53 @@ public class WelfareSingleController { } + @At + @ViReturn + @Ok("void") + @RequiresPermissions("welfare.project.statistics.single") + public void statisticsExport(String projectId, HttpServletResponse response) { + WelfareProject welfareProject = dao.fetch(WelfareProject.class, Cnd.where("id", "=", projectId)); + String projectName = welfareProject.getName(); + + NutMap nutMap = welfareSingleService.pageData(projectId, "", "", "", ""); + List tableList = nutMap.getAsList("tableList", NutMap.class); + // Json.fromJsonAsList() + for (NutMap map : tableList) { + boolean isAudit = (boolean) map.get("isAudit"); + map.setv("isAudit", isAudit ? "已核对" : "未核对"); + } + + List exportEntities = new ArrayList<>(); + exportEntities.add(new ExcelExportEntity("所属工会", "welfareUnitName", 50)); + exportEntities.add(new ExcelExportEntity("本次福利会员人数", "teacherSum", 20)); + //传入动态列 tableColumn + List labelList = nutMap.getAsList("tableColumn", NutMap.class); + for (NutMap labeMap : labelList) { + exportEntities.add(new ExcelExportEntity(labeMap.getString("label"), labeMap.get("prop"), 20)); + } + exportEntities.add(new ExcelExportEntity("参加人数", "totalCount", 20)); + exportEntities.add(new ExcelExportEntity("未选人数", "unselectedTeacherSum", 20)); + exportEntities.add(new ExcelExportEntity("是否核对", "isAudit", 20)); + + + + Workbook workbook = new XSSFWorkbook(); + ExcelExportService service = new ExcelExportService(); + ExportParams exportParams = new ExportParams(); + exportParams.setType(ExcelType.XSSF); + exportParams.setTitle(projectName + "选择统计"); + exportParams.setSheetName(projectName); + service.createSheetForMap(workbook, exportParams, exportEntities, tableList); + + try (ServletOutputStream outputStream = response.getOutputStream()) { + ViTool.excelResponse(response, projectName + "选择统计.xlsx"); + workbook.write(outputStream); + } catch (IOException e) { + e.printStackTrace(); + } + + } + @Data public static class qlbExportEntityUser { diff --git a/src/main/resources/views/platform/welfare/statistics/single.html b/src/main/resources/views/platform/welfare/statistics/single.html index a27b354..81096a9 100644 --- a/src/main/resources/views/platform/welfare/statistics/single.html +++ b/src/main/resources/views/platform/welfare/statistics/single.html @@ -103,6 +103,16 @@ layout("/layouts/platform.html"){ 导出各分工会福利签领表 + + 导出选择福利统计表 + +