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, 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.`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.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.activityUnionId=@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.unionCoach=TRUE) CoachCount
FROM FROM
activity_school school activity_school school
LEFT JOIN activity_basic_settings ba ON ba.`code` = school.activityLevel LEFT JOIN activity_basic_settings ba ON ba.`code` = school.activityLevel
@@ -168,8 +168,7 @@ public class ActivityApplyController {
switch (isActivity) { switch (isActivity) {
//报名中 //报名中
case 2 -> case 2 -> cnd.and(new Static("now() > school.applyStartTime and now() < school.applyEndTime"));
cnd.and(new Static("now() > school.applyStartTime and now() < school.applyEndTime"));
//已结束 //已结束
case 3 -> cnd.and(new Static("now() > school.applyEndTime")); case 3 -> cnd.and(new Static("now() > school.applyEndTime"));
//进行中 //进行中
@@ -538,7 +537,10 @@ public class ActivityApplyController {
group.orLike("u.loginname", query); group.orLike("u.loginname", query);
cnd.and(group); 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); sql.setCondition(cnd);
return sysUserService.list(sql); return sysUserService.list(sql);
} }
@@ -696,50 +698,54 @@ public class ActivityApplyController {
public Object doLeaderCoachHead(@Param(value = "staffData", required = false) ActivitySchoolApply staffData, public Object doLeaderCoachHead(@Param(value = "staffData", required = false) ActivitySchoolApply staffData,
@Param(value = "LeaderData", required = false) ActivitySchoolApply LeaderData, @Param(value = "LeaderData", required = false) ActivitySchoolApply LeaderData,
@Param(value = "CoachData", required = false) ActivitySchoolApply CoachData, @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) { if (staffData.getUserId() != null) {
ActivityBasicUnit basicUnit = activitySchoolService.dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=", staffData.getUnitId())); 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.setApplyUser(ShiroUtil.getPrincipalProperty("id").toString());
staffData.setApplyDate(DateUtil.getDate()); staffData.setApplyDate(DateUtil.getDate());
staffData.setUnitname(basicUnit.getName()); staffData.setUnitname(basicUnit.getName());
staffData.setActivityUnionId(basicUnion.getId()); staffData.setActivityUnionId(thisBasicUnion.getId());
staffData.setActivityUnionName(basicUnion.getUnionname()); staffData.setActivityUnionName(thisBasicUnion.getUnionname());
activitySchoolApplyService.insert(staffData); activitySchoolApplyService.insert(staffData);
} }
if (LeaderData.getUserId() != null) { if (LeaderData.getUserId() != null) {
ActivityBasicUnit basicUnit = activitySchoolService.dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=", LeaderData.getUnitId())); 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.setApplyUser(ShiroUtil.getPrincipalProperty("id").toString());
LeaderData.setApplyDate(DateUtil.getDate()); LeaderData.setApplyDate(DateUtil.getDate());
LeaderData.setUnitname(basicUnit.getName()); LeaderData.setUnitname(basicUnit.getName());
LeaderData.setActivityUnionId(basicUnion.getId()); LeaderData.setActivityUnionId(thisBasicUnion.getId());
LeaderData.setActivityUnionName(basicUnion.getUnionname()); LeaderData.setActivityUnionName(thisBasicUnion.getUnionname());
activitySchoolApplyService.insert(LeaderData); activitySchoolApplyService.insert(LeaderData);
} }
if (CoachData.getUserId() != null) { if (CoachData.getUserId() != null) {
ActivityBasicUnit basicUnit = activitySchoolService.dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=", CoachData.getUnitId())); 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.setApplyUser(ShiroUtil.getPrincipalProperty("id").toString());
CoachData.setApplyDate(DateUtil.getDate()); CoachData.setApplyDate(DateUtil.getDate());
CoachData.setUnitname(basicUnit.getName()); CoachData.setUnitname(basicUnit.getName());
CoachData.setActivityUnionId(basicUnion.getId()); CoachData.setActivityUnionId(thisBasicUnion.getId());
CoachData.setActivityUnionName(basicUnion.getUnionname()); CoachData.setActivityUnionName(thisBasicUnion.getUnionname());
activitySchoolApplyService.insert(CoachData); activitySchoolApplyService.insert(CoachData);
} }
if (headData.getUserId() != null) { if (headData.getUserId() != null) {
ActivityBasicUnit basicUnit = activitySchoolService.dao().fetch(ActivityBasicUnit.class, Cnd.where("id", "=", headData.getUnitId())); 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.setApplyUser(ShiroUtil.getPrincipalProperty("id").toString());
headData.setApplyDate(DateUtil.getDate()); headData.setApplyDate(DateUtil.getDate());
headData.setUnitname(basicUnit.getName()); headData.setUnitname(basicUnit.getName());
headData.setActivityUnionId(basicUnion.getId()); headData.setActivityUnionId(thisBasicUnion.getId());
headData.setActivityUnionName(basicUnion.getUnionname()); headData.setActivityUnionName(thisBasicUnion.getUnionname());
activitySchoolApplyService.insert(headData); activitySchoolApplyService.insert(headData);
} }
@@ -755,9 +761,9 @@ public class ActivityApplyController {
public Object getUnionCoachLeaderHead(@Param(value = "activityId", required = false) String activityId) { public Object getUnionCoachLeaderHead(@Param(value = "activityId", required = false) String activityId) {
Map result = new HashMap(); Map result = new HashMap();
Sql sql = Sqls.create(""" 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); sql.setParam("activityId", activityId);
List<NutMap> list = activitySchoolApplyService.listMap(sql); List<NutMap> list = activitySchoolApplyService.listMap(sql);
NutMap unionCoach = list.stream().filter(v -> { NutMap unionCoach = list.stream().filter(v -> {
@@ -897,6 +903,7 @@ public class ActivityApplyController {
/** /**
* 下载签名告知书 * 下载签名告知书
*
* @param activityId * @param activityId
* @param response * @param response
*/ */
@@ -304,6 +304,7 @@ public class ActivityCommonController {
LEFT JOIN activity_school sc ON sc.id=app.activityId LEFT JOIN activity_school sc ON sc.id=app.activityId
WHERE WHERE
activityId = @id activityId = @id
and app.status=2
$cnd $cnd
ORDER BY ORDER BY
app.applyUser DESC, app.applyUser DESC,
@@ -323,7 +324,7 @@ public class ActivityCommonController {
list.forEach(z -> { list.forEach(z -> {
List<String> identity = Json.fromJsonAsList(String.class, z.getString("identity")); List<String> identity = Json.fromJsonAsList(String.class, z.getString("identity"));
String s = identity.stream().map(personType::getName).collect(Collectors.toList()).toString(); 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<>(); List<ExcelExportEntity> exportEntities = new ArrayList<>();
exportEntities.add(new ExcelExportEntity("小队名称", "team", 20)); exportEntities.add(new ExcelExportEntity("小队名称", "team", 20));
@@ -336,7 +337,7 @@ public class ActivityCommonController {
exportEntities.add(new ExcelExportEntity("身份", "sf", 20)); exportEntities.add(new ExcelExportEntity("身份", "sf", 20));
exportEntities.add(new ExcelExportEntity("报名人", "applyUserName", 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(); Workbook workbook = new XSSFWorkbook();
listMap.forEach((k, v) -> { listMap.forEach((k, v) -> {
ExcelExportService service = new ExcelExportService(); ExcelExportService service = new ExcelExportService();
@@ -133,6 +133,8 @@ public class ActivityReadingController {
"""); """);
cnd.and("app.activityId", "=", id); cnd.and("app.activityId", "=", id);
cnd.and("app.status", "=", 2);
// cnd.and("YEAR(app.applyDate)", "=", year); // cnd.and("YEAR(app.applyDate)", "=", year);
sql.setCondition(cnd); sql.setCondition(cnd);
if (!ShiroUtil.hasAnyRoles("sysadmin,A06,SCHOOL_UNION_SPORTS_ADMIN")) { if (!ShiroUtil.hasAnyRoles("sysadmin,A06,SCHOOL_UNION_SPORTS_ADMIN")) {
@@ -1,3 +1,4 @@
<template> <template>
<div> <div>
<el-steps :active="active" finish-status="success" simple> <el-steps :active="active" finish-status="success" simple>
@@ -255,14 +255,15 @@ layout("/layouts/platform.html"){
.format('YYYY/MM/DD HH:mm')}} 至 .format('YYYY/MM/DD HH:mm')}} 至
{{moment(item.applyEndTime).format('YYYY/MM/DD HH:mm')}} {{moment(item.applyEndTime).format('YYYY/MM/DD HH:mm')}}
</div> </div>
<div class="text item" v-if="item.isSign" style="display: flex;justify-content: space-around;"> <div class="text item" v-if="item.isSign"
<div> style="display: flex;justify-content: space-around;">
<!-- <div>
<el-button @click.stop="doExport" <el-button @click.stop="doExport"
size="mini" size="mini"
type="primary"> type="primary">
下载风险告知书(签名) 下载风险告知书(签名)
</el-button> </el-button>
</div> </div>-->
<div> <div>
<el-button @click.stop="openPromiseBook(item)" <el-button @click.stop="openPromiseBook(item)"
size="mini" size="mini"
@@ -334,12 +335,12 @@ layout("/layouts/platform.html"){
<!-- 团长:<span style="color: #419BF8">{{headData.username | str}}</span>&emsp13;--> <!-- 团长:<span style="color: #419BF8">{{headData.username | str}}</span>&emsp13;-->
领队:<span style="color: #419BF8">{{LeaderData.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">{{CoachData.username | str}}</span>
工作人员:<span <!-- 工作人员:<span
style="color: #419BF8">{{staffData.username | str}}</span> style="color: #419BF8">{{staffData.username | str}}</span>-->
</div> </div>
<div> <div>
<el-button @click="openLeaderCoach" plain type="primary" <el-button @click="openLeaderCoach" plain type="primary"
v-if="unionLeaderCoach">设置领队/教练/工作人员 v-if="unionLeaderCoach">设置领队/教练
</el-button> </el-button>
</div> </div>
@@ -769,7 +770,8 @@ layout("/layouts/platform.html"){
<template #public> <template #public>
<vi-title2 title="批量审核"> <vi-title2 title="批量审核">
<template #func> <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="true">已审核</el-radio-button>
<el-radio-button label="false">未审核</el-radio-button> <el-radio-button label="false">未审核</el-radio-button>
</el-radio-group> </el-radio-group>
@@ -899,7 +901,7 @@ layout("/layouts/platform.html"){
<el-dialog <el-dialog
:visible.sync="dialogLeaderCoach" :visible.sync="dialogLeaderCoach"
title="添加领队/教练/工作人员" title="添加领队/教练"
width="60%" width="60%"
> >
<el-form :model="headData" :rules="formRules" label-width="100px" ref="form"> <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> v-model="CoachData.mobile"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<vi-title title="填写工作人员信息"></vi-title> <vi-title title="填写工作人员信息"></vi-title>
<el-form-item label="姓&emsp;&emsp;名" prop="userId"> <el-form-item label="姓&emsp;&emsp;名" prop="userId">
<el-select <el-select
@@ -1059,14 +1061,14 @@ layout("/layouts/platform.html"){
<el-input maxlength="50" placeholder="请填写电话" type="text" <el-input maxlength="50" placeholder="请填写电话" type="text"
v-model="staffData.mobile"></el-input> v-model="staffData.mobile"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>-->
</el-row> </el-row>
</el-form> </el-form>
<span class="dialog-footer" slot="footer"> <span class="dialog-footer" slot="footer">
<el-button @click="dialogLeaderCoach = false">取 消</el-button> <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> </span>
</el-dialog> </el-dialog>
@@ -1668,7 +1670,8 @@ layout("/layouts/platform.html"){
LeaderData: JSON.stringify(this.LeaderData), LeaderData: JSON.stringify(this.LeaderData),
CoachData: JSON.stringify(this.CoachData), CoachData: JSON.stringify(this.CoachData),
headData: JSON.stringify(this.headData), headData: JSON.stringify(this.headData),
staffData: JSON.stringify(this.staffData) staffData: JSON.stringify(this.staffData),
activityId: this.activityData2.id
} }
) )
loading.close() loading.close()
@@ -2403,9 +2406,19 @@ layout("/layouts/platform.html"){
this.rightChecked = v this.rightChecked = v
}, },
flushApplyed(applyed) { 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 this.applyedTabLoading = true
//如果项目等于单项 //如果项目等于单项
debugger
if (this.eventData.projectType === "1") { if (this.eventData.projectType === "1") {
this.appliedData3 = applyed.filter(v => { this.appliedData3 = applyed.filter(v => {
return v.teamId == this.team return v.teamId == this.team
@@ -2527,13 +2540,13 @@ layout("/layouts/platform.html"){
} }
}, },
async created() { async created() {
this.unitOptions = await getUnits(null)
await this.activityInfoData() await this.activityInfoData()
/*this.pageData()*/ /*this.pageData()*/
await this.changeYear() await this.changeYear()
await this.userLeaderCoach() await this.userLeaderCoach()
await this.changeActivit() await this.changeActivit()
this.planList = await activity.getSchoolActivityPlan() this.planList = await activity.getSchoolActivityPlan()
this.unitOptions = await getUnits(null)
} }
@@ -215,6 +215,7 @@ layout("/layouts/platform.html"){
</guava> </guava>
</div> </div>
<script src="/assets/platform/module/activity/activity.js?v=1.0.0"></script>
<script> <script>
let E = window.wangEditor let E = window.wangEditor
const editors = {} const editors = {}
@@ -328,7 +329,7 @@ layout("/layouts/platform.html"){
} else if (type === 'export') { } else if (type === 'export') {
window.open("/platform/activity/common/export?id=" + row.id) window.open("/platform/activity/common/export?id=" + row.id)
} else if (type === 'exportXlsx') { } 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') { }else if (type == 'sendMsg') {
this.sendMsg(row) this.sendMsg(row)
} else if (type === 'openCode') { } else if (type === 'openCode') {