From: marina Date: Tue, 17 Jun 2025 09:42:41 +0000 (+0300) Subject: ERP-360 Сборка страницы автопм X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=5db49435aea74542b856c570eafc322e729314b1;p=erp24_rep%2Fyii-erp24%2F.git ERP-360 Сборка страницы автопм --- diff --git a/erp24/controllers/AutoPlannogrammaController.php b/erp24/controllers/AutoPlannogrammaController.php index addc9b76..86b297bc 100644 --- a/erp24/controllers/AutoPlannogrammaController.php +++ b/erp24/controllers/AutoPlannogrammaController.php @@ -205,35 +205,34 @@ class AutoPlannogrammaController extends BaseController ], ], ]; - - - foreach ($result as $productId => &$productData) { + + foreach ($result as &$productData) { foreach ($productData['values'] as &$value) { $storeId = $value['store_id']; $quantity = $value['quantity']; $value['title'] = []; - if (!isset($forecast[$storeId]) || !isset($forecast[$storeId][$productId])) { - continue; - } - foreach (['offline', 'marketplace', 'online'] as $channel) { - if (isset($forecast[$storeId][$productId][$channel]) && is_array($forecast[$storeId][$productId][$channel])) { - // Суммируем все коэффициенты по группам для данного канала - $coefSum = 0; - foreach ($forecast[$storeId][$productId][$channel] as $coef) { - if (is_numeric($coef)) { - $coefSum += $coef; - } - } - if ($coefSum > 0) { - $value['title'][$channel] = round($quantity * $coefSum, 2); - } + // Если по этому магазину и каналу есть просто share — умножаем + if (isset($forecast[$storeId][$channel]['share'])) { + $share = $forecast[$storeId][$channel]['share']; + $value['title'][$channel] = round($quantity * $share, 2); + } + + // Если по этому магазину и каналу есть список с продуктами — просто копируем + if ( + isset($forecast[$storeId][$channel]) && + is_array($forecast[$storeId][$channel]) && + !isset($forecast[$storeId][$channel]['share']) // чтобы не дублировать + ) { + $value['title'][$channel] = $forecast[$storeId][$channel]; } } } } + + return array_values($result); }