增加初始化时学生住宿费用时发送系统消息和企业微信消息功能,学工处增加一键确认待确认的学生住宿费用功能

This commit is contained in:
MDSMO
2025-08-26 10:04:27 +08:00
parent d4a1a82388
commit 9498ec9308
6 changed files with 295 additions and 21 deletions

View File

@@ -55,6 +55,17 @@ public class DmsNewRecordController extends BaseController {
}
}
@ApiOperation("学工一键确认未进行住宿费用确认的学生")
@PostMapping("/confirmUnconfirmedStudents")
public AjaxResult confirmUnconfirmedStudents() {
boolean hasRole = RoleBool.isHigh(getUserId(), _postService);
if (hasRole) {
return dmsNewRecordService.confirmUnconfirmedStudents();
} else {
return AjaxResult.error(401, "你无权做这些");
}
}
@ApiOperation("学生填充信息")
@PostMapping("/fullInfo/{id}")

View File

@@ -92,22 +92,27 @@ public class DmsStuDailyController extends BaseController {
// 获取用户角色组
String roleGroup = userService.selectUserRoleGroup(username);
// 检查是否同时拥有学务干事和辅导员角色
// 检查用户拥有的角色
boolean isXuegongRole = roleGroup.contains("学工");
boolean isDeptRole = roleGroup.contains("学务干事") || roleGroup.contains("学务办初审");
boolean isTeacherRole = roleGroup.contains("辅导员");
// 根据前端传递的roleType参数进行过滤
if (isDeptRole && isTeacherRole) {
// 同时拥有两个角色根据roleType参数决定查看哪种数据
// 根据角色组合和前端传递的roleType参数进行过滤
if ((isXuegongRole && isTeacherRole) || (isDeptRole && isTeacherRole)) {
// 多角色用户根据roleType参数决定查看哪种数据
if ("teacher".equals(param.getRoleType())) {
// 查看个人班级数据
// 辅导员权限:查看个人班级数据
param.setTeacherNo(username);
} else {
// 默认查看学院数据
} else if ("dept".equals(param.getRoleType())) {
// 学务干事权限:查看学院数据
if (currentUser.getDept() != null) {
param.setDeptName(currentUser.getDept().getDeptName());
}
} else if ("xuegong".equals(param.getRoleType()) || param.getRoleType() == null) {
// 学工权限:查看所有数据,不设置过滤条件
}
} else if (isXuegongRole) {
// 只有学工角色,查看所有数据,不设置过滤条件
} else if (isDeptRole) {
// 只有学务干事角色,查看学院数据
if (currentUser.getDept() != null) {
@@ -135,16 +140,39 @@ public class DmsStuDailyController extends BaseController {
String roleGroup = userService.selectUserRoleGroup(username);
SysUser currentUser = userService.selectUserByUserName(username);
boolean isXuegongRole = roleGroup.contains("学工");
boolean isDeptRole = roleGroup.contains("学务干事");
boolean isTeacherRole = roleGroup.contains("辅导员");
boolean hasMultipleRoles = isDeptRole && isTeacherRole;
// 判断多角色情况
boolean hasMultipleRoles = (isXuegongRole && isTeacherRole) || (isDeptRole && isTeacherRole);
Map<String, Object> roleInfo = new HashMap<>();
roleInfo.put("hasMultipleRoles", hasMultipleRoles);
roleInfo.put("defaultRole", "dept"); // 默认显示学院数据
roleInfo.put("isAdmin", SecurityUtils.isAdmin(SecurityUtils.getUserId()));
roleInfo.put("isXuewu", roleGroup.contains("学务干事"));
roleInfo.put("isFudaoyuan", roleGroup.contains("辅导员"));
roleInfo.put("isXuegong", isXuegongRole);
roleInfo.put("isXuewu", isDeptRole);
roleInfo.put("isFudaoyuan", isTeacherRole);
// 设置默认角色和可用角色选项
if (isXuegongRole && isTeacherRole) {
// 学工+辅导员组合
roleInfo.put("defaultRole", "xuegong");
roleInfo.put("availableRoles", new String[]{"xuegong", "teacher"});
} else if (isDeptRole && isTeacherRole) {
// 学务干事+辅导员组合
roleInfo.put("defaultRole", "dept");
roleInfo.put("availableRoles", new String[]{"dept", "teacher"});
} else if (isXuegongRole) {
// 只有学工角色
roleInfo.put("defaultRole", "xuegong");
} else if (isDeptRole) {
// 只有学务干事角色
roleInfo.put("defaultRole", "dept");
} else if (isTeacherRole) {
// 只有辅导员角色
roleInfo.put("defaultRole", "teacher");
}
// 添加用户部门信息
if (currentUser != null && currentUser.getDept() != null) {