5
5
*/
6
6
namespace Magento \Weee \Helper ;
7
7
8
- use Magento \Catalog \Model \Product \Type ;
8
+ use Magento \Sales \Model \Order \Item as OrderItem ;
9
+ use Magento \Quote \Model \Quote \Item \AbstractItem as QuoteAbstractItem ;
9
10
use Magento \Store \Model \Store ;
10
11
use Magento \Store \Model \Website ;
11
12
use Magento \Weee \Model \Tax as WeeeDisplayConfig ;
@@ -313,7 +314,7 @@ public function getProductWeeeAttributes(
313
314
/**
314
315
* Returns applied weee tax amount
315
316
*
316
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
317
+ * @param QuoteAbstractItem $item
317
318
* @return float
318
319
*/
319
320
public function getWeeeTaxAppliedAmount ($ item )
@@ -324,32 +325,45 @@ public function getWeeeTaxAppliedAmount($item)
324
325
/**
325
326
* Returns applied weee tax amount for the row
326
327
*
327
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
328
+ * @param QuoteAbstractItem $item
328
329
* @return float
329
330
*/
330
331
public function getWeeeTaxAppliedRowAmount ($ item )
331
332
{
332
333
return $ this ->getRecursiveNumericAmount ($ item , 'getWeeeTaxAppliedRowAmount ' );
333
334
}
334
335
336
+ /**
337
+ * Returns applied base weee tax amount for the row
338
+ *
339
+ * @param QuoteAbstractItem|OrderItem $item
340
+ * @return float
341
+ */
342
+ public function getBaseWeeeTaxAppliedRowAmount ($ item )
343
+ {
344
+ return $ this ->getRecursiveNumericAmount ($ item , 'getBaseWeeeTaxAppliedRowAmnt ' );
345
+ }
346
+
335
347
/**
336
348
* Returns accumulated amounts for the item
337
349
*
338
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
350
+ * @param QuoteAbstractItem|OrderItem $item
339
351
* @param string $functionName
340
352
* @return float
341
353
*/
342
354
protected function getRecursiveNumericAmount ($ item , $ functionName )
343
355
{
344
- if ($ item instanceof \ Magento \ Quote \ Model \ Quote \ Item \AbstractItem ) {
356
+ if ($ item instanceof QuoteAbstractItem || $ item instanceof OrderItem ) {
345
357
if ($ item ->getHasChildren () && $ item ->isChildrenCalculated ()) {
346
358
$ result = 0 ;
347
- foreach ($ item ->getChildren () as $ child ) {
359
+ $ children = $ item instanceof OrderItem ? $ item ->getChildrenItems () : $ item ->getChildren ();
360
+ foreach ($ children as $ child ) {
348
361
$ childData = $ this ->getRecursiveNumericAmount ($ child , $ functionName );
349
362
if (!empty ($ childData )) {
350
363
$ result += $ childData ;
351
364
}
352
365
}
366
+
353
367
return $ result ;
354
368
}
355
369
}
@@ -364,12 +378,12 @@ protected function getRecursiveNumericAmount($item, $functionName)
364
378
/**
365
379
* Returns applied weee taxes
366
380
*
367
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
381
+ * @param QuoteAbstractItem $item
368
382
* @return array
369
383
*/
370
384
public function getApplied ($ item )
371
385
{
372
- if ($ item instanceof \ Magento \ Quote \ Model \ Quote \ Item \AbstractItem ) {
386
+ if ($ item instanceof QuoteAbstractItem ) {
373
387
if ($ item ->getHasChildren () && $ item ->isChildrenCalculated ()) {
374
388
$ result = [];
375
389
foreach ($ item ->getChildren () as $ child ) {
@@ -393,7 +407,7 @@ public function getApplied($item)
393
407
/**
394
408
* Sets applied weee taxes
395
409
*
396
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
410
+ * @param QuoteAbstractItem $item
397
411
* @param array $value
398
412
* @return $this
399
413
*/
@@ -460,7 +474,7 @@ public function getProductWeeeAttributesForRenderer(
460
474
/**
461
475
* Get the weee tax including tax
462
476
*
463
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
477
+ * @param QuoteAbstractItem $item
464
478
* @return float
465
479
*/
466
480
public function getWeeeTaxInclTax ($ item )
@@ -476,7 +490,7 @@ public function getWeeeTaxInclTax($item)
476
490
/**
477
491
* Get the total base weee tax
478
492
*
479
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
493
+ * @param QuoteAbstractItem $item
480
494
* @return float
481
495
*/
482
496
public function getBaseWeeeTaxInclTax ($ item )
@@ -492,7 +506,7 @@ public function getBaseWeeeTaxInclTax($item)
492
506
/**
493
507
* Get the total weee including tax by row
494
508
*
495
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
509
+ * @param QuoteAbstractItem $item
496
510
* @return float
497
511
*/
498
512
public function getRowWeeeTaxInclTax ($ item )
@@ -508,7 +522,7 @@ public function getRowWeeeTaxInclTax($item)
508
522
/**
509
523
* Get the total base weee including tax by row
510
524
*
511
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
525
+ * @param QuoteAbstractItem $item
512
526
* @return float
513
527
*/
514
528
public function getBaseRowWeeeTaxInclTax ($ item )
@@ -524,7 +538,7 @@ public function getBaseRowWeeeTaxInclTax($item)
524
538
/**
525
539
* Get the total tax applied on weee by unit
526
540
*
527
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
541
+ * @param QuoteAbstractItem $item
528
542
* @return float
529
543
*/
530
544
public function getTotalTaxAppliedForWeeeTax ($ item )
@@ -544,7 +558,7 @@ public function getTotalTaxAppliedForWeeeTax($item)
544
558
/**
545
559
* Get the total tax applied on weee by unit
546
560
*
547
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
561
+ * @param QuoteAbstractItem $item
548
562
* @return float
549
563
*/
550
564
public function getBaseTotalTaxAppliedForWeeeTax ($ item )
@@ -562,7 +576,7 @@ public function getBaseTotalTaxAppliedForWeeeTax($item)
562
576
}
563
577
564
578
/**
565
- * @param \Magento\Sales\Model\Order\Item $orderItem
579
+ * @param OrderItem $orderItem
566
580
* @return float
567
581
*/
568
582
public function getWeeeAmountInvoiced ($ orderItem )
@@ -579,7 +593,7 @@ public function getWeeeAmountInvoiced($orderItem)
579
593
}
580
594
581
595
/**
582
- * @param \Magento\Sales\Model\Order\Item $orderItem
596
+ * @param OrderItem $orderItem
583
597
* @return float
584
598
*/
585
599
public function getBaseWeeeAmountInvoiced ($ orderItem )
@@ -596,7 +610,7 @@ public function getBaseWeeeAmountInvoiced($orderItem)
596
610
}
597
611
598
612
/**
599
- * @param \Magento\Sales\Model\Order\Item $orderItem
613
+ * @param OrderItem $orderItem
600
614
* @return float
601
615
*/
602
616
public function getWeeeTaxAmountInvoiced ($ orderItem )
@@ -613,7 +627,7 @@ public function getWeeeTaxAmountInvoiced($orderItem)
613
627
}
614
628
615
629
/**
616
- * @param \Magento\Sales\Model\Order\Item $orderItem
630
+ * @param OrderItem $orderItem
617
631
* @return float
618
632
*/
619
633
public function getBaseWeeeTaxAmountInvoiced ($ orderItem )
@@ -630,7 +644,7 @@ public function getBaseWeeeTaxAmountInvoiced($orderItem)
630
644
}
631
645
632
646
/**
633
- * @param \Magento\Sales\Model\Order\Item $orderItem
647
+ * @param OrderItem $orderItem
634
648
* @return float
635
649
*/
636
650
public function getWeeeAmountRefunded ($ orderItem )
@@ -647,7 +661,7 @@ public function getWeeeAmountRefunded($orderItem)
647
661
}
648
662
649
663
/**
650
- * @param \Magento\Sales\Model\Order\Item $orderItem
664
+ * @param OrderItem $orderItem
651
665
* @return float
652
666
*/
653
667
public function getBaseWeeeAmountRefunded ($ orderItem )
@@ -664,7 +678,7 @@ public function getBaseWeeeAmountRefunded($orderItem)
664
678
}
665
679
666
680
/**
667
- * @param \Magento\Sales\Model\Order\Item $orderItem
681
+ * @param OrderItem $orderItem
668
682
* @return float
669
683
*/
670
684
public function getWeeeTaxAmountRefunded ($ orderItem )
@@ -681,7 +695,7 @@ public function getWeeeTaxAmountRefunded($orderItem)
681
695
}
682
696
683
697
/**
684
- * @param \Magento\Sales\Model\Order\Item $orderItem
698
+ * @param OrderItem $orderItem
685
699
* @return float
686
700
*/
687
701
public function getBaseWeeeTaxAmountRefunded ($ orderItem )
@@ -700,7 +714,7 @@ public function getBaseWeeeTaxAmountRefunded($orderItem)
700
714
/**
701
715
* Returns the total amount of FPT across all items. Used for displaying the FPT totals line item.
702
716
*
703
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem [] $items
717
+ * @param QuoteAbstractItem [] $items
704
718
* @param null|string|bool|int|Store $store
705
719
* @return float
706
720
*/
@@ -721,7 +735,7 @@ public function getTotalAmounts($items, $store = null)
721
735
/**
722
736
* Returns the base total amount of FPT across all items. Used for displaying the FPT totals line item.
723
737
*
724
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem [] $items
738
+ * @param QuoteAbstractItem [] $items
725
739
* @param null|string|bool|int|Store $store
726
740
* @return float
727
741
* @since 100.1.0
@@ -734,7 +748,7 @@ public function getBaseTotalAmounts($items, $store = null)
734
748
if ($ displayTotalsInclTax ) {
735
749
$ baseWeeeTotal += $ this ->getBaseRowWeeeTaxInclTax ($ item );
736
750
} else {
737
- $ baseWeeeTotal += $ item ->getBaseWeeeTaxAppliedRowAmount ();
751
+ $ baseWeeeTotal += $ item ->getBaseWeeeTaxAppliedRowAmnt ();
738
752
}
739
753
}
740
754
return $ baseWeeeTotal ;
0 commit comments