From 8d3065add0a652305563814e0852ce76fa80efea Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 14 一月 2026 17:08:03 +0800
Subject: [PATCH] 人力资源-新增离职,增加离职原因和备注
---
src/main/java/com/ruoyi/staff/pojo/StaffJoinLeaveRecord.java | 12 ++++++++++++
src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java | 14 ++++++++++++++
src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java | 28 ++++++++++++++++++++++++++++
doc/20260114_add_dimission_reason_and_remark_to_staff_join_leave_record.sql | 3 +++
4 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/doc/20260114_add_dimission_reason_and_remark_to_staff_join_leave_record.sql b/doc/20260114_add_dimission_reason_and_remark_to_staff_join_leave_record.sql
new file mode 100644
index 0000000..c02a3ba
--- /dev/null
+++ b/doc/20260114_add_dimission_reason_and_remark_to_staff_join_leave_record.sql
@@ -0,0 +1,3 @@
+alter table staff_join_leave_record
+ add dimission_reason varchar(255) null,
+ add dimission_remark text null;
diff --git a/src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java b/src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java
new file mode 100644
index 0000000..c59e56c
--- /dev/null
+++ b/src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java
@@ -0,0 +1,28 @@
+package com.ruoyi.common.enums;
+
+import lombok.AllArgsConstructor;
+
+/**
+ * 闄勪欢璁板綍绫诲瀷鏋氫妇
+ *
+ */
+@AllArgsConstructor
+public enum StaffJoinLeaveRecordDimissionReason {
+ StaffJoinLeaveRecordDimissionReasonSalary("salary","钖祫寰呴亣"),
+ StaffJoinLeaveRecordDimissionReasonCareerDevelopment("career_development","鑱屼笟鍙戝睍"),
+ StaffJoinLeaveRecordDimissionReasonWorkEnvironment("work_environment","宸ヤ綔鐜"),
+ StaffJoinLeaveRecordDimissionReasonPersonalReason("personal_reason","涓汉鍘熷洜"),
+ StaffJoinLeaveRecordDimissionReasonOther("other","鍏朵粬鍘熷洜");
+
+
+ private final String code;
+ private final String info;
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getInfo() {
+ return info;
+ }
+}
diff --git a/src/main/java/com/ruoyi/staff/pojo/StaffJoinLeaveRecord.java b/src/main/java/com/ruoyi/staff/pojo/StaffJoinLeaveRecord.java
index 0e78067..e8f8934 100644
--- a/src/main/java/com/ruoyi/staff/pojo/StaffJoinLeaveRecord.java
+++ b/src/main/java/com/ruoyi/staff/pojo/StaffJoinLeaveRecord.java
@@ -188,6 +188,18 @@
@Excel(name = "澶囨敞锛堢鍒╁緟閬囷級")
private String remark;
+ /**
+ * 绂昏亴鍘熷洜
+ */
+ @Excel(name = "绂昏亴鍘熷洜",readConverterExp = "salary=钖祫寰呴亣,career_development=鑱屼笟鍙戝睍,work_environment=宸ヤ綔鐜,personal_reason=涓汉鍘熷洜,other=鍏朵粬")
+ private String dimissionReason;
+
+ /**
+ * 绂昏亴澶囨敞
+ */
+ @Excel(name = "绂昏亴澶囨敞")
+ private String dimissionRemark;
+
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
@TableField(fill = FieldFill.INSERT)
diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
index 378a1f1..d20ee41 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
@@ -24,6 +24,8 @@
import java.util.*;
import java.util.function.Function;
+import static com.ruoyi.common.enums.StaffJoinLeaveRecordDimissionReason.StaffJoinLeaveRecordDimissionReasonOther;
+
@Service
@AllArgsConstructor
@Transactional(rollbackFor = Exception.class)
@@ -77,6 +79,12 @@
staffOnJobMapper.updateById(staffOnJob);
}else {
throw new BaseException("娌℃湁鎵惧埌"+staffJoinLeaveRecord.getStaffNo()+"缂栧彿鐨勫憳宸�,鏃犳硶鏂板绂昏亴!!!");
+ }
+ if (staffJoinLeaveRecord.getDimissionReason()==null){
+ throw new BaseException("绂昏亴鍘熷洜涓嶈兘涓虹┖!!!");
+ }
+ if (!StaffJoinLeaveRecordDimissionReasonOther.getCode().equals(staffJoinLeaveRecord.getDimissionReason())){
+ staffJoinLeaveRecord.setDimissionRemark("");
}
}
return staffJoinLeaveRecordMapper.insert(staffJoinLeaveRecord);
@@ -168,6 +176,12 @@
}else {
/*绂昏亴*/
//绂昏亴鐨勭紪杈戜笉浼氬奖鍝嶅湪鑱岃〃
+ if (staffJoinLeaveRecord.getDimissionReason()==null){
+ throw new BaseException("绂昏亴鍘熷洜涓嶈兘涓虹┖!!!");
+ }
+ if (!StaffJoinLeaveRecordDimissionReasonOther.getCode().equals(staffJoinLeaveRecord.getDimissionReason())){
+ staffJoinLeaveRecord.setDimissionRemark("");
+ }
}
return staffJoinLeaveRecordMapper.updateById(staffJoinLeaveRecord);
}
--
Gitblit v1.9.3