/**
  * @param QuoteAddressToOrder $subject
  * @param OrderInterface $order
  * @return OrderInterface
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function afterConvert(QuoteAddressToOrder $subject, OrderInterface $order)
 {
     /** @var \Magento\Sales\Model\Order $order */
     $taxes = $this->quoteAddress->getAppliedTaxes();
     $extensionAttributes = $order->getExtensionAttributes();
     if ($extensionAttributes == null) {
         $extensionAttributes = $this->orderExtensionFactory->create();
     }
     if (!empty($taxes)) {
         $extensionAttributes->setAppliedTaxes($taxes);
         $extensionAttributes->setConvertingFromQuote(true);
     }
     $itemAppliedTaxes = $this->quoteAddress->getItemsAppliedTaxes();
     if (!empty($itemAppliedTaxes)) {
         $extensionAttributes->setItemAppliedTaxes($itemAppliedTaxes);
     }
     $order->setExtensionAttributes($extensionAttributes);
     return $order;
 }
 /**
  * @param QuoteAddressToOrder $subject
  * @param OrderInterface $order
  * @return OrderInterface
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function afterConvert(QuoteAddressToOrder $subject, OrderInterface $order)
 {
     /** @var \Magento\Sales\Model\Order $order */
     $taxes = $this->quoteAddress->getAppliedTaxes();
     if (is_array($taxes)) {
         if (is_array($order->getAppliedTaxes())) {
             $taxes = array_merge($order->getAppliedTaxes(), $taxes);
         }
         $order->setCustomAttribute('applied_taxes', $taxes);
         $order->setCustomAttribute('converting_from_quote', true);
     }
     $itemAppliedTaxes = $this->quoteAddress->getItemsAppliedTaxes();
     if (is_array($itemAppliedTaxes)) {
         if (is_array($order->getItemAppliedTaxes())) {
             $itemAppliedTaxes = array_merge($order->getItemAppliedTaxes(), $itemAppliedTaxes);
         }
         $order->setCustomAttribute('item_applied_taxes', $itemAppliedTaxes);
     }
     return $order;
 }
示例#3
-1
 /**
  * @param QuoteAddressToOrder $subject
  * @param OrderInterface $order
  * @return OrderInterface
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function afterConvert(QuoteAddressToOrder $subject, OrderInterface $order)
 {
     /** @var \Magento\Sales\Model\Order $order */
     $taxes = $this->quoteAddress->getAppliedTaxes();
     $extensionAttributes = $order->getExtensionAttributes();
     if ($extensionAttributes == null) {
         $extensionAttributes = $this->orderExtensionFactory->create();
     }
     if (!empty($taxes)) {
         foreach ($taxes as $key => $tax) {
             $tax['extension_attributes']['rates'] = $tax['rates'];
             unset($tax['rates']);
             $taxes[$key] = $tax;
         }
         $extensionAttributes->setAppliedTaxes($taxes);
         $extensionAttributes->setConvertingFromQuote(true);
     }
     $itemAppliedTaxes = $this->quoteAddress->getItemsAppliedTaxes();
     $itemAppliedTaxesModified = [];
     if (!empty($itemAppliedTaxes)) {
         foreach ($itemAppliedTaxes as $key => $itemAppliedTaxItem) {
             if (is_array($itemAppliedTaxItem) && !empty($itemAppliedTaxItem)) {
                 foreach ($itemAppliedTaxItem as $itemAppliedTax) {
                     $itemAppliedTaxesModified[$key]['type'] = $itemAppliedTax['item_type'];
                     $itemAppliedTaxesModified[$key]['item_id'] = $itemAppliedTax['item_id'];
                     $itemAppliedTaxesModified[$key]['associated_item_id'] = $itemAppliedTax['associated_item_id'];
                     $itemAppliedTax['extension_attributes']['rates'] = $itemAppliedTax['rates'];
                     unset($itemAppliedTax['rates']);
                     $itemAppliedTaxesModified[$key]['applied_taxes'][] = $itemAppliedTax;
                 }
             }
         }
         $extensionAttributes->setItemAppliedTaxes($itemAppliedTaxesModified);
     }
     $order->setExtensionAttributes($extensionAttributes);
     return $order;
 }