Fix credit-transfer vs direct debit
This commit is contained in:
parent
c6c12e7d7a
commit
e8016a5e7e
@ -78,13 +78,13 @@ print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").'</
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("NbOfInvoiceToPayByBankTransfer").'</td>';
|
||||
print '<td class="right">';
|
||||
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/demandes.php?status=0&type=bank-transfer">';
|
||||
print $bprev->NbFactureAPrelever();
|
||||
print $bprev->nbOfInvoiceToPay('credit-transfer');
|
||||
print '</a>';
|
||||
print '</td></tr>';
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("AmountToWithdraw").'</td>';
|
||||
print '<td class="right">';
|
||||
print price($bprev->SommeAPrelever(), '', '', 1, -1, -1, 'auto');
|
||||
print price($bprev->SommeAPrelever('credit-transfer'), '', '', 1, -1, -1, 'auto');
|
||||
print '</td></tr></table></div><br>';
|
||||
|
||||
|
||||
|
||||
@ -687,17 +687,21 @@ class BonPrelevement extends CommonObject
|
||||
/**
|
||||
* Returns amount of withdrawal
|
||||
*
|
||||
* @return double Total amount
|
||||
* @param string $mode 'direct-debit' or 'credit-transfer'
|
||||
* @return double <O if KO, Total amount
|
||||
*/
|
||||
public function SommeAPrelever()
|
||||
public function SommeAPrelever($mode = 'direct-debit')
|
||||
{
|
||||
// phpcs:enable
|
||||
global $conf;
|
||||
|
||||
$sql = "SELECT sum(pfd.amount) as nb";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f,";
|
||||
if ($mode != 'credit-transfer') {
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f,";
|
||||
} else {
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn as f,";
|
||||
}
|
||||
$sql .= " ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
|
||||
//$sql.= " ,".MAIN_DB_PREFIX."c_paiement as cp";
|
||||
$sql .= " WHERE f.fk_statut = 1";
|
||||
$sql .= " AND f.entity IN (".getEntity('invoice').")";
|
||||
$sql .= " AND f.rowid = pfd.fk_facture";
|
||||
@ -719,32 +723,51 @@ class BonPrelevement extends CommonObject
|
||||
$error = 1;
|
||||
dol_syslog(get_class($this)."::SommeAPrelever Erreur -1");
|
||||
dol_syslog($this->db->error());
|
||||
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get number of invoices waiting for payment
|
||||
*
|
||||
* @param string $mode 'direct-debit' or 'credit-transfer'
|
||||
* @return int <O if KO, number of invoices if OK
|
||||
*/
|
||||
public function nbOfInvoiceToPay($mode = 'direct-debit')
|
||||
{
|
||||
return $this->NbFactureAPrelever($mode);
|
||||
}
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
/**
|
||||
* Get number of invoices to withdrawal
|
||||
* TODO delete params banque and agence when not necesary
|
||||
*
|
||||
* @param int $banque dolibarr mysoc bank
|
||||
* @param int $agence dolibarr mysoc agence
|
||||
* @param string $mode 'direct-debit' or 'credit-transfer'
|
||||
* @return int <O if KO, number of invoices if OK
|
||||
*/
|
||||
public function NbFactureAPrelever($banque = 0, $agence = 0)
|
||||
public function NbFactureAPrelever($mode = 'direct-debit')
|
||||
{
|
||||
// phpcs:enable
|
||||
global $conf;
|
||||
|
||||
$sql = "SELECT count(f.rowid) as nb";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f";
|
||||
if ($mode == 'credit-transfer') {
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn as f";
|
||||
} else {
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f";
|
||||
}
|
||||
$sql .= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
|
||||
$sql .= " WHERE f.entity IN (".getEntity('invoice').")";
|
||||
if (empty($conf->global->WITHDRAWAL_ALLOW_ANY_INVOICE_STATUS))
|
||||
{
|
||||
$sql .= " AND f.fk_statut = ".Facture::STATUS_VALIDATED;
|
||||
}
|
||||
$sql .= " AND f.rowid = pfd.fk_facture";
|
||||
if ($mode == 'credit-transfer') {
|
||||
$sql .= " AND f.rowid = pfd.fk_facture_fourn";
|
||||
} else {
|
||||
$sql .= " AND f.rowid = pfd.fk_facture";
|
||||
}
|
||||
$sql .= " AND pfd.traite = 0";
|
||||
$sql .= " AND f.total_ttc > 0";
|
||||
|
||||
|
||||
@ -142,10 +142,8 @@ print load_fiche_titre($title);
|
||||
dol_fiche_head();
|
||||
|
||||
$nb = $bprev->NbFactureAPrelever();
|
||||
$nb1 = $bprev->NbFactureAPrelever(1);
|
||||
$nb11 = $bprev->NbFactureAPrelever(1, 1);
|
||||
$pricetowithdraw = $bprev->SommeAPrelever();
|
||||
if ($nb < 0 || $nb1 < 0 || $nb11 < 0)
|
||||
if ($nb < 0)
|
||||
{
|
||||
dol_print_error($bprev->error);
|
||||
}
|
||||
|
||||
@ -78,13 +78,13 @@ print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").'</
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("NbOfInvoiceToWithdraw").'</td>';
|
||||
print '<td class="right">';
|
||||
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/demandes.php?status=0">';
|
||||
print $bprev->NbFactureAPrelever();
|
||||
print $bprev->nbOfInvoiceToPay('direct-debit');
|
||||
print '</a>';
|
||||
print '</td></tr>';
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("AmountToWithdraw").'</td>';
|
||||
print '<td class="right">';
|
||||
print price($bprev->SommeAPrelever(), '', '', 1, -1, -1, 'auto');
|
||||
print price($bprev->SommeAPrelever('direct-debit'), '', '', 1, -1, -1, 'auto');
|
||||
print '</td></tr></table></div><br>';
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user