This commit is contained in:
2025-04-22 15:29:54 +08:00
parent 619ac59470
commit 80b27850f3
6 changed files with 364 additions and 339 deletions
@@ -151,8 +151,8 @@ public class ActivityApplyController {
au.files promiseBookFiles,
(SELECT count( 1 ) FROM activity_school_apply app WHERE app.activityId = school.id AND app.`status` = 2 ) apply_num,
(SELECT count( 1 ) FROM activity_school_apply app WHERE app.activityId = school.id AND ( app.applyUser = @userid OR app.userId = @userid )) > 0 applyed,
(SELECT COUNT(1) FROM activity_school_apply app WHERE app.activityId=school.id AND app.unionId=@unionId AND app.unionLeader=TRUE) LeaderCount,
(SELECT COUNT(1) FROM activity_school_apply app WHERE app.activityId=school.id AND app.unionId=@unionId AND app.unionCoach=TRUE) CoachCount
(SELECT COUNT(1) FROM activity_school_apply app WHERE app.activityId=school.id AND app.activityUnionId=@unionId AND app.unionLeader=TRUE) LeaderCount,
(SELECT COUNT(1) FROM activity_school_apply app WHERE app.activityId=school.id AND app.activityUnionId=@unionId AND app.unionCoach=TRUE) CoachCount
FROM
activity_school school
LEFT JOIN activity_basic_settings ba ON ba.`code` = school.activityLevel
@@ -168,8 +168,7 @@ public class ActivityApplyController {
switch (isActivity) {
//报名中
case 2 ->
cnd.and(new Static("now() > school.applyStartTime and now() < school.applyEndTime"));
case 2 -> cnd.and(new Static("now() > school.applyStartTime and now() < school.applyEndTime"));
//已结束
case 3 -> cnd.and(new Static("now() > school.applyEndTime"));
//进行中
@@ -538,7 +537,10 @@ public class ActivityApplyController {
group.orLike("u.loginname", query);
cnd.and(group);
}
cnd.and("un.unionid", "=", union_id);
SqlExpressionGroup group = new SqlExpressionGroup();
group.or("un.unionid", "=", union_id);
group.or("un.id", "=", "223");
cnd.and(group);
sql.setCondition(cnd);
return sysUserService.list(sql);
}
@@ -696,50 +698,54 @@ 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,
@Param(value = "headData") String activityId) {
ActivityBasicUnit thisBasicUnit = activitySchoolService.dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=",ShiroUtil.getUnitId()));
ActivityBasicUnion thisBasicUnion = activitySchoolService.dao().fetch(ActivityBasicUnion.class, Cnd.where("id", "=", thisBasicUnit.getUnionid()));
Cnd cnd = Cnd.NEW();
cnd.and("activityId", "=", activityId);
cnd.and("activityUnionId", "=", getUnionId());
SqlExpressionGroup group = new SqlExpressionGroup();
group.or("unionStaff", "=", 1);
group.or("unionLeader", "=", 1);
group.or("unionCoach", "=", 1);
group.or("unionHead", "=", 1);
cnd.and(group);
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());
staffData.setActivityUnionId(basicUnion.getId());
staffData.setActivityUnionName(basicUnion.getUnionname());
staffData.setActivityUnionId(thisBasicUnion.getId());
staffData.setActivityUnionName(thisBasicUnion.getUnionname());
activitySchoolApplyService.insert(staffData);
}
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());
LeaderData.setActivityUnionId(basicUnion.getId());
LeaderData.setActivityUnionName(basicUnion.getUnionname());
LeaderData.setActivityUnionId(thisBasicUnion.getId());
LeaderData.setActivityUnionName(thisBasicUnion.getUnionname());
activitySchoolApplyService.insert(LeaderData);
}
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());
CoachData.setActivityUnionId(basicUnion.getId());
CoachData.setActivityUnionName(basicUnion.getUnionname());
CoachData.setActivityUnionId(thisBasicUnion.getId());
CoachData.setActivityUnionName(thisBasicUnion.getUnionname());
activitySchoolApplyService.insert(CoachData);
}
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());
headData.setActivityUnionId(basicUnion.getId());
headData.setActivityUnionName(basicUnion.getUnionname());
headData.setActivityUnionId(thisBasicUnion.getId());
headData.setActivityUnionName(thisBasicUnion.getUnionname());
activitySchoolApplyService.insert(headData);
}
@@ -755,9 +761,9 @@ public class ActivityApplyController {
public Object getUnionCoachLeaderHead(@Param(value = "activityId", required = false) String activityId) {
Map result = new HashMap();
Sql sql = Sqls.create("""
SELECT apply.*,us.unitname FROM activity_school_apply apply LEFT JOIN `user` us ON us.id=apply.userId WHERE apply.activityId=@activityId and apply.unionId=@unionId
SELECT apply.*,us.unitname FROM activity_school_apply apply LEFT JOIN `user` us ON us.id=apply.userId WHERE apply.activityId=@activityId and apply.activityUnionId=@activityUnionId
""");
sql.setParam("unionId", getUnionId());
sql.setParam("activityUnionId", getUnionId());
sql.setParam("activityId", activityId);
List<NutMap> list = activitySchoolApplyService.listMap(sql);
NutMap unionCoach = list.stream().filter(v -> {
@@ -897,6 +903,7 @@ public class ActivityApplyController {
/**
* 下载签名告知书
*
* @param activityId
* @param response
*/
@@ -304,6 +304,7 @@ public class ActivityCommonController {
LEFT JOIN activity_school sc ON sc.id=app.activityId
WHERE
activityId = @id
and app.status=2
$cnd
ORDER BY
app.applyUser DESC,
@@ -323,7 +324,7 @@ public class ActivityCommonController {
list.forEach(z -> {
List<String> identity = Json.fromJsonAsList(String.class, z.getString("identity"));
String s = identity.stream().map(personType::getName).collect(Collectors.toList()).toString();
z.addv("sf", s);
z.addv("sf", s.replaceAll("[\\[\\]]", ""));
});
List<ExcelExportEntity> exportEntities = new ArrayList<>();
exportEntities.add(new ExcelExportEntity("小队名称", "team", 20));
@@ -336,7 +337,7 @@ public class ActivityCommonController {
exportEntities.add(new ExcelExportEntity("身份", "sf", 20));
exportEntities.add(new ExcelExportEntity("报名人", "applyUserName", 20));
Map<String, List<NutMap>> listMap = list.stream().collect(Collectors.groupingBy(v -> v.getString("allName")));
Map<String, List<NutMap>> listMap = list.stream().collect(Collectors.groupingBy(v -> v.getString("unionname")));
Workbook workbook = new XSSFWorkbook();
listMap.forEach((k, v) -> {
ExcelExportService service = new ExcelExportService();
@@ -133,6 +133,8 @@ public class ActivityReadingController {
""");
cnd.and("app.activityId", "=", id);
cnd.and("app.status", "=", 2);
// cnd.and("YEAR(app.applyDate)", "=", year);
sql.setCondition(cnd);
if (!ShiroUtil.hasAnyRoles("sysadmin,A06,SCHOOL_UNION_SPORTS_ADMIN")) {
@@ -1,3 +1,4 @@
<template>
<div>
<el-steps :active="active" finish-status="success" simple>
@@ -255,14 +255,15 @@ layout("/layouts/platform.html"){
.format('YYYY/MM/DD HH:mm')}} 至
{{moment(item.applyEndTime).format('YYYY/MM/DD HH:mm')}}
</div>
<div class="text item" v-if="item.isSign" style="display: flex;justify-content: space-around;">
<div>
<div class="text item" v-if="item.isSign"
style="display: flex;justify-content: space-around;">
<!-- <div>
<el-button @click.stop="doExport"
size="mini"
type="primary">
下载风险告知书(签名)
</el-button>
</div>
</div>-->
<div>
<el-button @click.stop="openPromiseBook(item)"
size="mini"
@@ -334,12 +335,12 @@ layout("/layouts/platform.html"){
<!-- 团长:<span style="color: #419BF8">{{headData.username | str}}</span>&emsp13;-->
领队:<span style="color: #419BF8">{{LeaderData.username | str}} </span>&emsp13;
教练:<span style="color: #419BF8">{{CoachData.username | str}}</span>
工作人员:<span
style="color: #419BF8">{{staffData.username | str}}</span>
<!-- 工作人员:<span
style="color: #419BF8">{{staffData.username | str}}</span>-->
</div>
<div>
<el-button @click="openLeaderCoach" plain type="primary"
v-if="unionLeaderCoach">设置领队/教练/工作人员
v-if="unionLeaderCoach">设置领队/教练
</el-button>
</div>
@@ -769,7 +770,8 @@ layout("/layouts/platform.html"){
<template #public>
<vi-title2 title="批量审核">
<template #func>
<el-radio-group v-model="activityIsAudit" @change="openAuditApplyUser(null)" size="small" style="margin-right: 10px">
<el-radio-group v-model="activityIsAudit" @change="openAuditApplyUser(null)" size="small"
style="margin-right: 10px">
<el-radio-button label="true">已审核</el-radio-button>
<el-radio-button label="false">未审核</el-radio-button>
</el-radio-group>
@@ -899,7 +901,7 @@ layout("/layouts/platform.html"){
<el-dialog
:visible.sync="dialogLeaderCoach"
title="添加领队/教练/工作人员"
title="添加领队/教练"
width="60%"
>
<el-form :model="headData" :rules="formRules" label-width="100px" ref="form">
@@ -1021,7 +1023,7 @@ layout("/layouts/platform.html"){
v-model="CoachData.mobile"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- <el-col :span="12">
<vi-title title="填写工作人员信息"></vi-title>
<el-form-item label="姓&emsp;&emsp;名" prop="userId">
<el-select
@@ -1059,14 +1061,14 @@ layout("/layouts/platform.html"){
<el-input maxlength="50" placeholder="请填写电话" type="text"
v-model="staffData.mobile"></el-input>
</el-form-item>
</el-col>
</el-col>-->
</el-row>
</el-form>
<span class="dialog-footer" slot="footer">
<el-button @click="dialogLeaderCoach = false">取 消</el-button>
<el-button @click="doLeaderCoach" plain type="primary">确 认</el-button>
<el-button @click="doLeaderCoach" type="primary">确 认</el-button>
</span>
</el-dialog>
@@ -1668,7 +1670,8 @@ layout("/layouts/platform.html"){
LeaderData: JSON.stringify(this.LeaderData),
CoachData: JSON.stringify(this.CoachData),
headData: JSON.stringify(this.headData),
staffData: JSON.stringify(this.staffData)
staffData: JSON.stringify(this.staffData),
activityId: this.activityData2.id
}
)
loading.close()
@@ -2403,9 +2406,19 @@ layout("/layouts/platform.html"){
this.rightChecked = v
},
flushApplyed(applyed) {
if (this.activityData2.id==="6a2546b6df41457b871d590c0290eb07"){
if (this.team==="00dfa3b4f2ad4d238277b1345e6437f3"&&"${@shiro.getPrincipalProperty('unit').getUnionid()}"!=="6234c0450ef0414f87a38794faac6c3d"){
this.$notify({
title: "警告",
message: "您只能报一队暂时不能报两队!",
type: "warning"
})
this.team="ad85ba7540494c0d849936555287fa78"
return
}
}
this.applyedTabLoading = true
//如果项目等于单项
debugger
if (this.eventData.projectType === "1") {
this.appliedData3 = applyed.filter(v => {
return v.teamId == this.team
@@ -2527,13 +2540,13 @@ layout("/layouts/platform.html"){
}
},
async created() {
this.unitOptions = await getUnits(null)
await this.activityInfoData()
/*this.pageData()*/
await this.changeYear()
await this.userLeaderCoach()
await this.changeActivit()
this.planList = await activity.getSchoolActivityPlan()
this.unitOptions = await getUnits(null)
}
@@ -215,6 +215,7 @@ layout("/layouts/platform.html"){
</guava>
</div>
<script src="/assets/platform/module/activity/activity.js?v=1.0.0"></script>
<script>
let E = window.wangEditor
const editors = {}
@@ -328,7 +329,7 @@ layout("/layouts/platform.html"){
} else if (type === 'export') {
window.open("/platform/activity/common/export?id=" + row.id)
} else if (type === 'exportXlsx') {
location.href = "/platform/activity/common/exportXlsx?id=" + row.id
window.open("/platform/activity/common/exportXlsx?id=" + row.id)
}else if (type == 'sendMsg') {
this.sendMsg(row)
} else if (type === 'openCode') {