garant/Controleur/ControleurAjaxfacturesclassiquesexport.php
2025-12-01 19:18:15 +00:00

122 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/Facture.php';
class ControleurAjaxfacturesclassiquesexport extends Controleurrequete
{
private $facture;
public function __construct() {
$this->facture = new Facture();
}
public function index()
{
$d1 = $this->requete->getParametreDate("d1");
$d2 = $this->requete->getParametreDate("d2");
$filtre = $this->requete->getParametreFormulaire("filtre");
if($filtre=="0"){
$dossiers = $this->facture->getdossiersclassiquesexport($d1, $d2) ;
}elseif($filtre=="1")
{
$dossiers = $this->facture->getdossiersclassiquesassuresexport($d1, $d2);
}elseif($filtre=="2")
{
$dossiers = $this->facture->getbordereauxrbclpolicesexport($d1, $d2);
}
// Excel
if($filtre=="2"){
$headerXLS = array
(
_("Réclamation"),
_("Système"),
_("ID Bordereau"),
_("Nbre Dossier"),
_("Nbre Facture"),
_("Réclamé"),
_("Rejet"),
_("Exclu"),
_("Base"),
_("T M"),
_("A Rembourser"),
_("Dépassement"),
_("Retenu"),
_("Règlement")
);
}else{
$headerXLS = array
(
_('Date'),
_('Date Saisie'),
_('Prestataire Cons'),
_('ID Dossier'),
_('Nbre Facture'),
_('Réclamé'),
_('Rejet'),
_('Exclu'),
_('Base'),
_('T M'),
_('A Rembourser'),
_('Dépassement'),
_('Retenu'),
_('Règlement'),
_('ID Bordereau')
);
}
$dataXLS = array();
foreach ($dossiers as $v)
{
$dataXLS[]=$v;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('REMBOURSEMENTS DIRECT'));
$feuille->setCellValue('A1', convertirc($_SESSION['nomSociete']));
if($filtre=="2"){
$feuille->setCellValue('A2', convertirc(_('LISTE DES BORDEREAUX RD DU ').' '.dateLang($d1).' AU '.dateLang($d2)));
}else{
$feuille->setCellValue('A2', convertirc(_('LISTE DES DOSSIERS RD DU ').' '.dateLang($d1).' AU '.dateLang($d2)));
}
$feuille->mergeCells('A2:D2');
$feuille->fromArray($headerXLS, NULL, 'A5', true);
$feuille->fromArray($dataXLS, NULL, 'A6', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_DOSSIERS_RD'."_".uniqid().".xlsx";
$writer = new Xlsx($classeur);
$writer->save($fichier);
$t_html =' <div id ="div_export_a" class="alert alert-info"> ';
$t_html .=' <a style="font-size:15pt;" href="'.$fichier.'" target="_blank" > '._("TELECHARGER").' </a> ';
$t_html .=' </div ';
echo $t_html;
exit();
}
}