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","&amp;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","","&amp;socidp=$socidp","",$sortfield);
+      print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"f.datef","","&amp;socidp=$socidp",'align="center"',$sortfield);
+      print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&amp;socidp=$socidp","",$sortfield);
+      print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total","","&amp;socidp=$socidp",'align="right"',$sortfield);
+      print_liste_field_titre($langs->trans("AmountTTC"),$_SERVER["PHP_SELF"],"f.total_ttc","","&amp;socidp=$socidp",'align="right"',$sortfield);
+      print_liste_field_titre($langs->trans("Received"),$_SERVER["PHP_SELF"],"am","","&amp;socidp=$socidp",'align="right"',$sortfield);
+      print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"fk_statut,paye","","&amp;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>&nbsp;</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>&nbsp;\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.'&amp;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">&nbsp;</td>';
+	    print "</tr>\n";
+	  }
+	}
+	
+      print "</table>";
+      $db->free();
+    }
+  else
+    {
+      dolibarr_print_error($db);
+    }    
+
+}
+
+      
+
+
+$db->close();
+
+llxFooter("<em>Derni&egrave;re modification $Date$ r&eacute;vision $Revision$</em>");
+?>
-- 
GitLab