prestation/Controleur/ControleurAjaxrelevecompteprestaireexport.php
2025-12-01 18:54:33 +00:00

100 lines
2.9 KiB
PHP

<?php
require_once 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
require_once 'Framework/Controleurrequete.php'; // OK
require_once 'Modele/Reglement.php';
require_once 'Modele/Prestataire.php';
class ControleurAjaxrelevecompteprestaireexport extends Controleurrequete
{
private $reglement;
public function __construct() {
$this->reglement = new Reglement();
$this->prestataire = new Prestataire();
}
public function index()
{
$codePrestataire = $this->requete->getParametreFormulaire("codePrestataire");
$prestataire = $this->prestataire->getPrestataireCode( $codePrestataire);
$codePerdiode1 = $this->requete->getParametreFormulaire("codePerdiode1");
$codePerdiode2 = $this->requete->getParametreFormulaire("codePerdiode2");
$_SESSION['codeExercice1_C'] = substr($codePerdiode1, 0, 4);
$_SESSION['codeExercice2_C'] = substr($codePerdiode2, 0, 4);
$_SESSION['codeMois1_C'] = substr($codePerdiode1, 4, 2);
$_SESSION['codeMois2_C'] = substr($codePerdiode2, 4, 2);
$decomptes = $this->reglement->getrelevecompteprestaireexport($codePrestataire, $codePerdiode1, $codePerdiode2);
// Excel
$headerXLS = array
(
_('Exercice'),
_('Mois'),
_('No Lot'),
_('Date Reception'),
_('Montant Facture'),
_('Demande Rgt'),
_('A payer'),
_('Date Reglement'),
_('Date Cpt'),
_('Payé'),
_('Mode Paiement'),
_('Banque'),
_('Réf Paiement'),
_('Vérificateur')
);
$dataXLS = array();
foreach ($decomptes as $facture)
{
$dataXLS[]=$facture;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER-SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('RELEVE COMPTE PRESTATAIRE'));
$feuille->setCellValue('A1', convertirc(_('RELEVE COMPTE PRESTATAIRE')));
$feuille->mergeCells('A1:D1');
$feuille->setCellValue('E1', convertirc($prestataire['prestataire']));
$feuille->mergeCells('E1:H1');
$feuille->setCellValue('A2', _('Début').' :');
$feuille->mergeCells('A2:B2');
$feuille->setCellValue('C2', convertirc($codePerdiode1));
$feuille->setCellValue('A3', _('Fin').' :');
$feuille->mergeCells('A3:B3');
$feuille->setCellValue('C3', convertirc($codePerdiode2));
$feuille->fromArray($headerXLS, NULL, 'A5', true);
$feuille->fromArray($dataXLS, NULL, 'A6', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_RELEVE_CPT_PRESTATAIRE'."_".uniqid().".xlsx";
$writer = new Xlsx($classeur);
$writer->save($fichier);
$t_html =' <div id ="div_detail" class="alert alert-info"> ';
$t_html .=' <a style="font-size:15pt;" href="'.$fichier.'" target="_blank" > '._("TELECHARGER").' </a> ';
$t_html .=' </div ';
echo $t_html;
exit();
}
}