// missing file

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16387 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
fBrignoli
2012-07-12 16:48:54 +00:00
parent 7af140d285
commit 2628e92f50
+45 -4
View File
@@ -67,6 +67,9 @@ class OrderInvoiceCore extends ObjectModel
/** @var float */
public $total_shipping_tax_incl;
/** @var int */
public $shipping_tax_computation_method;
/** @var float */
public $total_wrapping_tax_excl;
@@ -101,6 +104,7 @@ class OrderInvoiceCore extends ObjectModel
'total_products_wt' => array('type' => self::TYPE_FLOAT),
'total_shipping_tax_excl' =>array('type' => self::TYPE_FLOAT),
'total_shipping_tax_incl' =>array('type' => self::TYPE_FLOAT),
'shipping_tax_computation_method' => array('type' => self::TYPE_INT),
'total_wrapping_tax_excl' =>array('type' => self::TYPE_FLOAT),
'total_wrapping_tax_incl' =>array('type' => self::TYPE_FLOAT),
'note' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml', 'size' => 65000),
@@ -255,7 +259,7 @@ class OrderInvoiceCore extends ObjectModel
{
// sum by taxes
$taxes_infos = Db::getInstance()->executeS('
SELECT odt.`id_order_detail`, t.`name`, t.`rate`, SUM(`total_amount`) AS `total_amount`
SELECT odt.`id_order_detail`, t.`rate` AS `name`, t.`rate`, SUM(`total_amount`) AS `total_amount`
FROM `'._DB_PREFIX_.'order_detail_tax` odt
LEFT JOIN `'._DB_PREFIX_.'tax` t ON (t.`id_tax` = odt.`id_tax`)
LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON (od.`id_order_detail` = odt.`id_order_detail`)
@@ -268,9 +272,30 @@ class OrderInvoiceCore extends ObjectModel
$tmp_tax_infos = array();
foreach ($taxes_infos as $tax_infos)
{
$tmp_tax_infos[$tax_infos['rate']]['total_amount'] = $tax_infos['tax_amount'];
$tmp_tax_infos[$tax_infos['rate']]['total_amount'] = $tax_infos['total_amount'];
$tmp_tax_infos[$tax_infos['rate']]['name'] = $tax_infos['name'];
}
$shipping_taxes = Db::getInstance()->executeS('
SELECT *
FROM `'._DB_PREFIX_.'order_invoice_tax` od
LEFT JOIN `'._DB_PREFIX_.'tax` t ON (t.`id_tax` = od.`id_tax`)
WHERE `id_order_invoice` = '.(int)$this->id
);
foreach ($shipping_taxes as $tax_infos)
{
if (!isset($tmp_tax_infos[$tax_infos['rate']]))
{
$tmp_tax_infos[$tax_infos['rate']]['total_amount'] = 0;
$tmp_tax_infos[$tax_infos['rate']]['name'] = 0;
}
$tmp_tax_infos[$tax_infos['rate']]['total_amount'] += $tax_infos['amount'];
$tmp_tax_infos[$tax_infos['rate']]['name'] += $tax_infos['rate'];
}
}
else
{
@@ -305,8 +330,6 @@ class OrderInvoiceCore extends ObjectModel
}
}
return $tmp_tax_infos;
}
@@ -320,6 +343,10 @@ class OrderInvoiceCore extends ObjectModel
{
$taxes_breakdown = array();
// shipping cost are added in the product taxes breakdown
if ($this->useOneAfterAnotherTaxComputationMethod())
return $taxes_breakdown;
$shipping_tax_amount = $this->total_shipping_tax_incl - $this->total_shipping_tax_excl;
if ($shipping_tax_amount > 0)
@@ -625,4 +652,18 @@ class OrderInvoiceCore extends ObjectModel
{
return '#'.Configuration::get('PS_INVOICE_PREFIX', $id_lang).sprintf('%06d', $this->number);
}
public function saveCarrierTaxCalculator(array $taxes_amount)
{
$is_correct = true;
foreach ($taxes_amount as $id_tax => $amount)
{
$sql = 'INSERT INTO `'._DB_PREFIX_.'order_invoice_tax` (`id_order_invoice`, `type`, `id_tax`, `amount`)
VALUES ('.(int)$this->id.', \'shipping\', '.(int)$id_tax.', '.(float)$amount.')';
$is_correct &= Db::getInstance()->execute($sql);
}
return $is_correct;
}
}