11 use Magento\Tax\Api\Data\OrderTaxDetailsAppliedTaxInterfaceFactory as TaxDetailsDataObjectFactory;
78 if ($existingAppliedTax !==
null) {
79 $amount = $existingAppliedTax->getAmount();
84 ->setCode($itemAppliedTax[
'code'])
85 ->setTitle($itemAppliedTax[
'title'])
86 ->setPercent($itemAppliedTax[
'tax_percent'])
87 ->setAmount($itemAppliedTax[
'real_amount'] +
$amount)
88 ->setBaseAmount($itemAppliedTax[
'real_base_amount'] +
$baseAmount);
100 $orderAppliedTaxes = [];
101 $orderAppliedTaxesData = [];
103 $itemAppliedTaxes =
$item->getAppliedTaxes();
104 foreach ($itemAppliedTaxes as $itemAppliedTax) {
105 $code = $itemAppliedTax->getCode();
106 if (!isset($orderAppliedTaxesData[
$code])) {
107 $orderAppliedTaxesData[
$code] = [
120 foreach ($orderAppliedTaxesData as $orderAppliedTaxData) {
128 return $orderAppliedTaxes;
136 $order = $this->orderFactory->create()->load($orderId);
140 'No such entity with %fieldName = %fieldValue',
141 [
'fieldName' =>
'orderId',
'fieldValue' => $orderId]
146 $orderItemAppliedTaxes = $this->orderItemTaxFactory->create()->getTaxItemsByOrderId($orderId);
148 foreach ($orderItemAppliedTaxes as $itemAppliedTax) {
149 $key = $itemId = $associatedItemId =
null;
152 if (isset($itemAppliedTax[
'item_id'])) {
155 $itemId = $itemAppliedTax[
'item_id'];
157 }
elseif (isset($itemAppliedTax[
'associated_item_id'])) {
160 $associatedItemId = $itemAppliedTax[
'associated_item_id'];
161 $key = $itemAppliedTax[
'taxable_item_type'] . $associatedItemId;
165 $key = $itemAppliedTax[
'taxable_item_type'];
169 if (!isset($itemsData[$key])) {
185 foreach ($itemsData as $itemData) {
186 $items[] = $this->itemDataObjectFactory->create()
193 return $this->orderTaxDetailsDataObjectFactory->create()
195 ->setAppliedTaxes($orderAppliedTaxesDOs);
const KEY_ASSOCIATED_ITEM_ID
$appliedTaxDataObjectFactory
elseif(isset( $params[ 'redirect_parent']))
convertToAppliedTaxDataObject(TaxDetailsDataObjectFactory $appliedTaxDataObjectFactory, $itemAppliedTax, AppliedTax $existingAppliedTax=null)
__construct(\Magento\Sales\Model\OrderFactory $orderFactory, \Magento\Sales\Model\ResourceModel\Order\Tax\ItemFactory $orderItemTaxFactory, \Magento\Tax\Api\Data\OrderTaxDetailsInterfaceFactory $orderTaxDetailsDataObjectFactory, \Magento\Tax\Api\Data\OrderTaxDetailsItemInterfaceFactory $itemDataObjectFactory, TaxDetailsDataObjectFactory $appliedTaxDataObjectFactory)
getOrderTaxDetails($orderId)
aggregateAppliedTaxes(TaxDetailsDataObjectFactory $appliedTaxDataObjectFactory, $items)
$orderTaxDetailsDataObjectFactory