From 8ad04c0c04f435b0c78df0ee32bf3c135f37e97f Mon Sep 17 00:00:00 2001 From: Rodolphe Quiedeville Date: Tue, 18 Jan 2005 15:45:57 +0000 Subject: [PATCH] =?UTF-8?q?Ajout=20fonctions=20pour=20la=20gestion=20de=20?= =?UTF-8?q?la=20validation=20comme=20pay=E9e=20des=20factures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/bon-prelevement.class.php | 82 +++++++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/htdocs/bon-prelevement.class.php b/htdocs/bon-prelevement.class.php index c965fec42ee..dad4c122a2c 100644 --- a/htdocs/bon-prelevement.class.php +++ b/htdocs/bon-prelevement.class.php @@ -62,7 +62,7 @@ class BonPrelevement */ function Fetch($rowid) { - $sql = "SELECT p.rowid, p.ref, p.amount, p.note"; + $sql = "SELECT p.rowid, p.ref, p.amount, p.note, p.credite"; $sql .= ",".$this->db->pdate("p.datec")." as dc"; $sql .= " FROM ".MAIN_DB_PREFIX."prelevement as p"; @@ -80,6 +80,7 @@ class BonPrelevement $this->amount = $obj->amount; $this->note = stripslashes($obj->note); $this->datec = $obj->dc; + $this->credite = $obj->credite; return 0; } @@ -96,6 +97,85 @@ class BonPrelevement return -2; } } + /** + * + * + */ + function set_credite() + { + $sql = " UPDATE ".MAIN_DB_PREFIX."prelevement "; + $sql .= " SET credite = 1"; + $sql .= " WHERE rowid=".$this->id; + + $result=$this->db->query($sql); + if ($result) + { + /** + * + * + * + */ + $facs = array(); + $facs = $this->_get_list_factures(); + + for ($i = 0 ; $i < sizeof($facs) ; $i++) + { + $fac = new Facture($this->db); + + /* Tag la facture comme impayée */ + dolibarr_syslog("RejetPrelevement::Create set_payed fac ".$facs[$i]); + $fac->set_payed($facs[$i]); + } + } + else + { + dolibarr_syslog("bon-prelevment::Fetch Erreur "); + dolibarr_syslog($sql); + return -2; + } + } + + /** + * \brief Recupére la liste des factures concernées + * \param rowid id de la facture a récupérer + * \param societe_id id de societe + */ + function _get_list_factures() + { + $arr = array(); + /* + * Renvoie toutes les factures présente + * dans un bon de prélèvement + */ + + $sql = "SELECT f.rowid as facid"; + $sql .= " FROM ".MAIN_DB_PREFIX."prelevement_facture as pf"; + $sql .= " WHERE pf.fk_prelevement = ".$this->id; + + $result=$this->db->query($sql); + if ($result) + { + $num = $this->db->num_rows(); + + if ($num) + { + $i = 0; + while ($i < $num) + { + $row = $this->db->fetch_row(); + $arr[$i] = $row[0]; + $i++; + } + } + $this->db->free(); + } + else + { + dolibarr_syslog("Prelevement Erreur"); + } + + return $arr; + } /* *