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

111 lines
3.1 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/Requetesperso.php';
class ControleurAjaxetatperso extends Controleurrequete
{
private $requetesperso;
public function __construct()
{
$this->requetesperso = new Requetesperso();
}
public function index()
{
// $codeRequete = $_SESSION['codeRequete'];
$paramrequetes = $this->requete->getParametreDonnees();
$codeGcAssureur = $_SESSION['codeGcAssureurStat'];
//$idPolice = $this->requete->getParametreFormulaire("idPolice");
$outputString = substr($idPolice, 0, 6);
$idPolice_C = preg_replace('/[^0-9]/', '', $outputString);
if($idPolice_C=='' || $idPolice_C=='22' ){
$idPolice_C = NULL;
}
if($codeGcAssureur=='AUC'){
$codeGcAssureur = NULL;
}
if (isset( $paramrequetes['idPolice']) && ($paramrequetes['idPolice']=='0' ||$paramrequetes['idPolice']=='22'|| $paramrequetes['idPolice']=='')){
$paramrequetes['idPolice'] = NULL;
}
if($paramrequetes['codeGcAssureur']=='0' ||$paramrequetes['codeGcAssureur']=='AUC'){
$paramrequetes['codeGcAssureur'] = NULL;
}
if(isset($paramrequetes['p_idClient'])){
$paramrequetes['p_idClient'] = NULL;
}
if(isset($paramrequetes['p_idCollege'])){
$paramrequetes['p_idCollege'] = NULL;
}
if(isset($paramrequetes['p_matricule'])){
$paramrequetes['p_matricule'] = NULL;
}
if(isset($paramrequetes['p_idBenef'])){
$paramrequetes['p_idBenef'] = NULL;
}
if(isset($paramrequetes['p_idAdherent'])){
$paramrequetes['p_idAdherent'] = NULL;
}
//highlight_string("<?php\n\$datas =\n" . var_export($paramrequetes , true) . ";\n>");
$donnees = $this->requetesperso->executerrequeteperso($paramrequetes);
$nbLignes = count($donnees);
// var_dump($donnees);
// exit();
if ($nbLignes>0)
{
$headerXLS = array_keys($donnees[0]);
// var_dump($headerXLS);
// exit();
// Excel
$dataXLS = array();
foreach ($donnees as $donnee)
{
$dataXLS[]=$donnee;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER-SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('ETATS PERSONNALISES'));
$feuille->fromArray($headerXLS, NULL, 'A1', true);
$feuille->fromArray($dataXLS, NULL, 'A2', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_CUST_QUERY'."_".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 ';
}
else
{
$t_html ='<div class="alert alert-danger"> ';
$t_html .=' <H4> '._("Résultat vide!").' </H4> ';
$t_html .=' </div ';
}
echo $t_html;
exit();
}
}