production/Controleur/ControleurAjaxrequeteoptiqueexport.php
2025-12-02 11:29:44 +00:00

117 lines
3.9 KiB
PHP
Executable File

<?php
require_once 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
require_once 'Framework/Controleurrequete.php'; // OK
require_once 'Modele/Opticiens.php';
class ControleurAjaxrequeteoptiqueexport extends Controleurrequete
{
private $opticiens;
public function __construct() {
$this->opticiens = new Opticiens();
}
public function index()
{
// Ligne 1
$codePrestataire = $this->requete->getParametreFormulaire("codePrestataire");
$dateLivraison1 = $this->requete->getParametreDate("dateLivraison1");
$dateLivraison2 = $this->requete->getParametreDate("dateLivraison2");
$numeroAdherent = $this->requete->getParametreFormulaire("numeroAdherent");
$numeroBeneficiaire = $this->requete->getParametreFormulaire("numeroBeneficiaire");
// Ligne 2
$codeMedecin = $this->requete->getParametreFormulaire("codeMedecin");
$numeroBonConsultation1 = $this->requete->getParametreFormulaire("numeroBonConsultation1");
$numeroBonConsultation2 = $this->requete->getParametreFormulaire("numeroBonConsultation2");
$numeroBonOptique1 = $this->requete->getParametreFormulaire("numeroBonOptique1");
$numeroBonOptique2 = $this->requete->getParametreFormulaire("numeroBonOptique2");
$numeroFeuilleMaladie1 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie1");
$numeroFeuilleMaladie2 = $this->requete->getParametreFormulaire("numeroFeuilleMaladie2");
$codePrestatairePrescription= $this->requete->getParametreFormulaire("codePrestatairePrescription");
// Ligne 3
$adherent = $this->requete->getParametreFormulaire("adherent");
$beneficiaire = $this->requete->getParametreFormulaire("beneficiaire");
// Ligne 4
$libelleOptique = $this->requete->getParametreFormulaire("libelleOptique");
// FIN Champs
$_SESSION['codePrestataire_C'] = $codePrestataire;
$_SESSION['debutRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison1");
$_SESSION['finRequeteFr_C'] = $this->requete->getParametreFormulaire("dateLivraison2");
$opticiens = $this->opticiens->requetesoptiqueexport($codePrestataire, $dateLivraison1, $dateLivraison2, $numeroAdherent, $numeroBeneficiaire, $codeMedecin,
$numeroBonConsultation1, $numeroBonConsultation2, $numeroBonOptique1, $numeroBonOptique2, $numeroFeuilleMaladie1, $numeroFeuilleMaladie2,
$codePrestatairePrescription, $adherent, $beneficiaire, $libelleOptique);
// Excel
$headerXLS = array(
_('Prestataire'),
_('Système'),
_('No Adhérent'),
_('Adhérent'),
_('No Bénéficiaire'),
_('Bénéficiaire'),
_('id Prestation'),
_('Bon Opt'),
_('Bon Opt'),
_('No Feuille'),
_('Bon Cons'),
_('Désignation'),
_('Verres'),
_('Monture'),
_('Frais'),
_('T M'),
_('A Remb'),
_('Exclu'),
_('Retenu'),
_('Forcé'),
_('A payer'),
_('Validé'),
_('Redressé'),
_('Prescrit par'),
_('Médecin'),
_('No OM')
);
$dataXLS = array();
foreach ($opticiens as $opticien)
{
$dataXLS[]=$opticien;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER-SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('ACTES OPTIQUES'));
$feuille->fromArray($headerXLS, NULL, 'A1', true);
$feuille->fromArray($dataXLS, NULL, 'A2', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_ACTES_OPTIQUES'."_".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();
}
}