工会管理:新增‘导出基层干部’按钮;
This commit is contained in:
@@ -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<NutMap> list = sysUnionService.listMap(sql);
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
list.get(i).put("no", i + 1);
|
||||
}
|
||||
|
||||
List<ExcelExportEntity> 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);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 基层干部审核相关
|
||||
|
||||
@@ -6,7 +6,8 @@ const branchUnionManage = {
|
||||
<el-input placeholder="请输入分工会名称" clearable size="small" style="width: 300px" v-model="pageForm.searchKeyword"></el-input>
|
||||
|
||||
<el-button type="primary" class="ml5" size="small" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
<el-button @click="openAudit" icon="el-icon-s-check" type="primary" style="margin-left: auto" size="small">基层干部审核</el-button>
|
||||
<el-button @click="exportCadre" icon="el-icon-download" type="primary" style="margin-left: auto" size="small">导出基层干部</el-button>
|
||||
<el-button @click="openAudit" icon="el-icon-s-check" type="primary" size="small">基层干部审核</el-button>
|
||||
<el-button @click="openAdd" icon="ti-plus" type="primary" size="small" v-if="$auth.hasPermission('sys.manager.union.add')">新建分工会</el-button>
|
||||
</el-row>
|
||||
</el-card>
|
||||
@@ -79,6 +80,10 @@ const branchUnionManage = {
|
||||
openAudit() {
|
||||
this.$emit('union-cadre')
|
||||
},
|
||||
// 导出基层干部
|
||||
exportCadre() {
|
||||
this.$downLoad("/platform/sys/union/exportCadre")
|
||||
},
|
||||
openAdd() {
|
||||
this.dialogFormVisible = true
|
||||
this.$nextTick(() => {
|
||||
|
||||
Reference in New Issue
Block a user