1、香樟工会讲堂->人员调整:添加代人报表(功能,系统管理员可用)
2、费用报销管理->费用报销:添加弹窗须知(参数配置:ExpenseDeclaration)
This commit is contained in:
@@ -457,7 +457,7 @@ public class SysUnionController {
|
||||
@Ok("json:{ignoreNull:true}")
|
||||
@SaCheckPermission("sys.manager.union")
|
||||
public Result listUnion(@Valid String unionId, @Valid String keyWord) {
|
||||
Sql sql = Sqls.create("select id,loginname,username,unitName from vw_user $condition");
|
||||
Sql sql = Sqls.create("select id,loginname,username,unitName,unionName,sex from vw_user $condition");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and(View_user::getUnionId, "=", unionId);
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
|
||||
@@ -158,4 +158,10 @@ public class CommonController {
|
||||
return Result.success(count > 0);
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckLogin
|
||||
@ApiOperation("系统配置")
|
||||
public Result getConfigKeyObj(String key) {
|
||||
return Result.success().addData(sysDictService.dao().fetch(Sys_config.class, Cnd.where("configKey", "=", key)));
|
||||
}
|
||||
}
|
||||
|
||||
+52
-5
@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
@@ -22,6 +23,7 @@ import com.budwk.app.zhgh.activity.trainSignUp.service.TrainSignUpActivityStatis
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
@@ -215,7 +217,7 @@ public class TrainSignUpApplyController {
|
||||
@ApiOperation("验证是否能报名")
|
||||
@SaCheckPermission(value = {"trainSignUp.apply", "h5.trainSignUp.apply"}, mode = SaMode.OR)
|
||||
public Result validateSignUp(String courseId,
|
||||
@Param(value = "currentFamilyNumber") Integer currentFamilyNumber) {
|
||||
@Param(value = "currentFamilyNumber") Integer currentFamilyNumber,String IsVerifyUserApply) {
|
||||
try {
|
||||
lock.lock();
|
||||
if (StrUtil.isBlank(courseId)) {
|
||||
@@ -241,10 +243,12 @@ public class TrainSignUpApplyController {
|
||||
}
|
||||
|
||||
//判断是否报名
|
||||
boolean courseByUser = trainSignUpActivityService.isSignCourseByUser(courseId, SecurityUtil.getUserId());
|
||||
if (courseByUser) {
|
||||
return Result.error("抱歉,您已经报名");
|
||||
}
|
||||
if(StringUtils.defaultString(IsVerifyUserApply,"0").equals("0")){
|
||||
boolean courseByUser = trainSignUpActivityService.isSignCourseByUser(courseId, SecurityUtil.getUserId());
|
||||
if (courseByUser) {
|
||||
return Result.error("抱歉,您已经报名");
|
||||
}
|
||||
}
|
||||
|
||||
//判断活动人数
|
||||
boolean signFull = trainSignUpActivityService.isSignFull(course, currentFamilyNumber);
|
||||
@@ -454,4 +458,47 @@ public class TrainSignUpApplyController {
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("活动代人报名")
|
||||
@SaCheckPermission(value = {"h5.trainSignUp.apply"}, mode = SaMode.OR)
|
||||
public Result doSignUpInsteadApply(TrainSignUpUser trainSignUpUser) {
|
||||
try {
|
||||
lock.lock();
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name())) {
|
||||
return Result.error("您没有操作此按钮的权限");
|
||||
}
|
||||
boolean courseByUser = trainSignUpActivityService.isSignCourseByUser(trainSignUpUser.getCourseId(), trainSignUpUser.getUserId());
|
||||
if (courseByUser) {
|
||||
return Result.error("该用户已报过该活动");
|
||||
}
|
||||
//判断人数
|
||||
int number = 0;
|
||||
TrainSignUpCourse course = trainSignUpActivityService.dao().fetch(TrainSignUpCourse.class, trainSignUpUser.getCourseId());
|
||||
TrainSignUpType type = trainSignUpActivityService.dao().fetch(TrainSignUpType.class, course.getCourseType());
|
||||
if (type != null) {
|
||||
if (type.getIsBringFamily() && type.getIsAddFamily()) {
|
||||
List<NutMap> mobileColumnsValue = trainSignUpUser.getMobileColumnsValue();
|
||||
NutMap map = mobileColumnsValue.stream().filter(o -> "xdqsrs".equals(o.getString("columnCode"))).findAny().orElse(null);
|
||||
number = map != null ? map.getInt("columnValue") : 0;
|
||||
}
|
||||
}
|
||||
boolean signFull = trainSignUpActivityService.isSignFull(course, number);
|
||||
if (signFull) {
|
||||
return Result.error("当前报名人数已满");
|
||||
}
|
||||
boolean signFullByUnionId = trainSignUpActivityService.isSignFullByUnionId(course, number);
|
||||
if (signFullByUnionId) {
|
||||
return Result.error("该活动您所在的分工会名额不足");
|
||||
}
|
||||
trainSignUpActivityService.doSignUpInsteadApply(trainSignUpUser);
|
||||
return Result.success("报名成功");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return Result.success("报名失败");
|
||||
} finally {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -83,4 +83,9 @@ public class TrainSignUpUser implements Serializable {
|
||||
@Comment("用户报名状态(1.正常 2.待报名成功 3.也是正常,但是是从2变为1的 4.废弃[就是没签到的意思])")
|
||||
private Integer state;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("操作人(代人报表)")
|
||||
private String operatorUserId;
|
||||
|
||||
}
|
||||
|
||||
+6
@@ -126,4 +126,10 @@ public interface TrainSignUpActivityService extends BaseService<TrainSignUpActiv
|
||||
List<NutMap> qdInfoByUserId(String userId, String activityId);
|
||||
|
||||
List<TrainSignUpCourse> filterCourseByHostUnion(List<TrainSignUpCourse> courseList);
|
||||
|
||||
/**
|
||||
* 活动代人报名
|
||||
* @param trainSignUpUser
|
||||
*/
|
||||
void doSignUpInsteadApply(TrainSignUpUser trainSignUpUser);
|
||||
}
|
||||
|
||||
+43
@@ -537,4 +537,47 @@ public class TrainSignUpActivityServiceImpl extends BaseServiceImpl<TrainSignUpA
|
||||
}
|
||||
}).toList();
|
||||
}
|
||||
|
||||
public void doSignUpInsteadApply(TrainSignUpUser trainSignUpUser){
|
||||
//查询课程
|
||||
TrainSignUpCourse course = dao().fetch(TrainSignUpCourse.class, trainSignUpUser.getCourseId());
|
||||
TrainSignUpType type = dao().fetch(TrainSignUpType.class, course.getCourseType());
|
||||
//如果这个课程的预留名额方式为报名人数不变
|
||||
if (course.getReserveMode() == 2) {
|
||||
//如果当前报名+已报小于这个课程限制人数
|
||||
//课程已报人数
|
||||
int normalCount = statisticsService.queryCourseCount(course.getId(), course.getCourseType());
|
||||
//+1是算自己
|
||||
int hasRegisterNum = type.getSelfAddFamily() ? normalCount + 1 : 0;
|
||||
trainSignUpUser.setState((hasRegisterNum + course.getCourseReservedNumber()) > course.getCoursePeopleNumber() ? 2 : 1);
|
||||
} else {
|
||||
trainSignUpUser.setState(1);
|
||||
}
|
||||
|
||||
View_user user = dao().fetch(View_user.class, Cnd.where("id", "=", trainSignUpUser.getUserId()));
|
||||
trainSignUpUser.setUnionId(user.getUnionId());
|
||||
trainSignUpUser.setUnionName(user.getUnionName());
|
||||
trainSignUpUser.setUnitId(user.getUnitId());
|
||||
trainSignUpUser.setUnitName(user.getUnitName());
|
||||
trainSignUpUser.setUserId(trainSignUpUser.getUserId());
|
||||
trainSignUpUser.setSignUpTime(new Date());
|
||||
trainSignUpUser.setOperatorUserId(SecurityUtil.getUserId());
|
||||
dao().insert(trainSignUpUser);
|
||||
|
||||
if (StrUtil.isNotBlank(trainSignUpUser.getActivityCourseId())) {
|
||||
TrainSignUpActivityCourse fetch = dao().fetch(TrainSignUpActivityCourse.class, trainSignUpUser.getActivityCourseId());
|
||||
TrainSignUpUserCourse userCourse = new TrainSignUpUserCourse();
|
||||
userCourse.setActivityId(trainSignUpUser.getActivityId());
|
||||
userCourse.setCourseId(trainSignUpUser.getCourseId());
|
||||
userCourse.setUserId(trainSignUpUser.getUserId());
|
||||
userCourse.setCourseStartTime(fetch.getCourseStartTime());
|
||||
userCourse.setCourseEndTime(fetch.getCourseEndTime());
|
||||
userCourse.setAttend(false);
|
||||
userCourse.setAttendTime(null);
|
||||
userCourse.setActivityCourseId(fetch.getId());
|
||||
dao().insert(userCourse);
|
||||
} else {
|
||||
asyncInsertUserCourse(trainSignUpUser.getActivityId(), trainSignUpUser.getCourseId(), trainSignUpUser.getUserId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -46,6 +46,7 @@ public class TrainSignUpActivityStatisticsServiceImpl extends BaseServiceImpl<Tr
|
||||
tsuc.coursePeopleNumber,
|
||||
tsuc.courseReservedNumber,
|
||||
type.typeName as courseType,
|
||||
tsuc.courseType as courseTypeId,
|
||||
tsuc.courseLocation,
|
||||
tsuc.courseInstructor,
|
||||
tsuc.reserveMode,
|
||||
|
||||
Reference in New Issue
Block a user