productPriceUtils = $productPriceUtils ; } public function getPrice(OrderProductInterface $orderProduct) { return $orderProduct->getPrice(); } public function getBuyingPrice(OrderProductInterface $orderProduct) { return $orderProduct->getBuyingPrice(); } public function getPriceWithTax(OrderProductInterface $orderProduct) { return $this->applyTax( $this->getPrice($orderProduct), $orderProduct->getTaxRate()->getValue() ); } public function getPriceWithTaxAndReduction(OrderProductInterface $orderProduct) { return $this->applyReductionCatalog( $orderProduct, $this->getPrice($orderProduct), $this->getPriceWithTax($orderProduct) ); } public function getPriceWithReduction(OrderProductInterface $orderProduct) { return $this->applyReductionCatalog( $orderProduct, $this->getPrice($orderProduct), $this->getPriceWithTax($orderProduct), 1, null, false ); } public function getTotal(OrderProductInterface $orderProduct) { return $orderProduct->getQuantityOrder() * $this->getPrice($orderProduct); } public function getTotalBuyingPrice(OrderProductInterface $orderProduct) { return $orderProduct->getQuantityOrder() * $this->getBuyingPrice($orderProduct); } public function getMargin(OrderProductInterface $orderProduct) { return $this->getPriceWithReduction($orderProduct) - $this->getBuyingPrice($orderProduct); } public function getMarginPercent(OrderProductInterface $orderProduct) { if($this->getBuyingPrice($orderProduct)) { return $this->round(($this->getMargin($orderProduct) / $this->getPriceWithReduction($orderProduct)) * 100); }else{ return 0; } } public function getTotalMargin(OrderProductInterface $orderProduct) { return $orderProduct->getQuantityOrder() * $this->getMargin($orderProduct); } public function getTotalWithReduction(OrderProductInterface $orderProduct) { return $this->applyReductionCatalog( $orderProduct, $this->getTotal($orderProduct), $this->getTotalWithTax($orderProduct), $orderProduct->getQuantityOrder(), null, false ); } public function getTotalWithTax(OrderProductInterface $orderProduct) { return $this->applyTax( $this->getTotal($orderProduct), $orderProduct->getTaxRateInherited()->getValue() ); } public function getTotalWithTaxAndReduction(OrderProductInterface $orderProduct) { return $this->applyReductionCatalog( $orderProduct, $this->getTotal($orderProduct), $this->getTotalWithTax($orderProduct), $orderProduct->getQuantityOrder() ); } public function getTotalBuyingPriceWithTax(OrderProductInterface $orderProduct) { return $this->applyTax( $this->getTotalBuyingPrice($orderProduct), $orderProduct->getTaxRateInherited()->getValue() ); } //inclus toujours les réductions catalogues public function getTotalTaxes(OrderProductInterface $orderProduct){ return $this->getTotalWithTaxAndReduction($orderProduct) - $this->getTotalWithReduction($orderProduct); } }