fix 取消班次增加打开记录在配置时间判断

This commit is contained in:
2025-08-05 12:04:12 +08:00
parent 40b4f5270c
commit cdbd9dea83

View File

@@ -325,11 +325,24 @@ public class WorkGridScheduleService : IWorkGridScheduleService
workGridSchedule.ThrowIfNull("排班信息不存在或不可操作");
workGridSchedule.IsCancel.ThrowIfTrue("排班信息已被取消,请勿重复操作");
var start = workGridSchedule.Date.ToDateTime(TimeOnly.MinValue);
//获取班次的时间配置
var timeSetting = await _dbContext.Queryable<WorkGridTimePeriodEntity>()
.Where(x => x.Type == workGridSchedule.PeriodType)
.Select(x => new { x.Start, x.Before })
.SingleAsync();
timeSetting.ThrowIfNull("工作网格时间尚未配置,无法操作");
var start = workGridSchedule.Date.ToDateTime(timeSetting.Start);
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();
//const string filterString = "{\"IsError\":true";
var exists = await _dbContext.Queryable<DeviceUploadLogEntity>()
.Where(x => x.UserUniqueNo == workGridSchedule.UserCode)
.Where(x => x.RaiseDateTime >= start && x.RaiseDateTime <= end)
.Where(x=>x.Type == DeviceUploadLogTypeEnumType.Attendance)
.AnyAsync();
exists.ThrowIfTrue("排班信息已存在打卡记录,请勿取消");