This commit is contained in:
KONE SOREL 2026-03-26 18:35:17 +00:00
parent 6f2b7c5611
commit 920677fdc3
4 changed files with 122 additions and 10 deletions

View File

@ -0,0 +1,21 @@
<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Requetes.php';
require_once 'Modele/Menuvueutilisateur.php';
class ControleurRequetes extends Controleur
{
private $requetes;
public function __construct() {
$this->menuvue = new Menuvueutilisateur();
$this->menuvue->getMenuVue('Requetes');
$this->requetes = (new Requetes())->getListe();
}
public function index()
{
$this->genererVue(array('requetes' => $this->requetes));
}
}

View File

@ -4639,7 +4639,8 @@ function lister_polices_client(id) {
const vues = {
1: "Rechercherassure",
2: "Syntheseconsopolice",
3: "Sppolice"
3: "Sppolice",
4: "Requetes"
};
vue = vues[id] || null; // null si id ne correspond à rien
@ -6979,4 +6980,37 @@ function lister_ged_beneficiaire_prod()
complete: function() {
}
});
}
function ajaxenteterequete()
{
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;
}
donnees = 'codeRequete='+codeRequete;
v_url = $("#racineWeb").val()+"Ajaxrequeteentete"+codeRequete+"/";
$("#div_ente_requete").html('<div style="padding-top:80px;"><img src="Bootstrap/images/loading.gif"/>&nbsp;&nbsp;<span style="font-size:15pt;">' + 'Veuillez patienter... / Please wait...' + '</span></div>');
$.ajax({
url: v_url,
type : 'post',
data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_ente_requete").html(data);
$(".datepicker" ).datepicker();
}
});
}

View File

@ -3,15 +3,19 @@ require_once 'Framework/Modele.php';
class Requetes extends Modele
{
public function getListe() {
$codeProfil = $_SESSION['codeProfil_C'];
public function getListe()
{
if (est_anglophone())
{
$sql = 'SELECT codeRequete as `code`, nomRequeteEng as libelle FROM c_requetes order by 2;';
}
else
{
$sql = 'SELECT codeRequete as `code`, nomRequete as libelle FROM c_requetes order by 2;';
}
$sql = 'call sp_p_get_requetes(?)';
$liste = $this->executerRequete($sql);
$resultat = $this->executerRequete($sql, array($codeProfil));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
return $liste->fetchAll(PDO::FETCH_ASSOC);
}
}

53
Vue/Requetes/index.php Normal file
View File

@ -0,0 +1,53 @@
<?php $this->titre = "INTER-SANTE - Requêtes & Statistiques"; ?>
<div id="div_adherent" class="container-fluid py-1 animate__animated animate__fadeIn">
<h1 class="text-primary"><i class="fas fa-database me-2"></i><?= _('Requêtes & Analyses') ?></h1>
<div class="card-header d-flex justify-content-between align-items-center py-1 mb-2">
<h5 class="mb-0 fw-bold">
<?= _("POLICE") ?> : <span class="text-secondary"><?= $this->nettoyer($_SESSION['numeroPolice_C']) ?></span>
<span class="ms-3 badge bg-primary text-light small fw-normal">ID: <?= $this->nettoyer($_SESSION['idPolice_C']) ?></span>
</h5>
</div>
<div class="card shadow-sm border-0 mb-4" style="border-radius: 12px;">
<div class="card-body p-3">
<div class="row align-items-center">
<div class="col-md-3 text-md-end">
<label class="form-label fw-bold small text-muted text-uppercase mb-md-0">
<i class="fas fa-filter me-2 text-primary"></i><?= _("Type de rapport") ?> :
</label>
</div>
<div class="col-md-6">
<div class="input-group">
<span class="input-group-text bg-white border-primary-subtle">
<i class="fas fa-list-ul"></i>
</span>
<select class="form-select border-primary-subtle fw-bold" id="codeRequete" name="codeRequete"
autofocus onchange="javascript:ajaxenteterequete();">
<?php liste_options($requetes, "", false); ?>
</select>
</div>
</div>
<div class="col-md-3">
<div id="loader_requete" class="spinner-border spinner-border-sm text-primary ms-2" role="status" style="display: none;">
<span class="visually-hidden">Loading...</span>
</div>
</div>
</div>
</div>
</div>
<div id="div_ente_requete" class="mb-4">
</div>
<div id="div_detail_requete" class="card shadow-sm border-0 overflow-hidden" style="border-radius: 12px;">
<div class="card-body p-0">
<div class="text-center py-5 text-muted">
<i class="fas fa-chart-line fa-4x mb-3 opacity-25"></i>
<p class="h5"><?= _("Aucune donnée sélectionnée") ?></p>
<small><?= _("Veuillez choisir une requête ci-dessus pour afficher les paramètres et les résultats.") ?></small>
</div>
</div>
</div>
</div>