From d280f90d3c809b31b96e4c3c6ad3d0aa4f58b21a Mon Sep 17 00:00:00 2001 From: Jeroen van Leusden Date: Thu, 11 Feb 2021 14:08:44 +0100 Subject: [PATCH] [WD2-622] Remove rewrite of _saveStockItem() to support MSI --- src/Rewrite/ImportExport/Import/Product.php | 78 --------------------- 1 file changed, 78 deletions(-) diff --git a/src/Rewrite/ImportExport/Import/Product.php b/src/Rewrite/ImportExport/Import/Product.php index f4f5d5c..8d74524 100644 --- a/src/Rewrite/ImportExport/Import/Product.php +++ b/src/Rewrite/ImportExport/Import/Product.php @@ -571,84 +571,6 @@ private function getProductEntityLinkField() return $this->productEntityLinkField; } - /** - * Stock item saving. - * @fixme https://github.com/magento/magento2/issues/5887 - * - * @return $this - */ - protected function _saveStockItem() - { - /** @var $stockResource \Magento\CatalogInventory\Model\ResourceModel\Stock\Item */ - $stockResource = $this->_stockResItemFac->create(); - $entityTable = $stockResource->getMainTable(); - while ($bunch = $this->_dataSourceModel->getNextBunch()) { - $stockData = []; - $productIdsToReindex = []; - // Format bunch to stock data rows - foreach ($bunch as $rowNum => $rowData) { - if (!$this->isRowAllowedToImport($rowData, $rowNum)) { - continue; - } - $row = []; - $row['product_id'] = $this->skuProcessor->getNewSku($rowData[self::COL_SKU])['entity_id']; - $productIdsToReindex[] = $row['product_id']; - $row['website_id'] = $this->stockConfiguration->getDefaultScopeId(); - $row['stock_id'] = $this->stockRegistry->getStock($row['website_id'])->getStockId(); - $stockItemDo = $this->stockRegistry->getStockItem($row['product_id'], $row['website_id']); - $existStockData = $stockItemDo->getData(); - $row = array_merge( - $this->defaultStockData, - array_intersect_key($existStockData, $this->defaultStockData), - array_intersect_key($rowData, $this->defaultStockData), - $row - ); - if ($this->stockConfiguration->isQty( - $this->skuProcessor->getNewSku($rowData[self::COL_SKU])['type_id'] - ) - ) { - $stockItemDo->setData($row); - $row['is_in_stock'] = $this->stockStateProvider->verifyStock($stockItemDo); - if ($this->stockStateProvider->verifyNotification($stockItemDo)) { - $row['low_stock_date'] = $this->dateTime->gmDate( - 'Y-m-d H:i:s', - (new \DateTime())->getTimestamp() - ); - } - $row['stock_status_changed_auto'] - = (int)!$this->stockStateProvider->verifyStock($stockItemDo); - } else { - $row['qty'] = 0; - } - if (!isset($stockData[$rowData[self::COL_SKU]])) { - $stockData[$rowData[self::COL_SKU]] = $row; - } - } - // Insert rows - if (!empty($stockData)) { - $this->_connection->insertOnDuplicate($entityTable, array_values($stockData)); - } - - $this->reindexProducts($productIdsToReindex); - } - - return $this; - } - - /** - * Initiate product reindex by product ids - * - * @param array $productIdsToReindex - * @return void - */ - private function reindexProducts($productIdsToReindex = []) - { - $indexer = $this->indexerRegistry->get('catalog_product_category'); - if (\is_array($productIdsToReindex) && count($productIdsToReindex) > 0 && !$indexer->isScheduled()) { - $indexer->reindexList($productIdsToReindex); - } - } - /** * Validate data row. *