分组
This commit is contained in:
+59
-4
@@ -1,13 +1,14 @@
|
||||
package com.budwk.app.module.activity.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.util.StrUtil;
|
||||
import com.budwk.app.base.page.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.module.activity.models.ActGroup;
|
||||
import com.budwk.app.module.activity.models.ActGroupUser;
|
||||
import com.budwk.app.module.activity.models.ActItemGroupScore;
|
||||
import com.budwk.app.module.activity.models.ActivityItem;
|
||||
import com.budwk.app.module.activity.models.*;
|
||||
import com.budwk.app.module.activity.service.ActGroupService;
|
||||
import com.budwk.app.module.activity.service.ActUserService;
|
||||
import com.budwk.app.module.activity.vo.ActGroupVo;
|
||||
@@ -15,6 +16,7 @@ import com.budwk.app.module.activity.vo.ActManualGroupVo;
|
||||
import com.budwk.app.module.activity.vo.ActUnGroupUserVo;
|
||||
import com.budwk.app.web.commons.slog.annotation.SLog;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
@@ -30,8 +32,10 @@ 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.math.BigDecimal;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -299,4 +303,55 @@ public class ActGroupController {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@Ok("void")
|
||||
@SaCheckPermission("activity.group")
|
||||
public void doExportGroup(String activityId, HttpServletResponse response){
|
||||
|
||||
try {
|
||||
Activity activity = dao.fetch(Activity.class, Cnd.NEW().and("id", "=", activityId));
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.userName,
|
||||
u.sex,
|
||||
u.position,
|
||||
u.mobile,
|
||||
u.unitName,
|
||||
g.groupName
|
||||
FROM
|
||||
`act_group_user` agu
|
||||
LEFT JOIN act_user u ON u.userId = agu.userId
|
||||
LEFT JOIN act_group g ON g.id = agu.groupId
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("u.activityId", "=", activityId);
|
||||
cnd.and("u.isSignIn", "=", true);
|
||||
cnd.orderBy("g.id", "asc");
|
||||
sql.setCondition(cnd);
|
||||
|
||||
List<NutMap> list = actUserService.listMap(sql);
|
||||
|
||||
List<ExcelExportEntity> entityList = new ArrayList<>() {{
|
||||
add(new ExcelExportEntity("姓名", "userName", 20));
|
||||
add(new ExcelExportEntity("性别", "sex", 20));
|
||||
add(new ExcelExportEntity("职务", "position", 20));
|
||||
add(new ExcelExportEntity("联系方式", "mobile", 20));
|
||||
add(new ExcelExportEntity("参加单位名称", "unitName", 20));
|
||||
add(new ExcelExportEntity("队伍名称", "groupName", 20));
|
||||
}};
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
response.setHeader("Content-Disposition", "attachment;filename=" + new String((activity.getTitle() + "分组结果表.xlsx").getBytes(StandardCharsets.UTF_8), "ISO8859-1"));
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setType(ExcelType.XSSF);
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, entityList, list);
|
||||
workbook.write(response.getOutputStream());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ layout("/layouts/platform_1.html"){
|
||||
|
||||
<el-button type="primary" size="small" @click="releaseGroupResult" style="margin-left: 10px">发布分组结果</el-button>
|
||||
<el-button type="warning" size="small" @click="unReleaseGroupResult" style="margin-left: 10px">取消分组结果</el-button>
|
||||
<el-button type="primary" size="small" @click="doExportGroup" style="margin-left: 10px">导出分组结果</el-button>
|
||||
</el-row>
|
||||
<el-table v-loading="tableLoading" show-overflow-tooltip :data="tableData">
|
||||
<el-table-column label="序号" type="index" header-align="center" align="center" width="50"></el-table-column>
|
||||
@@ -145,6 +146,11 @@ layout("/layouts/platform_1.html"){
|
||||
openView(row){
|
||||
this.$refs.viewInfoRef.onOpen(this.pageForm.activityId, row.id)
|
||||
},
|
||||
|
||||
doExportGroup() {
|
||||
window.open("/platform/activity/group/doExportGroup?activityId=" + this.pageForm.activityId)
|
||||
},
|
||||
|
||||
// openAdjustGroup(row){
|
||||
//
|
||||
// },
|
||||
|
||||
Reference in New Issue
Block a user