From 06d830f74102237e2286c54a7793783b10bc3bc1 Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Mon, 16 Jun 2025 13:19:36 +0300 Subject: [PATCH] =?utf8?q?=D0=9C=D0=B5=D1=82=D0=BE=D0=B4=20=D0=BD=D0=B5?= =?utf8?q?=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D1=85=20=D0=BF=D1=80=D0=BE?= =?utf8?q?=D0=B3=D0=BD=D0=BE=D0=B7=D0=BE=D0=B2=20=D0=BF=D0=BE=20=D0=B1?= =?utf8?q?=D1=83=D0=BA=D0=B5=D1=82=D0=B0=D0=BC=20=D0=B8=20=D0=B3=D1=80?= =?utf8?q?=D1=83=D0=BF=D0=BF=D0=B0=D0=BC=20=D0=BC=D0=B0=D1=82=D1=80=D0=B8?= =?utf8?q?=D1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../AutoPlannogrammaController.php | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/erp24/controllers/AutoPlannogrammaController.php b/erp24/controllers/AutoPlannogrammaController.php index 16f3ee09..4a0421fd 100644 --- a/erp24/controllers/AutoPlannogrammaController.php +++ b/erp24/controllers/AutoPlannogrammaController.php @@ -1750,30 +1750,46 @@ class AutoPlannogrammaController extends BaseController Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $request = Yii::$app->request; - $storeId = $request->get('storeId'); - $month = $request->get('month'); - $year = $request->get('year'); - $week = $request->get('week'); + $storeIdRequest = $request->get('storeId'); + $monthRequest = $request->get('month'); + $yearRequest = $request->get('year'); + $weekRequest = $request->get('week'); - if (!$month || !$year || $week === null) { + if (!$monthRequest || !$yearRequest || $weekRequest === null) { return ['success' => false, 'message' => 'Нет параметров']; } $service = new AutoPlannogrammaService(); - $result = $service->getWeeklyBouquetProductsForecast($month, $year, $storeId); + $result = $service->getWeeklyBouquetProductsForecast($monthRequest, $yearRequest, $storeIdRequest); if (!is_array($result)) { return ['success' => false, 'message' => 'Ошибка структуры данных']; } - $filtered = array_filter($result, function ($item) use ($week) { - return (int)$item['week'] === (int)$week; - }); + $grouped = []; + + foreach ($result as $item) { + $weekItem = (int) $item['week']; + $storeItem = (int) $item['store_id']; + $guid = (string) $item['product_guid']; + $group = (string) $item['matrix_group']; + $forecastValue = (float) $item['week_forecast']; + + $grouped[$weekItem][$storeItem][$guid][$group] = $forecastValue; + } + + + if ($weekRequest !== null) { + $week = (int) $weekRequest; + $grouped = isset($grouped[$week]) ? [$week => $grouped[$week]] : []; + } return [ 'success' => true, - 'data' => array_values($filtered), + 'data' => $grouped, ]; + + } -- 2.39.5