外宿申请-监听器优化(流程找不到对应学院的负责人则选择对应角色的第一个作为负责人)
This commit is contained in:
@@ -62,18 +62,29 @@ public class OutsideAccommodationEndListener implements ExecutionListener {
|
||||
approvalResult = num.longValue();
|
||||
}
|
||||
|
||||
// 添加审批记录
|
||||
|
||||
OutsideAccommodationApplyMapper outsideAccommodationApplyMapper = SpringUtils.getBean(OutsideAccommodationApplyMapper.class);
|
||||
// 根据Id查询外宿申请记录
|
||||
OutsideAccommodationApply outsideAccommodationApply = outsideAccommodationApplyMapper.selectDmsOutsideAccommodationApplyById(accommodationId);
|
||||
// 添加审批记录
|
||||
saveApprovalRecord(outsideAccommodationApply.getId(), outsideAccommodationApply.getProcessInstanceId(),outsideAccommodationApply.getApplyNo(),currentNodeName, outsideAccommodationApply.getStudentName(), outsideAccommodationApply.getStudentNo(), approvalOpinion, approvalResult);
|
||||
|
||||
Long status = 1L;
|
||||
if (currentNodeName.equals("辅导员审批")) {
|
||||
status = 2L;
|
||||
}
|
||||
if (currentNodeName.equals("二级学院书记审批")) {
|
||||
status = 3L;
|
||||
}
|
||||
if (currentNodeName.equals("学工处审批")) {
|
||||
status = 4L;
|
||||
}
|
||||
// 如果到了最后一个审批人,则修改申请表审核状态
|
||||
if (currentNodeName.equals("学校领导审批")){
|
||||
// 改变申请表中的审核状态(审核通过)
|
||||
outsideAccommodationApply.setStatus(5L);
|
||||
outsideAccommodationApplyMapper.updateDmsOutsideAccommodationApply(outsideAccommodationApply);
|
||||
status = 5L;
|
||||
}
|
||||
outsideAccommodationApply.setStatus(status);
|
||||
outsideAccommodationApplyMapper.updateDmsOutsideAccommodationApply(outsideAccommodationApply);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -104,7 +115,7 @@ public class OutsideAccommodationEndListener implements ExecutionListener {
|
||||
outsideAccommodationApproval.setApproverId(SecurityUtils.getLoginUser().getUser().getUserId());
|
||||
// SecurityUtils.getUserName()是工号
|
||||
outsideAccommodationApproval.setApproverName(SecurityUtils.getLoginUser().getUser().getNickName());
|
||||
System.out.println(SecurityUtils.getLoginUser().getUser());
|
||||
// System.out.println(SecurityUtils.getLoginUser().getUser());
|
||||
// 若变量未传递,直接用默认值“同意”(前端点击同意按钮的默认意见)
|
||||
outsideAccommodationApproval.setApprovalOpinion(approvalOpinion);
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ public class OutsideAccommodationStartListener implements ExecutionListener {
|
||||
// 学工处审批前 → 找到对应学工处
|
||||
// 查询角色ID=100(学工处)的所有用户
|
||||
SysUser qUser = new SysUser();
|
||||
qUser.setRoleId(100L); // 学工处角色固定ID=112
|
||||
qUser.setRoleId(100L); // 学工处角色固定ID=100
|
||||
List<SysUser> collegeUsers = sysUserService.selectAllocatedList(qUser);
|
||||
if (collegeUsers.isEmpty()) {
|
||||
throw new RuntimeException("未查询到角色(学工处)的用户");
|
||||
@@ -130,7 +130,9 @@ public class OutsideAccommodationStartListener implements ExecutionListener {
|
||||
SysUser targetCollegeLeader = collegeUsers.stream()
|
||||
.filter(user -> currentDeptId.equals(user.getDeptId())) // 学院ID匹配(部门ID即学院ID)
|
||||
.findFirst()
|
||||
.orElseThrow(() -> new RuntimeException("未找到学院ID=" + currentDeptId + "的学工处负责人"));
|
||||
// 找不到匹配的则取列表第二个用户
|
||||
.orElse(collegeUsers.get(2));
|
||||
//.orElseThrow(() -> new RuntimeException("未找到学院ID=" + currentDeptId + "的学工处负责人"));
|
||||
|
||||
|
||||
// 返回匹配的学工处负责人ID
|
||||
|
||||
Reference in New Issue
Block a user