* @copyright 2007-2021 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ namespace Core\App\Factory; class InvoiceItemFactory extends OrderItemFactory { public function createInvoiceProduct( $product_ids, $product_name, $ean, $sku, $upc, $currency_code, $price, $taxRate, $quantity, $taxIncluded = false ) { $invoiceProduct = new \Core\App\Entity\OrderItem(); $taxRate = $this->getTaxRate($taxRate) ; $pretFtva = $this->getPretftva($price, $taxRate, 0, $taxIncluded); $pretCtva = $this->getPretctva($price, $taxRate, 0, $taxIncluded); $invoiceProduct->setFacturiProdNume($this->stripSpecialChars($product_name)); $invoiceProduct->setFacturiProdMoneda($currency_code); $invoiceProduct->setFacturiProdPretftva($pretFtva); $invoiceProduct->setFacturiProdPretctva($pretCtva); $invoiceProduct->setFacturiProdTva($this->getTaxName($taxRate)); $invoiceProduct->setFacturiProdCant($quantity); $invoiceProduct->setFacturiProdVal($pretFtva * $quantity); $invoiceProduct->setFacturiProdValTva(($pretCtva - $pretFtva) * $quantity); $invoiceProduct->setFacturiProdValTot($pretCtva * $quantity); $invoiceProduct->setFacturiProdUm(self::UM); $invoiceProduct->setProdCod($ean); $invoiceProduct->setProdSku($sku); $invoiceProduct->setProdUpc($upc); $invoiceProduct->setProdCod1((trim($upc) != '') ? $upc : ($this->getPrefix() . $product_ids)); $invoiceProduct->setProdCodCautare('all'); return $invoiceProduct; } }