6 declare(strict_types=1);
24 private $resourceConnection;
29 private $skuListInStockFactory;
34 private $groupConcatMaxLen;
45 SkuListInStockFactory $skuListInStockFactory,
46 int $groupConcatMaxLen
49 $this->skuListInStockFactory = $skuListInStockFactory;
50 $this->groupConcatMaxLen = $groupConcatMaxLen;
59 public function execute(array $sourceItemIds): array
61 $connection = $this->resourceConnection->getConnection();
62 $sourceStockLinkTable = $this->resourceConnection->getTableName(
63 StockSourceLinkResourceModel::TABLE_NAME_STOCK_SOURCE_LINK
65 $sourceItemTable = $this->resourceConnection->getTableName(
66 SourceItemResourceModel::TABLE_NAME_SOURCE_ITEM
72 [
'source_item' => $sourceItemTable],
78 [
'stock_source_link' => $sourceStockLinkTable],
80 'source_item.%s = stock_source_link.%s',
85 )->where(
'source_item.source_item_id IN (?)', $sourceItemIds)
88 $connection->query(
'SET group_concat_max_len = ' . $this->groupConcatMaxLen);
90 return $this->getStockIdToSkuList(
$items);
99 private function getStockIdToSkuList(array
$items): array
101 $skuListInStockList = [];
104 $skuListInStock = $this->skuListInStockFactory->create();
107 $skuListInStockList[] = $skuListInStock;
109 return $skuListInStockList;
__construct(ResourceConnection $resourceConnection, SkuListInStockFactory $skuListInStockFactory, int $groupConcatMaxLen)
execute(array $sourceItemIds)