This commit is contained in:
KONE SOREL 2026-03-27 19:42:11 +00:00
parent f36723f603
commit d7a090888b
4 changed files with 153 additions and 4 deletions

View File

@ -0,0 +1,73 @@
<?php
require_once 'Framework/Controleurrequete.php'; // OK
require_once 'Modele/Police.php';
class ControleurAjaxrequeteresumesinistresexport extends Controleurrequete
{
private $sppolice;
public function __construct() {
$this->sppolice = new Police();
}
public function index()
{
$dateFacture1 = $this->requete->getParametreDate("dateFacture1");
$dateFacture2 = $this->requete->getParametreDate("dateFacture2");
$_SESSION['dateDebutRequete'] = $this->requete->getParametreFormulaire("dateFacture1");
$_SESSION['dateFinRequete'] = $this->requete->getParametreFormulaire("dateFacture2");
$idPolice = $_SESSION['idPolice_C'];
$dateReference = date("Y-m-d");
$sppoliceentete = $this->sppolice->getRapportSpPoliceEnteteExport($idPolice, $dateReference);
$rpsinistres = $this->sppolice->requeteresumesinistresexport($dateFacture2);
//$rpsinistres_total = $this->sppolice->requeteresumesinistres_total($dateFacture2);
// Excel
$headerXLS = array
(
_('Adhérent Principal'),
_('Date de début'),
_('Période passée'),
_('Sinistres'),
_('Ratio'),
_('Cat')
);
$dataXLS = array();
foreach ($rpsinistres as $v)
{
$dataXLS[]=$v;
}
$classeur = new PHPExcel();
$classeur->getProperties()->setCreator("INTER-SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('RESUME'));
$feuille->setCellValue('A1', convertirc(_('RAPPORT DES SINISTRES')));
$feuille->setCellValue('A2', convertirc(_('Souscripteur').' : '.$sppoliceentete['souscripteur']));
$feuille->setCellValue('A3', convertirc(_('Numéro Police').' : '.$sppoliceentete['numeroPolice']));
$feuille->setCellValue('A3', convertirc(_('Période Couverte').' : '.dateLang($sppoliceentete['dateEffet'], $_SESSION['lang']).' AU '.dateLang($sppoliceentete['dateEcheance'], $_SESSION['lang'])));
$feuille->fromArray($headerXLS, NULL, 'A4', true);
$feuille->fromArray($dataXLS, NULL, 'A5', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_RESUME_SINISTRE'."_".uniqid().".xlsx";
$writer = new PHPExcel_Writer_Excel2007($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();
}
}

View File

@ -7080,7 +7080,7 @@ function ajaxenteterequete()
});
}
function requetes_feuilles_maladie()
function requetes_resume_sinistres()
{
$('#div_export_a').html("");
donnees = "";
@ -7131,4 +7131,60 @@ function requetes_feuilles_maladie()
$("#nbligne").val($("#nbligne_info").val());
}
});
}
}
function requetes_resume_sinistres_export()
{
$('#div_detail_requete').html('');
$('#div_export_a').html("");
donnees = "";
donnees_retour = "";
codeRequete=$("#codeRequete").val();
if (codeRequete<=" ")
{
v_msg="Veuillez sélectionner une requête!";
v_msgEng="Please select a query!";
alert_ebene(v_msg, v_msgEng);
$("#codeRequete").focus();
return;
}
v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/";
dateFacture1 = $("#dateFacture1").val();
dateFacture2 = $("#dateFacture2").val();
donnees += '&dateFacture1=' + dateFacture1;
donnees += '&dateFacture2=' + dateFacture2;
var div_export = $('#div_detail_requete');
div_export.html(`
<div class="d-flex flex-column align-items-center justify-content-center" style="padding-top:80px;">
<div class="spinner-border text-primary" role="status" style="width:3rem; height:3rem;">
<span class="visually-hidden">Loading...</span>
</div>
<span class="mt-3 fs-5 fw-bold">
Veuillez patienter... / Please wait...
</span>
</div>
`);
$.ajax({
url: v_url,
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
donnees_retour = data;
},
complete: function() {
$('#div_detail_requete').html("");
$('#div_export_a').html(donnees_retour);
}
});
}

View File

@ -917,4 +917,24 @@ class Police extends Modele {
return $liste->fetch(PDO::FETCH_ASSOC);
}
public function getRapportSpPoliceEnteteExport($idPolice, $dateReference)
{
$sql = 'call sp_rapport_sp_police_entete_export(?, ?);';
$sppolice = $this->executerRequete($sql, array($idPolice, $dateReference));
return $sppolice->fetch(PDO::FETCH_ASSOC);
}
public function requeteresumesinistresexport($dateFacture2) {
$idPolice = $_SESSION['idPolice_C'];
$sql = 'CALL sp_requeteresumesinistres_rh_export(?, ?);';
$liste = $this->executerRequete($sql,array($idPolice, $dateFacture2));
return $liste->fetchAll(PDO::FETCH_ASSOC);
}
}

View File

@ -33,11 +33,11 @@
<div class="col-6 col-md-5">
<div class="d-flex gap-2">
<button type="button" class="btn btn-primary btn-sm flex-grow-1 fw-bold shadow-sm" onclick="javascript:requetes_feuilles_maladie();">
<button type="button" class="btn btn-primary btn-sm flex-grow-1 fw-bold shadow-sm" onclick="javascript:requetes_resume_sinistres();">
<i class="fas fa-search me-2"></i><?= _("Afficher") ?>
</button>
<button type="button" class="btn btn-success btn-sm flex-grow-1 fw-bold shadow-sm" onclick="javascript:requetes_factures_export();">
<button type="button" class="btn btn-success btn-sm flex-grow-1 fw-bold shadow-sm" onclick="javascript:requetes_resume_sinistres_export();">
<i class="fas fa-file-excel me-2"></i><?= _("Exporter") ?>
</button>
</div>