OrderRegistrar.php 991 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Model\Order\Shipment;
  7. use Magento\Sales\Api\Data\OrderInterface;
  8. use Magento\Sales\Api\Data\ShipmentInterface;
  9. class OrderRegistrar implements \Magento\Sales\Model\Order\Shipment\OrderRegistrarInterface
  10. {
  11. /**
  12. * @param OrderInterface $order
  13. * @param ShipmentInterface $shipment
  14. * @return OrderInterface
  15. */
  16. public function register(OrderInterface $order, ShipmentInterface $shipment)
  17. {
  18. $totalQty = 0;
  19. /** @var \Magento\Sales\Model\Order\Shipment\Item $item */
  20. foreach ($shipment->getItems() as $item) {
  21. if ($item->getQty() > 0) {
  22. $item->register();
  23. if (!$item->getOrderItem()->isDummy(true)) {
  24. $totalQty += $item->getQty();
  25. }
  26. }
  27. }
  28. $shipment->setTotalQty($totalQty);
  29. return $order;
  30. }
  31. }