function getTypeOfLocalTaxFromRate now receives thirdparty in parameter and returns array of localtax type and amount/rate. no more sql in pdf model.

This commit is contained in:
Christophe Battarel 2012-11-29 11:36:59 +01:00 committed by Regis Houssin
parent f0e75bf11a
commit c3aa626e18
4 changed files with 29 additions and 94 deletions

View File

@ -4221,25 +4221,26 @@ function getCurrencySymbol($currency_code)
*
* @param int $vatrate VAT Rate
* @param int $number Number of localtax (1 / 2)
* @return int Type of local tax (1 to 7 / 0 if not found)
* @param int $thirdparty company object
* @return array array(Type of local tax (1 to 7 / 0 if not found), rate or amount of localtax)
*/
function getTypeOfLocalTaxFromRate($vatrate, $number)
function getTypeOfLocalTaxFromRate($vatrate, $number, $thirdparty)
{
global $db, $mysoc;
global $db;
// Search local taxes
$sql = "SELECT t.localtax1_type, t.localtax2_type";
$sql = "SELECT t.localtax1, t.localtax1_type, t.localtax2, t.localtax2_type";
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p";
$sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'";
$sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$thirdparty->country_code."'";
$sql .= " AND t.taux = ".$vatrate." AND t.active = 1";
$resql=$db->query($sql);
if ($resql)
{
$obj = $db->fetch_object($resql);
if ($number == 1) return $obj->localtax1_type;
elseif ($number == 2) return $obj->localtax2_type;
if ($number == 1) return array($obj->localtax1_type, $obj->localtax1);
elseif ($number == 2) return array($obj->localtax2_type, $obj->localtax2);
}
return 0;

View File

@ -375,41 +375,19 @@ class pdf_einstein extends ModelePDFCommandes
$vatrate=(string) $object->lines[$i]->tva_tx;
// TODO : store local taxes types into object lines and remove this
$localtax1_array=getTypeOfLocalTaxFromRate($vatrate,1,$mysoc);
$localtax2_array=getTypeOfLocalTaxFromRate($vatrate,2,$mysoc);
if (empty($localtax1_type))
$localtax1_type=getTypeOfLocalTaxFromRate($vatrate,1);
$localtax1_type = $localtax1_array[0];
if (empty($localtax2_type))
$localtax2_type=getTypeOfLocalTaxFromRate($vatrate,2);
$localtax2_type = $localtax2_array[0];
//end TODO
// retrieve global local tax
if ($localtax1_type == '7')
{
$sql = "SELECT t.localtax1";
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p";
$sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'";
$sql .= " AND t.taux = ".$vatrate." AND t.active = 1";
$resql=$db->query($sql);
if ($resql)
{
$obj = $db->fetch_object($resql);
$localtax1_rate = $obj->localtax1;
}
}
$localtax1_rate = $localtax1_array[1];
if ($localtax2_type == '7')
{
$sql = "SELECT t.localtax2";
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p";
$sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'";
$sql .= " AND t.taux = ".$vatrate." AND t.active = 1";
$resql=$db->query($sql);
if ($resql)
{
$obj = $db->fetch_object($resql);
$localtax2_rate = $obj->localtax2;
}
}
$localtax2_rate = $localtax2_array[1];
if ($localtax1ligne != 0 || $localtax1_type == '7')
$this->localtax1[$localtax1_type][$localtax1_rate]+=$localtax1ligne;

View File

@ -378,41 +378,19 @@ class pdf_crabe extends ModelePDFFactures
$vatrate=(string) $object->lines[$i]->tva_tx;
// TODO : store local taxes types into object lines and remove this
$localtax1_array=getTypeOfLocalTaxFromRate($vatrate,1,$mysoc);
$localtax2_array=getTypeOfLocalTaxFromRate($vatrate,2,$mysoc);
if (empty($localtax1_type))
$localtax1_type=getTypeOfLocalTaxFromRate($vatrate,1);
$localtax1_type = $localtax1_array[0];
if (empty($localtax2_type))
$localtax2_type=getTypeOfLocalTaxFromRate($vatrate,2);
$localtax2_type = $localtax2_array[0];
//end TODO
// retrieve global local tax
if ($localtax1_type == '7')
{
$sql = "SELECT t.localtax1";
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p";
$sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'";
$sql .= " AND t.taux = ".$vatrate." AND t.active = 1";
$resql=$db->query($sql);
if ($resql)
{
$obj = $db->fetch_object($resql);
$localtax1_rate = $obj->localtax1;
}
}
$localtax1_rate = $localtax1_array[1];
if ($localtax2_type == '7')
{
$sql = "SELECT t.localtax2";
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p";
$sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'";
$sql .= " AND t.taux = ".$vatrate." AND t.active = 1";
$resql=$db->query($sql);
if ($resql)
{
$obj = $db->fetch_object($resql);
$localtax2_rate = $obj->localtax2;
}
}
$localtax2_rate = $localtax2_array[1];
if ($localtax1ligne != 0 || $localtax1_type == '7')
$this->localtax1[$localtax1_type][$localtax1_rate]+=$localtax1ligne;

View File

@ -371,41 +371,19 @@ class pdf_azur extends ModelePDFPropales
$vatrate=(string) $object->lines[$i]->tva_tx;
// TODO : store local taxes types into object lines and remove this
$localtax1_array=getTypeOfLocalTaxFromRate($vatrate,1,$mysoc);
$localtax2_array=getTypeOfLocalTaxFromRate($vatrate,2,$mysoc);
if (empty($localtax1_type))
$localtax1_type=getTypeOfLocalTaxFromRate($vatrate,1);
$localtax1_type = $localtax1_array[0];
if (empty($localtax2_type))
$localtax2_type=getTypeOfLocalTaxFromRate($vatrate,2);
$localtax2_type = $localtax2_array[0];
//end TODO
// retrieve global local tax
if ($localtax1_type == '7')
{
$sql = "SELECT t.localtax1";
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p";
$sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'";
$sql .= " AND t.taux = ".$vatrate." AND t.active = 1";
$resql=$db->query($sql);
if ($resql)
{
$obj = $db->fetch_object($resql);
$localtax1_rate = $obj->localtax1;
}
}
$localtax1_rate = $localtax1_array[1];
if ($localtax2_type == '7')
{
$sql = "SELECT t.localtax2";
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p";
$sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$mysoc->country_code."'";
$sql .= " AND t.taux = ".$vatrate." AND t.active = 1";
$resql=$db->query($sql);
if ($resql)
{
$obj = $db->fetch_object($resql);
$localtax2_rate = $obj->localtax2;
}
}
$localtax2_rate = $localtax2_array[1];
if ($localtax1ligne != 0 || $localtax1_type == '7')
$this->localtax1[$localtax1_type][$localtax1_rate]+=$localtax1ligne;