]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Merge branch 'refs/heads/develop' into feature_fomichev_erp-471_add_price_dictionary_... origin/feature_fomichev_erp-471_add_price_dictionary_for_fw_feed
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 14 Oct 2025 12:12:31 +0000 (15:12 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 14 Oct 2025 12:12:31 +0000 (15:12 +0300)
# Conflicts:
# erp24/controllers/MarketplaceController.php

1  2 
erp24/controllers/MatrixErpController.php
erp24/records/MatrixErp.php
erp24/services/MarketplaceService.php
erp24/views/matrix_erp/update.php

Simple merge
index fbca72401fae49b52344f3a4da9413662acd74db,3c2cdbbcab5ee4fbbc782f5148c78d8abfa57442..ccfb07c80c5ad50d6d7059080f95dd78a3b0c65e
@@@ -27,9 -24,9 +24,10 @@@ use yii_app\records\MarketplaceOrderIte
  use yii_app\records\MarketplaceOrders;
  use yii_app\records\MarketplaceOrderStatusHistory;
  use yii_app\records\MarketplaceOrderStatusTypes;
 +use yii_app\records\MarketplacePrices;
  use yii_app\records\MarketplacePriority;
  use yii_app\records\MarketplaceStore;
+ use yii_app\records\MatrixErp;
  use yii_app\records\MatrixErpMedia;
  use yii_app\records\MatrixErpProperty;
  use yii_app\records\Prices;
@@@ -421,13 -417,26 +420,29 @@@ class MarketplaceServic
              return [];
          }
  
 +        // Определяем marketplace_id на основе warehouse_id
 +        $marketplaceId = ($store->warehouse_id == MarketplaceStore::YANDEX_WAREHOUSE_ID) ? 1 : 2; // 1-YM, 2-FW
 +
          $productQuantities = $storeData[$storeGuid];
  
+         // Сначала получаем активные товары из MatrixErp с is_feed_active = 1
+         $activeMatrixProducts = MatrixErp::find()
+             ->where(['group_name' => 'marketplace'])
+             ->andWhere(['active' => 1])
+             ->andWhere(['is_feed_active' => 1])
+             ->all();
+         // Извлекаем GUID'ы активных товаров
+         $activeProductGuids = array_map(function($matrixProduct) {
+             return $matrixProduct->guid;
+         }, $activeMatrixProducts);
+         // Находим товары в Products1c только по активным GUID'ам из MatrixErp
+         // и которые есть на складе
+         $availableProductGuids = array_intersect($activeProductGuids, array_keys($productQuantities));
          $products = Products1c::find()
-             ->where(['id' => array_keys($productQuantities)])
+             ->where(['id' => $availableProductGuids])
              ->andWhere(['!=', 'components', ''])
              ->all();
  
Simple merge