gaoluyang
17 小时以前 f9d83ae75f8c911c1c05304f8131fc222579768a
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);
}