9 use Magento\Sales\Api\Data\ShippingAssignmentInterfaceFactory;
10 use Magento\Sales\Model\OrderFactory;
21 private $orderFactory;
26 private $shippingAssignmentFactory;
31 private $shippingBuilderFactory;
36 private $orderId =
null;
46 OrderFactory $orderFactory,
47 ShippingAssignmentInterfaceFactory $shippingAssignmentFactory,
48 ShippingBuilderFactory $shippingBuilderFactory
50 $this->orderFactory = $orderFactory;
51 $this->shippingAssignmentFactory = $shippingAssignmentFactory;
52 $this->shippingBuilderFactory = $shippingBuilderFactory;
61 $this->orderId = $orderId;
67 private function getOrderId()
69 return $this->orderId;
75 public function create()
77 $shippingAssignments =
null;
78 if ($this->getOrderId()) {
79 $order = $this->orderFactory->create()->load($this->getOrderId());
81 $shippingAssignment = $this->shippingAssignmentFactory->create();
83 $shipping = $this->shippingBuilderFactory->create();
84 $shipping->setOrderId($this->getOrderId());
85 $shippingAssignment->setShipping($shipping->create());
86 $shippingAssignment->setItems(
$order->getItems());
87 $shippingAssignment->setStockId(
$order->getStockId());
89 $shippingAssignments = [$shippingAssignment];
91 return $shippingAssignments;
__construct(OrderFactory $orderFactory, ShippingAssignmentInterfaceFactory $shippingAssignmentFactory, ShippingBuilderFactory $shippingBuilderFactory)