|
|
|
@ -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); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |