Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Order.php
Go to the documentation of this file.
1 <?php
11 
16 {
22  protected $_eventManager = null;
23 
27  protected $invoiceRepository;
28 
33 
38 
43 
48 
53 
67  public function __construct(
68  \Magento\Framework\Event\ManagerInterface $eventManager,
70  \Magento\Sales\Model\Order\Invoice\ItemFactory $invoiceItemFactory,
72  \Magento\Sales\Model\Order\Shipment\ItemFactory $shipmentItemFactory,
74  \Magento\Sales\Model\Order\Creditmemo\ItemFactory $creditmemoItemFactory,
75  \Magento\Framework\DataObject\Copy $objectCopyService,
76  array $data = []
77  ) {
78  $this->_eventManager = $eventManager;
79  $this->invoiceRepository = $invoiceRepository;
80  $this->_invoiceItemFactory = $invoiceItemFactory;
81  $this->shipmentRepository = $shipmentRepository;
82  $this->_shipmentItemFactory = $shipmentItemFactory;
83  $this->creditmemoRepository = $creditmemoRepository;
84  $this->_creditmemoItemFactory = $creditmemoItemFactory;
85  $this->_objectCopyService = $objectCopyService;
86  parent::__construct($data);
87  }
88 
95  public function toInvoice(\Magento\Sales\Model\Order $order)
96  {
97  $invoice = $this->invoiceRepository->create();
98  $invoice->setOrder(
99  $order
100  )->setStoreId(
101  $order->getStoreId()
102  )->setCustomerId(
103  $order->getCustomerId()
104  )->setBillingAddressId(
105  $order->getBillingAddressId()
106  )->setShippingAddressId(
107  $order->getShippingAddressId()
108  );
109 
110  $this->_objectCopyService->copyFieldsetToTarget('sales_convert_order', 'to_invoice', $order, $invoice);
111  return $invoice;
112  }
113 
120  public function itemToInvoiceItem(\Magento\Sales\Model\Order\Item $item)
121  {
122  $invoiceItem = $this->_invoiceItemFactory->create();
123  $invoiceItem->setOrderItem($item)->setProductId($item->getProductId());
124 
125  $this->_objectCopyService->copyFieldsetToTarget(
126  'sales_convert_order_item',
127  'to_invoice_item',
128  $item,
130  );
131  return $invoiceItem;
132  }
133 
140  public function toShipment(\Magento\Sales\Model\Order $order)
141  {
142  $shipment = $this->shipmentRepository->create();
143  $shipment->setOrder(
144  $order
145  )->setStoreId(
146  $order->getStoreId()
147  )->setCustomerId(
148  $order->getCustomerId()
149  )->setBillingAddressId(
150  $order->getBillingAddressId()
151  )->setShippingAddressId(
152  $order->getShippingAddressId()
153  );
154 
155  $this->_objectCopyService->copyFieldsetToTarget('sales_convert_order', 'to_shipment', $order, $shipment);
156  return $shipment;
157  }
158 
165  public function itemToShipmentItem(\Magento\Sales\Model\Order\Item $item)
166  {
167  $shipmentItem = $this->_shipmentItemFactory->create();
168  $shipmentItem->setOrderItem($item)->setProductId($item->getProductId());
169 
170  $this->_objectCopyService->copyFieldsetToTarget(
171  'sales_convert_order_item',
172  'to_shipment_item',
173  $item,
175  );
176  return $shipmentItem;
177  }
178 
185  public function toCreditmemo(\Magento\Sales\Model\Order $order)
186  {
187  $creditmemo = $this->creditmemoRepository->create();
188  $creditmemo->setOrder(
189  $order
190  )->setStoreId(
191  $order->getStoreId()
192  )->setCustomerId(
193  $order->getCustomerId()
194  )->setBillingAddressId(
195  $order->getBillingAddressId()
196  )->setShippingAddressId(
197  $order->getShippingAddressId()
198  );
199 
200  $this->_objectCopyService->copyFieldsetToTarget('sales_convert_order', 'to_cm', $order, $creditmemo);
201  return $creditmemo;
202  }
203 
210  public function itemToCreditmemoItem(\Magento\Sales\Model\Order\Item $item)
211  {
212  $creditmemoItem = $this->_creditmemoItemFactory->create();
213  $creditmemoItem->setOrderItem($item)->setProductId($item->getProductId());
214 
215  $this->_objectCopyService->copyFieldsetToTarget(
216  'sales_convert_order_item',
217  'to_cm_item',
218  $item,
219  $creditmemoItem
220  );
221  return $creditmemoItem;
222  }
223 }
$invoiceItem
itemToInvoiceItem(\Magento\Sales\Model\Order\Item $item)
Definition: Order.php:120
$order
Definition: order.php:55
toShipment(\Magento\Sales\Model\Order $order)
Definition: Order.php:140
toInvoice(\Magento\Sales\Model\Order $order)
Definition: Order.php:95
$shipmentItem
$invoice
itemToShipmentItem(\Magento\Sales\Model\Order\Item $item)
Definition: Order.php:165
itemToCreditmemoItem(\Magento\Sales\Model\Order\Item $item)
Definition: Order.php:210
toCreditmemo(\Magento\Sales\Model\Order $order)
Definition: Order.php:185
__construct(\Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Sales\Api\InvoiceRepositoryInterface $invoiceRepository, \Magento\Sales\Model\Order\Invoice\ItemFactory $invoiceItemFactory, \Magento\Sales\Api\ShipmentRepositoryInterface $shipmentRepository, \Magento\Sales\Model\Order\Shipment\ItemFactory $shipmentItemFactory, \Magento\Sales\Api\CreditmemoRepositoryInterface $creditmemoRepository, \Magento\Sales\Model\Order\Creditmemo\ItemFactory $creditmemoItemFactory, \Magento\Framework\DataObject\Copy $objectCopyService, array $data=[])
Definition: Order.php:67
foreach($order->getItems() as $orderItem) $shipment