From cdbd9dea83d34fd8502486cfe6d7d2e00f2b7058 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 5 Aug 2025 12:04:12 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=8F=96=E6=B6=88=E7=8F=AD=E6=AC=A1?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=93=E5=BC=80=E8=AE=B0=E5=BD=95=E5=9C=A8?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=97=B6=E9=97=B4=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/WorkGridScheduleService.cs | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridScheduleService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridScheduleService.cs index 83873026..806a0689 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridScheduleService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridScheduleService.cs @@ -324,12 +324,25 @@ public class WorkGridScheduleService : IWorkGridScheduleService workGridSchedule.ThrowIfNull("排班信息不存在或不可操作"); workGridSchedule.IsCancel.ThrowIfTrue("排班信息已被取消,请勿重复操作"); + + //获取班次的时间配置 + var timeSetting = await _dbContext.Queryable() + .Where(x => x.Type == workGridSchedule.PeriodType) + .Select(x => new { x.Start, x.Before }) + .SingleAsync(); - var start = workGridSchedule.Date.ToDateTime(TimeOnly.MinValue); + timeSetting.ThrowIfNull("工作网格时间尚未配置,无法操作"); + + var start = workGridSchedule.Date.ToDateTime(timeSetting.Start); var end = workGridSchedule.Date.ToDateTime(TimeOnly.MaxValue); - - var exists = await _dbContext.Queryable().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() + .Where(x => x.UserUniqueNo == workGridSchedule.UserCode) + .Where(x => x.RaiseDateTime >= start && x.RaiseDateTime <= end) + .Where(x=>x.Type == DeviceUploadLogTypeEnumType.Attendance) + .AnyAsync(); exists.ThrowIfTrue("排班信息已存在打卡记录,请勿取消");