Browse Source

预约数

master
wxd 1 year ago
parent
commit
ce7de79856
  1. 39
      src/Shentun.WebPeis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs
  2. 3
      src/Shentun.WebPeis.Domain/AppointScheduleTimes/AppointScheduleTimeManager.cs
  3. 22
      src/Shentun.WebPeis.HttpApi.Host/appsettings.json

39
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<AppointSchedule> _appointScheduleRepository;
private readonly IRepository<AppointScheduleTime> _appointScheduleTimeRepository;
public AppointPatientRegisterAppService(IRepository<AppointPatientRegister> repository,
CacheService cacheService,
IRepository<ItemType> itemTypeRepository,
@ -101,7 +104,9 @@ namespace Shentun.WebPeis.AppointPatientRegisters
SysParmValueManager sysParmValueManager,
PersonManager personManager,
AppointScheduleTimeManager appointScheduleTimeManager
)
,
IRepository<AppointSchedule> appointScheduleRepository,
IRepository<AppointScheduleTime> appointScheduleTimeRepository)
{
_repository = repository;
_cacheService = cacheService;
@ -136,6 +141,8 @@ namespace Shentun.WebPeis.AppointPatientRegisters
_personManager = personManager;
_sysParmValueManager = sysParmValueManager;
_appointScheduleTimeManager = appointScheduleTimeManager;
_appointScheduleRepository = appointScheduleRepository;
_appointScheduleTimeRepository = appointScheduleTimeRepository;
}
/// <summary>
/// 创建预约,小程序使用
@ -1293,5 +1300,35 @@ namespace Shentun.WebPeis.AppointPatientRegisters
return questionRegisterDiseaseRiskDtos;
*/
}
/// <summary>
/// 同步预约数 处理数据用
/// </summary>
/// <returns></returns>
[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);
}
}
}
}
}
}

3
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;

22
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",

Loading…
Cancel
Save