fix 补充检验

This commit is contained in:
2025-07-08 16:53:22 +08:00
parent df29b91a94
commit 8bac9e0201

View File

@@ -163,9 +163,18 @@ public class WorkGridScheduleService : IWorkGridScheduleService
var workGridSchedule = await _dbContext.Queryable<WorkGridScheduleEntity>()
.Where(x => x.Date < currentDate)
.SingleAsync(x => x.Id == id);
workGridSchedule.ThrowIfNull("排班信息不存在或不可操作");
workGridSchedule.IsCancel.ThrowIfTrue("排班信息已被取消,请勿重复操作");
var start = workGridSchedule.Date.ToDateTime(TimeOnly.MinValue);
var end = workGridSchedule.Date.ToDateTime(TimeOnly.MaxValue);
var exists = await _dbContext.Queryable<DeviceUploadLogEntity>().Where(x => x.UserUniqueNo == workGridSchedule.UserCode)
.Where(x => x.RaiseDateTime >= start && x.RaiseDateTime <= end).AnyAsync();
exists.ThrowIfTrue("排班信息已存在打卡记录,请勿取消");
await _workGridScheduleRepository.CancelAsync(id, reason);
}