bug调整:智享惠生活、体检管理

This commit is contained in:
2026-04-13 18:00:38 +08:00
parent 59f53af704
commit 607204910f
12 changed files with 43 additions and 18 deletions
@@ -16,6 +16,7 @@ import com.budwk.app.zhgh.activity.smartbenefits.service.SmartBenefitsActivitySt
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.nutz.dao.Chain;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
@@ -137,7 +138,11 @@ public class SmartBenefitsAdjustController {
SmartBenefitsUser oldSmartBenefitsUser = dao.fetch(SmartBenefitsUser.class, oldCnd);
oldSmartBenefitsUser.setCourseId(newCourseId);
oldSmartBenefitsUser.setSignUpTime(DateUtil.date());
dao.update(oldSmartBenefitsUser);
dao.update(
SmartBenefitsUser.class,
Chain.make("courseId", newCourseId).add("signUpTime", DateUtil.date()),
Cnd.NEW().and("id","=",oldSmartBenefitsUser.getId())
);
//新的课程的信息,上课时间
List<SmartBenefitsActivityCourse> activityCourseList = dao.query(SmartBenefitsActivityCourse.class, Cnd.where("activityId", "=", activityId)
@@ -217,13 +217,15 @@ public class SmartBenefitsApplyController {
@ApiOperation("验证是否能报名")
@SaCheckPermission(value = {"smartbenefits.apply", "h5.smartbenefits.apply"}, mode = SaMode.OR)
public Result validateSignUp(String courseId,
@Param(value = "currentFamilyNumber") Integer currentFamilyNumber,String IsVerifyUserApply) {
@Param(value = "currentFamilyNumber") Integer currentFamilyNumber,
String IsVerifyUserApply,
String userId) {
try {
lock.lock();
if (StrUtil.isBlank(courseId)) {
return Result.error("报名信息为空");
}
userId = StringUtils.defaultIfBlank(userId, SecurityUtil.getUserId());
currentFamilyNumber = currentFamilyNumber != null ? currentFamilyNumber : 0;
SmartBenefitsCourse course = dao.fetch(SmartBenefitsCourse.class, courseId);
SmartBenefitsActivity activity = dao.fetch(SmartBenefitsActivity.class, course.getActivityId());
@@ -237,14 +239,14 @@ public class SmartBenefitsApplyController {
}
//判断活动组别
int count = dao.count(ActivityUserScope.class, Cnd.where("groupId", "=", activity.getActivityGroupId()).and("userId", "=", SecurityUtil.getUserId()));
int count = dao.count(ActivityUserScope.class, Cnd.where("groupId", "=", activity.getActivityGroupId()).and("userId", "=", userId));
if (count == 0) {
return Result.error("抱歉,您没有此次活动的权限");
}
//判断是否报名
if(StringUtils.defaultString(IsVerifyUserApply,"0").equals("0")){
boolean courseByUser = smartBenefitsActivityService.isSignCourseByUser(courseId, SecurityUtil.getUserId());
boolean courseByUser = smartBenefitsActivityService.isSignCourseByUser(courseId, userId);
if (courseByUser) {
return Result.error("抱歉,您已经报名");
}
@@ -257,7 +259,7 @@ public class SmartBenefitsApplyController {
}
//判断活动限制
boolean signCourse = smartBenefitsActivityService.isSignCourse(course, activity);
boolean signCourse = smartBenefitsActivityService.isSignCourse(course, activity, userId);
if (!signCourse) {
if (activity.getRestrictLimit() != 3) {
return Result.error("您选择的类型已达上限,不能再报该类型的了");
@@ -233,7 +233,7 @@ public class SmartBenefitsActivityStatisticsController {
excelCommonExportEntity.add(new ExcelExportEntity("性别", "sex", 20));
excelCommonExportEntity.add(new ExcelExportEntity("手机号", "mobile", 20));
excelCommonExportEntity.add(new ExcelExportEntity("生日", "birthday", 20));
excelCommonExportEntity.add(new ExcelExportEntity("报名时", "courseTime", 20));
excelCommonExportEntity.add(new ExcelExportEntity("报名时", "signUpTime", 20));
for (SmartBenefitsCourse c : courseList) {
String k = c.getCourseName();
@@ -99,7 +99,7 @@ public interface SmartBenefitsActivityService extends BaseService<SmartBenefitsA
* 还能报该类型的培训班吗 比如书画班最多报一项 健身班两项
* @return
*/
boolean isSignCourse(SmartBenefitsCourse course, SmartBenefitsActivity activity);
boolean isSignCourse(SmartBenefitsCourse course, SmartBenefitsActivity activity, String userId);
/**
* 当前用户是否已报过该培训班
@@ -12,6 +12,7 @@ import com.budwk.app.zhgh.activity.smartbenefits.service.SmartBenefitsActivitySe
import com.budwk.app.zhgh.activity.smartbenefits.service.SmartBenefitsActivityStatisticsService;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.nutz.aop.interceptor.async.Async;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Chain;
@@ -439,7 +440,8 @@ public class SmartBenefitsActivityServiceImpl extends BaseServiceImpl<SmartBenef
}
@Override
public boolean isSignCourse(SmartBenefitsCourse course, SmartBenefitsActivity activity) {
public boolean isSignCourse(SmartBenefitsCourse course, SmartBenefitsActivity activity, String userId) {
userId = StringUtils.defaultIfBlank(userId, SecurityUtil.getUserId());
//培训班类型
String courseType = course.getCourseType();
@@ -456,7 +458,7 @@ public class SmartBenefitsActivityServiceImpl extends BaseServiceImpl<SmartBenef
""");
sql.setParam("courseType", courseType);
sql.setParam("activityId", activity.getId());
sql.setParam("userId", SecurityUtil.getUserId());
sql.setParam("userId", userId);
int hasRegisterNum = count(sql);
//第一种无限制报名
@@ -475,7 +477,7 @@ public class SmartBenefitsActivityServiceImpl extends BaseServiceImpl<SmartBenef
return hasRegisterNum < personMaxRegisterNum;
} else if (activity.getRestrictLimit() == 3) {
//第三种,限制报几个,不跟类型挂钩
int aCount = dao().count(SmartBenefitsUser.class, Cnd.where("activityId", "=", activity.getId()).and("userId", "=", SecurityUtil.getUserId()));
int aCount = dao().count(SmartBenefitsUser.class, Cnd.where("activityId", "=", activity.getId()).and("userId", "=", userId));
return aCount < activity.getLimitNum();
}
return false;
@@ -233,7 +233,7 @@ public class TrainSignUpActivityStatisticsController {
excelCommonExportEntity.add(new ExcelExportEntity("性别", "sex", 20));
excelCommonExportEntity.add(new ExcelExportEntity("手机号", "mobile", 20));
excelCommonExportEntity.add(new ExcelExportEntity("生日", "birthday", 20));
excelCommonExportEntity.add(new ExcelExportEntity("报名时", "courseTime", 20));
excelCommonExportEntity.add(new ExcelExportEntity("报名时", "signUpTime", 20));
for (TrainSignUpCourse c : courseList) {
String k = c.getCourseName();
@@ -3,6 +3,7 @@ package com.budwk.app.zhgh.dayofficework.healthCheckup.h5controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.annotation.SLog;
import com.budwk.app.base.page.Pagination;
@@ -153,6 +154,18 @@ public class H5HealthCheckupController {
if (money.compareTo(BigDecimal.ZERO) <= 0) { // 小于等于0
return Result.error("金额必须大于0,当前医院没有符合您的选项!");
}
HealthCheckupUser healthCheckupUser = baseService.dao().fetch(HealthCheckupUser.class,
Cnd.NEW().and("projectId", "=", userSelection.getProjectId())
.and("userId", "=", SecurityUtil.getUserId()));
if (ObjectUtil.isEmpty(healthCheckupUser)) {
return Result.error("请确认您的身份信息是否无误!");
} else {
if (StringUtils.isBlank(healthCheckupUser.getPhone())) {
return Result.error("基础信息中,\"手机号\" 不能为空!");
} else if (StringUtils.isBlank(healthCheckupUser.getCard())) {
return Result.error("基础信息中,\"身份证号码\" 不能为空!");
}
}
if (StrUtil.isNotBlank(userSelection.getId())) {
baseService.dao().clearLinks(userSelection, "companionList");
baseService.dao().delete(HealthCheckupUserSelection.class, userSelection.getId());
@@ -163,7 +163,8 @@ const applyForm = {
const res = await this.$axios.post("/platform/smartbenefits/apply/validateSignUp", {
courseId: this.formData.courseId,
currentFamilyNumber: familyCount,
IsVerifyUserApply: "1"
IsVerifyUserApply: "1",
userId: this.formData.userId
})
return res.code === 0
},
@@ -63,8 +63,8 @@ layout("/layouts/platform.html"){
<el-table-column label="操作" width="200px">
<template v-slot="{row}">
<el-button @click="openView(row)" size="mini" type="primary">调整</el-button>
<!-- <el-button type="primary" size="mini" @click="onSign(row)"-->
<!-- v-if="$auth.hasRoleOr(['SYSADMIN'])">代人报名</el-button>-->
<el-button type="primary" size="mini" @click="onSign(row)"
v-if="$auth.hasRoleOr(['SYSADMIN'])">代人报名</el-button>
</template>
</el-table-column>
</el-table>
@@ -145,7 +145,7 @@ layout("/layouts/platform.html"){
编辑备注
</el-button>
<el-button @click="openEditHealthCheckup(row)" size="mini"
v-if="$auth.hasRoleOr(['SYSADMIN','HEALTH_ADMIN'])"
v-if="$auth.hasRoleOr(['HEALTH_ADMIN'])"
type="primary">
编辑
</el-button>
@@ -57,7 +57,7 @@ const applyForm = {
}
},
components: {
"train-dynamic-form": httpVueLoader("/components/module/smartBenefits/TrainDynamicForm.vue")
"train-dynamic-form": httpVueLoader("/components/module/trainSignUp/TrainDynamicForm.vue")
},
methods: {
async onOpen(row, courseType) {
@@ -436,10 +436,12 @@ layout("/layouts/platform_h5.html"){
userSelection: JSON.stringify(formData),
}).then(resp => {
if (resp.code === 0) {
toast.clear();
toast.clear();
this.$toast.success(resp.msg)
this.historyBack()
}
}).catch(() => {
toast.clear();
})
}).catch(() => {
});