diff --git a/src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs b/src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs index 2fe4e0d..9669c99 100644 --- a/src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs +++ b/src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.ApplicationParts; using Shentun.WebPeis.AppointRegisterAsbitems; using Shentun.WebPeis.AppointScheduleTimes; using Shentun.WebPeis.CustomerOrgs; @@ -68,6 +69,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters private readonly SysParmValueManager _sysParmValueManager; private readonly PersonManager _personManager; private readonly AppointScheduleTimeManager _appointScheduleTimeManager; + private readonly IRepository _appointScheduleRepository; + private readonly IRepository _appointScheduleTimeRepository; public AppointPatientRegisterAppService(IRepository repository, CacheService cacheService, IRepository itemTypeRepository, @@ -101,7 +104,9 @@ namespace Shentun.WebPeis.AppointPatientRegisters SysParmValueManager sysParmValueManager, PersonManager personManager, AppointScheduleTimeManager appointScheduleTimeManager - ) +, + IRepository appointScheduleRepository, + IRepository appointScheduleTimeRepository) { _repository = repository; _cacheService = cacheService; @@ -136,6 +141,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters _personManager = personManager; _sysParmValueManager = sysParmValueManager; _appointScheduleTimeManager = appointScheduleTimeManager; + _appointScheduleRepository = appointScheduleRepository; + _appointScheduleTimeRepository = appointScheduleTimeRepository; } /// /// 创建预约,小程序使用 @@ -1293,5 +1300,35 @@ namespace Shentun.WebPeis.AppointPatientRegisters return questionRegisterDiseaseRiskDtos; */ } + + /// + /// 同步预约数 处理数据用 + /// + /// + [HttpPost("api/app/AppointPatientRegister/SyncAppointNumber")] + public async Task SyncAppointNumberAsync() + { + var appointPatientRegisterList = await _repository.GetListAsync(m => m.CompleteFlag == '0'); + var appointDateGroup = appointPatientRegisterList.GroupBy(g => g.AppointDate); + + foreach (var item in appointDateGroup) + { + DateTime appointDate = item.Key; + DateTime sDate = appointDate.Date; + TimeOnly sTime = new TimeOnly(appointDate.TimeOfDay.Hours, appointDate.TimeOfDay.Minutes, appointDate.TimeOfDay.Seconds); + var appointScheduleEnt = await _appointScheduleRepository.FirstOrDefaultAsync(f => f.AppointDate == sDate); + if (appointScheduleEnt != null) + { + var appointScheduleTimeEnt = await _appointScheduleTimeRepository.FirstOrDefaultAsync(f => f.StartTime == sTime + && f.AppointScheduleId == appointScheduleEnt.AppointScheduleId); + if (appointScheduleTimeEnt != null) + { + appointScheduleTimeEnt.AppointNumber = item.Count(); + await _appointScheduleTimeRepository.UpdateAsync(appointScheduleTimeEnt); + } + + } + } + } } } diff --git a/src/Shentun.WebPeis.Domain/AppointScheduleTimes/AppointScheduleTimeManager.cs b/src/Shentun.WebPeis.Domain/AppointScheduleTimes/AppointScheduleTimeManager.cs index 67dbd47..c3599e7 100644 --- a/src/Shentun.WebPeis.Domain/AppointScheduleTimes/AppointScheduleTimeManager.cs +++ b/src/Shentun.WebPeis.Domain/AppointScheduleTimes/AppointScheduleTimeManager.cs @@ -56,7 +56,8 @@ namespace Shentun.WebPeis.AppointScheduleTimes var appointScheduleEnt = await _appointScheduleRepository.FirstOrDefaultAsync(f => f.AppointDate == AppointDate.Date); if (appointScheduleEnt != null) { - var appointScheduleTimeEnt = await _appointScheduleTimeRepository.FirstOrDefaultAsync(f => f.StartTime == new TimeOnly(AppointDate.TimeOfDay.Hours, AppointDate.TimeOfDay.Minutes, AppointDate.TimeOfDay.Seconds)); + var appointScheduleTimeEnt = await _appointScheduleTimeRepository.FirstOrDefaultAsync(f => f.StartTime == new TimeOnly(AppointDate.TimeOfDay.Hours, AppointDate.TimeOfDay.Minutes, AppointDate.TimeOfDay.Seconds) + && f.AppointScheduleId == appointScheduleEnt.AppointScheduleId); if (appointScheduleTimeEnt != null) { appointScheduleTimeEnt.AppointNumber += 1; diff --git a/src/Shentun.WebPeis.HttpApi.Host/appsettings.json b/src/Shentun.WebPeis.HttpApi.Host/appsettings.json index 63778f3..02d552e 100644 --- a/src/Shentun.WebPeis.HttpApi.Host/appsettings.json +++ b/src/Shentun.WebPeis.HttpApi.Host/appsettings.json @@ -1,16 +1,16 @@ { "Kestrel": { "Endpoints": { - //"Http": { - // "Url": "http://localhost:44322" - //} - "Https": { - "Url": "https://localhost:44322", - "Certificate": { - "Path": "shentun.pfx", - "Password": "Shentun2024" - } + "Http": { + "Url": "http://localhost:44322" } + //"Https": { + // "Url": "https://localhost:44322", + // "Certificate": { + // "Path": "shentun.pfx", + // "Password": "Shentun2024" + // } + //} } }, //"urls": "https://10.1.12.140:44322", @@ -22,7 +22,7 @@ }, "ConnectionStrings": { - "Default": "Host=62.156.10.86;Port=5432;Database=WebPeis0520;User ID=postgres;Password=st123;" + "Default": "Host=192.168.2.181;Port=5432;Database=WebPeis;User ID=postgres;Password=st123;" }, "AuthServer": { "Authority": "https://localhost:44322", @@ -59,7 +59,7 @@ }, "Redis": { "IsEnabled": "true", - "Configuration": "62.156.10.86" + "Configuration": "192.168.2.181" }, "MedicalHealthReport": { "BaseAddress": "http://10.1.13.31",