2
0
forked from Wavyzz/dolibarr

Improve code create function

This commit is contained in:
Juanjo Menent
2015-01-16 23:09:13 +01:00
parent 93d3ffb06f
commit 26e5efd71d

View File

@@ -736,8 +736,8 @@ class BonPrelevement extends CommonObject
function Create($banque=0, $agence=0, $mode='real')
{
global $conf,$langs;
dol_syslog(get_class($this)."::Create banque=$banque agence=$agence");
dol_syslog(__METHOD__."::Bank=".$banque." Office=".$agence, LOG_DEBUG);
require_once (DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php");
require_once (DOL_DOCUMENT_ROOT."/societe/class/societe.class.php");
@@ -781,7 +781,8 @@ class BonPrelevement extends CommonObject
//if ($banque) $sql.= " AND sr.code_banque = '".$conf->global->PRELEVEMENT_CODE_BANQUE."'";
//if ($agence) $sql.= " AND sr.code_guichet = '".$conf->global->PRELEVEMENT_CODE_GUICHET."'";
dol_syslog(get_class($this)."::Create", LOG_DEBUG);
dol_syslog(__METHOD__."::Read invoices, sql=".$sql, LOG_DEBUG);
$resql = $this->db->query($sql);
if ($resql)
{
@@ -795,13 +796,12 @@ class BonPrelevement extends CommonObject
$i++;
}
$this->db->free($resql);
dol_syslog($i." invoices to withdraw");
dol_syslog(__METHOD__."::Read invoices, ".$i." invoices to withdraw", LOG_DEBUG);
}
else
{
$error = 1;
dol_syslog("Erreur -1");
dol_syslog($this->db->error());
$error++;
dol_syslog(__METHOD__."::Read invoices error ".$this->db->error(), LOG_ERR);
}
}
@@ -812,7 +812,7 @@ class BonPrelevement extends CommonObject
// Check RIB
$i = 0;
dol_syslog("Start RIB check");
dol_syslog(__METHOD__."::Check RIB", LOG_DEBUG);
if (count($factures) > 0)
{
@@ -836,24 +836,24 @@ class BonPrelevement extends CommonObject
}
else
{
dol_syslog("Error on default bank number RIB/IBAN for thirdparty reported by verif() ".$fact->socid." ".$soc->name, LOG_ERR);
dol_syslog(__METHOD__."::Check RIB Error on default bank number RIB/IBAN for thirdparty reported by verif() ".$fact->socid." ".$soc->name, LOG_ERR);
$this->invoice_in_error[$fac[0]]="Error on default bank number RIB/IBAN for invoice ".$fact->getNomUrl(0)." for thirdparty (reported by function verif) ".$soc->name;
}
}
else
{
dol_syslog("Failed to read company", LOG_ERR);
dol_syslog(__METHOD__."::Check RIB Failed to read company", LOG_ERR);
}
}
else
{
dol_syslog("Failed to read invoice", LOG_ERR);
dol_syslog(__METHOD__."::Check RIB Failed to read invoice", LOG_ERR);
}
}
}
else
{
dol_syslog("No invoice to process");
dol_syslog(__METHOD__."::Check RIB No invoice to process", LOG_ERR);
}
}
@@ -902,50 +902,52 @@ class BonPrelevement extends CommonObject
$sql.= " ORDER BY ref DESC LIMIT 1";
dol_syslog(get_class($this)."::Create sql=".$sql, LOG_DEBUG);
dol_syslog(__METHOD__."::Treatments", LOG_DEBUG);
$resql = $this->db->query($sql);
if ($resql)
{
$row = $this->db->fetch_row($resql);
$ref = "T".$ref.str_pad(dol_substr("00".intval($row[0])+1),2,"0",STR_PAD_LEFT);
$filebonprev = $ref;
// Create withdraw receipt in database
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons (";
$sql.= " ref, entity, datec";
$sql.= ") VALUES (";
$sql.= "'".$this->db->escape($ref)."'";
$sql.= ", ".$conf->entity;
$sql.= ", '".$this->db->idate($now)."'";
$sql.= ")";
dol_syslog(__METHOD__, LOG_DEBUG);
$resql = $this->db->query($sql);
if ($resql)
{
$prev_id = $this->db->last_insert_id(MAIN_DB_PREFIX."prelevement_bons");
$dir=$conf->prelevement->dir_output.'/receipts';
$file=$filebonprev;
if (! is_dir($dir)) dol_mkdir($dir);
$bonprev = new BonPrelevement($this->db, $dir."/".$file);
$bonprev->id = $prev_id;
}
else
{
$error++;
dol_syslog(__METHOD__."::Create withdraw receipt ".$this->db->error(), LOG_ERR);
}
}
else
{
$error++;
dol_syslog("Erreur recherche reference");
dol_syslog(__METHOD__."::Get last withdraw receipt ".$this->db->error(), LOG_ERR);
}
$ref = "T".$ref.str_pad(dol_substr("00".intval($row[0])+1),2,"0",STR_PAD_LEFT);
$filebonprev = $ref;
// Create withdraw receipt in database
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons (";
$sql.= " ref, entity, datec";
$sql.= ") VALUES (";
$sql.= "'".$this->db->escape($ref)."'";
$sql.= ", ".$conf->entity;
$sql.= ", '".$this->db->idate($now)."'";
$sql.= ")";
dol_syslog(get_class($this)."::Create", LOG_DEBUG);
$resql = $this->db->query($sql);
if ($resql)
{
$prev_id = $this->db->last_insert_id(MAIN_DB_PREFIX."prelevement_bons");
$dir=$conf->prelevement->dir_output.'/receipts';
$file=$filebonprev;
if (! is_dir($dir)) dol_mkdir($dir);
$bonprev = new BonPrelevement($this->db, $dir."/".$file);
$bonprev->id = $prev_id;
}
else
{
$error++;
dol_syslog("Erreur creation du bon de prelevement");
}
}
/*
@@ -988,13 +990,12 @@ class BonPrelevement extends CommonObject
$sql.= ", fk_prelevement_bons = ".$prev_id;
$sql.= " WHERE rowid = ".$fac[1];
dol_syslog(get_class($this)."::Create", LOG_DEBUG);
dol_syslog(__METHOD__."::Update Orders::Sql=".$sql, LOG_DEBUG);
$resql=$this->db->query($sql);
if (! $resql)
{
$error++;
dol_syslog("Erreur mise a jour des demandes");
dol_syslog($this->db->error());
dol_syslog(__METHOD__."::Update Orders::Error=".$this->db->error() ,LOG_ERR);
}
}
@@ -1009,8 +1010,8 @@ class BonPrelevement extends CommonObject
* Withdraw receipt
*/
dol_syslog("Debut prelevement - Nombre de factures ".count($factures_prev));
dol_syslog(__METHOD__."::Init withdraw receipt for ".count($factures_prev)." invoices", LOG_DEBUG);
if (count($factures_prev) > 0)
{
$bonprev->date_echeance = $datetimeprev;
@@ -1032,8 +1033,7 @@ class BonPrelevement extends CommonObject
//Build file
$bonprev->generate();
}
dol_syslog($filebonprev);
dol_syslog("Fin prelevement");
dol_syslog(__METHOD__."::End withdraw receipt, file ".$filebonprev, LOG_DEBUG);
}
/*
@@ -1045,12 +1045,14 @@ class BonPrelevement extends CommonObject
$sql.= " WHERE rowid = ".$prev_id;
$sql.= " AND entity = ".$conf->entity;
dol_syslog(get_class($this)."::Create", LOG_DEBUG);
dol_syslog(__METHOD__."::Update total, sql=".$sql, LOG_DEBUG);
$resql=$this->db->query($sql);
if (! $resql)
{
$error++;
dol_syslog("Erreur mise a jour du total - $sql");
dol_syslog(__METHOD__."::Error update total: ".$this->db->error(), LOG_ERR);
}
/*
@@ -1063,7 +1065,6 @@ class BonPrelevement extends CommonObject
else
{
$this->db->rollback();
dol_syslog("Error",LOG_ERR);
}
return count($factures_prev);