request = $request; } /** * @inheritdoc */ public function getShipmentData(): array { $sourceCode = $this->request->getParam('sourceCode'); $items = $this->request->getParam('items', []); $shipmentItems = []; foreach ($items as $item) { if (empty($item['sources'])) { continue; } $orderItemId = $item['orderItemId']; foreach ($item['sources'] as $source) { if ($source['sourceCode'] == $sourceCode) { $qty = ($shipmentItems[$orderItemId] ?? 0) + (float)$source['qtyToDeduct']; $shipmentItems['items'][$orderItemId] = $qty; } } } return count($shipmentItems) > 0 ? $shipmentItems : []; } }