From dd5aae6b9f208ef278fff4fb97982746fab743f6 Mon Sep 17 00:00:00 2001 From: Paidax Date: Mon, 19 May 2025 15:09:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../school/ActivityCommonController.java | 187 +++++++---- .../docTemplate/activity/activity_jsz.docx | Bin 0 -> 11202 bytes .../activity/school/ActivityManage.html | 304 ++++++++---------- 3 files changed, 266 insertions(+), 225 deletions(-) create mode 100644 src/main/resources/docTemplate/activity/activity_jsz.docx diff --git a/src/main/java/io/v/nutz/zhgh/activity/controller/school/ActivityCommonController.java b/src/main/java/io/v/nutz/zhgh/activity/controller/school/ActivityCommonController.java index 45ddb9d..8b584fe 100644 --- a/src/main/java/io/v/nutz/zhgh/activity/controller/school/ActivityCommonController.java +++ b/src/main/java/io/v/nutz/zhgh/activity/controller/school/ActivityCommonController.java @@ -5,6 +5,7 @@ import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.afterturn.easypoi.excel.export.ExcelExportService; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; @@ -13,12 +14,12 @@ import io.v.nutz.base.annontation.ViReturn; import io.v.nutz.base.service.ViService; import io.v.nutz.base.utils.DateUtil; import io.v.nutz.base.utils.OfficeTemplateUtil; +import io.v.nutz.base.utils.Roles; import io.v.nutz.base.utils.ViTool; import io.v.nutz.sys.models.Sys_union; import io.v.nutz.sys.models.Sys_unit; import io.v.nutz.sys.models.Sys_user; import io.v.nutz.sys.services.SysUnionService; -import io.v.nutz.web.commons.base.Globals; import io.v.nutz.web.commons.utils.ShiroUtil; import io.v.nutz.zhgh.activity.models.*; import io.v.nutz.zhgh.activity.services.ActivityPlanService; @@ -28,8 +29,8 @@ import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.shiro.authz.annotation.RequiresAuthentication; import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; import org.nutz.dao.Sqls; -import org.nutz.dao.entity.Record; import org.nutz.dao.sql.Sql; import org.nutz.dao.util.cri.Static; import org.nutz.ioc.loader.annotation.Inject; @@ -46,6 +47,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.BufferedOutputStream; import java.io.IOException; +import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; @@ -69,28 +71,22 @@ public class ActivityCommonController { /*@Inject private HdTypeService hdTypeService;*/ + @Inject + private Dao dao; @Inject private SysUnionService sysUnionService; - @Inject private ActivitySchoolService activitySchoolService; - @Inject private ActivityPlanService activityPlanService; - @Inject private ActivitySchoolApplyService activitySchoolApplyService; - @Inject("ActivityEvent") private ViService activityEventService; - @Inject("ActivitySchoolTeam") private ViService activitySchoolTeamViService; - @Inject("ActivitySchoolEvent") private ViService activitySchoolEventService; - - @Inject private OfficeTemplateUtil officeTemplateUtil; @@ -281,7 +277,7 @@ public class ActivityCommonController { @At - public void exportXlsx(String id, String unionId, HttpServletResponse response) throws IOException { + public void exportXlsx(String id, String unionId,Boolean isUnion, HttpServletResponse response) throws IOException { Sql sql = Sqls.create(""" SELECT app.username, @@ -305,13 +301,13 @@ public class ActivityCommonController { LEFT JOIN activity_event ev ON ev.id = app.eventId LEFT JOIN activity_school sc ON sc.id=app.activityId WHERE - activityId = @id + activityId = @id and app.status=2 $cnd ORDER BY + u.unioncode ASC, app.applyUser DESC, ev.allName DESC, - u.unionname DESC, app.`team` asc """).setParam("id", id); @@ -343,19 +339,26 @@ public class ActivityCommonController { // exportEntities.add(new ExcelExportEntity("身份", "sf", 20)); exportEntities.add(new ExcelExportEntity("报名人", "applyUserName", 20)); - Map> listMap = list.stream().collect(Collectors.groupingBy(v -> v.getString("unionname"))); Workbook workbook = new XSSFWorkbook(); - listMap.forEach((k, v) -> { - ExcelExportService service = new ExcelExportService(); - ExportParams exportParams = new ExportParams(); - exportParams.setTitle(k); - exportParams.setSheetName(k); - exportParams.setType(ExcelType.XSSF); - service.createSheetForMap(workbook, exportParams, exportEntities, v); - }); + + if (isUnion != null && isUnion) { + Map> listMap = list.stream().collect(Collectors.groupingBy(v -> v.getString("unionname"))); + ViTool.excelResponse(response, activityName + "报名表.xlsx"); + Workbook finalWorkbook = workbook; + listMap.forEach((k, v) -> { + ExcelExportService service = new ExcelExportService(); + ExportParams exportParams = new ExportParams(); + exportParams.setTitle(k); + exportParams.setSheetName(k); + exportParams.setType(ExcelType.XSSF); + service.createSheetForMap(finalWorkbook, exportParams, exportEntities, v); + }); + } else { + ViTool.excelResponse(response, activityName + "报名表(总表).xlsx"); + workbook = ExcelExportUtil.exportExcel(new ExportParams(), exportEntities, list); + } try { - ViTool.excelResponse(response, activityName + "报名表.xlsx"); ServletOutputStream outputStream = response.getOutputStream(); workbook.write(outputStream); outputStream.close(); @@ -403,55 +406,115 @@ public class ActivityCommonController { public void export(String id, String unionId, HttpServletResponse response) { try { ActivitySchool activity = activitySchoolService.fetch(id); - String fileName = Globals.MyConfig.getString("GxName") + activity.getName() + "报名表"; + String fileName = activity.getName() + "报名表"; response.addHeader("Content-Type", "application/octet-stream"); response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1) + "\".zip"); + Sql queryAllSql = Sqls.create(""" + SELECT + act.*, + ae.allName + FROM + activity_school_apply act + LEFT JOIN activity_event ae ON act.eventId = ae.id + WHERE + act.activityId = @actId + ORDER BY act.eventId ASC + """).setParam("actId", id); + List resultList = activitySchoolApplyService.listMap(queryAllSql); + + List schoolApplies = BeanUtil.copyToList(resultList, ActivitySchoolApply.class); + List basicUnions = activitySchoolService.dao().query(ActivityBasicUnion.class, Cnd.NEW().asc("unioncode")); + + if (Lang.isEmpty(schoolApplies)) { + return; + } + ZipOutputStream zipOutputStream = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream())); for (ActivityBasicUnion union : basicUnions) { - NutMap map = new NutMap(); - map.setv("unionName", union.getUnionname()); + if (!"6132df49148c43b1a8829c108ad0fcbf".equals(id)) { + NutMap map = new NutMap(); + map.setv("unionName", union.getUnionname()); + List ydhUserList = schoolApplies.stream().filter(v -> v.getIdentity().contains("1")).collect(Collectors.toList()); + ActivitySchoolApply jlUser = schoolApplies.stream().filter(v -> v.getIdentity().contains("2")).findFirst().orElse(null); + ActivitySchoolApply ldUser = schoolApplies.stream().filter(v -> v.getIdentity().contains("3")).findFirst().orElse(null); + ydhUserList.forEach(y -> y.setSf("队员")); + for (int i = 0; i < ydhUserList.size(); i++) { + ydhUserList.get(i).setSf("队员"); + ydhUserList.get(i).setIndex(i + 1); + } + map.setv("headName", fileName); + if (Lang.isNotEmpty(ldUser)) { + map.setv("ldUserName", ldUser.getUsername()); + map.setv("ldMobile", ldUser.getMobile()); + } + if (Lang.isNotEmpty(jlUser)) { + map.setv("jlUserName", jlUser.getUsername()); + } - List schoolApplies = activitySchoolApplyService.query(Cnd.where("activityId", "=", id)); + map.setv("ydhUser", ydhUserList); - List ydhUserList = schoolApplies.stream().filter(v -> v.getIdentity().contains("1")).collect(Collectors.toList()); - ActivitySchoolApply jlUser = schoolApplies.stream().filter(v -> v.getIdentity().contains("2")).findFirst().orElse(null); - ActivitySchoolApply ldUser = schoolApplies.stream().filter(v -> v.getIdentity().contains("3")).findFirst().orElse(null); - ydhUserList.stream().forEach(y -> y.setSf("队员")); - for (int i = 0; i < ydhUserList.size(); i++) { - ydhUserList.get(i).setSf("队员"); - ydhUserList.get(i).setIndex(i + 1); + map.setv("applyDate", DateUtil.getDate()); + + String twoFileName = union.getUnionname() + "比赛报名表.docx"; + zipOutputStream.putNextEntry(new ZipEntry(twoFileName)); + + HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy(); + Configure config = Configure.newBuilder().bind("ydhUser", policy).build(); + /* if (activity.getApplyType() == 1) { + templateUrl = officeTemplateUtil.getPath("activity_list1"); + } else if (activity.getApplyType() == 2) { + templateUrl = officeTemplateUtil.getPath("activity_list"); + }officeTemplateUtil.getPath("activity_user"); + */ + String officeTemplateUtilPath = officeTemplateUtil.getPath("activity_user"); + XWPFTemplate.compile(officeTemplateUtilPath, config).render(map).write(zipOutputStream); + zipOutputStream.closeEntry(); + } else { + List unionApply = schoolApplies.stream().filter(v -> v.getUnionId().equals(union.getId())).collect(Collectors.toList()); + + if (Lang.isEmpty(unionApply)) { + continue; + } + + NutMap result = NutMap.NEW(); + // 获取主席 + Sql sql = Sqls.create(""" + SELECT + u.username, + u.mobile + FROM + sys_user_role sur + LEFT JOIN sys_user u ON sur.userId = u.id + WHERE + sur.roleId = @roleId AND sur.unionId = @unionId + """).setParam("roleId", Roles.GH01).setParam("unionId", union.getId()); + sql.setCallback(Sqls.callback.map()); + dao.execute(sql); + NutMap userMap = (NutMap) sql.getResult(); + + // 设置序号 + for (int i = 0; i < unionApply.size(); i++) { + unionApply.get(i).setIndex(i + 1); + unionApply.get(i).setSf(unionApply.get(i).getAllName().substring(0, 2)); + } + + result.put("activityName", cn.hutool.core.date.DateUtil.year(cn.hutool.core.date.DateUtil.parseDate(activity.getApplyStartTime())) + "年" + activity.getName()); + result.put("unionName", union.getUnionname()); + result.put("fzr", userMap.getString("username")); + result.put("mobile", userMap.getString("mobile")); + result.put("list", unionApply); + + zipOutputStream.putNextEntry(new ZipEntry(union.getUnionname() + "报名表.docx")); + InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("docTemplate/activity/activity_jsz.docx"); + + HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy(); + Configure config = Configure.newBuilder().bind("list", policy).build(); + XWPFTemplate.compile(inputStream, config).render(result, zipOutputStream); + zipOutputStream.closeEntry(); } - map.setv("headName", fileName); - if (Lang.isNotEmpty(ldUser)) { - map.setv("ldUserName", ldUser.getUsername()); - map.setv("ldMobile", ldUser.getMobile()); - } - if (Lang.isNotEmpty(jlUser)) { - map.setv("jlUserName", jlUser.getUsername()); - } - - map.setv("ydhUser", ydhUserList); - - map.setv("applyDate", DateUtil.getDate()); - - String twoFileName = union.getUnionname() + "比赛报名表.docx"; - zipOutputStream.putNextEntry(new ZipEntry(twoFileName)); - - HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy(); - Configure config = Configure.newBuilder().bind("ydhUser", policy).build(); - /* if (activity.getApplyType() == 1) { - templateUrl = officeTemplateUtil.getPath("activity_list1"); - } else if (activity.getApplyType() == 2) { - templateUrl = officeTemplateUtil.getPath("activity_list"); - }officeTemplateUtil.getPath("activity_user"); - */ - String officeTemplateUtilPath = officeTemplateUtil.getPath("activity_user"); - assert officeTemplateUtilPath != null; - XWPFTemplate.compile(officeTemplateUtilPath, config).render(map).write(zipOutputStream); - zipOutputStream.closeEntry(); } zipOutputStream.flush(); zipOutputStream.close(); diff --git a/src/main/resources/docTemplate/activity/activity_jsz.docx b/src/main/resources/docTemplate/activity/activity_jsz.docx new file mode 100644 index 0000000000000000000000000000000000000000..d5941d42d4862c850a4251a4dde8264cb90bc688 GIT binary patch literal 11202 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/views/platform/activity/school/ActivityManage.html b/src/main/resources/views/platform/activity/school/ActivityManage.html index d98c5a7..c281606 100644 --- a/src/main/resources/views/platform/activity/school/ActivityManage.html +++ b/src/main/resources/views/platform/activity/school/ActivityManage.html @@ -1,25 +1,23 @@ - +