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

169 lines
4.4 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/Beneficiaire.php';
class ControleurAjaxexporterlisteassure extends Controleurrequete
{
private $beneficiaire;
public function __construct()
{
$this->beneficiaire = new Beneficiaire();
}
public function index()
{
$idPolice = $_SESSION['idPolice_C'];
$dateAnalyse = $this->requete->getParametreDate("dateAnalyse");
$beneficiaires = $this->beneficiaire->getBeneficiairesAexporter($idPolice, $dateAnalyse);
// Excel
$headerXLS = array
(
_('No Client'),
_('Nom Client'),
_('No Police'),
_('Date Effet'),
_('Echéance'),
_('No Adhérent'),
_('Adhérent'),
_('Catégorie'),
_('No Bénéficiaire'),
_('Nom'),
_('Prénoms'),
_('Lien Parenté'),
_('Nature Pièce'),
_('No Pièce'),
_('Genre'),
_('Groupe Sang'),
_('Naissance'),
_('Tél Portable'),
_('Entrée'),
_('Sortie'),
_('Motif Sortie'),
_('Etat'),
_('P Nette Com'),
_('Com Court'),
_('Com Commerc'),
_('Commisions'),
_('P NETTE STAT'),
_('P Nette'),
(isset($_SESSION['composanteprime']['Taxes'])) ? _($_SESSION['composanteprime']['Taxes']) : _("Taxes"),
(isset($_SESSION['composanteprime']['Cartes'])) ? _($_SESSION['composanteprime']['Cartes']) : _("Cartes"),
_('Prime TTC'),
_('Facturé')
);
$dataXLS = array();
foreach ($beneficiaires as $beneficiaire)
{
$dataXLS[]=$beneficiaire;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER-SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('LISTE DES ASSURES'));
$feuille->fromArray($headerXLS, NULL, 'A1', true);
$feuille->fromArray($dataXLS, NULL, 'A2', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_LISTE_ASSURE'."_".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();
}
// exportersansformat
public function exportersansformat()
{
$idPolice = $_SESSION['idPolice_C'];
$dateAnalyse = $this->requete->getParametreDate("dateAnalyse");
$beneficiaires = $this->beneficiaire->getBeneficiairesAexporterSansFormat($idPolice, $dateAnalyse);
// Excel
$headerXLS = array
(
_('No Client'),
_('Nom Client'),
_('No Police'),
_('Date Effet'),
_('Echéance'),
_('No Adhérent'),
_('Adhérent'),
_('Catégorie'),
_('No Bénéficiaire'),
_('Nom'),
_('Prénoms'),
_('Lien Parenté'),
_('Nature Pièce'),
_('No Pièce'),
_('Genre'),
_('Groupe Sang'),
_('Naissance'),
_('Tél Portable'),
_('Entrée'),
_('Sortie'),
_('Motif Sortie'),
_('Etat'),
_('P Nette Com'),
_('Com Court'),
_('Com Commerc'),
_('Commisions'),
_('P NETTE STAT'),
_('P Nette'),
(isset($_SESSION['composanteprime']['Taxes'])) ? _($_SESSION['composanteprime']['Taxes']) : _("Taxes"),
(isset($_SESSION['composanteprime']['Cartes'])) ? _($_SESSION['composanteprime']['Cartes']) : _("Cartes"),
_('Prime TTC'),
_('Facturé')
);
$dataXLS = array();
foreach ($beneficiaires as $beneficiaire)
{
$dataXLS[]=$beneficiaire;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER-SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('LISTE DES ASSURES'));
$feuille->fromArray($headerXLS, NULL, 'A1', true);
$feuille->fromArray($dataXLS, NULL, 'A2', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_LISTE_ASSURE_SANS_FORMAT'."_".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();
}
}