From 894a8b4c6e37cbc8cf4749b9a4d28197003f958c Mon Sep 17 00:00:00 2001 From: zhouhefeng Date: Tue, 29 Oct 2024 08:54:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E6=A4=8D=E4=BD=93=E8=82=B2=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E7=BB=84=E9=98=9F=E6=8A=A5=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/io/v/nutz/MainLauncher.java | 2 +- .../school/ActivityApplyController.java | 135 +++- .../school/ActivityCommonController.java | 126 ++- .../school/ActivityInfoManageController.java | 2 +- .../school/ActivityReadingController.java | 21 +- .../activity/models/ActivitySchoolApply.java | 30 +- .../services/ActivitySchoolApplyService.java | 2 +- .../impl/ActivitySchoolApplyServiceImpl.java | 6 +- .../resources/views/layouts/platform.html | 4 +- .../activity/school/ActivityApply.html | 754 ++++++++++-------- .../activity/school/ActivityReading.html | 9 +- 11 files changed, 647 insertions(+), 444 deletions(-) diff --git a/src/main/java/io/v/nutz/MainLauncher.java b/src/main/java/io/v/nutz/MainLauncher.java index 11a7d71..8f098b2 100644 --- a/src/main/java/io/v/nutz/MainLauncher.java +++ b/src/main/java/io/v/nutz/MainLauncher.java @@ -95,7 +95,7 @@ public class MainLauncher { groupTemplate.registerTagFactory("cms_article_list", () -> ioc.get(CmsArticleListTag.class)); groupTemplate.registerTagFactory("cms_article", () -> ioc.get(CmsArticleTag.class)); groupTemplate.registerTagFactory("cms_link_list", () -> ioc.get(CmsLinkListTag.class)); -// init_sys(); + init_sys(); init_task(); init_proposal_undertake(); ioc.get(Globals.class); diff --git a/src/main/java/io/v/nutz/activity/controller/school/ActivityApplyController.java b/src/main/java/io/v/nutz/activity/controller/school/ActivityApplyController.java index bfc0852..d4bd182 100644 --- a/src/main/java/io/v/nutz/activity/controller/school/ActivityApplyController.java +++ b/src/main/java/io/v/nutz/activity/controller/school/ActivityApplyController.java @@ -1,5 +1,6 @@ package io.v.nutz.activity.controller.school; +import cn.hutool.core.util.StrUtil; import cn.wizzer.framework.base.Result; import io.v.nutz.activity.models.*; import io.v.nutz.activity.services.ActivitySchoolApplyService; @@ -155,7 +156,7 @@ public class ActivityApplyController { } - if (!ShiroUtil.hasAnyRoles("H04,sysadmin")) { + if (!ShiroUtil.hasAnyRoles("H04,gh08,sysadmin")) { cnd.and(new Static("JSON_CONTAINS(school.applyWay,JSON_ARRAY( 1))>0")); cnd.and(new Static("(SELECT COUNT(1) FROM activity_user_scope WHERE groupId=school.activityGroupId AND userId='%s') >0".formatted(ShiroUtil.getUserId()))); } @@ -199,15 +200,16 @@ public class ActivityApplyController { Sql sql = Sqls.create(""" SELECT u.id, - u.username, - u.unitid, - u.loginname, - u.sex, - u.birthday, - u.mobile, - un.`name` unitname + u.username, + u.unitid, + u.loginname, + u.sex, + u.birthday, + un.`name` unitname, + uni.`id` unionId, + uni.`unionname` unionName FROM - sys_user u + `user` u LEFT JOIN activity_basic_unit un ON u.unitid = un.id LEFT JOIN activity_basic_union uni ON un.unionid=uni.id $condition @@ -226,10 +228,10 @@ public class ActivityApplyController { } sql.setCondition(cnd); - List userList = activitySchoolService.list(sql); + List userList = activitySchoolService.listMap(sql); userList.forEach(v -> { if (Strings.isNotBlank(v.getString("birthday"))) { - v.set("age", cn.hutool.core.date.DateUtil.ageOfNow(v.getString("birthday"))); + v.put("age", cn.hutool.core.date.DateUtil.ageOfNow(v.getString("birthday"))); } }); result.put("users", userList); @@ -251,15 +253,15 @@ public class ActivityApplyController { asa.identity DESC, asa.sex """).setParam("eventId", eventId).setParam("unionid", union_id).setParam("activityId", activityId); - List list = activitySchoolApplyService.listEntity(applySql); + List list = activitySchoolApplyService.listMap(applySql); //团体人数 - List awardsModeT = list.stream().filter(v -> v.getAwardsMode().equals("2")).collect(Collectors.toList()); + List awardsModeT = list.stream().filter(v -> v.getString("awardsMode").equals("2")).collect(Collectors.toList()); //单项人数 - List awardsModeG = list.stream().filter(v -> v.getAwardsMode().equals("1")).collect(Collectors.toList()); + List awardsModeG = list.stream().filter(v -> v.getString("awardsMode").equals("1")).collect(Collectors.toList()); list.forEach(v -> { - if (Strings.isNotBlank(v.getBirthday())) { - v.setAge(cn.hutool.core.date.DateUtil.ageOfNow(v.getBirthday())); + if (Strings.isNotBlank(v.getString("birthday"))) { + v.setv("birthday",cn.hutool.core.date.DateUtil.ageOfNow(v.getString("birthday"))); } }); @@ -270,7 +272,9 @@ public class ActivityApplyController { result.put("team", activitySchoolTeamService.query(Cnd.where("eventId", "=", eventId).and("activityId", "=", activityId).asc("location"))); result.put("activity", activity); - result.put("getEvent", activitySchoolEventViService.fetch(schoolEventId)); + List events = (List) getEvents(activityId); + NutMap eve = events.stream().filter(v -> v.getString("id").equals(schoolEventId)).findFirst().orElse(null); + result.put("getEvent", eve); return result; } @@ -360,30 +364,26 @@ public class ActivityApplyController { public Object doApply(@Param(value = "data",required = false) ActivitySchoolApply[] applies, @Param(value = "appliedData3",required = false) ActivitySchoolApply[] applies2, @Param(value = "eventId",required = false) String eventId, + @Param(value = "activityId") String activityId, @Param(value = "pass",required = false)boolean pass) { Sys_user user = (Sys_user) ShiroUtil.getPrincipal(); Sys_unit unit = user.getUnit(); - String activityId = ""; ActivityBasicUnit basicUnit = activitySchoolService.dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=", unit.getId())); ActivityBasicUnion basicUnion = activitySchoolService.dao().fetch(ActivityBasicUnion.class, Cnd.where("id", "=", basicUnit.getUnionid())); for (ActivitySchoolApply apply : applies) { - activityId = applies[0].getActivityId(); apply.setApplyUser(ShiroUtil.getPrincipalProperty("id").toString()); apply.setStatus(pass ? 2 : 0); apply.setAwardsMode("2"); apply.setApplyDate(DateUtil.getDate()); - apply.setUnionId(unit.getUnionid()); apply.setActivityUnionId(basicUnit.getUnionid()); apply.setActivityUnionName(basicUnion.getUnionname()); } for (ActivitySchoolApply apply2 : applies2) { - activityId = applies2[0].getActivityId(); apply2.setApplyUser(ShiroUtil.getPrincipalProperty("id").toString()); apply2.setStatus(pass ? 2 : 0); apply2.setAwardsMode("1"); apply2.setApplyDate(DateUtil.getDate()); - apply2.setUnionId(unit.getUnionid()); apply2.setActivityUnionId(basicUnit.getUnionid()); apply2.setActivityUnionName(basicUnion.getUnionname()); } @@ -529,17 +529,28 @@ public class ActivityApplyController { @RequiresPermissions("activity.apply") public Object findUserOne(String id) { try { - Sql sql = Sqls.create("SELECT\n" + - "\tu.id,u.username,u.unitid,\n" + - "\tu.loginname,\n" + - "\tu.sex,\n" + - "\tu.mobile,\n" + - "\tun.`name` unitname \n" + - "FROM\n" + - "\tsys_user u\n" + - "\tLEFT JOIN sys_unit un ON u.unitid = un.id Where u.id = @id").setParam("id", id); - - return Result.success().addData(activitySchoolService.list(sql).get(0)); + Sql sql = Sqls.create(""" + SELECT + u.id, + u.username, + u.unitid, + u.loginname, + u.sex, + u.birthday, + un.`name` unitname, + uni.`id` unionId, + uni.`unionname` unionName + FROM + `user` u + LEFT JOIN activity_basic_unit un ON u.unitid = un.id + LEFT JOIN activity_basic_union uni ON un.unionid=uni.id + Where u.id = @id + """).setParam("id", id); + NutMap nutMap = activitySchoolService.fetch(sql); + if (Strings.isNotBlank(nutMap.getString("birthday"))) { + nutMap.setv("age", cn.hutool.core.date.DateUtil.ageOfNow(nutMap.getString("birthday"))); + } + return Result.success().addData(nutMap); } catch (Exception e) { e.printStackTrace(); return Result.error(); @@ -570,7 +581,6 @@ public class ActivityApplyController { Sql sql = Sqls.create(""" SELECT act.*, - ev.id, ev.competitionCategory, ev.distance, ev.sports, @@ -628,7 +638,8 @@ public class ActivityApplyController { (SELECT ast.`name` FROM activity_school_apply app LEFT JOIN activity_school_team ast ON ast.id = app.teamId WHERE app.eventId = ase.eventId AND app.activityId = ase.activityId AND app.userId = @userId) activityTeamName, (SELECT COUNT(1) FROM activity_school_apply WHERE eventId=ase.eventId AND activityId=ase.activityId and status=2 and activityUnionId=@unionId) applyNum, (SELECT COUNT(1) FROM activity_school_apply WHERE eventId = ase.eventId AND activityId = ase.activityId AND userId=@userId) userApply, - (SELECT COUNT(1) FROM activity_school_apply WHERE eventId=ase.eventId AND activityId=ase.activityId and status=2) totalApplyNum + (SELECT COUNT(1) FROM activity_school_apply WHERE eventId=ase.eventId AND activityId=ase.activityId and status=2) totalApplyNum, + (SELECT COUNT(1) FROM activity_school_apply WHERE eventId=ase.eventId AND activityId=ase.activityId and status=0 and activityUnionId=@unionId) apply_num_bc FROM activity_school_event ase LEFT JOIN activity_school school ON ase.activityId = school.id @@ -647,7 +658,7 @@ public class ActivityApplyController { //如果不是超级管理员就按男女查询,isMenWomen 1是男2是女projectType 2是团体 /* if (!ShiroUtil.hasAnyRoles("sysadmin,H04,A06")) { if (StrUtil.isNotBlank(applyType)) { - if (!applyType.equals("1")) { + if (!applyType.equals("1")) {Z if (ShiroUtil.getPrincipalProperty("sex").equals("男")) { cnd.and(new Static("(eve.isMenWomen =1 OR eve.isMenWomen IS NULL )")); } else { @@ -683,12 +694,23 @@ public class ActivityApplyController { public Object doLeaderCoachHead(@Param(value = "staffData", required = false) ActivitySchoolApply staffData, @Param(value = "LeaderData", required = false) ActivitySchoolApply LeaderData, @Param(value = "CoachData", required = false) ActivitySchoolApply CoachData, - @Param(value = "headData", required = false) ActivitySchoolApply headData) { + @Param(value = "headData", required = false) ActivitySchoolApply headData, + String activityId) { + + Cnd cnd = Cnd.NEW(); + SqlExpressionGroup group = new SqlExpressionGroup(); + group.or("unionStaff", "=", true); + group.or("unionLeader", "=", true); + group.or("unionCoach", "=", true); + group.or("unionHead", "=", true); + cnd.and(group); + cnd.and("activityId", "=", activityId); + cnd.and("activityUnionId", "=", getUnionId()); + activitySchoolApplyService.clear(cnd); if (staffData.getUserId() != null) { ActivityBasicUnit basicUnit = activitySchoolService.dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=", staffData.getUnitId())); ActivityBasicUnion basicUnion = activitySchoolService.dao().fetch(ActivityBasicUnion.class, Cnd.where("id", "=", basicUnit.getUnionid())); - activitySchoolApplyService.clear(Cnd.where("activityId", "=", staffData.getActivityId()).and("unionStaff", "=", true).and("unionId", "=", getUnionId())); staffData.setApplyUser(ShiroUtil.getPrincipalProperty("id").toString()); staffData.setApplyDate(DateUtil.getDate()); staffData.setUnitname(basicUnit.getName()); @@ -699,7 +721,6 @@ public class ActivityApplyController { if (LeaderData.getUserId() != null) { ActivityBasicUnit basicUnit = activitySchoolService.dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=", LeaderData.getUnitId())); ActivityBasicUnion basicUnion = activitySchoolService.dao().fetch(ActivityBasicUnion.class, Cnd.where("id", "=", basicUnit.getUnionid())); - activitySchoolApplyService.clear(Cnd.where("activityId", "=", LeaderData.getActivityId()).and("unionLeader", "=", true).and("unionId", "=", getUnionId())); LeaderData.setApplyUser(ShiroUtil.getPrincipalProperty("id").toString()); LeaderData.setApplyDate(DateUtil.getDate()); LeaderData.setUnitname(basicUnit.getName()); @@ -710,7 +731,6 @@ public class ActivityApplyController { if (CoachData.getUserId() != null) { ActivityBasicUnit basicUnit = activitySchoolService.dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=", CoachData.getUnitId())); ActivityBasicUnion basicUnion = activitySchoolService.dao().fetch(ActivityBasicUnion.class, Cnd.where("id", "=", basicUnit.getUnionid())); - activitySchoolApplyService.clear(Cnd.where("activityId", "=", CoachData.getActivityId()).and("unionCoach", "=", true).and("unionId", "=", getUnionId())); CoachData.setApplyUser(ShiroUtil.getPrincipalProperty("id").toString()); CoachData.setApplyDate(DateUtil.getDate()); CoachData.setUnitname(basicUnit.getName()); @@ -721,7 +741,6 @@ public class ActivityApplyController { if (headData.getUserId() != null) { ActivityBasicUnit basicUnit = activitySchoolService.dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=", headData.getUnitId())); ActivityBasicUnion basicUnion = activitySchoolService.dao().fetch(ActivityBasicUnion.class, Cnd.where("id", "=", basicUnit.getUnionid())); - activitySchoolApplyService.clear(Cnd.where("activityId", "=", headData.getActivityId()).and("unionHead", "=", true).and("unionId", "=", getUnionId())); headData.setApplyUser(ShiroUtil.getPrincipalProperty("id").toString()); headData.setApplyDate(DateUtil.getDate()); headData.setUnitname(basicUnit.getName()); @@ -818,5 +837,39 @@ public class ActivityApplyController { return Result.success(); } + @At + @ViReturn + @RequiresPermissions("activity.apply") + @Ok("json:{ignoreNull:true}") + public Object getSysUser(String queryString, String[] userId) { + Cnd cnd = Cnd.NEW(); + cnd.andEX("id", "not in", userId); + if (StrUtil.isNotBlank(queryString)) { + SqlExpressionGroup group = new SqlExpressionGroup(); + group.andLike("username", queryString).orLike("loginname", queryString); + cnd.and(group); + } + + Sql sql = Sqls.create(""" + SELECT + id, + loginname, + username, + sex, + unitid, + unionid, + unionname, + birthday + FROM + `user` + $condition + LIMIT 30 + """); + sql.setCondition(cnd); + List list = sysUserService.listMap(sql); + return list; + } + + } diff --git a/src/main/java/io/v/nutz/activity/controller/school/ActivityCommonController.java b/src/main/java/io/v/nutz/activity/controller/school/ActivityCommonController.java index 10d4c67..57385a9 100644 --- a/src/main/java/io/v/nutz/activity/controller/school/ActivityCommonController.java +++ b/src/main/java/io/v/nutz/activity/controller/school/ActivityCommonController.java @@ -2,6 +2,9 @@ package io.v.nutz.activity.controller.school; import cn.afterturn.easypoi.excel.ExcelExportUtil; 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.util.StrUtil; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; @@ -19,7 +22,9 @@ 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.util.ShiroUtil; +import io.v.nutz.util.ViTool; 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.Sqls; @@ -29,12 +34,14 @@ import org.nutz.dao.util.cri.Static; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.json.Json; +import org.nutz.lang.Lang; import org.nutz.lang.Strings; import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; @@ -269,51 +276,96 @@ public class ActivityCommonController { @At + @Ok("void") public void exportXlsx(String id, String unionId, HttpServletResponse response) throws IOException { Sql sql = Sqls.create(""" SELECT - app.username, - app.loginname, - app.identity, - app.activityUnionName unionname, - app.sex, - app.mobile, - u.idCard, - u.userState, - ev.allName, - sc.`name` activityName, - app.`team` team - FROM - `activity_school_apply` app - LEFT JOIN `user` u ON u.id = app.userId - LEFT JOIN activity_event ev ON ev.id = app.eventId - LEFT JOIN activity_school sc ON sc.id=app.activityId - WHERE - activityId = @id - $cnd - ORDER BY - ev.allName DESC, - u.unionname DESC, - app.`team` asc + app.username, + app.loginname, + app.identity, + app.activityUnionName, + app.unionName, + app.unitname, + app.unionId, + app.activityUnionId, + app.sex, + ev.allName, + sc.`name` activityName, + app.`team` teamName + FROM + `activity_school_apply` app + LEFT JOIN `user` u ON u.id = app.userId + LEFT JOIN activity_event ev ON ev.id = app.eventId + LEFT JOIN activity_school sc ON sc.id = app.activityId + WHERE + activityId = @id + $cnd + ORDER BY + ev.projectCode desc, + app.activityUnionName DESC, + app.`team` ASC, + CASE + WHEN JSON_SEARCH( app.identity, 'one', '7' ) IS NOT NULL THEN + 1 + WHEN JSON_SEARCH( app.identity, 'one', '3' ) IS NOT NULL THEN + 2 + WHEN JSON_SEARCH( app.identity, 'one', '2' ) IS NOT NULL THEN + 3 ELSE 4 END; """).setParam("id", id); if (Strings.isNotBlank(unionId)) { - sql.setVar("cnd", "and u.unionid='" + unionId + "'"); + sql.setVar("cnd", "and app.activityUnionId='" + unionId + "'"); } - List list = activitySchoolApplyService.list(sql); - String activityName = list.get(0).getString("activityName"); + List list = activitySchoolApplyService.listMap(sql); - List excels = new ArrayList<>(); + List entityList = new ArrayList<>(); + ExcelExportEntity no = new ExcelExportEntity("序号", "no", 10); + no.setFormat("isAddIndex"); + entityList.add(no); + entityList.add(new ExcelExportEntity("项目名称", "allName", 50)); + entityList.add(new ExcelExportEntity("所属队", "teamName", 20)); + entityList.add(new ExcelExportEntity("姓名", "username", 20)); + entityList.add(new ExcelExportEntity("工号", "loginname", 20)); + entityList.add(new ExcelExportEntity("所在单位", "unitname", 50)); + entityList.add(new ExcelExportEntity("所在分工会", "unionName", 50)); + entityList.add(new ExcelExportEntity("报名分工会", "activityUnionName", 50)); + entityList.add(new ExcelExportEntity("身份", "sf", 30)); + entityList.add(new ExcelExportEntity("备注", "applyUnitName", 30)); + List applyUnitNameList = new ArrayList<>(); + list.forEach(map -> { + ActivitySchoolApply schoolApply = Lang.map2Object(map, ActivitySchoolApply.class); + if (StrUtil.isAllNotBlank(schoolApply.getUnionId(), schoolApply.getActivityUnionId()) && !schoolApply.getUnionId().equals(schoolApply.getActivityUnionId())) { + List applyList = list.stream().filter(v -> v.getString("activityUnionId").equals(map.getString("activityUnionId"))).collect(Collectors.toList()); - list.forEach(z -> { - ActivitySchoolApply schoolApply = z.toPojo(ActivitySchoolApply.class); - String s = schoolApply.getIdentity().stream().map(personType::getName).collect(Collectors.toList()).toString(); - schoolApply.setSf(s); - excels.add(schoolApply); + List unionNameList = applyList.stream().map(a -> a.getString("unionName")).distinct().collect(Collectors.toList()); + map.setv("applyUnitName", String.join(",", unionNameList)); + applyUnitNameList.add(new NutMap().addv("allName", map.getString("allName")).addv("applyUnitNameList", unionNameList)); + } + + String sf = schoolApply.getIdentity().stream().map(personType::getName).collect(Collectors.toList()).toString(); + map.put("sf", sf.replace("[", "").replace("]", "")); }); - response.setContentType("application/octet-stream"); - response.setHeader("Content-Disposition", "attachment;filename=" + new String((activityName + "报名表.xls").getBytes("utf-8"), "ISO8859-1")); - Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), ActivitySchoolApply.class, excels); - workbook.write(response.getOutputStream()); + + Map> userListMap = list.stream().collect(Collectors.groupingBy(n -> n.getString("allName"))); + Workbook workbook = new XSSFWorkbook(); + userListMap.forEach((k, v) -> { + for (NutMap map : v) { + NutMap applyUnitNameMap = applyUnitNameList.stream().filter(it -> it.getList("applyUnitNameList", String.class).contains(map.getString("unitname")) + && it.getString("allName").equals(k)).findFirst().orElse(null); + if (Lang.isNotEmpty(applyUnitNameMap)) { + map.put("applyUnitName", String.join(",", applyUnitNameMap.getList("applyUnitNameList", String.class))); + } + } + ExcelExportService service = new ExcelExportService(); + ExportParams exportParams = new ExportParams(); + exportParams.setSheetName(k); + exportParams.setType(ExcelType.XSSF); + service.createSheetForMap(workbook, exportParams, entityList, v); + }); + + ViTool.excelResponse(response, "报名汇总表.xlsx"); + ServletOutputStream outputStream = response.getOutputStream(); + workbook.write(outputStream); + outputStream.close(); } @@ -549,7 +601,7 @@ public class ActivityCommonController { Cnd unionCnd = Cnd.NEW(); Sql sql = Sqls.create(""" - SELECT * FROM sys_union un $condition + SELECT * FROM sys_union un $condition """); if (!ShiroUtil.hasAnyRoles("sysadmin,A06") && ShiroUtil.hasRole("H04")) { diff --git a/src/main/java/io/v/nutz/activity/controller/school/ActivityInfoManageController.java b/src/main/java/io/v/nutz/activity/controller/school/ActivityInfoManageController.java index a1d53d1..dd7138b 100644 --- a/src/main/java/io/v/nutz/activity/controller/school/ActivityInfoManageController.java +++ b/src/main/java/io/v/nutz/activity/controller/school/ActivityInfoManageController.java @@ -95,7 +95,7 @@ public class ActivityInfoManageController { school.activityCode, school.foundDate, school.applyType, - (SELECT COUNT(1) FROM activity_school_apply asa WHERE asa.activityId = school.id) applyNum + (SELECT COUNT(1) FROM activity_school_apply asa WHERE asa.activityId = school.id and asa.status=2) applyNum FROM activity_school school LEFT JOIN activity_basic_settings ba ON ba.`code` = school.activityLevel diff --git a/src/main/java/io/v/nutz/activity/controller/school/ActivityReadingController.java b/src/main/java/io/v/nutz/activity/controller/school/ActivityReadingController.java index 33238c9..c1f0262 100644 --- a/src/main/java/io/v/nutz/activity/controller/school/ActivityReadingController.java +++ b/src/main/java/io/v/nutz/activity/controller/school/ActivityReadingController.java @@ -5,6 +5,7 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.hutool.core.util.StrUtil; import cn.wizzer.framework.base.Result; import io.v.nutz.activity.controller.school.constant.SchoolActivityApplyExportEntity; import io.v.nutz.activity.models.*; @@ -130,10 +131,10 @@ public class ActivityReadingController { """); cnd.and("app.activityId", "=", id); -// cnd.and("YEAR(app.applyDate)", "=", year); + cnd.and("app.status", "=", 2); sql.setCondition(cnd); if (!ShiroUtil.hasAnyRoles("sysadmin,A06")) { - if (ShiroUtil.hasRole("H04") && activityLevel.equals("40002")) { + if (ShiroUtil.hasAnyRoles("H04,gh08") && activityLevel.equals("40002")) { cnd.and("app.activityUnionId", "=", basicUnit.getUnionid()); cnd.and("school.belongUnionId", "=", basicUnit.getUnionid()); } @@ -148,7 +149,7 @@ public class ActivityReadingController { Cnd unionCnd = Cnd.NEW(); if (!ShiroUtil.hasAnyRoles("sysadmin,A06")) { - if (ShiroUtil.hasRole("H04")) { + if (ShiroUtil.hasAnyRoles("H04,gh08")) { unionCnd.and("id", "=", basicUnit.getUnionid()); } } @@ -165,9 +166,17 @@ public class ActivityReadingController { String unionId = union.getId(); NutMap map = new NutMap(); - List applyList = applies.stream().filter(v -> { - return v.getString("activityUnionId").equals(unionId); - }).collect(Collectors.toList()); + List applyList = applies.stream().filter(v -> StrUtil.isNotBlank(v.getString("activityUnionId")) && + v.getString("activityUnionId").equals(unionId)).collect(Collectors.toList()); + + List unionNameList = applyList.stream().map(a -> a.getString("unionName")).distinct().collect(Collectors.toList()); + applyList.forEach(a -> { + if (!a.getString("unionId").equals(unionId)) { + a.setv("bz", String.join(",", unionNameList)); + } + }); + + map.setv("id", unionId); map.setv("unionname", union.getUnionname()); map.setv("unioncode", union.getUnioncode()); diff --git a/src/main/java/io/v/nutz/activity/models/ActivitySchoolApply.java b/src/main/java/io/v/nutz/activity/models/ActivitySchoolApply.java index 64aa107..03c8511 100644 --- a/src/main/java/io/v/nutz/activity/models/ActivitySchoolApply.java +++ b/src/main/java/io/v/nutz/activity/models/ActivitySchoolApply.java @@ -60,6 +60,11 @@ public class ActivitySchoolApply implements Serializable { @ColDefine(type = ColType.VARCHAR, width = 32) private String unionId; + @Column + @Comment("所属工会名称") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String unionName; + @Column @Comment("所属活动工会") @ColDefine(type = ColType.VARCHAR, width = 32) @@ -136,53 +141,30 @@ public class ActivitySchoolApply implements Serializable { @ColDefine(type = ColType.VARCHAR, width = 100) private String unitname; - - @Excel(name = "分工会", width = 30) - private String unionname; - @Column @Comment("小队名称") - @Excel(name = "小队名称", width = 20) @ColDefine(type = ColType.VARCHAR, width = 30) private String team; - @Excel(name = "项目名称", width = 40) - private String allName; - @Column @Comment("工号") - @Excel(name = "工号", width = 20) @ColDefine(type = ColType.VARCHAR, width = 50) private String loginname; @Column @Comment("姓名") - @Excel(name = "姓名", width = 20) @ColDefine(type = ColType.VARCHAR, width = 50) private String username; + @Column @Comment("电话") - @Excel(name = "手机号码", width = 20) @ColDefine(type = ColType.VARCHAR, width = 50) private String mobile; - - @Excel(name = "身份证号", width = 20) - private String idCard; - @Column @Comment("性别") - @Excel(name = "性别", width = 20) @ColDefine(type = ColType.VARCHAR, width = 50) private String sex; - @Excel(name = "在职状态", width = 20) - private String userState; - - @Excel(name = "身份", width = 40) - private String sf; - private int age; - - } diff --git a/src/main/java/io/v/nutz/activity/services/ActivitySchoolApplyService.java b/src/main/java/io/v/nutz/activity/services/ActivitySchoolApplyService.java index d89dccd..94ed018 100644 --- a/src/main/java/io/v/nutz/activity/services/ActivitySchoolApplyService.java +++ b/src/main/java/io/v/nutz/activity/services/ActivitySchoolApplyService.java @@ -12,7 +12,7 @@ public interface ActivitySchoolApplyService extends ViService applies); - void doApplies(String activity, String union_id, String eventId,List applies); + void doApplies(String activityId, String union_id, String eventId,List applies); void doApply(ActivitySchoolApply apply); } diff --git a/src/main/java/io/v/nutz/activity/services/impl/ActivitySchoolApplyServiceImpl.java b/src/main/java/io/v/nutz/activity/services/impl/ActivitySchoolApplyServiceImpl.java index 9a78b9e..c0a7091 100644 --- a/src/main/java/io/v/nutz/activity/services/impl/ActivitySchoolApplyServiceImpl.java +++ b/src/main/java/io/v/nutz/activity/services/impl/ActivitySchoolApplyServiceImpl.java @@ -31,8 +31,10 @@ public class ActivitySchoolApplyServiceImpl extends ViServiceImpl applies) { - clear(Cnd.where("activityId", "=", activity).and("unionId", "=", union_id).and("eventId","=",eventId)); + public void doApplies(String activityId, String union_id, String eventId,List applies) { + clear(Cnd.where("activityId", "=", activityId) + .and("activityUnionId", "=", union_id) + .and("eventId","=",eventId)); doApplies(applies); } diff --git a/src/main/resources/views/layouts/platform.html b/src/main/resources/views/layouts/platform.html index 7fcb68b..626453b 100644 --- a/src/main/resources/views/layouts/platform.html +++ b/src/main/resources/views/layouts/platform.html @@ -58,8 +58,8 @@ - - + + diff --git a/src/main/resources/views/platform/activity/school/ActivityApply.html b/src/main/resources/views/platform/activity/school/ActivityApply.html index 6bcc5b2..7324fe4 100644 --- a/src/main/resources/views/platform/activity/school/ActivityApply.html +++ b/src/main/resources/views/platform/activity/school/ActivityApply.html @@ -144,7 +144,7 @@ layout("/layouts/platform.html"){ -
+