Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Item.php
Go to the documentation of this file.
1 <?php
8 
12 
18 class Item extends AbstractModel implements ShipmentItemInterface
19 {
23  protected $_eventPrefix = 'sales_shipment_item';
24 
28  protected $_eventObject = 'shipment_item';
29 
33  protected $_shipment = null;
34 
38  protected $_orderItem = null;
39 
43  protected $_orderItemFactory;
44 
55  public function __construct(
56  \Magento\Framework\Model\Context $context,
57  \Magento\Framework\Registry $registry,
58  \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory,
60  \Magento\Sales\Model\Order\ItemFactory $orderItemFactory,
61  \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
62  \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
63  array $data = []
64  ) {
65  parent::__construct(
66  $context,
67  $registry,
68  $extensionFactory,
70  $resource,
71  $resourceCollection,
72  $data
73  );
74  $this->_orderItemFactory = $orderItemFactory;
75  }
76 
82  protected function _construct()
83  {
84  $this->_init(\Magento\Sales\Model\ResourceModel\Order\Shipment\Item::class);
85  }
86 
95  public function setShipment(\Magento\Sales\Model\Order\Shipment $shipment)
96  {
97  $this->_shipment = $shipment;
98  return $this;
99  }
100 
108  public function getShipment()
109  {
110  return $this->_shipment;
111  }
112 
119  public function setOrderItem(\Magento\Sales\Model\Order\Item $item)
120  {
121  $this->_orderItem = $item;
122  $this->setOrderItemId($item->getId());
123  return $this;
124  }
125 
131  public function getOrderItem()
132  {
133  if (null === $this->_orderItem) {
134  if ($this->getShipment()) {
135  $this->_orderItem = $this->getShipment()->getOrder()->getItemById($this->getOrderItemId());
136  } else {
137  $this->_orderItem = $this->_orderItemFactory->create()->load($this->getOrderItemId());
138  }
139  }
140  return $this->_orderItem;
141  }
142 
150  public function setQty($qty)
151  {
152  $this->setData('qty', $qty);
153  return $this;
154  }
155 
162  public function register()
163  {
164  $this->getOrderItem()->setQtyShipped($this->getOrderItem()->getQtyShipped() + $this->getQty());
165  return $this;
166  }
167 
168  //@codeCoverageIgnoreStart
169 
175  public function getAdditionalData()
176  {
178  }
179 
185  public function getDescription()
186  {
188  }
189 
195  public function getName()
196  {
197  return $this->getData(ShipmentItemInterface::NAME);
198  }
199 
205  public function getOrderItemId()
206  {
208  }
209 
215  public function getParentId()
216  {
218  }
219 
225  public function getPrice()
226  {
227  return $this->getData(ShipmentItemInterface::PRICE);
228  }
229 
235  public function getProductId()
236  {
238  }
239 
245  public function getQty()
246  {
247  return $this->getData(ShipmentItemInterface::QTY);
248  }
249 
255  public function getRowTotal()
256  {
258  }
259 
265  public function getSku()
266  {
267  return $this->getData(ShipmentItemInterface::SKU);
268  }
269 
275  public function getWeight()
276  {
277  return $this->getData(ShipmentItemInterface::WEIGHT);
278  }
279 
283  public function setParentId($id)
284  {
286  }
287 
291  public function setRowTotal($amount)
292  {
294  }
295 
299  public function setPrice($price)
300  {
302  }
303 
307  public function setWeight($weight)
308  {
309  return $this->setData(ShipmentItemInterface::WEIGHT, $weight);
310  }
311 
315  public function setProductId($id)
316  {
318  }
319 
323  public function setOrderItemId($id)
324  {
326  }
327 
331  public function setAdditionalData($additionalData)
332  {
333  return $this->setData(ShipmentItemInterface::ADDITIONAL_DATA, $additionalData);
334  }
335 
339  public function setDescription($description)
340  {
342  }
343 
347  public function setName($name)
348  {
349  return $this->setData(ShipmentItemInterface::NAME, $name);
350  }
351 
355  public function setSku($sku)
356  {
357  return $this->setData(ShipmentItemInterface::SKU, $sku);
358  }
359 
365  public function getExtensionAttributes()
366  {
367  return $this->_getExtensionAttributes();
368  }
369 
376  public function setExtensionAttributes(\Magento\Sales\Api\Data\ShipmentItemExtensionInterface $extensionAttributes)
377  {
378  return $this->_setExtensionAttributes($extensionAttributes);
379  }
380 
381  //@codeCoverageIgnoreEnd
382 }
setExtensionAttributes(\Magento\Sales\Api\Data\ShipmentItemExtensionInterface $extensionAttributes)
Definition: Item.php:376
$id
Definition: fieldset.phtml:14
setShipment(\Magento\Sales\Model\Order\Shipment $shipment)
Definition: Item.php:95
_setExtensionAttributes(\Magento\Framework\Api\ExtensionAttributesInterface $extensionAttributes)
$resource
Definition: bulk.php:12
$price
$amount
Definition: order.php:14
setOrderItem(\Magento\Sales\Model\Order\Item $item)
Definition: Item.php:119
__construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory, AttributeValueFactory $customAttributeFactory, \Magento\Sales\Model\Order\ItemFactory $orderItemFactory, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
Definition: Item.php:55
setAdditionalData($additionalData)
Definition: Item.php:331
foreach($order->getItems() as $orderItem) $shipment
if(!isset($_GET['name'])) $name
Definition: log.php:14