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

112 lines
4.1 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 ControleurAjaxrequetefactureclientexport extends Controleurrequete
{
private $facture;
public function __construct() {
$this->facture = new Facture();
}
public function index()
{
// Ligne 1
$codePrestataire = $this->requete->getParametreFormulaire("codePrestataire");
$dateFacture1 = $this->requete->getParametreDate("dateFacture1");
$dateFacture2 = $this->requete->getParametreDate("dateFacture2");
$numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent");
$numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire");
// Ligne 2
$numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1");
$numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2");
$numeroBonOrdonnance1 = $this->requete->getParametreFormulaire("numeroBonOrdonnance1");
$numeroBonOrdonnance2 = $this->requete->getParametreFormulaire("numeroBonOrdonnance2");
$numeroBonHospitalisation1 = $this->requete->getParametreFormulaire("numeroBonHospitalisation1");
$numeroBonHospitalisation2 = $this->requete->getParametreFormulaire("numeroBonHospitalisation2");
$numeroBonOptique1 = $this->requete->getParametreFormulaire("numeroBonOptique1");
$numeroBonOptique2 = $this->requete->getParametreFormulaire("numeroBonOptique2");
// Ligne 3
$codeTypePrestataire = $this->requete->getParametreFormulaire("codeTypePrestataire");
$numeroDecompte1 = $this->requete->getParametreFormulaire("numeroDecompte1");
$numeroDecompte2 = $this->requete->getParametreFormulaire("numeroDecompte2");
$hospitalisation = $this->requete->getParametreFormulaire("hospitalisation");
$numeroChambre = $this->requete->getParametreFormulaire("numeroChambre");
$chirurgie = $this->requete->getParametreFormulaire("chirurgie");
// Ligne 4
$adherent = $this->requete->getParametreFormulaire("adherent");
$beneficiaire = $this->requete->getParametreFormulaire("beneficiaire");
// FIN Champs
$_SESSION['codePrestataire_C'] = $codePrestataire;
$_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateFacture1");
$_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateFacture2");
$factures = $this->facture->requetesfactureclientexport($codePrestataire, $dateFacture1, $dateFacture2, $numeroAdherent, $numeroBeneficiaire,
$numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOrdonnance1, $numeroBonOrdonnance2, $numeroBonHospitalisation1, $numeroBonHospitalisation2, $numeroBonOptique1, $numeroBonOptique2,
$codeTypePrestataire, $numeroDecompte1, $numeroDecompte2, $hospitalisation, $numeroChambre, $chirurgie, $adherent, $beneficiaire) ;
// Excel
$headerXLS = array
(
_('Souscripteur'),
_('Prestataire'),
_('No Adhérent'),
_('Adhérent'),
_('No Bénéficiaire'),
_('Bénéficiaire'),
_('Date'),
_('No Bon'),
_('Frais'),
_('T M'),
_('A Remb'),
_('Dépassement'),
_('Retenu'),
_('Garantie')
);
$dataXLS = array();
foreach ($factures as $facture)
{
$dataXLS[]=$facture;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER-SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('FACTURES SOUSCRIPTEUR'));
$feuille->fromArray($headerXLS, NULL, 'A1', true);
$feuille->fromArray($dataXLS, NULL, 'A2', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_FACTURES'."_".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();
}
}