[ Index ] |
|
Code source de Dolibarr 2.0.1 |
1 <?PHP 2 /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> 3 * Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 * 19 * $Id: stats.php,v 1.6 2005/08/13 17:11:06 eldy Exp $ 20 * $Source: /cvsroot/dolibarr/dolibarr/htdocs/compta/prelevement/stats.php,v $ 21 */ 22 23 /** 24 \file htdocs/compta/prelevement/stats.php 25 \brief Page de stats des prélèvements 26 \version $Revision: 1.6 $ 27 */ 28 29 require ("./pre.inc.php"); 30 31 if (!$user->rights->prelevement->bons->lire) 32 accessforbidden(); 33 34 // Sécurité accés client 35 if ($user->societe_id > 0) accessforbidden(); 36 37 38 llxHeader('','Statistiques prélèvements'); 39 40 /* 41 * 42 * Stats générales 43 * 44 */ 45 46 print_titre("Statistiques prélèvements"); 47 48 49 $sql = "SELECT sum(pl.amount), count(pl.amount)"; 50 $sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; 51 52 if ($db->query($sql)) 53 { 54 $num = $db->num_rows(); 55 $i = 0; 56 57 if ( $num >0 ) 58 { 59 $row = $db->fetch_row(); 60 $total = $row[0]; 61 $nbtotal = $row[1]; 62 } 63 } 64 65 /* 66 * Stats 67 * 68 */ 69 $sql = "SELECT sum(pl.amount), count(pl.amount), pl.statut"; 70 $sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; 71 $sql .= " GROUP BY pl.statut"; 72 73 if ($db->query($sql)) 74 { 75 $num = $db->num_rows(); 76 $i = 0; 77 78 print"\n<!-- debut table -->\n"; 79 print '<table class="noborder" width="100%">'; 80 print '<tr class="liste_titre">'; 81 print '<td width="30%">'.$langs->trans("Status").'</td><td align="center">'.$langs->trans("Number").'</td><td align="right">%</td>'; 82 print '<td align="right">'.$langs->trans("Amount").'</td><td align="right">%</td></tr>'; 83 84 $var=True; 85 86 $st[0] = "En attente"; 87 $st[1] = "En attente"; 88 $st[2] = "Crédité"; 89 $st[3] = "Rejeté"; 90 91 while ($i < $num) 92 { 93 $row = $db->fetch_row(); 94 95 print "<tr $bc[$var]><td>"; 96 97 print $st[$row[2]]; 98 print '</td><td align="center">'; 99 print $row[1]; 100 101 print '</td><td align="right">'; 102 print round($row[1]/$nbtotal*100,2)." %"; 103 104 print '</td><td align="right">'; 105 106 print price($row[0]); 107 108 print '</td><td align="right">'; 109 print round($row[0]/$total*100,2)." %"; 110 print '</td></tr>'; 111 112 $var=!$var; 113 $i++; 114 } 115 116 print '<tr class="liste_total"><td align="right">'.$langs->trans("Total").'</td>'; 117 print '<td align="center">'.$nbtotal.'</td><td> </td><td align="right">'; 118 print price($total); 119 print '</td><td align="right"> </td>'; 120 print "</tr></table>"; 121 $db->free(); 122 } 123 else 124 { 125 dolibarr_print_error($db); 126 } 127 /* 128 * 129 * Stats sur les rejets 130 * 131 */ 132 print '<br />'; 133 print_titre("Statistiques des rejets de prélèvements"); 134 135 136 $sql = "SELECT sum(pl.amount), count(pl.amount)"; 137 $sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; 138 $sql .= " WHERE pl.statut = 3"; 139 if ($db->query($sql)) 140 { 141 $num = $db->num_rows(); 142 $i = 0; 143 144 if ( $num > 0 ) 145 { 146 $row = $db->fetch_row(); 147 $total = $row[0]; 148 $nbtotal = $row[1]; 149 } 150 } 151 152 /* 153 * Stats sur les rejets 154 * 155 */ 156 $sql = "SELECT sum(pl.amount), count(pl.amount) as cc, pr.motif"; 157 $sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; 158 $sql .= " , ".MAIN_DB_PREFIX."prelevement_rejet as pr"; 159 $sql .= " WHERE pl.statut = 3"; 160 $sql .= " AND pr.fk_prelevement_lignes = pl.rowid"; 161 $sql .= " GROUP BY pr.motif"; 162 $sql .= " ORDER BY cc DESC"; 163 164 if ($db->query($sql)) 165 { 166 $num = $db->num_rows(); 167 $i = 0; 168 169 print"\n<!-- debut table -->\n"; 170 print '<table class="noborder" width="100%">'; 171 print '<tr class="liste_titre">'; 172 print '<td width="30%">'.$langs->trans("Status").'</td><td align="center">'.$langs->trans("Number").'</td>'; 173 print '<td align="right">%</td><td align="right">'.$langs->trans("Amount").'</td><td align="right">%</td></tr>'; 174 175 $var=True; 176 177 require_once DOL_DOCUMENT_ROOT."/compta/prelevement/rejet-prelevement.class.php"; 178 $Rejet = new RejetPrelevement($db, $user); 179 180 while ($i < $num) 181 { 182 $row = $db->fetch_row(); 183 184 print "<tr $bc[$var]><td>"; 185 print $Rejet->motifs[$row[2]]; 186 187 print '</td><td align="center">'.$row[1]; 188 189 print '</td><td align="right">'; 190 print round($row[1]/$nbtotal*100,2)." %"; 191 192 print '</td><td align="right">'; 193 print price($row[0]); 194 195 print '</td><td align="right">'; 196 print round($row[0]/$total*100,2)." %"; 197 198 199 print '</td></tr>'; 200 201 $var=!$var; 202 $i++; 203 } 204 205 print '<tr class="liste_total"><td align="right">'.$langs->trans("Total").'</td><td align="center">'.$nbtotal.'</td>'; 206 print '<td> </td><td align="right">'; 207 print price($total); 208 print '</td><td align="right"> </td>'; 209 print "</tr></table>"; 210 $db->free(); 211 } 212 else 213 { 214 dolibarr_print_error($db); 215 } 216 217 218 $db->close(); 219 220 llxFooter('$Date: 2005/08/13 17:11:06 $ - $Revision: 1.6 $'); 221 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 12:29:37 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |