From 077b4d512e6009bf2463e708ede8b3d5479e228f Mon Sep 17 00:00:00 2001 From: Rodolphe Quiedeville <rodolphe@quiedeville.org> Date: Tue, 18 Jan 2005 10:02:26 +0000 Subject: [PATCH] Nouveau fichier --- htdocs/compta/facture/impayees.php | 305 +++++++++++++++++++++++++++++ 1 file changed, 305 insertions(+) create mode 100644 htdocs/compta/facture/impayees.php diff --git a/htdocs/compta/facture/impayees.php b/htdocs/compta/facture/impayees.php new file mode 100644 index 00000000000..ac6f7f721f5 --- /dev/null +++ b/htdocs/compta/facture/impayees.php @@ -0,0 +1,305 @@ +<?php +/* Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * Copyright (C) 2004 �ric Seigne <eric.seigne@ryxeo.com> + * Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net> + * + * 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$ + * + */ + +/** + \file htdocs/compta/facture.php + \ingroup facture + \brief Page de cr�ation d'une facture + \version $Revision$ +*/ + +require("./pre.inc.php"); + +$user->getrights('facture'); +$user->getrights('banque'); + +if (!$user->rights->facture->lire) + accessforbidden(); + +$langs->load("main"); // BUG De chargement de traduction ne pas modifier cette ligne +$langs->load("bills"); + +require_once DOL_DOCUMENT_ROOT."/facture.class.php"; +require_once DOL_DOCUMENT_ROOT."/paiement.class.php"; + + +if ($_GET["socidp"]) { $socidp=$_GET["socidp"]; } +/* + * S�curit� acc�s client + */ +if ($user->societe_id > 0) +{ + $action = ''; + $socidp = $user->societe_id; +} + +llxHeader('','Factures impay�es'); + + +/*************************************************************************** + * * + * Mode Liste * + * * + ***************************************************************************/ +$page = $_GET["page"]; +$sortorder=$_GET["sortorder"]; +$sortfield=$_GET["sortfield"]; +$month=$_GET["month"]; +$year=$_GET["year"]; + +if ($page == -1) +{ + $page = 0 ; +} + +if ($user->rights->facture->lire) +{ + $limit = $conf->liste_limit; + $offset = $limit * $page ; + + if ($sortorder == "") + $sortorder="DESC"; + + if ($sortfield == "") + $sortfield="f.datef"; + + $sql = "SELECT s.nom,s.idp,f.facnumber,f.increment,f.total,f.total_ttc,".$db->pdate("f.datef")." as df, f.paye as paye, f.rowid as facid, f.fk_statut, sum(pf.amount) as am"; + $sql .= " FROM ".MAIN_DB_PREFIX."societe as s"; + $sql .= ",".MAIN_DB_PREFIX."facture as f"; + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf ON f.rowid=pf.fk_facture "; + $sql .= " WHERE f.fk_soc = s.idp"; + $sql .= " AND f.paye = 0"; + + if ($socidp) + $sql .= " AND s.idp = $socidp"; + + if ($month > 0) + $sql .= " AND date_format(f.datef, '%m') = $month"; + + if ($_GET["filtre"]) + { + $filtrearr = split(",", $_GET["filtre"]); + foreach ($filtrearr as $fil) + { + $filt = split(":", $fil); + $sql .= " AND " . $filt[0] . " = " . $filt[1]; + } + } + + if ($_GET["search_ref"]) + { + $sql .= " AND f.facnumber like '%".$_GET["search_ref"]."%'"; + } + + if ($_GET["search_societe"]) + { + $sql .= " AND s.nom like '%".$_GET["search_societe"]."%'"; + } + + if ($_GET["search_montant_ht"]) + { + $sql .= " AND f.total = '".$_GET["search_montant_ht"]."'"; + } + + if ($_GET["search_montant_ttc"]) + { + $sql .= " AND f.total_ttc = '".$_GET["search_montant_ttc"]."'"; + } + + if ($year > 0) + $sql .= " AND date_format(f.datef, '%Y') = $year"; + + if (strlen($_POST["sf_ref"]) > 0) + { + $sql .= " AND f.facnumber like '%".$_POST["sf_ref"] . "%'"; + } + + $sql .= " GROUP BY f.facnumber"; + + $sql .= " ORDER BY "; + $listfield=split(',',$sortfield); + foreach ($listfield as $key => $value) { + $sql.="$listfield[$key] $sortorder,"; + } + $sql .= " f.rowid DESC "; + + $sql .= $db->plimit($limit+1,$offset); + + $result = $db->query($sql); + + if ($result) + { + $num = $db->num_rows(); + + if ($socidp) + { + $soc = new Societe($db); + $soc->fetch($socidp); + } + + print_barre_liste("Factures client".($socidp?" $soc->nom":""),$page,"impayees.php","&socidp=$socidp",$sortfield,$sortorder,'',$num); + $i = 0; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"f.facnumber","","&socidp=$socidp","",$sortfield); + print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"f.datef","","&socidp=$socidp",'align="center"',$sortfield); + print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&socidp=$socidp","",$sortfield); + print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total","","&socidp=$socidp",'align="right"',$sortfield); + print_liste_field_titre($langs->trans("AmountTTC"),$_SERVER["PHP_SELF"],"f.total_ttc","","&socidp=$socidp",'align="right"',$sortfield); + print_liste_field_titre($langs->trans("Received"),$_SERVER["PHP_SELF"],"am","","&socidp=$socidp",'align="right"',$sortfield); + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"fk_statut,paye","","&socidp=$socidp",'align="right"',$sortfield); + print "</tr>\n"; + + // Lignes des champs de filtre + print '<form method="get" action="impayees.php">'; + print '<tr class="liste_titre">'; + print '<td valign="right">'; + print '<input class="fat" size="10" type="text" name="search_ref" value="'.$_GET["search_ref"].'">'; + print '</td><td> </td>'; + print '<td align="left">'; + print '<input class="fat" type="text" name="search_societe" value="'.$_GET["search_societe"].'">'; + print '</td><td align="right">'; + print '<input class="fat" type="text" size="10" name="search_montant_ht" value="'.$_GET["search_montant_ht"].'">'; + print '</td><td align="right">'; + print '<input class="fat" type="text" size="10" name="search_montant_ttc" value="'.$_GET["search_montant_ttc"].'">'; + print '</td><td colspan="2" align="center">'; + print '<input type="submit" class="button" name="button_search" value="'.$langs->trans("Search").'">'; + print '</td>'; + print "</tr>\n"; + print '</form>'; + + + if ($num > 0) + { + $var=True; + $total=0; + $totalrecu=0; + + while ($i < min($num,$limit)) + { + $objp = $db->fetch_object($result); + $var=!$var; + + if ($objp->am == 0) + { + + print "<tr $bc[$var]>"; + if ($objp->paye) + { + $class = "normal"; + } + else + { + if ($objp->fk_statut == 0) + { + $class = "normal"; + } + else + { + $class = "impayee"; + } + } + + print '<td><a href="facture.php?facid='.$objp->facid.'">'.img_file()."</a> \n"; + print '<a href="facture.php?facid='.$objp->facid.'">'.$objp->facnumber.'</a>'.$objp->increment."</td>\n"; + + if ($objp->df > 0 ) + { + print "<td align=\"center\">"; + $y = strftime("%Y",$objp->df); + $m = strftime("%m",$objp->df); + + print strftime("%d",$objp->df)."\n"; + print ' <a href="impayees.php?year='.$y.'&month='.$m.'">'; + print substr(strftime("%B",$objp->df),0,3)."</a>\n"; + print ' <a href="impayees.php?year='.$y.'">'; + print strftime("%Y",$objp->df)."</a></TD>\n"; + } + else + { + print "<td align=\"center\"><b>!!!</b></td>\n"; + } + print '<td><a href="fiche.php?socid='.$objp->idp.'">'.$objp->nom.'</a></td>'; + + print "<td align=\"right\">".price($objp->total)."</td>"; + print "<td align=\"right\">".price($objp->total_ttc)."</td>"; + print "<td align=\"right\">".price($objp->am)."</td>"; + // Affiche statut de la facture + if (! $objp->paye) + { + if ($objp->fk_statut == 0) + { + print '<td align="center">brouillon</td>'; + } + elseif ($objp->fk_statut == 3) + { + print '<td align="center">abandonn�e</td>'; + } + else + { + print '<td align="center"><a class="'.$class.'" href="impayees.php?filtre=paye:0,fk_statut:1">'.($objp->am?"commenc�":"impay�e").'</a></td>'; + } + } + else + { + print '<td align="center">pay�e</td>'; + } + + print "</tr>\n"; + $total+=$objp->total; + $total_ttc+=$objp->total_ttc; + $totalrecu+=$objp->am; + } + $i++; + } + + if ($num <= $limit) { + // Print total + print "<tr ".$bc[!$var].">"; + print "<td colspan=3 align=\"left\">".$langs->trans("Total").": </td>"; + print "<td align=\"right\"><b>".price($total)."</b></td>"; + print "<td align=\"right\"><b>".price($total_ttc)."</b></td>"; + print "<td align=\"right\"><b>".price($totalrecu)."</b></td>"; + print '<td align="center"> </td>'; + print "</tr>\n"; + } + } + + print "</table>"; + $db->free(); + } + else + { + dolibarr_print_error($db); + } + +} + + + + +$db->close(); + +llxFooter("<em>Dernière modification $Date$ révision $Revision$</em>"); +?> -- GitLab