diff --git a/src/main/java/com/budwk/app/zhgh/activity/family/controller/manage/FamilyActivityApplyController.java b/src/main/java/com/budwk/app/zhgh/activity/family/controller/manage/FamilyActivityApplyController.java index 7849fda..45eb3ce 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/family/controller/manage/FamilyActivityApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/family/controller/manage/FamilyActivityApplyController.java @@ -204,7 +204,7 @@ public class FamilyActivityApplyController { if(Lang.isEmpty(courseList)) { return Result.success(new ArrayList<>()); } - List assortList = courseList.stream().map(FamilyCourse::getAssort).filter(StrUtil::isNotBlank).toList(); + List assortList = courseList.stream().map(FamilyCourse::getAssort).filter(StrUtil::isNotBlank).distinct().toList(); return Result.success(assortList); } @@ -378,8 +378,12 @@ public class FamilyActivityApplyController { if(signFullByUnionId) { return Result.error(99,"该活动您所在的分工会名额不足"); } - familyActivityService.doSignUp(familyUser); - return Result.success("祝贺您!您已报名成功!请留意各分场活动的准确时间、地点,提前10-15分钟到达活动现场做好准备。如您因故不能参加活动,还请及时登录系统取消报名,以便将机会留给其他有需要的教职工。谢谢!"); + FamilyUser finishUser = familyActivityService.doSignUp(familyUser); + if(finishUser.getState() == 2) { + return Result.success("正式报名已满,您已列为替补,如有老师放弃报名,将会按先后顺序依次替补。请您自行关注后续结果。谢谢!"); + } else { + return Result.success("祝贺您!您已报名成功!请留意各分场活动的准确时间、地点,提前10-15分钟到达活动现场做好准备。如您因故不能参加活动,还请及时登录系统取消报名,以便将机会留给其他有需要的教职工。谢谢!"); + } } catch (Exception e) { e.printStackTrace(); return Result.error("报名失败"); @@ -407,7 +411,7 @@ public class FamilyActivityApplyController { cnd.and(new Static(" userId in (select id from user where unionid = '%s')".formatted(SecurityUtil.getUnionId()))); } cnd.asc("signUpTime"); - if (!type.getIsBringFamily() && course.getReserveMode() == 2) { + /*if (type.getIsBringFamily() && course.getReserveMode() == 2) { List signUpUsers = dao.query(FamilyUser.class, cnd); int thisSignUpUserCount = dao.count(FamilyUser.class, Cnd.where("activityId", "=", activityId) @@ -418,9 +422,8 @@ public class FamilyActivityApplyController { familyUser.setState(1); dao.update(familyUser); Sys_user user = dao.fetch(Sys_user.class, familyUser.getUserId()); - //msgApi.sendTextMsg("【" + activity.getActivityName() + "】已候补成功,请按时参加活动!", user.getLoginname()); } - } + }*/ //删除报名记录 dao.clear("family_user_course", Cnd.where("activityId", "=", activityId) .and("courseId", "=", courseId).and("userId", "=", userId)); diff --git a/src/main/java/com/budwk/app/zhgh/activity/family/controller/statistics/FamilyActivityStatisticsController.java b/src/main/java/com/budwk/app/zhgh/activity/family/controller/statistics/FamilyActivityStatisticsController.java index 662ac6a..a9a617b 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/family/controller/statistics/FamilyActivityStatisticsController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/family/controller/statistics/FamilyActivityStatisticsController.java @@ -162,6 +162,17 @@ public class FamilyActivityStatisticsController { ts.activityId = @activityId """).setParam("activityId", activityId); List userList = familyActivityManageService.listMap(sql); + for (NutMap item : userList) { + if (item.getInt("state") == 1) { + item.setv("stateName", "正常报名"); + } else if (item.getInt("state") == 2) { + item.setv("stateName", "候补报名"); + } else if (item.getInt("state") == 3) { + item.setv("stateName", "正常报名(候补)"); + } else if (item.getInt("state") == 4) { + item.setv("stateName", "无效报名(缺席)"); + } + } List courseList = dao.query(FamilyCourse.class, Cnd.where("activityId", "=", activityId)); @@ -178,7 +189,8 @@ public class FamilyActivityStatisticsController { Map.of("name", "分工会", "key", "unionName"), Map.of("name", "性别", "key", "sex"), Map.of("name", "人事系统手机号", "key", "newMobile"), - Map.of("name", "报名时段", "key", "courseTime") + Map.of("name", "报名时段", "key", "courseTime"), + Map.of("name", "报名状态", "key", "stateName") ); List excelCommonExportEntity = basicEntity.stream().map(entity -> { diff --git a/src/main/java/com/budwk/app/zhgh/activity/family/service/FamilyActivityService.java b/src/main/java/com/budwk/app/zhgh/activity/family/service/FamilyActivityService.java index 2849f0b..468aa59 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/family/service/FamilyActivityService.java +++ b/src/main/java/com/budwk/app/zhgh/activity/family/service/FamilyActivityService.java @@ -65,7 +65,7 @@ public interface FamilyActivityService extends BaseService { * 手机端报名 * @param familyUser 活动ID */ - void doSignUp(FamilyUser familyUser) throws Exception; + FamilyUser doSignUp(FamilyUser familyUser) throws Exception; /** * 异步插入每个报名成功人员的课程数据 diff --git a/src/main/java/com/budwk/app/zhgh/activity/family/service/impl/FamilyActivityServiceImpl.java b/src/main/java/com/budwk/app/zhgh/activity/family/service/impl/FamilyActivityServiceImpl.java index 74cc558..0134f58 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/family/service/impl/FamilyActivityServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/activity/family/service/impl/FamilyActivityServiceImpl.java @@ -244,7 +244,7 @@ public class FamilyActivityServiceImpl extends BaseServiceImpl i @Override @Aop(TransAop.READ_COMMITTED) - public void doSignUp(FamilyUser familyUser) throws Exception { + public FamilyUser doSignUp(FamilyUser familyUser) throws Exception { String userId = SecurityUtil.getUserId(); //查询课程 @@ -256,8 +256,8 @@ public class FamilyActivityServiceImpl extends BaseServiceImpl i //课程已报人数 int normalCount = statisticsService.queryCourseCount(course.getId(), course.getCourseType()); //+1是算自己 - int hasRegisterNum = type.getSelfAddFamily() ? normalCount + 1 : 0; - familyUser.setState((hasRegisterNum + course.getCourseReservedNumber()) > course.getCoursePeopleNumber() ? 2 : 1); + int hasRegisterNum = type.getSelfAddFamily() ? normalCount + 1 : normalCount; + familyUser.setState((hasRegisterNum + course.getCourseReservedNumber()) >= course.getCoursePeopleNumber() ? 2 : 1); } else { familyUser.setState(1); } @@ -287,6 +287,7 @@ public class FamilyActivityServiceImpl extends BaseServiceImpl i } else { asyncInsertUserCourse(familyUser.getActivityId(), familyUser.getCourseId(), userId); } + return familyUser; } @Async @@ -408,6 +409,9 @@ public class FamilyActivityServiceImpl extends BaseServiceImpl i List> currentValue = user.getMobileColumnsValue(); + List aa = List.of("b44a39b7962a43328f2ca59330ef9cc5"); + List bb = List.of("edbd44528da3465dbeb711421fe2ae63", "636c7f75d32f4413b8254e412db9770e", "baabdff339e447308f4759add2017c90"); + String tempValue = ""; // 循环家属 for (List listMap : currentValue) { @@ -438,6 +442,12 @@ public class FamilyActivityServiceImpl extends BaseServiceImpl i if(Objects.equals(courseMap.get(user.getCourseId()), courseMap.get(hisRecord.getCourseId()))) { return Map.of(false, onlyKeyValue + "已经报名" + typeMap.get(courseMap.get(user.getCourseId())) + "分场"); } + if(aa.contains(user.getCourseId()) && bb.contains(hisRecord.getCourseId())) { + return Map.of(false, onlyKeyValue + "已经报名" + typeMap.get(courseMap.get(hisRecord.getCourseId())) + "分场,存在冲突"); + } + if(bb.contains(user.getCourseId()) && aa.contains(hisRecord.getCourseId())) { + return Map.of(false, onlyKeyValue + "已经报名" + typeMap.get(courseMap.get(hisRecord.getCourseId())) + "分场,存在冲突"); + } } } } diff --git a/src/main/resources/static/components/module/trainSignUp/TrainDynamicForm.vue b/src/main/resources/static/components/module/trainSignUp/TrainDynamicForm.vue index d1fca8b..c3c9f2e 100644 --- a/src/main/resources/static/components/module/trainSignUp/TrainDynamicForm.vue +++ b/src/main/resources/static/components/module/trainSignUp/TrainDynamicForm.vue @@ -28,6 +28,7 @@ v-if="['SELECT'].includes(column.columnFormType)" v-model="pickerStates[column.columnCode + 'Picker']" position="bottom" + get-container="body" >