30require 
'../../main.inc.php';
 
   31require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
 
   32require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
 
   33require_once DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php';
 
   34require_once DOL_DOCUMENT_ROOT.
'/core/lib/prelevement.lib.php';
 
   35require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
 
   36require_once DOL_DOCUMENT_ROOT.
'/salaries/class/salary.class.php';
 
   39$langs->loadLangs(array(
'banks', 
'categories', 
'withdrawals'));
 
   42$socid = 
GETPOST(
'socid', 
'int');
 
   44  $socid = $user->socid;
 
   48$usercancreate = $user->rights->paymentbybanktransfer->create;
 
   62llxHeader(
'', $langs->trans(
"SuppliersStandingOrdersArea"));
 
   65  $langs->load(
"errors");
 
   66  setEventMessages($langs->trans(
"ErrorModuleSetupNotComplete", $langs->transnoentitiesnoconv(
"PaymentByBankTransfer")), 
null, 
'errors');
 
   69$thirdpartystatic = 
new Societe($db);
 
   77  $newcardbutton .= 
dolGetButtonTitle($langs->trans(
'NewPaymentByBankTransfer'), 
'', 
'fa fa-plus-circle', DOL_URL_ROOT.
'/compta/prelevement/create.php?type=bank-transfer');
 
   80print 
load_fiche_titre($langs->trans(
"SuppliersStandingOrdersArea"), $newcardbutton);
 
   83print 
'<div class="fichecenter"><div class="fichethirdleft">';
 
   86print 
'<div class="div-table-responsive-no-min">';
 
   87print 
'<table class="noborder centpercent">';
 
   88print 
'<tr class="liste_titre"><th colspan="2">'.$langs->trans(
"Statistics").
'</th></tr>';
 
   92if (isModEnabled(
'supplier_invoice')) {
 
   93  print 
'<tr class="oddeven"><td>'.$langs->trans(
"NbOfInvoiceToPayByBankTransfer").
'</td>';
 
   94  print 
'<td class="right">';
 
   95  $amounttoshow = $bprev->SommeAPrelever(
'bank-transfer');
 
   96  print 
'<a class="badge badge-info" href="'.DOL_URL_ROOT.
'/compta/prelevement/demandes.php?status=0&type=bank-transfer" title="'.
price($amounttoshow).
'">';
 
   97  print $bprev->nbOfInvoiceToPay(
'bank-transfer');
 
  100  $totaltoshow += $amounttoshow;
 
  103if (isModEnabled(
'salaries')) {
 
  104  print 
'<tr class="oddeven"><td>'.$langs->trans(
"NbOfInvoiceToPayByBankTransferForSalaries").
'</td>';
 
  105  print 
'<td class="right">';
 
  106  $amounttoshow = $bprev->SommeAPrelever(
'bank-transfer', 
'salary');
 
  107  print 
'<a class="badge badge-info" href="'.DOL_URL_ROOT.
'/compta/prelevement/demandes.php?status=0&type=bank-transfer&sourcetype=salary" title="'.
price($amounttoshow).
'">';
 
  108  print $bprev->nbOfInvoiceToPay(
'bank-transfer', 
'salary');
 
  111  $totaltoshow += $amounttoshow;
 
  114print 
'<tr class="oddeven"><td>'.$langs->trans(
"Total").
'</td>';
 
  115print 
'<td class="right"><span class="amount nowraponall">';
 
  116print 
price($totaltoshow, 
'', 
'', 1, -1, -1, 
'auto');
 
  117print 
'</span></td></tr></table></div><br>';
 
  123if (isModEnabled(
'supplier_invoice')) {
 
  124  $sql = 
"SELECT f.ref, f.rowid, f.total_ttc, f.fk_statut, f.paye, f.type, f.datef, f.date_lim_reglement,";
 
  125  $sql .= 
" pfd.date_demande, pfd.amount,";
 
  126  $sql .= 
" s.nom as name, s.email, s.rowid as socid, s.tva_intra, s.siren as idprof1, s.siret as idprof2, s.ape as idprof3, s.idprof4, s.idprof5, s.idprof6";
 
  127  $sql .= 
" FROM ".MAIN_DB_PREFIX.
"facture_fourn as f,";
 
  128  $sql .= 
" ".MAIN_DB_PREFIX.
"societe as s,";
 
  129  $sql .= 
" ".MAIN_DB_PREFIX.
"prelevement_demande as pfd";
 
  130  $sql .= 
" WHERE s.rowid = f.fk_soc";
 
  131  $sql .= 
" AND f.entity IN (".getEntity(
'supplier_invoice').
")";
 
  132  $sql .= 
" AND f.total_ttc > 0";
 
  134    $sql .= 
" AND f.fk_statut = ".FactureFournisseur::STATUS_VALIDATED;
 
  136  $sql .= 
" AND pfd.traite = 0";
 
  137  $sql .= 
" AND pfd.ext_payment_id IS NULL";
 
  138  $sql .= 
" AND pfd.fk_facture_fourn = f.rowid";
 
  140    $sql .= 
" AND f.fk_soc = ".((int) $socid);
 
  143  $resql = $db->query($sql);
 
  146    $num = $db->num_rows($resql);
 
  149    print 
'<div class="div-table-responsive-no-min">';
 
  150    print 
'<table class="noborder centpercent">';
 
  151    print 
'<tr class="liste_titre">';
 
  152    print 
'<th colspan="5">'.$langs->trans(
"SupplierInvoiceWaitingWithdraw").
' <span class="opacitymedium">('.$num.
')</span></th></tr>';
 
  154      while ($i < $num && $i < 20) {
 
  155        $obj = $db->fetch_object($resql);
 
  157        $invoicestatic->id = $obj->rowid;
 
  158        $invoicestatic->ref = $obj->ref;
 
  159        $invoicestatic->status = $obj->fk_statut;
 
  160        $invoicestatic->statut = $obj->fk_statut; 
 
  161        $invoicestatic->paye = $obj->paye;
 
  162        $invoicestatic->type = $obj->type;
 
  163        $invoicestatic->date = $db->jdate($obj->datef);
 
  164        $invoicestatic->date_echeance = $db->jdate($obj->date_lim_reglement);
 
  165        $invoicestatic->total_ttc = $obj->total_ttc;
 
  167        $alreadypayed = $invoicestatic->getSommePaiement();
 
  169        $thirdpartystatic->id = $obj->socid;
 
  170        $thirdpartystatic->name = $obj->name;
 
  171        $thirdpartystatic->email = $obj->email;
 
  172        $thirdpartystatic->tva_intra = $obj->tva_intra;
 
  173        $thirdpartystatic->idprof1 = $obj->idprof1;
 
  174        $thirdpartystatic->idprof2 = $obj->idprof2;
 
  175        $thirdpartystatic->idprof3 = $obj->idprof3;
 
  176        $thirdpartystatic->idprof4 = $obj->idprof4;
 
  177        $thirdpartystatic->idprof5 = $obj->idprof5;
 
  178        $thirdpartystatic->idprof6 = $obj->idprof6;
 
  181        print 
'<tr class="oddeven"><td class="nowraponall">';
 
  182        print $invoicestatic->getNomUrl(1, 
'withdraw');
 
  185        print 
'<td class="tdoverflowmax150">';
 
  186        print $thirdpartystatic->getNomUrl(1, 
'supplier');
 
  189        print 
'<td class="right">';
 
  190        print 
'<span class="amount">'.price($obj->amount).
'</span>';
 
  193        print 
'<td class="right">';
 
  197        print 
'<td class="right">';
 
  198        print $invoicestatic->getLibStatut(3, $alreadypayed);
 
  204      $titlefortab = $langs->transnoentitiesnoconv(
"BankTransfer");
 
  205      print 
'<tr class="oddeven"><td colspan="5"><span class="opacitymedium">'.$langs->trans(
"NoSupplierInvoiceToWithdraw", $titlefortab, $titlefortab).
'</span></td></tr>';
 
  207    print 
"</table></div><br>";
 
  213if (isModEnabled(
'salaries')) {
 
  214  $sqlForSalary = 
"SELECT * FROM ".MAIN_DB_PREFIX.
"salary as s, ".MAIN_DB_PREFIX.
"prelevement_demande as pd";
 
  215  $sqlForSalary .= 
" WHERE s.rowid = pd.fk_salary AND s.paye = 0 AND pd.traite = 0";
 
  216  $sqlForSalary .= 
" AND s.entity IN (".getEntity(
'salary').
")";
 
  218  $resql2 = $db->query($sqlForSalary);
 
  220    $numRow = $db->num_rows($resql2);
 
  223    print 
'<div class="div-table-responsive-no-min">';
 
  224    print 
'<table class="noborder rightpercent">';
 
  225    print 
'<tr class="liste_titre">';
 
  226    print 
'<th colspan="5">'.$langs->trans(
"SalaryInvoiceWaitingWithdraw").
' <span class="opacitymedium">('.$numRow.
')</span></th></tr>';
 
  229      while ($j < $numRow && $j<10) {
 
  230        $objSalary = $db->fetch_object($resql2);
 
  232        $user->fetch($objSalary->fk_user);
 
  234        $salary->fetch($objSalary->fk_salary);
 
  236        $alreadypayedS = $salary->getSommePaiement();
 
  238        print 
'<tr class="oddeven"><td class="nowraponall">';
 
  239        print $salary->getNomUrl(1);
 
  242        print 
'<td class="tdoverflowmax150">';
 
  243        print $user->getNomUrl(-1);
 
  246        print 
'<td class="right">';
 
  247        print 
'<span class="amount">'.price($objSalary->amount).
'</span>';
 
  250        print 
'<td class="right" title="'.$langs->trans(
"DateRequest").
'">';
 
  251        print 
dol_print_date($db->jdate($objSalary->date_demande), 
'day');
 
  254        print 
'<td class="right">';
 
  255        print $salary->getLibStatut(3, $alreadypayedS);
 
  261      $titlefortab = $langs->transnoentitiesnoconv(
"BankTransfer");
 
  262      print 
'<tr class="oddeven"><td colspan="5"><span class="opacitymedium">'.$langs->trans(
"NoSalaryInvoiceToWithdraw", $titlefortab, $titlefortab).
'</span></td></tr>';
 
  264    print 
"</table></div><br>";
 
  271print 
'</div><div class="fichetwothirdright">';
 
  278$sql = 
"SELECT p.rowid, p.ref, p.amount, p.datec, p.statut";
 
  279$sql .= 
" FROM ".MAIN_DB_PREFIX.
"prelevement_bons as p";
 
  280$sql .= 
" WHERE p.type = 'bank-transfer'";
 
  281$sql .= 
" AND p.entity IN (".getEntity(
'invoice').
")";
 
  282$sql .= 
" ORDER BY datec DESC";
 
  283$sql .= $db->plimit($limit);
 
  285$result = $db->query($sql);
 
  287  $num = $db->num_rows($result);
 
  290  print
"\n<!-- debut table -->\n";
 
  291  print 
'<div class="div-table-responsive-no-min">';
 
  292  print 
'<table class="noborder centpercent">';
 
  293  print 
'<tr class="liste_titre">';
 
  294  print 
'<th>'.$langs->trans(
"LatestBankTransferReceipts", $limit).
'</th>';
 
  295  print 
'<th>'.$langs->trans(
"Date").
'</th>';
 
  296  print 
'<th class="right">'.$langs->trans(
"Amount").
'</th>';
 
  297  print 
'<th class="right">'.$langs->trans(
"Status").
'</th>';
 
  301    while ($i < min($num, $limit)) {
 
  302      $obj = $db->fetch_object($result);
 
  304      print 
'<tr class="oddeven">';
 
  306      print 
'<td class="nowraponall">';
 
  307      $bprev->id = $obj->rowid;
 
  308      $bprev->ref = $obj->ref;
 
  309      $bprev->statut = $obj->statut;
 
  310      print $bprev->getNomUrl(1);
 
  312      print 
'<td>'.dol_print_date($db->jdate($obj->datec), 
"dayhour").
"</td>\n";
 
  313      print 
'<td class="right nowraponall"><span class="amount">'.price($obj->amount).
"</span></td>\n";
 
  314      print 
'<td class="right"><span class="amount">'.$bprev->getLibStatut(3).
"</span></td>\n";
 
  320    print 
'<tr><td colspan="4"><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td></tr>';
 
  323  print 
"</table></div><br>";
 
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
 
Class to manage withdrawal receipts.
 
Class to manage suppliers invoices.
 
Class to manage salary payments.
 
Class to manage third parties objects (customers, suppliers, prospects...)
 
Class to manage Dolibarr users.
 
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
 
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
 
dolGetButtonTitle($label, $helpText='', $iconClass='fa fa-file', $url='', $id='', $status=1, $params=array())
Function dolGetButtonTitle : this kind of buttons are used in title in list.
 
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
 
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs='', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
 
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
 
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
 
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
 
prelevement_check_config($type='direct-debit')
Check need data to create standigns orders receipt file.
 
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.