Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
All Data Structures Namespaces Files Functions Variables Pages
ShipmentProvider.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
12 
14 {
18  private $request;
19 
23  public function __construct(
24  RequestInterface $request
25  ) {
26  $this->request = $request;
27  }
28 
32  public function getShipmentData(): array
33  {
34  $sourceCode = $this->request->getParam('sourceCode');
35  $items = $this->request->getParam('items', []);
36 
37  $shipmentItems = [];
38  foreach ($items as $item) {
39  if (empty($item['sources'])) {
40  continue;
41  }
42  $orderItemId = $item['orderItemId'];
43  foreach ($item['sources'] as $source) {
44  if ($source['sourceCode'] == $sourceCode) {
45  $qty = ($shipmentItems[$orderItemId] ?? 0) + (float)$source['qtyToDeduct'];
46  $shipmentItems['items'][$orderItemId] = $qty;
47  }
48  }
49  }
50 
51  return count($shipmentItems) > 0 ? $shipmentItems : [];
52  }
53 }
$source
Definition: source.php:23
$sourceCode
Definition: inventory.phtml:11
$items