From 8ea90f832eb93212d54ba65dd4526f6fa9cdaa05 Mon Sep 17 00:00:00 2001 From: marina Date: Tue, 17 Jun 2025 12:59:14 +0300 Subject: [PATCH] =?utf8?q?ERP-360=20=D0=A1=D0=B1=D0=BE=D1=80=D0=BA=D0=B0?= =?utf8?q?=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D1=8B=20=D0=B0?= =?utf8?q?=D0=B2=D1=82=D0=BE=D0=BF=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/controllers/AutoPlannogrammaController.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/erp24/controllers/AutoPlannogrammaController.php b/erp24/controllers/AutoPlannogrammaController.php index c05754d4..bf947d5b 100644 --- a/erp24/controllers/AutoPlannogrammaController.php +++ b/erp24/controllers/AutoPlannogrammaController.php @@ -212,20 +212,20 @@ class AutoPlannogrammaController extends BaseController $quantity = $value['quantity']; $value['title'] = []; - // Skip if store_id is not in forecast if (!isset($forecast[$storeId])) { continue; } foreach (['offline', 'marketplace', 'online'] as $channel) { - // Initialize channel data in title - $value['title'][$channel] = []; $channelData = $forecast[$storeId][$channel] ?? []; + // Prioritize share if it exists if (isset($channelData['share']) && is_numeric($channelData['share'])) { $value['title'][$channel] = round($quantity * $channelData['share'], 2); + continue; // Skip product-specific data if share exists } + // Use product-specific forecast if available if (isset($productData['product_id']) && isset($forecast[$storeId][$productData['product_id']][$channel])) { $details = $forecast[$storeId][$productData['product_id']][$channel]; $total = array_sum($details); @@ -233,6 +233,8 @@ class AutoPlannogrammaController extends BaseController round($quantity * $total, 2), 'details' => array_map(fn($val) => round($val, 2), $details), ]; + } else { + $value['title'][$channel] = []; // Empty if neither share nor details exist } } } -- 2.39.5