From 8efc246bc1f9a29136540740bae2bc08e73ad98c Mon Sep 17 00:00:00 2001 From: brusnitsyn Date: Wed, 15 Jul 2026 16:59:46 +0900 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B8=D0=BD?= =?UTF-8?q?=D0=BA=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=20=D0=B8=D0=B7=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82?= =?UTF-8?q?=D0=B5=D0=BA=D1=83=D1=89=D0=B8=D1=85=20=D0=BF=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/MetrikaService.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/Services/MetrikaService.php b/app/Services/MetrikaService.php index 7b5ab17..8965687 100644 --- a/app/Services/MetrikaService.php +++ b/app/Services/MetrikaService.php @@ -126,17 +126,28 @@ class MetrikaService // Один запрос, который сразу возвращает суммы по каждому типу $totals = DB::table('duty_report_metric_results') ->whereIn('rf_report_id', $reportIds) // предполагаем внешний ключ `report_id` - ->whereIn('rf_metrika_item_id', [3, 7, 8, 17]) + ->whereIn('rf_metrika_item_id', [3, 15, 17]) ->select('rf_metrika_item_id', DB::raw('SUM(value::integer) as total')) ->groupBy('rf_metrika_item_id') ->pluck('total', 'rf_metrika_item_id') ->toArray(); + // Получаем последний отчёт из коллекции (по полю report_date) + $lastReport = $reportsDuty->sortByDesc('report_date')->first(); + $currentValue = 0; + + if ($lastReport) { + $currentValue = DB::table('duty_report_metric_results') + ->where('rf_report_id', $lastReport->id) + ->where('rf_metrika_item_id', 8) + ->value('value'); + } + // Формируем итоговый массив с ключами, как у вас return [ 'recipient' => $totals[3] ?? 0, 'outcome' => $totals[7] ?? 0, - 'current' => $totals[8] ?? 0, + 'current' => intval($currentValue), 'staff' => $totals[17] ?? 0, ]; }