diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php new file mode 100644 index 00000000000..91719994f67 --- /dev/null +++ b/htdocs/fourn/facture/paiement.php @@ -0,0 +1,219 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ +require("./pre.inc.php3"); +require("./paiementfourn.class.php"); + +$db = new Db(); + +/* + * Sécurité accés client + */ +if ($user->societe_id > 0) +{ + $action = ''; + $socidp = $user->societe_id; +} +/* + * + */ +if ($action == 'add') { + $paiementfourn = new PaiementFourn($db); + + $paiementfourn->facid = $facid; + $paiementfourn->datepaye = $db->idate(mktime(12, 0 , 0, + $HTTP_POST_VARS["remonth"], + $HTTP_POST_VARS["reday"], + $HTTP_POST_VARS["reyear"])); + $paiementfourn->amount = $amount; + $paiementfourn->author = $author; + $paiementfourn->paiementid = $paiementid; + $paiementfourn->num_paiement = $num_paiement; + $paiementfourn->note = $note; + + if ( $paiementfourn->create($user) ) + { + Header("Location: fiche.php3?facid=$facid"); + } + + $action = ''; + +} + +/* + * + * + */ + +llxHeader(); + +if ($action == 'create') +{ + + $sql = "SELECT s.nom,s.idp, f.amount, f.total_ttc, f.facnumber"; + $sql .= " FROM societe as s, llx_facture_fourn as f WHERE f.fk_soc = s.idp"; + $sql .= " AND f.rowid = $facid"; + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows(); + if ($num) + { + $obj = $db->fetch_object( 0); + + $total = $obj->total_ttc; + + print_titre("Emettre un paiement"); + print '
'; + print ''; + print ''; + + print ""; + + print ''; + print ""; + + print ""; + + $sql = "SELECT sum(p.amount) FROM llx_paiementfourn as p WHERE p.fk_facture_fourn = $facid;"; + $result = $db->query($sql); + if ($result) { + $sumpayed = $db->result(0,0); + $db->free(); + } + print ''; + + print ""; + + print ""; + print "facnumber\">"; + print "idp\">"; + print "nom\">"; + + $html = new Form($db); + + print ""; + + print ""; + + print "\n"; + + print "\n"; + + print "'; + + print "\n"; + print "\n"; + print "\n"; + print ''; + print "\n"; + print "
Facture
Numéro :'; + print ''.$obj->facnumber.'
Société :$obj->nom
Montant :".price($obj->total_ttc)." euros TTC
Déjà payé'.price($sumpayed).' euros TTC
Paiement
Date :"; + $html->select_date(); + print "Commentaires :
Type :
"; + print "
"; + print '
Numéro :
Num du cheque ou virement
Reste à payer :".price($total - $sumpayed)." euros TTC
Montant :
\n"; + + } + } +} + +if ($action == '') { + + if ($page == -1) + { + $page = 0 ; + } + $limit = $conf->liste_limit; + $offset = $limit * $page ; + + $sql = "SELECT ".$db->pdate("p.datep")." as dp, p.amount, f.amount as fa_amount, f.facnumber"; + $sql .=", f.rowid as facid, c.libelle as paiement_type, p.num_paiement"; + $sql .= " FROM llx_paiementfourn as p, llx_facture_fourn as f, c_paiement as c"; + $sql .= " WHERE p.fk_facture_fourn = f.rowid AND p.fk_paiement = c.id"; + + if ($socidp) + { + $sql .= " AND f.fk_soc = $socidp"; + } + + $sql .= " ORDER BY datep DESC"; + $sql .= $db->plimit( $limit ,$offset); + $result = $db->query($sql); + + if ($result) + { + $num = $db->num_rows(); + $i = 0; + $var=True; + + print_barre_liste("Paiements", $page, $PHP_SELF); + + print ''; + print ''; + print ""; + print ""; + print ""; + print ''; + print ""; + print "\n"; + + while ($i < $num) + { + $objp = $db->fetch_object( $i); + $var=!$var; + print ""; + print "\n"; + print "\n"; + print "\n"; + print ''; + print ""; + $i++; + } + print "
FactureDateTypeMontant 
facid\">$objp->facnumber".strftime("%d %B %Y",$objp->dp)."$objp->paiement_type $objp->num_paiement'.price($objp->amount).' 
"; + } + else + { + print $db->error(); + } + +} + +$db->close(); + +llxFooter("Dernière modification $Date$ révision $Revision$"); +?> diff --git a/htdocs/fourn/facture/paiementfourn.class.php b/htdocs/fourn/facture/paiementfourn.class.php new file mode 100644 index 00000000000..40bcfb1798a --- /dev/null +++ b/htdocs/fourn/facture/paiementfourn.class.php @@ -0,0 +1,104 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + +class PaiementFourn +{ + var $id; + var $db; + var $facid; + var $datepaye; + var $amount; + var $author; + var $paiementid; // numero du paiement dans le cas ou une facture paye +ieur fois + var $num_paiement; + var $note; + /* + * + * + * + */ + Function PaiementFourn($DB) + { + $this->db = $DB ; + } + /* + * + * + * + */ + Function create($user) + { + /* + * Insertion dans la base + */ + + $sql = "INSERT INTO llx_paiementfourn (fk_facture_fourn, datec, datep, amount, fk_user_author, fk_paiement, num_paiement, note)"; + $sql .= " VALUES ($this->facid, now(), $this->datepaye,$this->amount, $user->id, $this->paiementid, '$this->num_paiement', '$this->note')"; + + $result = $this->db->query($sql); + + if ($result) + { + $label = "Facture $this->facnumber - $this->societe"; + $sql = "INSERT INTO llx_bank (datec, dateo, amount, author, label)"; + $sql .= " VALUES (now(), $this->datepaye, $this->amount,'$this->author', '$this->label')"; + //$result = $this->db->query($sql); + } + else + { + print "$sql"; + } + + return 1; + } + /* + * + * + * + */ + Function select($name, $filtre='', $id='') + { + $form = new Form($this->db); + + if ($filtre == 'crédit') + { + $sql = "SELECT id, libelle FROM c_paiement WHERE type IN (0,2) ORDER BY libelle"; + } + elseif ($filtre == 'débit') + { + $sql = "SELECT id, libelle FROM c_paiement WHERE type IN (1,2) ORDER BY libelle"; + } + else + { + $sql = "SELECT id, libelle FROM c_paiement ORDER BY libelle"; + } + $form->select($name, $sql, $id); + } + + /* + * + * + * + */ + +} +?>