diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationApply.java b/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationApply.java index 11df233..2c5a4fe 100644 --- a/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationApply.java +++ b/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationApply.java @@ -15,7 +15,7 @@ import com.srs.common.core.domain.BaseEntity; * 外宿申请对象 dms_outside_accommodation_apply * * @author srs - * @date 2025-12-06 + * @date 2025-12-09 */ @Data @EqualsAndHashCode(callSuper = true) @@ -349,5 +349,13 @@ public class DmsOutsideAccommodationApply extends BaseEntity { @Excel(name = "外宿原因学生签名URL") private String studentSignature; + /** + * 承诺内容 + */ + @ApiModelProperty("承诺内容") + @TableField("promise_content") + @Excel(name = "承诺内容") + private String promiseContent; + } diff --git a/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationApplyMapper.xml b/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationApplyMapper.xml index 85b7b71..f64f9ad 100644 --- a/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationApplyMapper.xml +++ b/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationApplyMapper.xml @@ -49,6 +49,7 @@ + @@ -95,7 +96,8 @@ process_instance_id, idCard, studentPhone, - student_signature + student_signature, + promise_content from dms_outside_accommodation_apply @@ -250,6 +252,7 @@ idCard, studentPhone, student_signature, + promise_content, #{applyNo}, @@ -295,6 +298,7 @@ #{idCard}, #{studentPhone}, #{studentSignature}, + #{promiseContent}, @@ -352,6 +356,7 @@ idCard = #{idCard}, studentPhone = #{studentPhone}, student_signature = #{studentSignature}, + promise_content = #{promiseContent}, where id = #{id} diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/outsideAccommodation/OutsideAccommodationEndListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/outsideAccommodation/OutsideAccommodationEndListener.java index 2998f59..2c5a54d 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/outsideAccommodation/OutsideAccommodationEndListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/outsideAccommodation/OutsideAccommodationEndListener.java @@ -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); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/outsideAccommodation/OutsideAccommodationStartListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/outsideAccommodation/OutsideAccommodationStartListener.java index a4fa334..557c172 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/outsideAccommodation/OutsideAccommodationStartListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/outsideAccommodation/OutsideAccommodationStartListener.java @@ -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 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