From f9d83ae75f8c911c1c05304f8131fc222579768a Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 08 十一月 2026 10:09:34 +0800
Subject: [PATCH] fix(hrm): 已清除的排班日期重新排班时报唯一键冲突
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmEmployeeScheduleMapper.java | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmEmployeeScheduleMapper.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmEmployeeScheduleMapper.java
index 53b9b00..7d8c025 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmEmployeeScheduleMapper.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/attendance/HrmEmployeeScheduleMapper.java
@@ -4,6 +4,8 @@
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmEmployeeScheduleDO;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
import java.time.LocalDate;
import java.util.Collection;
@@ -48,4 +50,15 @@
.eq(HrmEmployeeScheduleDO::getShiftId, shiftId));
}
+ /**
+ * 澶嶆椿涓�鏉″凡琚�昏緫鍒犻櫎鐨勬帓鐝紙鍞竴绱㈠紩 uk_employee_date 涓嶅惈 deleted锛�
+ * 閫昏緫鍒犻櫎鍚庡啀鎻掑叆鍚屽憳宸ュ悓鏃ユ湡浼氭挒鍞竴閿紝杩欓噷鏀逛负鎶婃棫琛屾敼鍥炴湁鏁堬級
+ *
+ * @return 鏇存柊琛屾暟锛�0 琛ㄧず涓嶅瓨鍦ㄥ凡鍒犻櫎鐨勫悓鍛樺伐鍚屾棩鏈熻褰�
+ */
+ @Update("UPDATE hrm_employee_schedule SET deleted = 0, shift_id = #{shiftId}, remark = #{remark}, "
+ + "update_time = NOW() WHERE employee_id = #{employeeId} AND date = #{date} AND deleted = 1")
+ int reviveDeletedSchedule(@Param("employeeId") Long employeeId, @Param("date") LocalDate date,
+ @Param("shiftId") Long shiftId, @Param("remark") String remark);
+
}
--
Gitblit v1.9.3