Fix: Numbering of check receipts
This commit is contained in:
parent
fd96fd639c
commit
1ae558dce8
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user