123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Sales\Model\Order\Creditmemo\Total;
- class Subtotal extends AbstractTotal
- {
- /**
- * Collect Creditmemo subtotal
- *
- * @param \Magento\Sales\Model\Order\Creditmemo $creditmemo
- * @return $this
- */
- public function collect(\Magento\Sales\Model\Order\Creditmemo $creditmemo)
- {
- $subtotal = 0;
- $baseSubtotal = 0;
- $subtotalInclTax = 0;
- $baseSubtotalInclTax = 0;
- foreach ($creditmemo->getAllItems() as $item) {
- if ($item->getOrderItem()->isDummy()) {
- continue;
- }
- $item->calcRowTotal();
- $subtotal += $item->getRowTotal();
- $baseSubtotal += $item->getBaseRowTotal();
- $subtotalInclTax += $item->getRowTotalInclTax();
- $baseSubtotalInclTax += $item->getBaseRowTotalInclTax();
- }
- $creditmemo->setSubtotal($subtotal);
- $creditmemo->setBaseSubtotal($baseSubtotal);
- $creditmemo->setSubtotalInclTax($subtotalInclTax);
- $creditmemo->setBaseSubtotalInclTax($baseSubtotalInclTax);
- $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $subtotal);
- $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $baseSubtotal);
- return $this;
- }
- }
|