From b852254d90e7d1955db31db154193ec8ee84d8b3 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 09 九月 2026 10:57:59 +0800
Subject: [PATCH] feat(hrm): 新增员工用工性质、班组归属字段及考勤异常处理优化

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceExceptionServiceImpl.java |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceExceptionServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceExceptionServiceImpl.java
index 4cf1dc6..54eb8ab 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceExceptionServiceImpl.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceExceptionServiceImpl.java
@@ -71,7 +71,10 @@
 
     @Override
     public void updateAttendanceException(HrmAttendanceExceptionSaveReqVO updateReqVO) {
-        validateAttendanceExceptionExists(updateReqVO.getId());
+        HrmAttendanceExceptionDO attendanceException = validateAttendanceExceptionExists(updateReqVO.getId());
+        if (!HrmAuditStatusEnum.DRAFT.getStatus().equals(attendanceException.getStatus())) {
+            throw exception(ATTENDANCE_EXCEPTION_UPDATE_FAIL_NOT_DRAFT);
+        }
         HrmAttendanceExceptionDO updateObj = BeanUtils.toBean(updateReqVO, HrmAttendanceExceptionDO.class);
         attendanceExceptionMapper.updateById(updateObj);
         storageAttachmentApi.updateAttachments("file", "hrm_attendance_exception", updateReqVO.getId(), updateReqVO.getBlobIds());
@@ -79,7 +82,10 @@
 
     @Override
     public void deleteAttendanceException(Long id) {
-        validateAttendanceExceptionExists(id);
+        HrmAttendanceExceptionDO attendanceException = validateAttendanceExceptionExists(id);
+        if (!HrmAuditStatusEnum.DRAFT.getStatus().equals(attendanceException.getStatus())) {
+            throw exception(ATTENDANCE_EXCEPTION_DELETE_FAIL_NOT_DRAFT);
+        }
         storageAttachmentApi.deleteAttachmentsByRecord("hrm_attendance_exception", id);
         attendanceExceptionMapper.deleteById(id);
     }

--
Gitblit v1.9.3