From 8c915f73cee2868e7b12132c2aa2bd216b1f8d1e Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 25 Feb 2025 17:28:20 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=98=A0=E5=B0=84=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Response/WorkGridPageResponse.cs | 5 ++ .../WorkGridTimePeriodPageResponse.cs | 8 +++- .../Services/Implements/WorkGridService.cs | 8 +++- .../Implements/WorkGridTimePeriodService.cs | 46 ++++++++++--------- 4 files changed, 42 insertions(+), 25 deletions(-) diff --git a/Src/Dlhis.Basic/WorkGrids/Response/WorkGridPageResponse.cs b/Src/Dlhis.Basic/WorkGrids/Response/WorkGridPageResponse.cs index 3494011a..2ae483ae 100644 --- a/Src/Dlhis.Basic/WorkGrids/Response/WorkGridPageResponse.cs +++ b/Src/Dlhis.Basic/WorkGrids/Response/WorkGridPageResponse.cs @@ -28,4 +28,9 @@ public class WorkGridPageResponse /// 备注 /// public string Remark { get; set; } + + /// + /// 用户数量 + /// + public int UserCount { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/WorkGrids/Response/WorkGridTimePeriodPageResponse.cs b/Src/Dlhis.Basic/WorkGrids/Response/WorkGridTimePeriodPageResponse.cs index 03c23873..89ea9d65 100644 --- a/Src/Dlhis.Basic/WorkGrids/Response/WorkGridTimePeriodPageResponse.cs +++ b/Src/Dlhis.Basic/WorkGrids/Response/WorkGridTimePeriodPageResponse.cs @@ -1,5 +1,7 @@ using Dlhis.Entity.Basic.Enums; +using Kurisu.AspNetCore.Utils.Converters; using Kurisu.AspNetCore.Utils.Extensions; +using Newtonsoft.Json; namespace Dlhis.Basic.WorkGrids.Response; @@ -30,12 +32,14 @@ public class WorkGridTimePeriodPageResponse /// /// 开始时间 /// - public TimeOnly Start { get; set; } + [JsonConverter(typeof(ToDateJsonConverter))] + public DateTime Start { get; set; } /// /// 结束时间 /// - public TimeOnly End { get; set; } + [JsonConverter(typeof(ToDateJsonConverter))] + public DateTime End { get; set; } /// /// 配置描述 diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs index f087dd94..1df302e9 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs @@ -32,6 +32,11 @@ public class WorkGridService : IWorkGridService .WhereIF(request.Id.HasValue, x => x.Id != request.Id) .AnyAsync(); + if (!await _dbContext.Queryable().Where(x => x.Code == request.LeaderUserCode).AnyAsync()) + { + true.ThrowIfTrue($"工号:{request.LeaderUserCode}不存在"); + } + exists.ThrowIfTrue($"{request.LeaderUserCode}已存在管理的网格"); if (!request.Id.HasValue) @@ -63,7 +68,8 @@ public class WorkGridService : IWorkGridService Name = x.Name, LeaderUserCode = x.LeaderUserCode, UserName = ga.Name, - Remark = x.Remark + Remark = x.Remark, + UserCount = SqlFunc.Subqueryable().Where(p => p.WorkGridCode == x.Code).Count() }) .ToPageListAsync(request); } diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridTimePeriodService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridTimePeriodService.cs index b07b4396..01d4dcc6 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridTimePeriodService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridTimePeriodService.cs @@ -50,9 +50,11 @@ public class WorkGridTimePeriodService : IWorkGridTimePeriodService /// public async Task> GetPageAsync(WorkGridTimePeriodPageRequest request) { - return await _dbContext.Queryable() + var data = await _dbContext.Queryable() .Select() .ToPageListAsync(request); + + return data; } //************************************************************************************************************************************************* @@ -69,25 +71,25 @@ public class WorkGridTimePeriodService : IWorkGridTimePeriodService .SingleAsync(); } - /// - /// 检查时间段重合检查 - /// - /// - /// - private async Task CheckDuplicateTimePeriodAsync(WorkGridTimePeriodSaveRequest request) - { - var periods = await _dbContext.Queryable() - .Where(x => x.Type != request.Type) - .Select(x => new TimePeriod - { - Start = x.Start, - End = x.End - }) - .ToListAsync(); - - foreach (var period in periods) - { - period.IsDuplicate(request.Adapt()).ThrowIfTrue($"存在时间段重合[{period.Start}-{period.End}]"); - } - } + // /// + // /// 检查时间段重合检查 + // /// + // /// + // /// + // private async Task CheckDuplicateTimePeriodAsync(WorkGridTimePeriodSaveRequest request) + // { + // var periods = await _dbContext.Queryable() + // .Where(x => x.Type != request.Type) + // .Select(x => new TimePeriod + // { + // Start = x.Start, + // End = x.End + // }) + // .ToListAsync(); + // + // foreach (var period in periods) + // { + // period.IsDuplicate(request.Adapt()).ThrowIfTrue($"存在时间段重合[{period.Start}-{period.End}]"); + // } + // } } \ No newline at end of file