From 0578acf414d7ff6667721397e640eb1f3e0cc282 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 5 Sep 2010 01:20:53 +0000 Subject: [PATCH] Work on withdrawal module --- htdocs/admin/prelevement.php | 88 ++---- .../class/bon-prelevement.class.php | 11 +- htdocs/compta/prelevement/create.php | 283 +++++++++++------- htdocs/compta/prelevement/stats.php | 44 ++- 4 files changed, 225 insertions(+), 201 deletions(-) diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index c75a1c39746..7523ff97798 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -44,7 +44,7 @@ $result = restrictedArea($user, 'prelevement', '', '', 'bons');*/ if ($_GET["action"] == "set") { - for ($i = 1 ; $i < 7 ; $i++) + for ($i = 6 ; $i < 7 ; $i++) { dolibarr_set_const($db, $_POST["nom$i"], $_POST["value$i"],'chaine',0,'',$conf->entity); } @@ -91,31 +91,6 @@ print ''.$langs->trans("Parameter").''; print ''.$langs->trans("Value").''; print ''.$langs->trans("CurrentValue").''; print "\n"; -print ''.$langs->trans("NumeroNationalEmetter").''; -print ''; -print ''; -print ''; -print ''.$conf->global->PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR.''; -print ''.$langs->trans("Name").''; -print ''; -print ''; -print ''; -print ''.$conf->global->PRELEVEMENT_RAISON_SOCIALE.''; -print ''.$langs->trans("BankCode").''; -print ''; -print ''; -print ''; -print ''.$conf->global->PRELEVEMENT_CODE_BANQUE.''; -print ''.$langs->trans("DeskCode").''; -print ''; -print ''; -print ''; -print ''.$conf->global->PRELEVEMENT_CODE_GUICHET.''; -print ''.$langs->trans("AccountNumber").''; -print ''; -print ''; -print ''; -print ''.$conf->global->PRELEVEMENT_NUMERO_COMPTE.''; print ''.$langs->trans("ResponsibleUser").''; print ''; print ''; @@ -138,9 +113,9 @@ print ''; print ''; print '
'; + /* * Notifications - * TODO Use notification module instead */ if ($conf->global->MAIN_MODULE_NOTIFICATION) @@ -157,47 +132,38 @@ if ($conf->global->MAIN_MODULE_NOTIFICATION) print ''.$langs->trans("Action").''; print "\n"; print ''; - print ''; - print ''; + print $html->select_users(0,'user',1); + print ''; print ''; print ''; print ''; } - +// List of current notifications for objet_type='withdraw' $sql = "SELECT u.name, u.firstname"; -$sql.= ", pn.action, pn.rowid"; +$sql.= ", ad.rowid, ad.code, ad.titre"; $sql.= " FROM ".MAIN_DB_PREFIX."user as u"; -$sql.= ", ".MAIN_DB_PREFIX."prelevement_notifications as pn"; -$sql.= " WHERE u.rowid = pn.fk_user"; +$sql.= ", ".MAIN_DB_PREFIX."notify_def as nd"; +$sql.= ", ".MAIN_DB_PREFIX."action_def as ad"; +$sql.= " WHERE u.rowid = nd.fk_user AND nd.fk_action = ad.rowid"; +$sql.= " ad.objet_type = 'withdraw'"; $sql.= " AND u.entity IN (0,".$conf->entity.")"; - $resql = $db->query($sql); - if ($resql) { $num = $db->num_rows($resql); @@ -210,11 +176,11 @@ if ($resql) print ""; print ''.$obj->firstname." ".$obj->name.''; - print ''.$obj->action.''; + print ''.$obj->titre.''; if ($user->rights->prelevement->bons->configurer) { - print 'rowid.'">'.img_delete().''; + print 'code.'">'.img_delete().''; } else { diff --git a/htdocs/compta/prelevement/class/bon-prelevement.class.php b/htdocs/compta/prelevement/class/bon-prelevement.class.php index d6c2a3238a0..4e6850f92f0 100644 --- a/htdocs/compta/prelevement/class/bon-prelevement.class.php +++ b/htdocs/compta/prelevement/class/bon-prelevement.class.php @@ -975,13 +975,10 @@ class BonPrelevement extends CommonObject if (!$error) { /* - * Bon de Prelevement - * - * + * Withdraw receipt */ - dol_syslog("Debut prelevement"); - dol_syslog("Nombre de factures ".sizeof($factures_prev)); + dol_syslog("Debut prelevement - Nombre de factures ".sizeof($factures_prev)); if (sizeof($factures_prev) > 0) { @@ -1233,7 +1230,7 @@ class BonPrelevement extends CommonObject /** - * Write recipient of withdraw + * Write recipient of withdraw (me) * @param rowid Id of line * @param client_nom Name of customer * @param rib_banque @@ -1302,7 +1299,7 @@ class BonPrelevement extends CommonObject /** - * Write sender (me) + * Write sender (customer) */ function EnregEmetteur() { diff --git a/htdocs/compta/prelevement/create.php b/htdocs/compta/prelevement/create.php index b4796620d61..3870830ab49 100644 --- a/htdocs/compta/prelevement/create.php +++ b/htdocs/compta/prelevement/create.php @@ -46,16 +46,16 @@ $result = restrictedArea($user, 'prelevement', '', '', 'bons'); if ($_GET["action"] == 'create') { - $bprev = new BonPrelevement($db); - $result=$bprev->create($conf->global->PRELEVEMENT_CODE_BANQUE, $conf->global->PRELEVEMENT_CODE_GUICHET); - if ($result < 0) - { - $mesg='
'.$bprev->error.'
'; - } - if ($result == 0) - { - $mesg='
'.$langs->trans("NoInvoiceCouldBeWithdrawed").'
'; - } + $bprev = new BonPrelevement($db); + $result=$bprev->create($conf->global->PRELEVEMENT_CODE_BANQUE, $conf->global->PRELEVEMENT_CODE_GUICHET); + if ($result < 0) + { + $mesg='
'.$bprev->error.'
'; + } + if ($result == 0) + { + $mesg='
'.$langs->trans("NoInvoiceCouldBeWithdrawed").'
'; + } } @@ -82,7 +82,7 @@ $nb1=$bprev->NbFactureAPrelever(1); $nb11=$bprev->NbFactureAPrelever(1,1); if ($nb < 0 || $nb1 < 0 || $nb11 < 0) { - dol_print_error($bprev->error); + dol_print_error($bprev->error); } print ''; @@ -90,101 +90,100 @@ print ''; print ''; -print ''; -print ''; -print ''; -print '
'.$langs->trans("NbOfInvoiceToWithdraw").''; print $nb; print '
'.$langs->trans("NbOfInvoiceToWithdraw").' '.$langs->trans("ThirdPartyBankCode").'='.$conf->global->PRELEVEMENT_CODE_BANQUE.''; -print $nb1; -print '
'.$langs->trans("NbOfInvoiceToWithdraw").' '.$langs->trans("ThirdPartyDeskCode").'='.$conf->global->PRELEVEMENT_CODE_GUICHET.''; -print $nb11; -print '
'.$langs->trans("AmountToWithdraw").''; -print price($bprev->SommeAPrelever()); +print '
'; + +print '
'; + +print_fiche_titre($langs->trans("PleaseSelectCustomerBankBANToWithdraw"),'',''); + +print '
'; +print ''; + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; print ''; print '
'.$langs->trans("NumeroNationalEmetter").''; +print ''; +print '
'.$langs->trans("Name").''; +print ''; +print '
'.$langs->trans("BankCode").''; +print ''; +print '
'.$langs->trans("DeskCode").''; +print ''; +print '
'.$langs->trans("AccountNumber").''; +print ''; +print '
'; +print ''; print '
'; +print '
'; +print '
'; + +print ''; + +print ''; +print ''; + +$pricetowithdraw=$bprev->SommeAPrelever(); + +print ''; +print ''; +print ''; + +print '
'.$langs->trans("NbOfInvoiceToWithdraw").' + '.$langs->trans("ThirdPartyBankCode").'='.$conf->global->PRELEVEMENT_CODE_BANQUE.''; +print $nb1; +print '
'.$langs->trans("NbOfInvoiceToWithdraw").' + '.$langs->trans("ThirdPartyBankCode").'='.$conf->global->PRELEVEMENT_CODE_BANQUE.' + '.$langs->trans("ThirdPartyDeskCode").'='.$conf->global->PRELEVEMENT_CODE_GUICHET.''; +print $nb11; +print '
'.$langs->trans("AmountToWithdraw").''; +print price($pricetowithdraw); +print '
'; print ''; if ($mesg) print $mesg; if ($nb) { - print "
\n"; + print "
\n"; - if ($nb) print ''.$langs->trans("CreateAll")."\n"; - if ($nb11) print ''.$langs->trans("CreateBanque")."\n"; - if ($nb1) print ''.$langs->trans("CreateGuichet")."\n"; + if ($nb) + { + if ($pricetowithdraw) print ''.$langs->trans("CreateAll")."\n"; + else print ''.$langs->trans("CreateAll")."\n"; + } + if ($nb11) print ''.$langs->trans("CreateBanque")."\n"; + if ($nb1) print ''.$langs->trans("CreateGuichet")."\n"; - print "
\n"; + print "
\n"; } else { - print $langs->trans("NoInvoiceToWithdraw").'
'; + print $langs->trans("NoInvoiceToWithdraw").'
'; } print '
'; -/* - * Liste des derniers bons - * - */ -$limit=5; - -$sql = "SELECT p.rowid, p.ref, p.amount, p.statut"; -$sql.= ", p.datec"; -$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; -$sql.= " WHERE p.entity = ".$conf->entity; -$sql.= " ORDER BY datec DESC"; -$sql.=$db->plimit($limit); - -$result = $db->query($sql); -if ($result) -{ - $num = $db->num_rows($result); - $i = 0; - - print"\n\n"; - print ''; - print ''; - print ''; - print ''; - - $var=True; - - while ($i < min($num,$limit)) - { - $obj = $db->fetch_object($result); - $var=!$var; - - print "\n"; - print '\n"; - - print '\n"; - - print "\n"; - $i++; - } - print "
'.$langs->trans("LastWithdrawalReceipts",$limit).''.$langs->trans("Amount").'
"; - $bprev->id=$obj->rowid; - $bprev->ref=$obj->ref; - print $bprev->getNomUrl(1); - print "'.dol_print_date($db->jdate($obj->datec),'day')."'.price($obj->amount).' '.$langs->trans("Currency".$conf->monnaie)."

"; - $db->free($result); -} -else -{ - dol_print_error($db); -} - - /* - * Factures en attente de prelevement - * + * Invoices waiting for withdraw */ -$sql = "SELECT f.facnumber, f.rowid, s.nom, s.rowid as socid"; + +$sql = "SELECT f.facnumber, f.rowid, f.total_ttc, s.nom, s.rowid as socid"; $sql .= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; @@ -197,42 +196,106 @@ if ($socid) $sql.= " AND f.fk_soc = ".$socid; $resql=$db->query($sql); if ($resql) { - $num = $db->num_rows($resql); - $i = 0; + $num = $db->num_rows($resql); + $i = 0; - if ($num) - { - print ''; - print ''; - print ''; - $var = True; - while ($i < $num && $i < 20) - { - $obj = $db->fetch_object($resql); - $var=!$var; - print ''; - print ''; - print ''; - $i++; - } + print_fiche_titre($langs->trans("InvoiceWaitingWithdraw").' ('.$num.')','',''); - print "
'.$langs->trans("InvoiceWaitingWithdraw").' ('.$num.')
'; - $invoicestatic->id=$obj->rowid; - $invoicestatic->ref=$obj->facnumber; - print $invoicestatic->getNomUrl(1,'withdraw'); - print ''; - $thirdpartystatic->id=$obj->socid; - $thirdpartystatic->nom=$obj->nom; - print $thirdpartystatic->getNomUrl(1,'customer'); - print '

"; + if ($num) + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + $var = True; + while ($i < $num && $i < 20) + { + $obj = $db->fetch_object($resql); + $var=!$var; + print ''; + print ''; + print '\n"; + print ''; + print ''; + $i++; + } - } + print "
'.$langs->trans("Invoice").''.$langs->trans("ThirdParty").''.$langs->trans("AmountTTC").'
'; + $invoicestatic->id=$obj->rowid; + $invoicestatic->ref=$obj->facnumber; + print $invoicestatic->getNomUrl(1,'withdraw'); + print ''; + $thirdpartystatic->id=$obj->socid; + $thirdpartystatic->nom=$obj->nom; + print $thirdpartystatic->getNomUrl(1,'customer'); + print ''; + print price($obj->total_ttc).' '.$langs->trans("Currency".$conf->monnaie)."

"; + + } } else { - dol_print_error($db); + dol_print_error($db); } +/* + * List of last withdraws + */ +$limit=5; + +print_fiche_titre($langs->trans("LastWithdrawalReceipts",$limit),'',''); + +$sql = "SELECT p.rowid, p.ref, p.amount, p.statut"; +$sql.= ", p.datec"; +$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; +$sql.= " WHERE p.entity = ".$conf->entity; +$sql.= " ORDER BY datec DESC"; +$sql.=$db->plimit($limit); + +$result = $db->query($sql); +if ($result) +{ + $num = $db->num_rows($result); + $i = 0; + + print"\n\n"; + print ''; + print ''; + print ''; + print ''; + + $var=True; + + while ($i < min($num,$limit)) + { + $obj = $db->fetch_object($result); + $var=!$var; + + print "\n"; + print '\n"; + + print '\n"; + + print "\n"; + $i++; + } + print "
'.$langs->trans("Ref").''.$langs->trans("Date").''.$langs->trans("Amount").'
"; + $bprev->id=$obj->rowid; + $bprev->ref=$obj->ref; + print $bprev->getNomUrl(1); + print "'.dol_print_date($db->jdate($obj->datec),'day')."'.price($obj->amount).' '.$langs->trans("Currency".$conf->monnaie)."

"; + $db->free($result); +} +else +{ + dol_print_error($db); +} + + +$db->close(); + llxFooter('$Date$ - $Revision$'); ?> diff --git a/htdocs/compta/prelevement/stats.php b/htdocs/compta/prelevement/stats.php index 637b52039ee..987dd6bffcc 100644 --- a/htdocs/compta/prelevement/stats.php +++ b/htdocs/compta/prelevement/stats.php @@ -45,30 +45,29 @@ llxHeader('',$langs->trans("WithdrawStatistics")); print_fiche_titre($langs->trans("WithdrawStatistics")); - +// Define total and nbtotal $sql = "SELECT sum(pl.amount), count(pl.amount)"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; $sql.= " WHERE pl.fk_soc = s.rowid"; $sql.= " AND s.entity = ".$conf->entity; - $resql=$db->query($sql); if ($resql) { - $num = $db->num_rows($resql); - $i = 0; + $num = $db->num_rows($resql); + $i = 0; - if ( $num >0 ) - { - $row = $db->fetch_row($resql); - $total = $row[0]; - $nbtotal = $row[1]; - } + if ( $num > 0 ) + { + $row = $db->fetch_row($resql); + $total = $row[0]; + $nbtotal = $row[1]; + } } + /* * Stats - * */ $sql = "SELECT sum(pl.amount), count(pl.amount), pl.statut"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; @@ -142,30 +141,29 @@ else print '
'; print_titre($langs->trans("WithdrawRejectStatistics")); - +// Define total and nbtotal $sql = "SELECT sum(pl.amount), count(pl.amount)"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; $sql.= " WHERE pl.fk_soc = s.rowid"; $sql.= " AND s.entity = ".$conf->entity; -$sql.= " WHERE pl.statut = 3"; +$sql.= " AND pl.statut = 3"; $resql=$db->query($sql); if ($resql) { - $num = $db->num_rows($resql); - $i = 0; + $num = $db->num_rows($resql); + $i = 0; - if ( $num > 0 ) - { - $row = $db->fetch_row($resql); - $total = $row[0]; - $nbtotal = $row[1]; - } + if ( $num > 0 ) + { + $row = $db->fetch_row($resql); + $total = $row[0]; + $nbtotal = $row[1]; + } } /* * Stats sur les rejets - * */ $sql = "SELECT sum(pl.amount), count(pl.amount) as cc, pr.motif"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; @@ -225,7 +223,7 @@ if ($resql) print price($total); print ' '; print ""; - $db->free(); + $db->free($resql); } else {