From 726ae57b968649ec1bac73e210325131f505e3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=AD=A6=E6=88=90?= <1274337408@qq.com> Date: Tue, 20 Oct 2026 09:20:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BC=9A=E7=AE=A1=E7=90=86=EF=BC=9A?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E2=80=98=E5=AF=BC=E5=87=BA=E5=9F=BA=E5=B1=82?= =?UTF-8?q?=E5=B9=B2=E9=83=A8=E2=80=99=E6=8C=89=E9=92=AE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/controller/SysUnionController.java | 58 +++++++++++++++++++ .../platform/sys/union/branchUnionManage.js | 7 ++- 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/budwk/app/sys/controller/SysUnionController.java b/src/main/java/com/budwk/app/sys/controller/SysUnionController.java index ab9a1b0..84724d1 100644 --- a/src/main/java/com/budwk/app/sys/controller/SysUnionController.java +++ b/src/main/java/com/budwk/app/sys/controller/SysUnionController.java @@ -1,5 +1,9 @@ package com.budwk.app.sys.controller; +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.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Dict; @@ -12,6 +16,7 @@ import com.budwk.app.base.exception.BaseException; import com.budwk.app.base.page.Pagination; import com.budwk.app.base.param.PageForm; import com.budwk.app.base.result.Result; +import com.budwk.app.base.utils.CommonDownloadUtil; import com.budwk.app.base.utils.PageUtil; import com.budwk.app.flow.constant.FlowConst; import com.budwk.app.flow.engine.FlowEngine; @@ -27,6 +32,7 @@ import com.budwk.app.web.commons.auth.utils.SecurityUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.usermodel.Workbook; import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Chain; import org.nutz.dao.Cnd; @@ -44,6 +50,7 @@ import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.ArrayList; import java.util.Date; @@ -493,6 +500,57 @@ public class SysUnionController { return Result.success(pagination.getList()); } + @At + @Ok("void") + @ApiOperation("导出基层干部") + @SaCheckPermission("sys.manager.union") + public void exportCadre(HttpServletResponse response) { + Sql sql = Sqls.create(""" + SELECT + userInfo.loginname AS loginName, + userInfo.username AS userName, + branchUnion.`name` AS unionName, + userInfo.mobile, + GROUP_CONCAT(DISTINCT businessRole.`name` ORDER BY roleDict.location SEPARATOR '、') AS roleName + FROM + sys_user_role assignedRole + INNER JOIN sys_role businessRole ON businessRole.id = assignedRole.roleId + INNER JOIN sys_dict roleParent ON roleParent.`code` = 'BRANCH_UNION_ROLES' + INNER JOIN sys_dict roleDict ON roleDict.parentId = roleParent.id + AND roleDict.`code` = businessRole.`code` + INNER JOIN vw_user userInfo ON userInfo.id = assignedRole.userId + INNER JOIN sys_union branchUnion ON branchUnion.id = assignedRole.unionId + $condition + """); + Cnd cnd = Cnd.NEW(); + if (AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name())) { + cnd.and("assignedRole.unionId", "=", SecurityUtil.getUnionId()); + } + cnd.groupBy("assignedRole.userId"); + cnd.groupBy("assignedRole.unionId"); + cnd.asc("branchUnion.unionCode"); + cnd.asc("userInfo.loginname"); + sql.setCondition(cnd); + List list = sysUnionService.listMap(sql); + for (int i = 0; i < list.size(); i++) { + list.get(i).put("no", i + 1); + } + + List exportEntities = new ArrayList<>(); + exportEntities.add(new ExcelExportEntity("序号", "no", 10)); + exportEntities.add(new ExcelExportEntity("工号", "loginName", 20)); + exportEntities.add(new ExcelExportEntity("姓名", "userName", 20)); + exportEntities.add(new ExcelExportEntity("所属工会", "unionName", 30)); + exportEntities.add(new ExcelExportEntity("联系方式", "mobile", 20)); + exportEntities.add(new ExcelExportEntity("职务", "roleName", 30)); + + ExportParams exportParams = new ExportParams(); + exportParams.setSheetName("基层干部"); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, list); + CommonDownloadUtil.download("基层干部.xlsx", workbook, response); + } + /** * 基层干部审核相关 diff --git a/src/main/resources/views/platform/sys/union/branchUnionManage.js b/src/main/resources/views/platform/sys/union/branchUnionManage.js index 8df135d..31e173d 100644 --- a/src/main/resources/views/platform/sys/union/branchUnionManage.js +++ b/src/main/resources/views/platform/sys/union/branchUnionManage.js @@ -6,7 +6,8 @@ const branchUnionManage = { - 基层干部审核 + 导出基层干部 + 基层干部审核 新建分工会 @@ -79,6 +80,10 @@ const branchUnionManage = { openAudit() { this.$emit('union-cadre') }, + // 导出基层干部 + exportCadre() { + this.$downLoad("/platform/sys/union/exportCadre") + }, openAdd() { this.dialogFormVisible = true this.$nextTick(() => {