* добавил исход спец контингенту
* оптимизация обновления при редактировании спец контингента * добавил поддержку заключительных диагнозов * изменил определение законченной операции * добавил поддержку исхода операции * добавил определение отмены для операции через назначение * работа над диапазонами календарей, подсчет статистики * добавил статусы отчетов и подкорректировал привязку спец контингента к отчету * добавил новые сервисы для будущего кеширования * частичное разделение логики подсчета пациентов
This commit is contained in:
@@ -41,9 +41,8 @@ class BedDayService
|
||||
|
||||
// Находим отчеты за период
|
||||
$reports = Report::where('rf_department_id', $departmentId)
|
||||
// ->whereBetween('created_at', [$actualStartDate, $endDate])
|
||||
->where('sent_at', '>=', $actualStartDate)
|
||||
->where('sent_at', '<=', $endDate)
|
||||
->where('period_start', '>=', $actualStartDate)
|
||||
->where('period_end', '<', $endDate)
|
||||
->pluck('report_id');
|
||||
|
||||
if ($reports->isEmpty()) {
|
||||
@@ -109,9 +108,8 @@ class BedDayService
|
||||
|
||||
// Находим все отчеты за период по отделениям
|
||||
$reportsByDepartment = Report::whereIn('rf_department_id', $departmentIds)
|
||||
// ->whereBetween('created_at', [$actualStartDate, $endDate])
|
||||
->where('sent_at', '>=', $actualStartDate)
|
||||
->where('sent_at', '<=', $endDate)
|
||||
->where('period_start', '>=', $actualStartDate)
|
||||
->where('period_end', '<', $endDate)
|
||||
->select('report_id', 'rf_department_id')
|
||||
->get()
|
||||
->groupBy('rf_department_id');
|
||||
@@ -190,9 +188,8 @@ class BedDayService
|
||||
public function getDetailedStatsFromSnapshots(int $departmentId, string $startDate, string $endDate): array
|
||||
{
|
||||
$reports = Report::where('rf_department_id', $departmentId)
|
||||
// ->whereBetween('created_at', [$startDate, $endDate])
|
||||
->where('sent_at', '>', $startDate)
|
||||
->where('sent_at', '<=', $endDate)
|
||||
->where('period_start', '>=', $startDate)
|
||||
->where('period_end', '<', $endDate)
|
||||
->pluck('report_id');
|
||||
|
||||
if ($reports->isEmpty()) {
|
||||
@@ -296,7 +293,7 @@ class BedDayService
|
||||
|
||||
foreach ($reports as $report) {
|
||||
// Для каждого отчета считаем средний койко-день за последние 30 дней до даты отчета
|
||||
$endDate = $report->created_at;
|
||||
$endDate = $report->period_end;
|
||||
$startDate = Carbon::startOfYear();
|
||||
|
||||
$avg = $this->getAverageBedDaysFromSnapshots(
|
||||
|
||||
Reference in New Issue
Block a user