Fix: Numbering of check receipts

This commit is contained in:
Laurent Destailleur 2008-05-19 20:44:10 +00:00
parent fd96fd639c
commit 1ae558dce8

View File

@ -279,33 +279,20 @@ class RemiseCheque extends CommonObject
} }
/** /**
\brief Supprime la remise en base * \brief Validate receipt
\param user Utilisateur qui effectue l'operation * \param user User
*/ */
function Validate($user) function Validate($user)
{ {
$this->errno = 0; $this->errno = 0;
$this->db->begin(); $this->db->begin();
$sql = "SELECT MAX(number) FROM ".MAIN_DB_PREFIX."bordereau_cheque;"; $num=$this->getNextNumber();
$resql = $this->db->query($sql);
if ( $resql )
{
$row = $this->db->fetch_row($resql);
$num = $row[0];
$this->db->free($resql);
}
else
{
$this->errno = -1034;
dolibarr_syslog("Remisecheque::Validate Erreur SELECT ($this->errno)");
}
if ($this->errno === 0) if ($this->errno === 0)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."bordereau_cheque"; $sql = "UPDATE ".MAIN_DB_PREFIX."bordereau_cheque";
$sql.= " SET statut=1, number='".($num+1)."'"; $sql.= " SET statut=1, number='".$num."'";
$sql .= " WHERE rowid = $this->id AND statut=0;"; $sql .= " WHERE rowid = $this->id AND statut=0;";
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
@ -342,13 +329,42 @@ class RemiseCheque extends CommonObject
else else
{ {
$this->db->rollback(); $this->db->rollback();
dolibarr_syslog("RemiseCheque::Validate ROLLBACK ($this->errno)"); dolibarr_syslog("RemiseCheque::Validate ".$this->errno, LOG_ERR);
} }
return $this->errno; return $this->errno;
} }
/**
* Old module for cheque receipt numbering
*
* @return string
*/
function getNextNumber()
{
$num=0;
// We use +0 to convert varchar to number
$sql = "SELECT MAX(number+0) FROM ".MAIN_DB_PREFIX."bordereau_cheque";
$resql = $this->db->query($sql);
if ($resql)
{
$row = $this->db->fetch_row($resql);
$num = $row[0];
$this->db->free($resql);
}
else
{
$this->errno = -1034;
dolibarr_syslog("Remisecheque::Validate Erreur SELECT ($this->errno)");
}
$num++;
return $num;
}
/** /**
* \brief Charge indicateurs this->nbtodo et this->nbtodolate de tableau de bord * \brief Charge indicateurs this->nbtodo et this->nbtodolate de tableau de bord
* \param user Objet user * \param user Objet user