31require
'../../main.inc.php';
32require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.facture.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/core/lib/prelevement.lib.php';
36require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/salaries/class/salary.class.php';
40$langs->loadLangs(array(
'banks',
'categories',
'withdrawals'));
45 $socid = $user->socid;
49$usercancreate = $user->hasRight(
'paymentbybanktransfer',
'create');
63llxHeader(
'', $langs->trans(
"SuppliersStandingOrdersArea"));
66 $langs->load(
"errors");
67 setEventMessages($langs->trans(
"ErrorModuleSetupNotComplete", $langs->transnoentitiesnoconv(
"PaymentByBankTransfer")),
null,
'errors');
70$thirdpartystatic =
new Societe($db);
78 $newcardbutton .=
dolGetButtonTitle($langs->trans(
'NewPaymentByBankTransfer'),
'',
'fa fa-plus-circle', DOL_URL_ROOT.
'/compta/prelevement/create.php?type=bank-transfer');
81print
load_fiche_titre($langs->trans(
"SuppliersStandingOrdersArea"), $newcardbutton);
84print
'<div class="fichecenter"><div class="fichethirdleft">';
87print
'<div class="div-table-responsive-no-min">';
88print
'<table class="noborder centpercent">';
89print
'<tr class="liste_titre"><th colspan="2">'.$langs->trans(
"Statistics").
'</th></tr>';
93if (isModEnabled(
'supplier_invoice')) {
94 print
'<tr class="oddeven"><td>'.$langs->trans(
"NbOfInvoiceToPayByBankTransfer").
'</td>';
95 print
'<td class="right">';
96 $amounttoshow = $bprev->SommeAPrelever(
'bank-transfer');
97 print
'<a class="badge badge-info" href="'.DOL_URL_ROOT.
'/compta/prelevement/demandes.php?status=0&type=bank-transfer" title="'.
price($amounttoshow).
'">';
98 print $bprev->nbOfInvoiceToPay(
'bank-transfer');
101 $totaltoshow += $amounttoshow;
104if (isModEnabled(
'salaries')) {
105 print
'<tr class="oddeven"><td>'.$langs->trans(
"NbOfInvoiceToPayByBankTransferForSalaries").
'</td>';
106 print
'<td class="right">';
107 $amounttoshow = $bprev->SommeAPrelever(
'bank-transfer',
'salary');
108 print
'<a class="badge badge-info" href="'.DOL_URL_ROOT.
'/compta/prelevement/demandes.php?status=0&type=bank-transfer&sourcetype=salary" title="'.
price($amounttoshow).
'">';
109 print $bprev->nbOfInvoiceToPay(
'bank-transfer',
'salary');
112 $totaltoshow += $amounttoshow;
115print
'<tr class="oddeven"><td>'.$langs->trans(
"Total").
'</td>';
116print
'<td class="right"><span class="amount nowraponall">';
117print
price($totaltoshow, 0,
'', 1, -1, -1,
'auto');
118print
'</span></td></tr></table></div><br>';
124if (isModEnabled(
'supplier_invoice')) {
125 $sql =
"SELECT f.ref, f.rowid, f.total_ttc, f.fk_statut, f.paye, f.type, f.datef, f.date_lim_reglement,";
126 $sql .=
" pfd.date_demande, pfd.amount,";
127 $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";
128 $sql .=
" FROM ".MAIN_DB_PREFIX.
"facture_fourn as f,";
129 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s,";
130 $sql .=
" ".MAIN_DB_PREFIX.
"prelevement_demande as pfd";
131 $sql .=
" WHERE s.rowid = f.fk_soc";
132 $sql .=
" AND f.entity IN (".getEntity(
'supplier_invoice').
")";
133 $sql .=
" AND f.total_ttc > 0";
135 $sql .=
" AND f.fk_statut = ".FactureFournisseur::STATUS_VALIDATED;
137 $sql .=
" AND pfd.traite = 0";
138 $sql .=
" AND pfd.ext_payment_id IS NULL";
139 $sql .=
" AND pfd.fk_facture_fourn = f.rowid";
141 $sql .=
" AND f.fk_soc = ".((int) $socid);
144 $resql = $db->query($sql);
147 $num = $db->num_rows($resql);
150 print
'<div class="div-table-responsive-no-min">';
151 print
'<table class="noborder centpercent">';
152 print
'<tr class="liste_titre">';
153 print
'<th colspan="5">'.$langs->trans(
"SupplierInvoiceWaitingWithdraw").
' <span class="opacitymedium">('.$num.
')</span></th></tr>';
155 while ($i < $num && $i < 20) {
156 $obj = $db->fetch_object($resql);
158 $invoicestatic->id = $obj->rowid;
159 $invoicestatic->ref = $obj->ref;
160 $invoicestatic->status = $obj->fk_statut;
161 $invoicestatic->statut = $obj->fk_statut;
162 $invoicestatic->paye = $obj->paye;
163 $invoicestatic->paid = $obj->paye;
164 $invoicestatic->type = $obj->type;
165 $invoicestatic->date = $db->jdate($obj->datef);
166 $invoicestatic->date_echeance = $db->jdate($obj->date_lim_reglement);
167 $invoicestatic->total_ttc = $obj->total_ttc;
169 $alreadypayed = $invoicestatic->getSommePaiement();
171 $thirdpartystatic->id = $obj->socid;
172 $thirdpartystatic->name = $obj->name;
173 $thirdpartystatic->email = $obj->email;
174 $thirdpartystatic->tva_intra = $obj->tva_intra;
175 $thirdpartystatic->idprof1 = $obj->idprof1;
176 $thirdpartystatic->idprof2 = $obj->idprof2;
177 $thirdpartystatic->idprof3 = $obj->idprof3;
178 $thirdpartystatic->idprof4 = $obj->idprof4;
179 $thirdpartystatic->idprof5 = $obj->idprof5;
180 $thirdpartystatic->idprof6 = $obj->idprof6;
183 print
'<tr class="oddeven"><td class="nowraponall">';
184 print $invoicestatic->getNomUrl(1,
'withdraw');
187 print
'<td class="tdoverflowmax150">';
188 print $thirdpartystatic->getNomUrl(1,
'supplier');
191 print
'<td class="right">';
192 print
'<span class="amount">'.price($obj->amount).
'</span>';
195 print
'<td class="right">';
199 print
'<td class="right">';
200 print $invoicestatic->getLibStatut(3, $alreadypayed);
206 $titlefortab = $langs->transnoentitiesnoconv(
"BankTransfer");
207 print
'<tr class="oddeven"><td colspan="5"><span class="opacitymedium">'.$langs->trans(
"NoSupplierInvoiceToWithdraw", $titlefortab, $titlefortab).
'</span></td></tr>';
209 print
"</table></div><br>";
215if (isModEnabled(
'salaries')) {
216 $sqlForSalary =
"SELECT * FROM ".MAIN_DB_PREFIX.
"salary as s, ".MAIN_DB_PREFIX.
"prelevement_demande as pd";
217 $sqlForSalary .=
" WHERE s.rowid = pd.fk_salary AND s.paye = 0 AND pd.traite = 0";
218 $sqlForSalary .=
" AND s.entity IN (".getEntity(
'salary').
")";
220 $resql2 = $db->query($sqlForSalary);
222 $numRow = $db->num_rows($resql2);
225 print
'<div class="div-table-responsive-no-min">';
226 print
'<table class="noborder rightpercent">';
227 print
'<tr class="liste_titre">';
228 print
'<th colspan="5">'.$langs->trans(
"SalaryInvoiceWaitingWithdraw").
' <span class="opacitymedium">('.$numRow.
')</span></th></tr>';
231 while ($j < $numRow && $j < 10) {
232 $objSalary = $db->fetch_object($resql2);
234 $user->fetch($objSalary->fk_user);
236 $salary->fetch($objSalary->fk_salary);
238 $alreadypayedS = $salary->getSommePaiement();
240 print
'<tr class="oddeven"><td class="nowraponall">';
241 print $salary->getNomUrl(1);
244 print
'<td class="tdoverflowmax150">';
245 print $user->getNomUrl(-1);
248 print
'<td class="right">';
249 print
'<span class="amount">'.price($objSalary->amount).
'</span>';
252 print
'<td class="right" title="'.$langs->trans(
"DateRequest").
'">';
253 print
dol_print_date($db->jdate($objSalary->date_demande),
'day');
256 print
'<td class="right">';
257 print $salary->getLibStatut(3, $alreadypayedS);
263 $titlefortab = $langs->transnoentitiesnoconv(
"BankTransfer");
264 print
'<tr class="oddeven"><td colspan="5"><span class="opacitymedium">'.$langs->trans(
"NoSalaryInvoiceToWithdraw", $titlefortab, $titlefortab).
'</span></td></tr>';
266 print
"</table></div><br>";
273print
'</div><div class="fichetwothirdright">';
280$sql =
"SELECT p.rowid, p.ref, p.amount, p.datec, p.statut";
281$sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_bons as p";
282$sql .=
" WHERE p.type = 'bank-transfer'";
283$sql .=
" AND p.entity IN (".getEntity(
'invoice').
")";
284$sql .=
" ORDER BY datec DESC";
285$sql .= $db->plimit($limit);
287$result = $db->query($sql);
289 $num = $db->num_rows($result);
292 print
"\n<!-- debut table -->\n";
293 print
'<div class="div-table-responsive-no-min">';
294 print
'<table class="noborder centpercent">';
295 print
'<tr class="liste_titre">';
296 print
'<th>'.$langs->trans(
"LatestBankTransferReceipts", $limit).
'</th>';
297 print
'<th>'.$langs->trans(
"Date").
'</th>';
298 print
'<th class="right">'.$langs->trans(
"Amount").
'</th>';
299 print
'<th class="right">'.$langs->trans(
"Status").
'</th>';
303 while ($i < min($num, $limit)) {
304 $obj = $db->fetch_object($result);
306 print
'<tr class="oddeven">';
308 print
'<td class="nowraponall">';
309 $bprev->id = $obj->rowid;
310 $bprev->ref = $obj->ref;
311 $bprev->statut = $obj->statut;
312 print $bprev->getNomUrl(1);
314 print
'<td>'.dol_print_date($db->jdate($obj->datec),
"dayhour").
"</td>\n";
315 print
'<td class="right nowraponall"><span class="amount">'.price($obj->amount).
"</span></td>\n";
316 print
'<td class="right"><span class="amount">'.$bprev->getLibStatut(3).
"</span></td>\n";
322 print
'<tr><td colspan="4"><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td></tr>';
325 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($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
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=null, $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
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.