On deplace la methode getCurrentDiscount dans classe des discount
This commit is contained in:
parent
05efee5db8
commit
9cae92f25b
@ -17,7 +17,6 @@
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
* $Source$
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@ -2054,10 +2054,16 @@ else
|
||||
|
||||
// Already payed
|
||||
print '<tr><td colspan="2" align="right">'.$langs->trans('AlreadyPayed').' :</td><td align="right"><b>'.price($totalpaye).'</b></td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>';
|
||||
|
||||
// Facturé
|
||||
print '<tr><td colspan="2" align="right">'.$langs->trans("Billed").' :</td><td align="right" style="border: 1px solid;">'.price($fac->total_ttc).'</td><td>'.$langs->trans('Currency'.$conf->monnaie).'</td></tr>';
|
||||
|
||||
$resteapayeraffiche=$resteapayer;
|
||||
|
||||
// Boucle sur chaque facture avoir appliquee
|
||||
|
||||
|
||||
|
||||
// Payé partiellement 'escompte'
|
||||
if (($fac->statut == 2 || $fac->statut == 3) && $fac->close_code == 'escompte')
|
||||
{
|
||||
|
||||
@ -263,6 +263,34 @@ class DiscountAbsolute
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie montant TTC des avoirs en cours disponibles
|
||||
* \param fk_soc Filtre sur une societe
|
||||
* \param user Filtre sur un user auteur des remises
|
||||
* \param filter Filtre autre
|
||||
* \return int <0 si ko, montant avoir sinon
|
||||
*/
|
||||
function getCurrentDiscount($company='', $user='',$filter='')
|
||||
{
|
||||
$sql = "SELECT SUM(rc.amount_ttc) as amount";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe_remise_except as rc";
|
||||
$sql.= " WHERE (rc.fk_facture IS NULL AND rc.fk_facture_line IS NULL)"; // Available
|
||||
if (is_object($company)) $sql.= " AND rc.fk_soc = ".$company->id;
|
||||
if (is_object($user)) $sql.= " AND rc.fk_user = ".$user->id;
|
||||
if ($filter) $sql.=' AND '.$filter;
|
||||
|
||||
dolibarr_syslog("Discount::getCurrentDiscount sql=".$sql,LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
return $obj->amount;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Renvoie nom clicable (avec eventuellement le picto)
|
||||
\param withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
|
||||
|
||||
@ -954,7 +954,7 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Ajoute une remise fixe pour la soci<EFBFBD>t<EFBFBD>
|
||||
* \brief Ajoute une remise fixe pour la societe
|
||||
* \param remise Montant de la remise
|
||||
* \param user Utilisateur qui accorde la remise
|
||||
* \param desc Motif de l'avoir
|
||||
@ -968,6 +968,7 @@ class Societe
|
||||
$remise = price2num($remise);
|
||||
$desc = trim($desc);
|
||||
|
||||
// Check parameters
|
||||
if (! $remise > 0)
|
||||
{
|
||||
$this->error=$langs->trans("ErrorWrongValueForParameter","1");
|
||||
@ -1005,8 +1006,8 @@ class Societe
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Supprime un avoir (<EFBFBD> condition que non affect<EFBFBD> <EFBFBD> une facture)
|
||||
* \param id Id de l'avoir <EFBFBD> supprimer
|
||||
* \brief Supprime un avoir (a condition que non affecte a une facture)
|
||||
* \param id Id de l'avoir a supprimer
|
||||
* \return int <0 si ko, id de l'avoir si ok
|
||||
*/
|
||||
function del_remise_except($id)
|
||||
@ -1025,28 +1026,26 @@ class Societe
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie montant des avoirs en cours disponibles
|
||||
* \brief Renvoie montant TTC des avoirs en cours disponibles de la societe
|
||||
* \param user Filtre sur un user auteur des remises
|
||||
* \param filter Filtre autre
|
||||
* \return int <0 si ko, montant avoir sinon
|
||||
* \return int <0 if KO, Credit note amount otherwise
|
||||
*/
|
||||
function getCurrentDiscount($user='',$filter='')
|
||||
{
|
||||
$sql = "SELECT SUM(rc.amount_ht) as amount";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe_remise_except as rc";
|
||||
$sql.= " WHERE rc.fk_soc =". $this->id;
|
||||
if (is_object($user)) $sql.= " AND rc.fk_user = ".$user->id;
|
||||
$sql.= " AND (rc.fk_facture IS NULL AND rc.fk_facture_line IS NULL)";
|
||||
if ($filter) $sql.=' AND '.$filter;
|
||||
require_once(DOL_DOCUMENT_ROOT.'/discount.class.php');
|
||||
|
||||
dolibarr_syslog("Societe::getCurrentDiscount sql=".$sql,LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
return $obj->amount;
|
||||
}
|
||||
return -1;
|
||||
$discountstatic=new DiscountAbsolute($this->db);
|
||||
$result=$discountstatic->getCurrentDiscount($this,$user,$filter);
|
||||
if ($result >= 0)
|
||||
{
|
||||
return $result;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$discount->error;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user