From: marina Date: Tue, 17 Jun 2025 09:19:25 +0000 (+0300) Subject: ERP-360 Сборка страницы автопм X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=079fee766eb77d384d2a10d82267189306706e4b;p=erp24_rep%2Fyii-erp24%2F.git ERP-360 Сборка страницы автопм --- diff --git a/erp24/controllers/AutoPlannogrammaController.php b/erp24/controllers/AutoPlannogrammaController.php index 505369a6..b5dbd86f 100644 --- a/erp24/controllers/AutoPlannogrammaController.php +++ b/erp24/controllers/AutoPlannogrammaController.php @@ -152,25 +152,81 @@ class AutoPlannogrammaController extends BaseController $forecast = (new AutoPlannogrammaService())->getWeeklyBouquetProductsForecast($filters['month'], $filters['year'], null, $filters['week']); + $forecast = [ + 2 => [ + 'offline' => [ + 'share' => 0.6, + ], + 'c5743ee5-9832-11ef-84ea-ac1f6b1b7573' => [ + 'offline' => [ + 'дополнительная_букеты' => 1.93, + 'доп_Хризантема' => 2.17, + ], + 'marketplace' => [ + 'дополнительная_букеты' => 0.97, + 'доп_Хризантема' => 0.72, + ], + 'online' => [ + 'дополнительная_букеты' => 1.93, + 'доп_Хризантема' => 2.17, + ], + ], + '0fb4e768-8191-11ef-84ea-ac1f6b1b7573' => [ + 'offline' => [ + 'дополнительная_букеты' => 0.83, + 'дополнительная_композиция' => 0.63, + 'основная_розовая' => 3.34, + 'основная_красно-белая' => 1.46, + 'основная_красная' => 8.76, + 'основная_бело-зеленая' => 0.83, + ], + 'marketplace' => [ + 'дополнительная_букеты' => 0.42, + 'дополнительная_композиция' => 0.21, + 'основная_розовая' => 1.67, + 'основная_красно-белая' => 0.83, + 'основная_красная' => 4.59, + 'основная_бело-зеленая' => 0.42, + ], + 'online' => [ + 'дополнительная_букеты' => 0.83, + 'дополнительная_композиция' => 0.63, + 'основная_розовая' => 3.34, + 'основная_красно-белая' => 1.46, + 'основная_красная' => 8.76, + 'основная_бело-зеленая' => 0.83, + ], + ], + 'marketplace' => [ + 'share' => 0.2, + ], + 'online' => [ + 'share' => 0.2, + ], + ], + ]; + + foreach ($result as $productId => &$productData) { foreach ($productData['values'] as &$value) { $storeId = $value['store_id']; + $group = $value['group']; + $quantity = $value['quantity']; $value['title'] = []; - if (isset($forecast[$storeId][$productId])) { - $forecastData = $forecast[$storeId][$productId]; - $quantity = $value['quantity']; - - foreach ($forecastData as $type => $groups) { - if (isset($groups['share'])) { - $calculated = round($quantity * $groups['share'], 2); - $value['title'][$type] = $calculated; - } + foreach (['offline', 'marketplace', 'online'] as $channel) { + if ( + isset($forecast[$storeId][$channel][$group]) && + is_numeric($forecast[$storeId][$channel][$group]) + ) { + $coef = $forecast[$storeId][$channel][$group]; + $value['title'][$channel] = round($quantity * $coef, 2); } } } } + return array_values($result); }