* добавил исход спец контингенту
* оптимизация обновления при редактировании спец контингента * добавил поддержку заключительных диагнозов * изменил определение законченной операции * добавил поддержку исхода операции * добавил определение отмены для операции через назначение * работа над диапазонами календарей, подсчет статистики * добавил статусы отчетов и подкорректировал привязку спец контингента к отчету * добавил новые сервисы для будущего кеширования * частичное разделение логики подсчета пациентов
This commit is contained in:
@@ -39,6 +39,34 @@ class DateRangeService
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Получить диапазон дат для страницы /report:
|
||||
* всегда сутки (07:00 предыдущего дня -> 07:00 выбранного дня)
|
||||
*/
|
||||
public function getReportDateRangeFromRequest(Request $request, User $user): DateRange
|
||||
{
|
||||
$endAtInput = $request->query('endAt', $request->get('endAt'));
|
||||
$startAtInput = $request->query('startAt', $request->get('startAt'));
|
||||
$endDate = $endAtInput
|
||||
? $this->parseDate($endAtInput)
|
||||
: Carbon::now('Asia/Yakutsk');
|
||||
|
||||
$startDate = $startAtInput
|
||||
? $this->parseDate($startAtInput)
|
||||
: Carbon::now('Asia/Yakutsk');
|
||||
|
||||
$endDate = $endDate->copy()->setTime(7, 0);
|
||||
$startDate = $startDate->copy()->subDay()->setTime(7, 0);
|
||||
|
||||
return new DateRange(
|
||||
startDate: $startDate,
|
||||
endDate: $endDate,
|
||||
startDateRaw: $startDate->format('Y-m-d H:i:s'),
|
||||
endDateRaw: $endDate->format('Y-m-d H:i:s'),
|
||||
isOneDay: true
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Получить диапазон дат для статистики (по умолчанию с начала года)
|
||||
*/
|
||||
@@ -56,6 +84,7 @@ class DateRangeService
|
||||
// По умолчанию: с начала года до сегодня
|
||||
$startDate = Carbon::now('Asia/Yakutsk')
|
||||
->startOfYear() // 1 января текущего года
|
||||
->subDay()
|
||||
->setTime(7, 0);
|
||||
|
||||
$endDate = Carbon::now('Asia/Yakutsk')
|
||||
|
||||
Reference in New Issue
Block a user