From f4b3769226c4f8142a143a37e0f9247ac6479a8d Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Mon, 3 Jun 2024 22:51:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=BA=A6=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CreateAppointScheduleWithDetailInputDto.cs | 5 +++++ .../GetAppointScheduleListInputDto.cs | 14 ++++++++++++++ .../AppointSchedules/AppointScheduleAppService.cs | 14 +++++++------- .../AppointScheduleTemplateManager.cs | 2 +- .../Models/AppointSchedule.cs | 8 +++++--- .../Models/AppointScheduleTemplate.cs | 5 ++++- .../Models/AppointScheduleTime.cs | 4 ++-- 7 files changed, 38 insertions(+), 14 deletions(-) create mode 100644 src/Shentun.WebPeis.Application.Contracts/AppointSchedules/GetAppointScheduleListInputDto.cs diff --git a/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/CreateAppointScheduleWithDetailInputDto.cs b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/CreateAppointScheduleWithDetailInputDto.cs index f4cf9f5..ca16d08 100644 --- a/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/CreateAppointScheduleWithDetailInputDto.cs +++ b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/CreateAppointScheduleWithDetailInputDto.cs @@ -6,6 +6,11 @@ namespace Shentun.WebPeis.AppointSchedules { public class CreateAppointScheduleWithDetailInputDto { + /// + /// 体检中心ID + /// + public Guid MedicalCenterId { get; set; } + /// /// 开始日期 /// diff --git a/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/GetAppointScheduleListInputDto.cs b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/GetAppointScheduleListInputDto.cs new file mode 100644 index 0000000..c34adea --- /dev/null +++ b/src/Shentun.WebPeis.Application.Contracts/AppointSchedules/GetAppointScheduleListInputDto.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Shentun.WebPeis.AppointSchedules +{ + public class GetAppointScheduleListInputDto + { + /// + /// 体检中心ID + /// + public Guid MedicalCenterId { get; set; } + } +} diff --git a/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs b/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs index 0f79f09..186aa27 100644 --- a/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs +++ b/src/Shentun.WebPeis.Application/AppointSchedules/AppointScheduleAppService.cs @@ -56,13 +56,13 @@ namespace Shentun.WebPeis.AppointSchedules [HttpPost("api/app/AppointSchedule/GetAppointScheduleDateList")] public async Task> GetAppointScheduleDateListAsync(MedicalCenterIdInputDto input) { - Guid medicalCenterId ; - if (input == null || input.MedicalCenterId == Guid.Empty || input.MedicalCenterId == null) + Guid medicalCenterId; + if (input == null || input.MedicalCenterId == Guid.Empty || input.MedicalCenterId == null) { var webPeisOrganizationUnit = await _webPeisOrganizationUnitManager.GetMedicalCenterListAsync(); if (webPeisOrganizationUnit.Count > 1 || webPeisOrganizationUnit.Count == 0) { - throw new UserFriendlyException("体检中心参数不能为空"); + throw new UserFriendlyException("体检中心参数不能为空"); } medicalCenterId = webPeisOrganizationUnit.First().Id; } @@ -122,7 +122,7 @@ namespace Shentun.WebPeis.AppointSchedules } - + /// @@ -139,7 +139,7 @@ namespace Shentun.WebPeis.AppointSchedules //所有日期 List dateTimes = DataHelper.GetAllDatesWithinRange(startDate, endDate); - var appointScheduleTemplateList = await _appointScheduleTemplateRepository.GetListAsync(); + var appointScheduleTemplateList = await _appointScheduleTemplateRepository.GetListAsync(m => m.MedicalCenterId == input.MedicalCenterId); foreach (var dateTime in dateTimes) { @@ -403,9 +403,9 @@ namespace Shentun.WebPeis.AppointSchedules /// /// [HttpPost("api/app/AppointSchedule/GetAppointScheduleNumberLimitList")] - public async Task> GetAppointScheduleListAsync() + public async Task> GetAppointScheduleListAsync(GetAppointScheduleListInputDto input) { - var entList = await _appointScheduleRepository.GetQueryableAsync(); + var entList = (await _appointScheduleRepository.GetQueryableAsync()).Where(m => m.MedicalCenterId == input.MedicalCenterId); var entListDto = entList.Select(s => new AppointScheduleDto { AmNumberLimit = s.AmNumberLimit, diff --git a/src/Shentun.WebPeis.Domain/AppointScheduleTemplates/AppointScheduleTemplateManager.cs b/src/Shentun.WebPeis.Domain/AppointScheduleTemplates/AppointScheduleTemplateManager.cs index 9b41f97..172652a 100644 --- a/src/Shentun.WebPeis.Domain/AppointScheduleTemplates/AppointScheduleTemplateManager.cs +++ b/src/Shentun.WebPeis.Domain/AppointScheduleTemplates/AppointScheduleTemplateManager.cs @@ -38,7 +38,7 @@ namespace Shentun.WebPeis.AppointScheduleTemplates { DataHelper.CheckEntityIsNull(entity); - var isWeekId = await _appointScheduleTemplateRepository.FirstOrDefaultAsync(f => f.WeekId == entity.WeekId); + var isWeekId = await _appointScheduleTemplateRepository.FirstOrDefaultAsync(f => f.WeekId == entity.WeekId && f.MedicalCenterId == entity.MedicalCenterId); if (isWeekId != null) throw new UserFriendlyException($"WeekId数据已存在,不能重复"); return new AppointScheduleTemplate diff --git a/src/Shentun.WebPeis.Domain/Models/AppointSchedule.cs b/src/Shentun.WebPeis.Domain/Models/AppointSchedule.cs index be212f1..4ec9ae2 100644 --- a/src/Shentun.WebPeis.Domain/Models/AppointSchedule.cs +++ b/src/Shentun.WebPeis.Domain/Models/AppointSchedule.cs @@ -23,24 +23,26 @@ public partial class AppointSchedule : AuditedEntity, IHasConcurrencyStamp /// 下午数量限制 /// public int PmNumberLimit { get; set; } + /// /// 个人体检数量限制 /// - public int SingleNumberLimit { get; set; } public string ConcurrencyStamp { get; set; } /// /// 主键 /// - public Guid AppointScheduleId { get; set; } + /// + /// 体检中心ID + /// public Guid MedicalCenterId { get; set; } public virtual ICollection AppointScheduleTimes { get; set; } = new List(); - public override object?[] GetKeys() + public override object[] GetKeys() { return [AppointScheduleId]; } diff --git a/src/Shentun.WebPeis.Domain/Models/AppointScheduleTemplate.cs b/src/Shentun.WebPeis.Domain/Models/AppointScheduleTemplate.cs index 57e1ff1..5e77ef3 100644 --- a/src/Shentun.WebPeis.Domain/Models/AppointScheduleTemplate.cs +++ b/src/Shentun.WebPeis.Domain/Models/AppointScheduleTemplate.cs @@ -57,11 +57,14 @@ public class AppointScheduleTemplate : AuditedEntity, IHasConcurrencyStamp, ID public int DisplayOrder { get; set; } + /// + /// 体检中心ID + /// public Guid MedicalCenterId { get; set; } public string? ConcurrencyStamp { get; set; } - public override object?[] GetKeys() + public override object[] GetKeys() { return [AppointScheduleTemplateId]; } diff --git a/src/Shentun.WebPeis.Domain/Models/AppointScheduleTime.cs b/src/Shentun.WebPeis.Domain/Models/AppointScheduleTime.cs index d3cb223..297f94b 100644 --- a/src/Shentun.WebPeis.Domain/Models/AppointScheduleTime.cs +++ b/src/Shentun.WebPeis.Domain/Models/AppointScheduleTime.cs @@ -41,9 +41,9 @@ public partial class AppointScheduleTime : AuditedEntity, IHasConcurrencyStamp public Guid AppointScheduleId { get; set; } - public virtual AppointSchedule? AppointSchedule { get; set; } + public virtual AppointSchedule AppointSchedule { get; set; } - public override object?[] GetKeys() + public override object[] GetKeys() { return [AppointScheduleTimeId]; }