sourceItemRepository = $sourceItemRepository; $this->searchCriteriaBuilderFactory = $searchCriteriaBuilderFactory; $this->sourceRepository = $sourceRepository; } /** * @param array $skus * @return array */ public function execute(array $skus): array { $sourceItemsInformation = []; $searchCriteriaBuilder = $this->searchCriteriaBuilderFactory->create(); $searchCriteria = $searchCriteriaBuilder->addFilter(SourceItemInterface::SKU, $skus, 'in')->create(); $sourceItems = $this->sourceItemRepository->getList($searchCriteria)->getItems(); foreach ($sourceItems as $sourceItem) { $source = $this->sourceRepository->get($sourceItem->getSourceCode()); $sourceItemsInformation[$sourceItem['sku']][] = [ SourceItemInterface::SOURCE_CODE => $sourceItem->getSourceCode(), SourceItemInterface::QUANTITY => $sourceItem->getQuantity(), 'source_name' => $source->getName(), SourceItemInterface::STATUS => $sourceItem->getStatus(), ]; } return $sourceItemsInformation; } }