From 5c28b09e71d78df1a6ecdff5566f68b4ef896082 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E6=81=92=E6=88=90?= <962704835@qq.com>
Date: Tue, 9 Dec 2025 12:28:08 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A4=96=E5=AE=BF=E7=94=B3=E8=AF=B7-=E7=9B=91?=
=?UTF-8?q?=E5=90=AC=E5=99=A8=E4=BC=98=E5=8C=96=EF=BC=88=E6=B5=81=E7=A8=8B?=
=?UTF-8?q?=E6=89=BE=E4=B8=8D=E5=88=B0=E5=AF=B9=E5=BA=94=E5=AD=A6=E9=99=A2?=
=?UTF-8?q?=E7=9A=84=E8=B4=9F=E8=B4=A3=E4=BA=BA=E5=88=99=E9=80=89=E6=8B=A9?=
=?UTF-8?q?=E5=AF=B9=E5=BA=94=E8=A7=92=E8=89=B2=E7=9A=84=E7=AC=AC=E4=B8=80?=
=?UTF-8?q?=E4=B8=AA=E4=BD=9C=E4=B8=BA=E8=B4=9F=E8=B4=A3=E4=BA=BA=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../domain/DmsOutsideAccommodationApply.java | 10 ++++++++-
.../DmsOutsideAccommodationApplyMapper.xml | 7 ++++++-
.../OutsideAccommodationEndListener.java | 21 ++++++++++++++-----
.../OutsideAccommodationStartListener.java | 6 ++++--
4 files changed, 35 insertions(+), 9 deletions(-)
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