diff --git a/htdocs/compta/prelevement/stats.php b/htdocs/compta/prelevement/stats.php index bb75e848fea..7d3e94f7bfa 100644 --- a/htdocs/compta/prelevement/stats.php +++ b/htdocs/compta/prelevement/stats.php @@ -28,13 +28,17 @@ if ($user->societe_id > 0) accessforbidden(); llxHeader('','Statistiques prélèvements'); +/* + * + * Stats générales + * + */ + print_titre("Statistiques prélèvements"); -$sql = "SELECT sum(f.total_ttc)"; -$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_facture as pf"; -$sql .= " , ".MAIN_DB_PREFIX."facture as f"; -$sql .= " WHERE pf.fk_facture = f.rowid"; +$sql = "SELECT sum(pl.amount)"; +$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; if ($db->query($sql)) { @@ -52,11 +56,9 @@ if ($db->query($sql)) * Stats * */ -$sql = "SELECT sum(f.total_ttc), pf.statut"; -$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_facture as pf"; -$sql .= " , ".MAIN_DB_PREFIX."facture as f"; -$sql .= " WHERE pf.fk_facture = f.rowid"; -$sql .= " GROUP BY pf.statut"; +$sql = "SELECT sum(pl.amount), pl.statut"; +$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; +$sql .= " GROUP BY pl.statut"; if ($db->query($sql)) { @@ -71,8 +73,9 @@ if ($db->query($sql)) $var=True; $st[0] = "En attente"; - $st[1] = "Crédité"; - $st[2] = "Rejeté"; + $st[1] = "En attente"; + $st[2] = "Crédité"; + $st[3] = "Rejeté"; while ($i < $num) { @@ -85,28 +88,105 @@ if ($db->query($sql)) print ''; print round($row[0]/$total*100,2)." %"; - print ''; - - print "\n"; + print ''; $var=!$var; $i++; } - print "".'Total'; - print ''; - print price($total); - print ' '; - print ''; - - print "\n"; + print "".'Total'; + print ''; + print price($total); + print ' '; + print ""; + $db->free(); +} +else +{ + print $db->error() . ' ' . $sql; +} +/* + * + * Stats sur les rejets + * + */ +print '
'; +print_titre("Statistiques des rejets de prélèvements"); + +$sql = "SELECT sum(pl.amount), count(pl.amount)"; +$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; +$sql .= " WHERE pl.statut = 3"; +if ($db->query($sql)) +{ + $num = $db->num_rows(); + $i = 0; - print ""; - + if ( $num > 0 ) + { + $row = $db->fetch_row(); + $total = $row[0]; + $nbtotal = $row[1]; + } +} + +/* + * Stats sur les rejets + * + */ +$sql = "SELECT sum(pl.amount), count(pl.amount), pr.motif"; +$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; +$sql .= " , ".MAIN_DB_PREFIX."prelevement_rejet as pr"; +$sql .= " WHERE pl.statut = 3"; +$sql .= " AND pr.fk_prelevement_lignes = pl.rowid"; +$sql .= " GROUP BY pr.motif"; + +if ($db->query($sql)) +{ + $num = $db->num_rows(); + $i = 0; + + print"\n\n"; + print ''; + print ''; + print ''; + print ''; + + $var=True; + + require_once DOL_DOCUMENT_ROOT."/compta/prelevement/rejet-prelevement.class.php"; + $Rejet = new RejetPrelevement($db, $user); + + while ($i < $num) + { + $row = $db->fetch_row(); + + print "'; + + $var=!$var; + $i++; + } + print "".''; + print ''; + print "
StatutNombre% en nombreMontant% en montant
"; + print $Rejet->motifs[$row[2]]; + + print ''.$row[1]; + + print ''; + print round($row[1]/$nbtotal*100,2)." %"; + + print ''; + print price($row[0]); + + print ''; + print round($row[0]/$total*100,2)." %"; + print '
Total'.$nbtotal.' '; + print price($total); + print ' 
"; $db->free(); } else