|
|
@ -47,9 +47,33 @@ namespace Shentun.WebPeis.AppointSchedules |
|
|
/// </summary>
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("api/app/AppointSchedule/GetAppointScheduleDateList")] |
|
|
[HttpPost("api/app/AppointSchedule/GetAppointScheduleDateList")] |
|
|
public async Task<List<AppointScheduleDateDto>> GetAppointScheduleDateListAsync() |
|
|
|
|
|
|
|
|
public async Task<List<AppointScheduleDateDto>> GetAppointScheduleDateListAsync(MedicalCenterIdInputDto input) |
|
|
{ |
|
|
{ |
|
|
var appointScheduleDateDtos = await GetAppointScheduleDateTestListAsync(); |
|
|
var appointScheduleDateDtos = await GetAppointScheduleDateTestListAsync(); |
|
|
|
|
|
var canAppointDaysStr = await _sysParmValueManager.GetSysParmValueAsync(input.MedicalCenterId, "appoint_schedule_can_appoint_days"); |
|
|
|
|
|
if (!int.TryParse(canAppointDaysStr, out var canAppointDays)) |
|
|
|
|
|
{ |
|
|
|
|
|
canAppointDays = 30; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var appointSchedules = (from appointSchedule in await _appointScheduleRepository.GetQueryableAsync() |
|
|
|
|
|
join appointScheduleTime in await _appointScheduleTimeRepository.GetQueryableAsync() |
|
|
|
|
|
on appointSchedule.AppointScheduleId equals appointScheduleTime.AppointScheduleId |
|
|
|
|
|
where appointSchedule.MedicalCenterId == input.MedicalCenterId && |
|
|
|
|
|
appointSchedule.AppointDate >= DateTime.Now.Date && appointSchedule.AppointDate <= DateTime.Now.Date.AddDays(canAppointDays |
|
|
|
|
|
select new |
|
|
|
|
|
{ |
|
|
|
|
|
appointSchedule, |
|
|
|
|
|
appointScheduleTime |
|
|
|
|
|
} |
|
|
|
|
|
).ToList(); |
|
|
|
|
|
var list = appointSchedules.GroupBy(o => o.appointSchedule) |
|
|
|
|
|
.Select(x => new AppointScheduleDateDto() |
|
|
|
|
|
{ |
|
|
|
|
|
AppointDate = x.Key.AppointDate, |
|
|
|
|
|
IsWork = (x.Key.AmNumberLimit + x.Key.PmNumberLimit) == 0? 'N':'Y', |
|
|
|
|
|
IsFull = (x.Key.AmNumberLimit + x.Key.PmNumberLimit)<= x.Key.AppointScheduleTimes.Sum(m=>m.AppointNumber)?'Y':'N' |
|
|
|
|
|
}).ToList(); |
|
|
return appointScheduleDateDtos; |
|
|
return appointScheduleDateDtos; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|