]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-360 Сборка страницы автопм
authormarina <m.zozirova@gmail.com>
Tue, 17 Jun 2025 09:42:41 +0000 (12:42 +0300)
committermarina <m.zozirova@gmail.com>
Tue, 17 Jun 2025 09:42:41 +0000 (12:42 +0300)
erp24/controllers/AutoPlannogrammaController.php

index addc9b76082c174627b3933bbc76942beabc552d..86b297bce38fa292abe2a18ccc033819eda8bb60 100644 (file)
@@ -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);
     }