Merge branch 'main' of git.ebene.ovh:ebene/radiantrh
This commit is contained in:
commit
d437cb4e02
5
.gitignore
vendored
5
.gitignore
vendored
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
Config/
|
||||
Config
|
||||
Config/dev.ini
|
||||
|
|
@ -10,4 +9,6 @@ Cron/prod.ini
|
|||
Temp/
|
||||
Temp
|
||||
*.ssh
|
||||
.ssh/
|
||||
.ssh/
|
||||
Gettext/
|
||||
Gettext
|
||||
|
|
@ -35,5 +35,12 @@ class ControleurAjaxavenant extends Controleur {
|
|||
|
||||
$this->genererVueAjax(array('dateAvenant' => $dateAvenant));
|
||||
}
|
||||
|
||||
public function notifier()
|
||||
{
|
||||
$idAvenant = $this->requete->getParametre("idAvenant");
|
||||
|
||||
$this->avenant->notifieravenant($idAvenant);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -13,11 +13,13 @@ class ControleurAjaxlistegedbeneficiaireprod extends Controleur {
|
|||
{
|
||||
unset($_FILES['fichier_upload']);
|
||||
|
||||
$d1 = $this->requete->getParametreDate("d1");
|
||||
$d2 = $this->requete->getParametreDate("d2");
|
||||
$nomOrigine = $this->requete->getParametreFormulaire("nomOrigine");
|
||||
$d1 = $this->requete->getParametreDate("d1");
|
||||
$d2 = $this->requete->getParametreDate("d2");
|
||||
|
||||
$geds = $this->ged->getgedbeneficiaireprod($d1, $d2, $nomOrigine);
|
||||
$nomOrigine = $this->requete->getParametreFormulaire("nomOrigine");
|
||||
$codeNaturePiece = $this->requete->getParametreFormulaire("codeNaturePiece");
|
||||
|
||||
$geds = $this->ged->getgedbeneficiaireprod($d1, $d2, $nomOrigine, $codeNaturePiece);
|
||||
|
||||
$this->genererVueAjax(array('geds' => $geds));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ class ControleurAjaxmouvementassure extends Controleur {
|
|||
$debut = $this->requete->getParametreDate("debut");
|
||||
$fin = $this->requete->getParametreDate("fin");
|
||||
|
||||
$_SESSION['idAvenant'] = "0";
|
||||
|
||||
$mouvementassures = $this->mouvementassure->getMouvementassure($ajoutClient, $codeSensMouvement, $valide, $debut, $fin);
|
||||
|
||||
$this->genererVueAjax(array('mouvementassures' => $mouvementassures));
|
||||
|
|
@ -40,5 +42,17 @@ class ControleurAjaxmouvementassure extends Controleur {
|
|||
|
||||
$this->genererVueAjax(array('mouvementassures' => $mouvementassures));
|
||||
}
|
||||
|
||||
public function avenant()
|
||||
{
|
||||
$idAvenant = $this->requete->getParametreFormulaire("idAvenant");
|
||||
$_SESSION['idAvenant'] = $idAvenant;
|
||||
}
|
||||
|
||||
public function reinitvalidation()
|
||||
{
|
||||
$idMvt = $this->requete->getParametreFormulaire("idMvt");
|
||||
|
||||
$this->mouvementassure->reinitvalidation($idMvt);
|
||||
}
|
||||
}
|
||||
31
Controleur/ControleurAjaxrequetedetailsinistres.php
Normal file
31
Controleur/ControleurAjaxrequetedetailsinistres.php
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
require_once 'Framework/Controleur.php';
|
||||
require_once 'Modele/Police.php';
|
||||
|
||||
class ControleurAjaxrequetedetailsinistres extends Controleur
|
||||
{
|
||||
private $sppolice;
|
||||
|
||||
public function __construct() {
|
||||
$this->sppolice = new Police();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$dateDebut = $this->requete->getParametreDate("dateFacture1");
|
||||
$dateFin = $this->requete->getParametreDate("dateFacture2");
|
||||
|
||||
|
||||
$_SESSION['dateDebutRequete'] = $this->requete->getParametreFormulaire("dateFacture1");
|
||||
$_SESSION['dateFinRequete'] = $this->requete->getParametreFormulaire("dateFacture2");
|
||||
|
||||
$rpsinistres = $this->sppolice->requetedetailsinistres($dateDebut, $dateFin);
|
||||
|
||||
$rpsinistres_total = $this->sppolice->requetedetailsinistres_total($dateDebut, $dateFin);
|
||||
|
||||
$this->genererVueAjax(array(
|
||||
'rpsinistres' => $rpsinistres,
|
||||
'rpsinistres_total' => $rpsinistres_total
|
||||
));
|
||||
}
|
||||
}
|
||||
23
Controleur/ControleurAjaxrequeteentetedetailsinistres.php
Normal file
23
Controleur/ControleurAjaxrequeteentetedetailsinistres.php
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
require_once 'Framework/Controleur.php';
|
||||
require_once 'Modele/Police.php';
|
||||
|
||||
class ControleurAjaxrequeteentetedetailsinistres extends Controleur {
|
||||
private $sppolice;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->sppolice = new Police();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$dj = date("Y-m-d");
|
||||
|
||||
$sppoliceentete = $this->sppolice->getRapportSpPoliceEntete($idPolice, $dj);
|
||||
|
||||
$this->genererVueAjax(array('sppoliceentete' => $sppoliceentete));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
require_once 'Framework/Controleur.php';
|
||||
require_once 'Modele/Police.php';
|
||||
|
||||
class ControleurAjaxrequeteentetefrequencesprestataires extends Controleur {
|
||||
private $sppolice;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->sppolice = new Police();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$dj = date("Y-m-d");
|
||||
|
||||
$sppoliceentete = $this->sppolice->getRapportSpPoliceEntete($idPolice, $dj);
|
||||
|
||||
$this->genererVueAjax(array('sppoliceentete' => $sppoliceentete));
|
||||
}
|
||||
}
|
||||
23
Controleur/ControleurAjaxrequeteenteteresumesinistres.php
Normal file
23
Controleur/ControleurAjaxrequeteenteteresumesinistres.php
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
require_once 'Framework/Controleur.php';
|
||||
require_once 'Modele/Police.php';
|
||||
|
||||
class ControleurAjaxrequeteenteteresumesinistres extends Controleur {
|
||||
private $sppolice;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->sppolice = new Police();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$dj = date("Y-m-d");
|
||||
|
||||
$sppoliceentete = $this->sppolice->getRapportSpPoliceEntete($idPolice, $dj);
|
||||
|
||||
$this->genererVueAjax(array('sppoliceentete' => $sppoliceentete));
|
||||
}
|
||||
}
|
||||
30
Controleur/ControleurAjaxrequetefrequencesprestataires.php
Normal file
30
Controleur/ControleurAjaxrequetefrequencesprestataires.php
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
require_once 'Framework/Controleur.php';
|
||||
require_once 'Modele/Police.php';
|
||||
|
||||
class ControleurAjaxrequetefrequencesprestataires extends Controleur
|
||||
{
|
||||
private $sppolice;
|
||||
|
||||
public function __construct() {
|
||||
$this->sppolice = new Police();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$dateDebut = $this->requete->getParametreDate("dateFacture1");
|
||||
$dateFin = $this->requete->getParametreDate("dateFacture2");
|
||||
|
||||
$_SESSION['dateDebutRequete'] = $this->requete->getParametreFormulaire("dateFacture1");
|
||||
$_SESSION['dateFinRequete'] = $this->requete->getParametreFormulaire("dateFacture2");
|
||||
|
||||
$rpsinistres = $this->sppolice->requetefrequenceinistres($dateDebut, $dateFin);
|
||||
|
||||
$rpsinistres_total = $this->sppolice->requetefrequencesinistres_total($dateDebut, $dateFin);
|
||||
|
||||
$this->genererVueAjax(array(
|
||||
'rpsinistres' => $rpsinistres,
|
||||
'rpsinistres_total' => $rpsinistres_total
|
||||
));
|
||||
}
|
||||
}
|
||||
31
Controleur/ControleurAjaxrequeteresumesinistres.php
Normal file
31
Controleur/ControleurAjaxrequeteresumesinistres.php
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
require_once 'Framework/Controleur.php';
|
||||
require_once 'Modele/Police.php';
|
||||
|
||||
class ControleurAjaxrequeteresumesinistres extends Controleur
|
||||
{
|
||||
private $sppolice;
|
||||
|
||||
public function __construct() {
|
||||
$this->sppolice = new Police();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$dateFacture1 = $this->requete->getParametreDate("dateFacture1");
|
||||
$dateFacture2 = $this->requete->getParametreDate("dateFacture2");
|
||||
|
||||
|
||||
$_SESSION['dateEffetPolice'] = $this->requete->getParametreFormulaire("dateFacture1");
|
||||
$_SESSION['dateFinRequete'] = $this->requete->getParametreFormulaire("dateFacture2");
|
||||
|
||||
$rpsinistres = $this->sppolice->requeteresumesinistres($dateFacture2);
|
||||
|
||||
$rpsinistres_total = $this->sppolice->requeteresumesinistres_total($dateFacture2);
|
||||
|
||||
$this->genererVueAjax(array(
|
||||
'rpsinistres' => $rpsinistres,
|
||||
'rpsinistres_total' => $rpsinistres_total
|
||||
));
|
||||
}
|
||||
}
|
||||
78
Controleur/ControleurAjaxrequeteresumesinistresexport.php
Normal file
78
Controleur/ControleurAjaxrequeteresumesinistresexport.php
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
<?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->mergeCells('A1:F1');
|
||||
$feuille->setCellValue('A3', convertirc(_('Souscripteur').' : '.$sppoliceentete['Souscripteur']));
|
||||
$feuille->setCellValue('A4', _('Numéro Police') . ' : ' . $sppoliceentete['numeroPolice']);
|
||||
$feuille->setCellValue('A5', _('Période Couverte') . ' : ' . dateLang($sppoliceentete['dateEffet'], $_SESSION['lang']) . ' AU ' . dateLang($sppoliceentete['dateEcheance'], $_SESSION['lang']));
|
||||
$feuille->fromArray($headerXLS, NULL, 'A7', true);
|
||||
$feuille->fromArray($dataXLS, NULL, 'A8', 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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -68,6 +68,7 @@ class ControleurFicheadherent extends Controleur {
|
|||
$dataConsoParLiens = json_encode($tabPrestationsParLiens, JSON_NUMERIC_CHECK);
|
||||
$dataConsoParGaranties = json_encode($tabConsoParGaranties, JSON_NUMERIC_CHECK);
|
||||
|
||||
$nombreGed = $this->adherent->getNombreGedAdherent($idAdherent);
|
||||
|
||||
$this->genererVue(array(
|
||||
'adherent' => $adherent,
|
||||
|
|
@ -78,7 +79,8 @@ class ControleurFicheadherent extends Controleur {
|
|||
'dataConsoParMois' => $dataConsoParMois,
|
||||
'dataConsoParLiens' => $dataConsoParLiens,
|
||||
'dataConsoParGaranties' => $dataConsoParGaranties,
|
||||
'nbreLienParente' => $nbreLienParente
|
||||
'nbreLienParente' => $nbreLienParente,
|
||||
'nombreGed' => $nombreGed
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ class ControleurFichebeneficiaire extends Controleur
|
|||
|
||||
$codeTypeContrat = $_SESSION['codeTypeContrat'];
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$this->police->getContextePoliceId($idPolice);
|
||||
$this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire);
|
||||
|
||||
|
|
@ -225,6 +226,8 @@ class ControleurFichebeneficiaire extends Controleur
|
|||
// Encodage JSON
|
||||
$dataConsoParMois = json_encode($tabConsoParMois, JSON_NUMERIC_CHECK);
|
||||
$dataConsoParGaranties = json_encode($tabConsoParGaranties, JSON_NUMERIC_CHECK);
|
||||
|
||||
$nombreGed = $this->beneficiaire->getNombreGedBeneficiaire($idBeneficiaire);
|
||||
|
||||
$this->genererVue(array(
|
||||
'beneficiaire' => $beneficiaire,
|
||||
|
|
@ -234,7 +237,8 @@ class ControleurFichebeneficiaire extends Controleur
|
|||
'limite_beneficiaire' => $limite_beneficiaire,
|
||||
'limite_adherent' => $limite_adherent,
|
||||
'dataConsoParMois' => $dataConsoParMois,
|
||||
'dataConsoParGaranties' => $dataConsoParGaranties
|
||||
'dataConsoParGaranties' => $dataConsoParGaranties,
|
||||
'nombreGed' => $nombreGed
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ class ControleurGedadherent extends Controleur {
|
|||
|
||||
$nomOrigine = $this->requete->getParametreFormulaire("nomOrigine");
|
||||
$codeNaturePiece = $this->requete->getParametreFormulaire("codeNaturePiece");
|
||||
|
||||
|
||||
if(!empty($_POST))
|
||||
{
|
||||
define('TARGET', $_SESSION['cheminGed']); // Repertoire cible
|
||||
|
|
@ -41,13 +41,10 @@ class ControleurGedadherent extends Controleur {
|
|||
$extension = '';
|
||||
|
||||
if($codeNaturePiece == "AUT"){
|
||||
$libelleDocument = $this->requete->getParametreFormulaire("libelleAutre");
|
||||
$libelleAutre = $this->requete->getParametreFormulaire("libelleAutre");
|
||||
}else{
|
||||
$libelleDocument = $this->ged->getLibelleTypeDocument($codeNaturePiece);
|
||||
$libelleAutre = "";
|
||||
}
|
||||
|
||||
var_dump(array($codeNaturePiece, $libelleDocument));
|
||||
die();
|
||||
|
||||
if( !is_dir(TARGET) )
|
||||
{
|
||||
|
|
@ -92,7 +89,8 @@ class ControleurGedadherent extends Controleur {
|
|||
: 'Chargé avec succès';
|
||||
|
||||
// on va envoyer dans la base de données
|
||||
$this->ged->enregistrergedadherent($nomOrigine, $nouveau_fichier, $taille, $codeNaturePiece, $libelleDocument);
|
||||
$this->ged->enregistrergedadherent($nomOrigine, $nouveau_fichier, $taille, $codeNaturePiece, $libelleAutre);
|
||||
|
||||
$this->rediriger("Gedadherent");
|
||||
}
|
||||
else
|
||||
|
|
@ -143,7 +141,7 @@ class ControleurGedadherent extends Controleur {
|
|||
$d2 = date('Y-m-d');
|
||||
|
||||
|
||||
$geds = $this->ged->getgedadherent($d1, $d2, $nomOrigine, $codeNaturePiece);
|
||||
$geds = $this->ged->getgedadherent($d1, $d2, "", "");
|
||||
|
||||
unset($_FILES['fichier_upload']);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,19 @@
|
|||
<?php
|
||||
require_once 'Framework/Controleur.php';
|
||||
require_once 'Modele/Ged.php';
|
||||
require_once 'Modele/Naturepiece.php';
|
||||
require_once 'Modele/Menuvueutilisateur.php';
|
||||
|
||||
class ControleurGedbeneficiaireprod extends Controleur {
|
||||
private $ged;
|
||||
private $naturepiece;
|
||||
|
||||
public function __construct() {
|
||||
$this->menuvue = new Menuvueutilisateur();
|
||||
$this->menuvue->getMenuVue('Gedbeneficiaireprod');
|
||||
|
||||
$this->ged = new Ged();
|
||||
$this->naturepiece = (new Naturepiece())->getListe();
|
||||
}
|
||||
|
||||
public function index($msgErreur=null)
|
||||
|
|
@ -20,6 +23,9 @@ class ControleurGedbeneficiaireprod extends Controleur {
|
|||
|
||||
$nouveau_fichier = "Rien";
|
||||
|
||||
$nomOrigine = $this->requete->getParametreFormulaire("nomOrigine");
|
||||
$codeNaturePiece = $this->requete->getParametreFormulaire("codeNaturePiece");
|
||||
|
||||
if(!empty($_POST))
|
||||
{
|
||||
define('TARGET', $_SESSION['cheminGed']); // Repertoire cible
|
||||
|
|
@ -34,6 +40,12 @@ class ControleurGedbeneficiaireprod extends Controleur {
|
|||
// Variables
|
||||
$extension = '';
|
||||
|
||||
if($codeNaturePiece == "AUT"){
|
||||
$libelleAutre = $this->requete->getParametreFormulaire("libelleAutre");
|
||||
}else{
|
||||
$libelleAutre = "";
|
||||
}
|
||||
|
||||
if( !is_dir(TARGET) )
|
||||
{
|
||||
if( !mkdir(TARGET, 0755) )
|
||||
|
|
@ -76,7 +88,7 @@ class ControleurGedbeneficiaireprod extends Controleur {
|
|||
: 'Chargé avec succès';
|
||||
|
||||
// on va envoyer dans la base de données
|
||||
$this->ged->enregistrergedbeneficiaireprod($nomOrigine, $nouveau_fichier, $taille);
|
||||
$this->ged->enregistrergedbeneficiaireprod($nomOrigine, $nouveau_fichier, $taille, $codeNaturePiece, $libelleAutre);
|
||||
$this->rediriger("Gedbeneficiaireprod");
|
||||
}
|
||||
else
|
||||
|
|
@ -125,10 +137,10 @@ class ControleurGedbeneficiaireprod extends Controleur {
|
|||
$d1 = $_SESSION['dUneSemaineAvant_C'];
|
||||
$d2 = date('Y-m-d');
|
||||
|
||||
$geds = $this->ged->getgedbeneficiaireprod($d1, $d2, "");
|
||||
$geds = $this->ged->getgedbeneficiaireprod($d1, $d2, "", "");
|
||||
|
||||
unset($_FILES['fichier_upload']);
|
||||
|
||||
$this->genererVue(array('geds' => $geds, 'msgErreur' => $msgErreur));
|
||||
$this->genererVue(array('geds' => $geds, 'msgErreur' => $msgErreur, 'naturepiece' => $this->naturepiece));
|
||||
}
|
||||
}
|
||||
|
|
@ -22,7 +22,15 @@ class ControleurListeavenant extends Controleur {
|
|||
$police = $this->police->getPoliceId($idPolice);
|
||||
|
||||
$avenants = $this->avenant->getAvenant($idPolice);
|
||||
|
||||
$dj = date("Y-m-d");
|
||||
|
||||
$this->genererVue(array('police' => $police, 'avenants' => $avenants));
|
||||
$sppoliceentete = $this->police->getRapportSpPoliceEntete($idPolice, $dj);
|
||||
|
||||
$this->genererVue(array(
|
||||
'police' => $police,
|
||||
'avenants' => $avenants,
|
||||
'sppoliceentete' => $sppoliceentete
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
@ -6,8 +6,8 @@ require_once 'Modele/Beneficiaire.php';
|
|||
require_once 'Modele/Naturepiece.php';
|
||||
require_once 'Modele/Sexe.php';
|
||||
require_once 'Modele/Groupesanguin.php';
|
||||
|
||||
require_once 'Modele/Lienparente.php';
|
||||
require_once 'Modele/Mouvementassure.php';
|
||||
|
||||
class ControleurModifierbeneficiaire extends Controleur {
|
||||
private $beneficiaire;
|
||||
|
|
@ -16,18 +16,19 @@ class ControleurModifierbeneficiaire extends Controleur {
|
|||
private $groupesanguin;
|
||||
private $adherent;
|
||||
private $lienparente;
|
||||
|
||||
private $mouvementassure;
|
||||
|
||||
public function __construct() {
|
||||
$this->menuvue = new Menuvueutilisateur();
|
||||
$this->menuvue->getMenuVue('Modifierbeneficiaire');
|
||||
|
||||
$this->beneficiaire = new Beneficiaire();
|
||||
$this->naturepiece = (new Naturepiece())->getListe();
|
||||
$this->sexe = (new Sexe())->getListe();
|
||||
$this->groupesanguin = (new Groupesanguin())->getListe();
|
||||
$this->adherent = new Adherent();
|
||||
// $this->lienparente = (new Lienparente())->getListe();
|
||||
$this->lienparente = new Lienparente();
|
||||
$this->beneficiaire = new Beneficiaire();
|
||||
$this->naturepiece = (new Naturepiece())->getListe();
|
||||
$this->sexe = (new Sexe())->getListe();
|
||||
$this->groupesanguin = (new Groupesanguin())->getListe();
|
||||
$this->adherent = new Adherent();
|
||||
$this->lienparente = new Lienparente();
|
||||
$this->mouvementassure = new Mouvementassure();
|
||||
}
|
||||
public function index()
|
||||
{
|
||||
|
|
@ -56,8 +57,30 @@ class ControleurModifierbeneficiaire extends Controleur {
|
|||
$lienparente = $this->lienparente->getListeDependant();
|
||||
}
|
||||
|
||||
$this->genererVue(array('beneficiaire' => $beneficiaire, 'adherent' => $adherent, 'naturepiece' => $this->naturepiece, 'sexe' => $this->sexe,
|
||||
'groupesanguin' => $this->groupesanguin, 'lienparente' => $lienparente));
|
||||
$nombreGed = $this->beneficiaire->getNombreGedBeneficiaire($idBeneficiaire);
|
||||
|
||||
$idAvenant = $_SESSION['idAvenant'];
|
||||
|
||||
if($idAvenant > "0"){
|
||||
$mouvementassure = $this->mouvementassure->getMouvementassureID($idBeneficiaire, $idAvenant);
|
||||
}else{
|
||||
$mouvementassure = array(
|
||||
'id' => "0",
|
||||
'aCorriger' => "0",
|
||||
'motif' => ""
|
||||
);
|
||||
}
|
||||
|
||||
$this->genererVue(array(
|
||||
'beneficiaire' => $beneficiaire,
|
||||
'adherent' => $adherent,
|
||||
'naturepiece' => $this->naturepiece,
|
||||
'sexe' => $this->sexe,
|
||||
'groupesanguin' => $this->groupesanguin,
|
||||
'lienparente' => $lienparente,
|
||||
'nombreGed' => $nombreGed,
|
||||
'mouvementassure' => $mouvementassure
|
||||
));
|
||||
}
|
||||
|
||||
public function modifier($prenoms=null) {
|
||||
|
|
@ -82,6 +105,6 @@ class ControleurModifierbeneficiaire extends Controleur {
|
|||
$this->beneficiaire->modifier($id, $nomBeneficiaire, $prenomsBeneficiaire, $codeLienParente, $codeNaturePiece, $numeroPiece,
|
||||
$sexe, $codeGroupeSanguin, $dateNaissance, $telephonePortable, $dateEntree, $primeFamille, $primeBeneficiaire);
|
||||
|
||||
$this->rediriger("Fichebeneficiaire/".$id);
|
||||
$this->rediriger("Mouvementassure/");
|
||||
}
|
||||
}
|
||||
35
Controleur/ControleurRequetes.php
Normal file
35
Controleur/ControleurRequetes.php
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
require_once 'Framework/Controleur.php';
|
||||
require_once 'Modele/Requetes.php';
|
||||
require_once 'Modele/Police.php';
|
||||
require_once 'Modele/Menuvueutilisateur.php';
|
||||
|
||||
class ControleurRequetes extends Controleur
|
||||
{
|
||||
private $requetes;
|
||||
private $sppolice;
|
||||
|
||||
public function __construct() {
|
||||
$this->menuvue = new Menuvueutilisateur();
|
||||
$this->menuvue->getMenuVue('Requetes');
|
||||
|
||||
$this->requetes = (new Requetes())->getListe();
|
||||
$this->sppolice = new Police();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$dj = date("Y-m-d");
|
||||
|
||||
$sppoliceentete = $this->sppolice->getRapportSpPoliceEntete($idPolice, $dj);
|
||||
|
||||
$_SESSION['dateFinRequete'] = dateCouranteLang($_SESSION['lang']);
|
||||
|
||||
$this->genererVue(array(
|
||||
'requetes' => $this->requetes,
|
||||
'sppoliceentete' => $sppoliceentete
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
@ -9,4 +9,88 @@ require_once 'Localisation.php';
|
|||
abstract class Controleurrequete extends Controleur
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
function pdf_to_image($fichierSimple, $uniqid)
|
||||
{
|
||||
$inputPdf = dirname(__DIR__) . "/".$fichierSimple; // PDF d’origine
|
||||
$path_parts = pathinfo($inputPdf);
|
||||
$outputPdf = $path_parts["dirname"]."/TMP_$uniqid.pdf"; // PDF final "image-only"
|
||||
$fichier="Temp/TMP_$uniqid.pdf";
|
||||
|
||||
// $dpi = 300; // 150 si tu veux alléger
|
||||
$dpi = 150; // 150 si tu veux alléger
|
||||
$quality = 90; // JPEG quality
|
||||
|
||||
// dossier temporaire
|
||||
$tmpDir = sys_get_temp_dir() . '/pdf2img_' . uniqid();
|
||||
|
||||
if (!is_dir($tmpDir)) {
|
||||
mkdir($tmpDir, 0777, true);
|
||||
}
|
||||
|
||||
try {
|
||||
$imagick = new Imagick();
|
||||
|
||||
// très important : définir la résolution AVANT readImage
|
||||
$imagick->setResolution($dpi, $dpi);
|
||||
$imagick->readImage($inputPdf);
|
||||
|
||||
$nbPages = $imagick->getNumberImages();
|
||||
$imageFiles = [];
|
||||
|
||||
for ($i = 0; $i < $nbPages; $i++) {
|
||||
$imagick->setIteratorIndex($i);
|
||||
$page = $imagick->getImage();
|
||||
|
||||
// important : forcer un fond blanc si le PDF avait de la transparence
|
||||
$page->setImageBackgroundColor('white');
|
||||
$page = $page->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
|
||||
// sortie en JPEG
|
||||
$page->setImageFormat('jpeg');
|
||||
$page->setImageCompression(Imagick::COMPRESSION_JPEG);
|
||||
$page->setImageCompressionQuality($quality);
|
||||
|
||||
$imgPath = sprintf('%s/page-%03d.jpg', $tmpDir, $i + 1);
|
||||
$page->writeImage($imgPath);
|
||||
$imageFiles[] = $imgPath;
|
||||
|
||||
$page->clear();
|
||||
$page->destroy();
|
||||
}
|
||||
|
||||
// 1) on essaie img2pdf (plus propre)
|
||||
$escapedImages = array_map('escapeshellarg', $imageFiles);
|
||||
$cmd = 'img2pdf ' . implode(' ', $escapedImages) . ' -o ' . escapeshellarg($outputPdf);
|
||||
exec($cmd, $o1, $r1);
|
||||
|
||||
if ($r1 !== 0) {
|
||||
// 2) fallback : ImageMagick
|
||||
// attention : certaines installations utilisent "convert" au lieu de "magick"
|
||||
$cmd2 = 'magick ' . implode(' ', $escapedImages) . ' -density ' . intval($dpi) . ' -compress jpeg ' . escapeshellarg($outputPdf);
|
||||
exec($cmd2, $o2, $r2);
|
||||
if ($r2 !== 0) {
|
||||
throw new Exception("Impossible de recomposer le PDF (img2pdf puis magick ont échoué)");
|
||||
}
|
||||
}
|
||||
|
||||
// nettoyage (optionnel)
|
||||
foreach ($imageFiles as $f) {
|
||||
@unlink($f);
|
||||
}
|
||||
@rmdir($tmpDir);
|
||||
} catch (Exception $e) {
|
||||
echo "Erreur : " . $e->getMessage();
|
||||
exit();
|
||||
}
|
||||
// Fin conversion
|
||||
|
||||
// supprimer $inputPdf
|
||||
@unlink($inputPdf);
|
||||
|
||||
$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;
|
||||
}
|
||||
421
Js/fonctions.js
421
Js/fonctions.js
|
|
@ -42,25 +42,6 @@ function toggleSidebar() {
|
|||
document.body.classList.toggle('sidebar-collapsed');
|
||||
}
|
||||
|
||||
$(function() {
|
||||
// Initialisation des composants au chargement de la page
|
||||
appliquerDataTable('.tabliste');
|
||||
dataTableSpeciale();
|
||||
|
||||
let nomForm = $("#nomForm").val();
|
||||
|
||||
/*
|
||||
if(nomForm == "remboursementClassic")
|
||||
{
|
||||
let filtre = "0";
|
||||
d1 = $("#d1").val();
|
||||
d2 = $("#d2").val();
|
||||
|
||||
lister_dossiers_classiques(filtre);
|
||||
}
|
||||
*/
|
||||
|
||||
});
|
||||
|
||||
function raffraichier_gabarit()
|
||||
{
|
||||
|
|
@ -379,13 +360,13 @@ function changer_langue_connexion() {
|
|||
}
|
||||
|
||||
/**
|
||||
* CONFIGURATION DATATABLES
|
||||
* Initialise un tableau DataTable avec options génériques.
|
||||
*
|
||||
* @param {string|jQuery} selector - Sélecteur du tableau (ex: '.tabliste' ou '#myTable')
|
||||
* @param {object} options - Options personnalisées (langue, boutons, ordre, etc.)
|
||||
* Initialise DataTables avec support multilingue, exports personnalisés et entêtes fixes.
|
||||
* * @param {string} selector - Sélecteur jQuery de la table (ex: '.tabliste')
|
||||
* @param {object} options - Options DataTables spécifiques pour surcharger par défaut
|
||||
* @param {string} titreDoc - Titre principal pour les exports (PDF/Excel/Print)
|
||||
* @param {string} message - Informations de police/contexte sous le titre (messageTop)
|
||||
*/
|
||||
function appliquerDataTable(selector = '.tabliste', options = {}) {
|
||||
function appliquerDataTable(selector = '.tabliste', options = {}, titreDoc = "Rapport", message = "") {
|
||||
const codeLangue = $("#codeLangue").val() || 'fr_FR';
|
||||
|
||||
const translations = {
|
||||
|
|
@ -393,38 +374,65 @@ function appliquerDataTable(selector = '.tabliste', options = {}) {
|
|||
lengthMenu: "Affiche _MENU_ par page",
|
||||
zeroRecords: "Aucune donnée trouvée",
|
||||
info: "_PAGE_ sur _PAGES_",
|
||||
search: "Recherche:",
|
||||
paginate: { next: "►", previous: "◄" }
|
||||
infoEmpty: "Aucun enregistrement disponible",
|
||||
infoFiltered: "(filtré de _MAX_ total)",
|
||||
search: "Recherche rapide :",
|
||||
paginate: { next: "Suivant ►", previous: "◄ Précédent" }
|
||||
},
|
||||
en_US: {
|
||||
lengthMenu: "Display _MENU_ records",
|
||||
zeroRecords: "Nothing found",
|
||||
info: "Showing page _PAGE_ of _PAGES_",
|
||||
search: "Search:",
|
||||
paginate: { next: "►", previous: "◄" }
|
||||
infoEmpty: "No records available",
|
||||
infoFiltered: "(filtered from _MAX_ total)",
|
||||
search: "Quick Search:",
|
||||
paginate: { next: "Next ►", previous: "◄ Previous" }
|
||||
}
|
||||
};
|
||||
|
||||
$(selector).each(function() {
|
||||
const $table = $(this);
|
||||
|
||||
// Colonnes marquées comme 'data-hidden'
|
||||
const hiddenTargets = [];
|
||||
$table.find('thead th').each((idx, th) => {
|
||||
if ($(th).data('hidden')) hiddenTargets.push(idx);
|
||||
});
|
||||
|
||||
const exportConfig = {
|
||||
title: titreDoc,
|
||||
messageTop: message,
|
||||
exportOptions: { columns: ':visible' }
|
||||
};
|
||||
|
||||
// --- CORRECTION ICI ---
|
||||
// On définit les boutons par défaut uniquement SI aucun bouton n'est fourni dans 'options'
|
||||
const defaultButtons = [
|
||||
$.extend(true, {}, exportConfig, { extend: 'copy', className: 'btn btn-sm btn-light' }),
|
||||
$.extend(true, {}, exportConfig, { extend: 'excel', className: 'btn btn-sm btn-success' }),
|
||||
$.extend(true, {}, exportConfig, {
|
||||
extend: 'pdf',
|
||||
className: 'btn btn-sm btn-danger',
|
||||
orientation: 'landscape',
|
||||
pageSize: 'A4'
|
||||
}),
|
||||
$.extend(true, {}, exportConfig, { extend: 'print', className: 'btn btn-sm btn-dark' })
|
||||
];
|
||||
|
||||
// On vérifie si l'utilisateur a passé ses propres boutons
|
||||
const finalButtons = (options && options.buttons) ? options.buttons : defaultButtons;
|
||||
|
||||
const instance = $table.DataTable($.extend(true, {
|
||||
destroy: true,
|
||||
responsive: true,
|
||||
pageLength: 25,
|
||||
order: [[0, "desc"]],
|
||||
dom: 'Bfrtip',
|
||||
language: translations[codeLangue] || translations.fr_FR,
|
||||
columnDefs: [{ targets: hiddenTargets, visible: false }],
|
||||
dom: 'Bfrtip',
|
||||
buttons: ['copy', 'csv', 'excel', 'pdf', 'print']
|
||||
fixedHeader: { header: true, footer: true },
|
||||
buttons: finalButtons // On utilise la liste filtrée
|
||||
}, options));
|
||||
|
||||
// Ajustement après rendu
|
||||
$table.on('init.dt', function () {
|
||||
if (instance && instance.responsive) {
|
||||
instance.columns.adjust();
|
||||
|
|
@ -434,6 +442,7 @@ function appliquerDataTable(selector = '.tabliste', options = {}) {
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
function dataTableSpeciale() {
|
||||
const $table = $('.tabspeciale');
|
||||
const codeLangue = $("#codeLangue").val() || "fr_FR";
|
||||
|
|
@ -1220,7 +1229,11 @@ function addChartToPdf(pdf, canvasId, title, startY) {
|
|||
|
||||
|
||||
function charger_contrats(){
|
||||
const codeLangue = document.querySelector("#codeLangue")?.value || "fr_FR";
|
||||
const titre = (codeLangue === "en_US") ? "LIST OF CONTRACTS" : "LISTE DES CONTRATS";
|
||||
|
||||
showLoader("#div_liste_contrats", { size: 3 });
|
||||
|
||||
|
||||
$.ajax({
|
||||
url: $("#racineWeb").val()+"Ajaxlistepolicesclient/",
|
||||
|
|
@ -1230,7 +1243,7 @@ function charger_contrats(){
|
|||
},
|
||||
success: function(data) {
|
||||
$("#div_liste_contrats").html(data);
|
||||
appliquerDataTable('.tabliste');
|
||||
appliquerDataTable('.tabliste', {}, titre);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -2013,6 +2026,7 @@ function selectionner_beneficiaire(id,no)
|
|||
|
||||
function afficher_beneficiaire()
|
||||
{
|
||||
|
||||
if ($("#numeroBeneficiaire_C" ).val()>"")
|
||||
{
|
||||
window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"+$("#numeroBeneficiaire_C" ).val()+"/");
|
||||
|
|
@ -2021,11 +2035,18 @@ function afficher_beneficiaire()
|
|||
|
||||
function afficher_beneficiaire_id()
|
||||
{
|
||||
idBeneficiaire = $("#idBeneficiaire_C" ).val();
|
||||
if ($("#idBeneficiaire_C" ).val()>"")
|
||||
{
|
||||
window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"+idBeneficiaire+"/");
|
||||
idBeneficiaire = $("#idBeneficiaire_C" ).val();
|
||||
idAvenant = $("#idAvenant").val();
|
||||
|
||||
if(idAvenant > "0"){
|
||||
modifier_beneficiaire(idBeneficiaire);
|
||||
}else{
|
||||
if ($("#idBeneficiaire_C" ).val()>"")
|
||||
{
|
||||
window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"+idBeneficiaire+"/");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function creer_beneficiaires()
|
||||
|
|
@ -4639,7 +4660,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
|
||||
|
|
@ -5607,6 +5629,7 @@ function ajax_menus_profil()
|
|||
function afficher_menu_vue_profil()
|
||||
{
|
||||
codeProfil=$("#codeProfil").val();
|
||||
|
||||
if (codeProfil<=" ")
|
||||
{
|
||||
v_msg="Veuillez sélectionner un profil!";
|
||||
|
|
@ -5833,8 +5856,6 @@ function retirer_tous_menu_vue_profil()
|
|||
|
||||
function retirer_un_menu_vue_profil(codeMenu)
|
||||
{
|
||||
debugger;
|
||||
|
||||
codeProfil=$("#codeProfil").val();
|
||||
|
||||
if (codeProfil<=" ")
|
||||
|
|
@ -6612,7 +6633,17 @@ function init_remplacement_adherent()
|
|||
|
||||
donnees = 'dateSortie='+dateS+'&dateRemplacement='+dateR+'&motifavenant='+motifavenant+'&fraisCarte='+fraisCarte;
|
||||
|
||||
$("#div_remplacement_adherent").html('<div style="padding-top:80px;"><img src="Bootstrap/images/loading.gif"/> <span style="font-size:15pt;">' + 'Veuillez patienter... / Please wait...' + '</span></div>');
|
||||
$("#div_remplacement_adherent").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: $("#racineWeb").val()+"Ajaxremplaceradherent/init/",
|
||||
|
|
@ -6802,7 +6833,16 @@ function enregistrer_remplacement_adherent()
|
|||
.then((isConfirmed) => {
|
||||
if (isConfirmed) {
|
||||
// L'utilisateur a confirmé
|
||||
$("#div_remplacement_adherent").html('<div style="padding-top:80px;"><img src="Bootstrap/images/loading.gif"/> <span style="font-size:15pt;">' + 'Veuillez patienter... / Please wait...' + '</span></div>');
|
||||
$("#div_remplacement_adherent").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: $("#racineWeb").val()+"Ajaxremplaceradherent/enregistrerremplacementadherent/",
|
||||
|
|
@ -6834,7 +6874,17 @@ function enregistrer_remplacement_adherent()
|
|||
function pop_afficher_selection_reincorporation()
|
||||
{
|
||||
var div_selection_assure = $('#div_selection_assure');
|
||||
div_selection_assure.html('<div style="padding-top:80px;"><img src="Bootstrap/images/loading.gif"/> <span style="font-size:15pt;">' + 'Veuillez patienter... / Please wait...' + '</span></div>');
|
||||
div_selection_assure.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>
|
||||
`);
|
||||
|
||||
$("#btn_pop").click();
|
||||
|
||||
$.ajax({
|
||||
|
|
@ -6908,7 +6958,16 @@ function beneficiaire_a_reincorporer(p_choix, p_id_beneficiaire)
|
|||
function recapituler_reincorporer()
|
||||
{
|
||||
var div_assure_a_retirer = $('#div_assure_a_retirer');
|
||||
div_assure_a_retirer.html('<div style="padding-top:80px;"><img src="Bootstrap/images/loading.gif"/> <span style="font-size:15pt;">' + 'Veuillez patienter... / Please wait...' + '</span></div>');
|
||||
div_assure_a_retirer.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: $("#racineWeb").val()+"Ajaxdetailreincorporation/recapituler/",
|
||||
|
|
@ -6940,7 +6999,16 @@ function lister_ged_adherent()
|
|||
|
||||
donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine+'&codeNaturePiece='+codeNaturePiece;
|
||||
|
||||
$("#div_ged").html('<div style="padding-top:80px;"><img src="Bootstrap/images/loading.gif"/> <span style="font-size:15pt;">' + 'Veuillez patienter... / Please wait...' + '</span></div>');
|
||||
$("#div_ged").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: $("#racineWeb").val()+"Ajaxlistegedadherent/",
|
||||
|
|
@ -6961,10 +7029,20 @@ function lister_ged_beneficiaire_prod()
|
|||
d1 = $("#d1").val();
|
||||
d2 = $("#d2").val();
|
||||
nomOrigine = $("#nomOrigine").val();
|
||||
codeNaturePiece = $("#codeNaturePiece").val();
|
||||
|
||||
donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine;
|
||||
donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine+'&codeNaturePiece='+codeNaturePiece;
|
||||
|
||||
$("#div_ged").html('<div style="padding-top:80px;"><img src="Bootstrap/images/loading.gif"/> <span style="font-size:15pt;">' + 'Veuillez patienter... / Please wait...' + '</span></div>');
|
||||
$("#div_ged").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: $("#racineWeb").val()+"Ajaxlistegedbeneficiaireprod/",
|
||||
|
|
@ -6978,4 +7056,251 @@ 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 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>
|
||||
`);
|
||||
|
||||
$("#div_detail_requete").html(`
|
||||
<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 affichée / No data displayed</p>
|
||||
</div>
|
||||
</div>
|
||||
`);
|
||||
|
||||
$.ajax({
|
||||
url: v_url,
|
||||
type : 'post',
|
||||
data: donnees,
|
||||
error: function(errorData) {
|
||||
},
|
||||
success: function(data) {
|
||||
$("#div_ente_requete").html(data);
|
||||
$(".datepicker" ).datepicker();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function requetes_sinistres_rh()
|
||||
{
|
||||
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+"/";
|
||||
|
||||
dateFacture1 = $("#dateFacture1").val();
|
||||
dateFacture2 = $("#dateFacture2").val();
|
||||
|
||||
donnees += '&dateFacture1=' + dateFacture1;
|
||||
donnees += '&dateFacture2=' + dateFacture2;
|
||||
|
||||
$("#div_detail_requete").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(donnees_retour);
|
||||
$("#nbligne").val($("#nbligne_info").val());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function requetes_resume_sinistres_export()
|
||||
{
|
||||
debugger;
|
||||
|
||||
$('#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) {
|
||||
debugger;
|
||||
donnees_retour = data;
|
||||
},
|
||||
complete: function() {
|
||||
debugger;
|
||||
$('#div_detail_requete').html("");
|
||||
$('#div_export_a').html(donnees_retour);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function envoyer_notification_avenant(idAvenant)
|
||||
{
|
||||
donnees = 'idAvenant='+idAvenant;
|
||||
|
||||
$.ajax({
|
||||
url: $("#racineWeb").val()+"Ajaxavenant/notifier/",
|
||||
type : 'post',
|
||||
data: donnees,
|
||||
error: function(errorData) {
|
||||
|
||||
},
|
||||
success: function(data) {
|
||||
const msg = "Votre notification a été transmise avec succès.";
|
||||
const msgEng = "Your notification has been successfully sent.";
|
||||
|
||||
alert_ebene(msg, msgEng);
|
||||
return;
|
||||
},
|
||||
complete: function()
|
||||
{
|
||||
liste_avenant();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function motif_rejet(motif)
|
||||
{
|
||||
alert_ebene(motif, motif);
|
||||
}
|
||||
|
||||
function corriger_mvt_beneficiaire(idBeneficiaire, idAvenant)
|
||||
{
|
||||
donnees = 'idAvenant='+idAvenant;
|
||||
|
||||
$.ajax({
|
||||
url: $("#racineWeb").val()+"Ajaxmouvementassure/avenant/",
|
||||
type : 'post',
|
||||
data: donnees,
|
||||
error: function(errorData) {
|
||||
},
|
||||
success: function(data) {
|
||||
setTimeout(() => {
|
||||
modifier_beneficiaire(idBeneficiaire);
|
||||
}, 150);
|
||||
},
|
||||
complete: function() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function confirmer_correction(idMvt, idBeneficiaire)
|
||||
{
|
||||
donnees = 'idMvt='+idMvt;
|
||||
|
||||
const v_msg = "Avez-vous terminé avec la correction demandée ?";
|
||||
const v_msgEng = "Have you finished with the requested correction?";
|
||||
|
||||
confirm_ebene(v_msg, v_msgEng).then(isConfirmed => {
|
||||
if (isConfirmed) {
|
||||
$.ajax({
|
||||
url: $("#racineWeb").val()+"Ajaxmouvementassure/reinitvalidation/",
|
||||
type : 'post',
|
||||
data: donnees,
|
||||
error: function(errorData) {
|
||||
},
|
||||
success: function(data) {
|
||||
const msg = "Validation reinitialisée avec succès !";
|
||||
const msgEng = "Validation successfully reset!";
|
||||
|
||||
alert_ebene(msg, msgEng).then(() => {
|
||||
// Ce code ne s’exécute qu’après clic sur OK
|
||||
modifier_beneficiaire(idBeneficiaire);
|
||||
});
|
||||
},
|
||||
complete: function() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
|
@ -887,5 +887,17 @@ class Adherent extends Modele {
|
|||
|
||||
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function getNombreGedAdherent($idAdherent)
|
||||
{
|
||||
$source = 'S';
|
||||
|
||||
$sql = 'SELECT fn_nombre_ged_adherent(?, ?) as nombreGed;';
|
||||
|
||||
$resultat = $this->executerRequete($sql, array($idAdherent, $source));
|
||||
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
return $ligne['nombreGed'];
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -104,5 +104,13 @@ class Avenant extends Modele {
|
|||
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function notifieravenant($idAvenant)
|
||||
{
|
||||
$user = $_SESSION['codeUtilisateur'];
|
||||
|
||||
$sql = 'call sp_rh_notifier_avenant(?, ?)';
|
||||
|
||||
$this->executerRequete($sql, array($idAvenant, $user));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1658,4 +1658,15 @@ class Beneficiaire extends Modele {
|
|||
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function getNombreGedBeneficiaire($idBeneficiaire)
|
||||
{
|
||||
$source = 'S';
|
||||
|
||||
$sql = 'SELECT fn_nombre_ged_beneficiaire(?, ?) as nombreGed;';
|
||||
|
||||
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $source));
|
||||
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
return $ligne['nombreGed'];
|
||||
}
|
||||
}
|
||||
|
|
@ -47,24 +47,31 @@ class Ged extends Modele {
|
|||
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function enregistrergedbeneficiaireprod($nomOrigine, $nouveau_fichier, $taille)
|
||||
public function enregistrergedbeneficiaireprod($nomOrigine, $nouveau_fichier, $taille, $codeNaturePiece, $libelleAutre)
|
||||
{
|
||||
$idBeneficiaire = $_SESSION['idBeneficiaire_C'];
|
||||
$user = $_SESSION['login'];
|
||||
$cheminFichier = $_SESSION['dossierGed'].$nouveau_fichier;
|
||||
|
||||
$sql = 'call sp_r_ajouter_ged_beneficiaire_prod(?, ?, ?, ?, ?)';
|
||||
$sql = 'call sp_r_ajouter_ged_beneficiaire_prod_rh(?, ?, ?, ?, ?, ?, ?);';
|
||||
|
||||
//var_dump(array($idBeneficiaire, $nomOrigine, $cheminFichier, $taille, $user, $codeNaturePiece, $libelleAutre)); die();
|
||||
|
||||
$this->executerRequete($sql, array($idBeneficiaire, $nomOrigine, $cheminFichier, $taille, $user));
|
||||
$this->executerRequete($sql, array($idBeneficiaire, $nomOrigine, $cheminFichier, $taille, $user, $codeNaturePiece, $libelleAutre));
|
||||
}
|
||||
|
||||
public function getgedbeneficiaireprod($d1, $d2, $nomOrigine)
|
||||
public function getgedbeneficiaireprod($d1, $d2, $nomOrigine, $codeNaturePiece)
|
||||
{
|
||||
$idBeneficiaire = $_SESSION['idBeneficiaire_C'];
|
||||
$idBeneficiaire = $_SESSION['idBeneficiaire_C'];
|
||||
$lang = $_SESSION['lang'];
|
||||
|
||||
$sql = 'call sp_r_get_ged_beneficiaire_prod(?, ?, ?, ?)';
|
||||
$codeNaturePiece = contruireParamLike($codeNaturePiece);
|
||||
|
||||
$sql = 'call sp_r_get_ged_beneficiaire_prod_rh(?, ?, ?, ?, ?, ?);';
|
||||
|
||||
//var_dump(array($idBeneficiaire, $d1, $d2, $nomOrigine, $codeNaturePiece, $lang)); die();
|
||||
|
||||
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $d1, $d2, $nomOrigine));
|
||||
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $d1, $d2, $nomOrigine, $codeNaturePiece, $lang));
|
||||
|
||||
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
|
@ -72,29 +79,30 @@ class Ged extends Modele {
|
|||
public function getgedadherent($d1, $d2, $nomOrigine, $codeNaturePiece)
|
||||
{
|
||||
$idAdherent = $_SESSION['idAdherent_C'];
|
||||
$lang = $_SESSION['lang'];
|
||||
|
||||
$codeNaturePiece = contruireParamLike($codeNaturePiece);
|
||||
|
||||
$sql = 'call sp_get_ged_adherent_rh(?, ?, ?, ?, ?);';
|
||||
$sql = 'call sp_get_ged_adherent_rh(?, ?, ?, ?, ?, ?);';
|
||||
|
||||
//var_dump(array($idAdherent, $d1, $d2, $nomOrigine, $codeNaturePiece)); die();
|
||||
|
||||
|
||||
|
||||
$resultat = $this->executerRequete($sql, array($idAdherent, $d1, $d2, $nomOrigine, $codeNaturePiece));
|
||||
$resultat = $this->executerRequete($sql, array($idAdherent, $d1, $d2, $nomOrigine, $codeNaturePiece, $lang));
|
||||
|
||||
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function enregistrergedadherent($nomOrigine, $nouveau_fichier, $taille, $codeNaturePiece, $libelleDocument)
|
||||
public function enregistrergedadherent($nomOrigine, $nouveau_fichier, $taille, $codeNaturePiece, $libelleAutre)
|
||||
{
|
||||
$idAdherent = $_SESSION['idAdherent_C'];
|
||||
$user = $_SESSION['login'];
|
||||
$cheminFichier = $_SESSION['dossierGed'].$nouveau_fichier;
|
||||
|
||||
$sql = 'call sp_ajouter_ged_adherent_rh(?, ?, ?, ?, ?)';
|
||||
$sql = 'call sp_ajouter_ged_adherent_rh(?, ?, ?, ?, ?, ?, ?);';
|
||||
|
||||
//var_dump(array($idAdherent, $nomOrigine, $cheminFichier, $taille, $user, $codeNaturePiece, $libelleAutre)); die();
|
||||
|
||||
$this->executerRequete($sql, array($idAdherent, $nomOrigine, $cheminFichier, $taille, $user, $codeNaturePiece, $libelleDocument));
|
||||
$this->executerRequete($sql, array($idAdherent, $nomOrigine, $cheminFichier, $taille, $user, $codeNaturePiece, $libelleAutre));
|
||||
}
|
||||
|
||||
public function getgedpolice($d1, $d2, $nomOrigine)
|
||||
|
|
|
|||
|
|
@ -6,28 +6,31 @@ class Mouvementassure extends Modele {
|
|||
public function getMouvementassure($ajoutClient, $codeSensMouvement, $valide, $debut, $fin)
|
||||
{
|
||||
$codeSensMouvement = contruireParamLike($codeSensMouvement);
|
||||
$ajoutClient = contruireParamLike($ajoutClient);
|
||||
$valide = contruireParamLike($valide);
|
||||
$ajoutClient = contruireParamLike($ajoutClient);
|
||||
$valide = contruireParamLike($valide);
|
||||
|
||||
/*
|
||||
var_dump(
|
||||
array(
|
||||
"idPolice_C" => $_SESSION['idPolice_C'],
|
||||
"ajoutClient" => $ajoutClient,
|
||||
"codeSensMouvement" => $codeSensMouvement,
|
||||
"valide" => $valide,
|
||||
"debut" => $debut,
|
||||
"fin" => $fin
|
||||
)
|
||||
);
|
||||
exit();
|
||||
*/
|
||||
|
||||
$sql = 'call sp_get_mouvementassures(?, ?, ?, ?, ?, ?)';
|
||||
|
||||
$resultat = $this->executerRequete($sql, array($_SESSION['idPolice_C'], $ajoutClient, $codeSensMouvement, $valide, $debut, $fin));
|
||||
|
||||
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function getMouvementassureID($idBeneficiaire, $idAvenant)
|
||||
{
|
||||
$sql = 'call sp_get_mouvement_rh_beneficiaire(?, ?)';
|
||||
|
||||
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $idAvenant));
|
||||
|
||||
return $resultat->fetch(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function reinitvalidation($idMvt)
|
||||
{
|
||||
$user = $_SESSION['codeUtilisateur'];
|
||||
|
||||
$sql = 'call sp_mouvement_rh_reinitvalidation(?, ?);';
|
||||
|
||||
$this->executerRequete($sql, array($idMvt, $user));
|
||||
}
|
||||
}
|
||||
|
|
@ -896,4 +896,89 @@ class Police extends Modele {
|
|||
$this->executerRequete($sql, array($idPolice, $user));
|
||||
}
|
||||
|
||||
public function requeteresumesinistres($dateFacture2) {
|
||||
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$sql = 'CALL sp_requeteresumesinistres_rh(?, ?);';
|
||||
|
||||
$liste = $this->executerRequete($sql,array($idPolice, $dateFacture2));
|
||||
|
||||
return $liste->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function requeteresumesinistres_total($dateFacture2) {
|
||||
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$sql = 'CALL sp_requeteresumesinistres_total_rh(?, ?);';
|
||||
|
||||
$liste = $this->executerRequete($sql,array($idPolice, $dateFacture2));
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
public function requetedetailsinistres($dateDebut, $dateFin) {
|
||||
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$sql = 'CALL sp_requetedetailsinistres_rh(?, ?, ?);';
|
||||
|
||||
$liste = $this->executerRequete($sql,array($idPolice, $dateDebut, $dateFin));
|
||||
|
||||
return $liste->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function requetedetailsinistres_total($dateDebut, $dateFin) {
|
||||
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$sql = 'CALL sp_requetedetailsinistres_total_rh(?, ?, ?);';
|
||||
|
||||
$liste = $this->executerRequete($sql,array($idPolice, $dateDebut, $dateFin));
|
||||
|
||||
return $liste->fetch(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function requetefrequenceinistres($dateDebut, $dateFin) {
|
||||
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$sql = 'CALL sp_requetefrequencesinistres_rh(?, ?, ?);';
|
||||
|
||||
$liste = $this->executerRequete($sql,array($idPolice, $dateDebut, $dateFin));
|
||||
|
||||
return $liste->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function requetefrequencesinistres_total($dateDebut, $dateFin) {
|
||||
|
||||
$idPolice = $_SESSION['idPolice_C'];
|
||||
|
||||
$sql = 'CALL sp_requetefrequencesinistres_total_rh(?, ?, ?);';
|
||||
|
||||
$liste = $this->executerRequete($sql,array($idPolice, $dateDebut, $dateFin));
|
||||
|
||||
return $liste->fetch(PDO::FETCH_ASSOC);
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -2548,7 +2548,7 @@ class PHPExcel_Calculation
|
|||
public static function unwrapResult($value)
|
||||
{
|
||||
if (is_string($value)) {
|
||||
if ((isset($value{0})) && ($value{0} == '"') && (substr($value, -1) == '"')) {
|
||||
if ((isset($value[0])) && ($value[0] == '"') && (substr($value, -1) == '"')) {
|
||||
return substr($value, 1, -1);
|
||||
}
|
||||
// Convert numeric errors to NaN error
|
||||
|
|
@ -2669,11 +2669,11 @@ class PHPExcel_Calculation
|
|||
// Basic validation that this is indeed a formula
|
||||
// We return an empty array if not
|
||||
$formula = trim($formula);
|
||||
if ((!isset($formula{0})) || ($formula{0} != '=')) {
|
||||
if ((!isset($formula[0])) || ($formula[0] != '=')) {
|
||||
return array();
|
||||
}
|
||||
$formula = ltrim(substr($formula, 1));
|
||||
if (!isset($formula{0})) {
|
||||
if (!isset($formula[0])) {
|
||||
return array();
|
||||
}
|
||||
|
||||
|
|
@ -2761,11 +2761,11 @@ class PHPExcel_Calculation
|
|||
// Basic validation that this is indeed a formula
|
||||
// We simply return the cell value if not
|
||||
$formula = trim($formula);
|
||||
if ($formula{0} != '=') {
|
||||
if ($formula[0] != '=') {
|
||||
return self::wrapResult($formula);
|
||||
}
|
||||
$formula = ltrim(substr($formula, 1));
|
||||
if (!isset($formula{0})) {
|
||||
if (!isset($formula[0])) {
|
||||
return self::wrapResult($formula);
|
||||
}
|
||||
|
||||
|
|
@ -2777,7 +2777,7 @@ class PHPExcel_Calculation
|
|||
return $cellValue;
|
||||
}
|
||||
|
||||
if (($wsTitle{0} !== "\x00") && ($this->cyclicReferenceStack->onStack($wsCellReference))) {
|
||||
if (($wsTitle[0] !== "\x00") && ($this->cyclicReferenceStack->onStack($wsCellReference))) {
|
||||
if ($this->cyclicFormulaCount <= 0) {
|
||||
$this->cyclicFormulaCell = '';
|
||||
return $this->raiseFormulaError('Cyclic Reference in Formula');
|
||||
|
|
@ -3031,7 +3031,7 @@ class PHPExcel_Calculation
|
|||
} else {
|
||||
if ($value == '') {
|
||||
return 'an empty string';
|
||||
} elseif ($value{0} == '#') {
|
||||
} elseif ($value[0] == '#') {
|
||||
return 'a '.$value.' error';
|
||||
} else {
|
||||
$typeString = 'a string';
|
||||
|
|
@ -3163,10 +3163,10 @@ class PHPExcel_Calculation
|
|||
// Loop through the formula extracting each operator and operand in turn
|
||||
while (true) {
|
||||
//echo 'Assessing Expression '.substr($formula, $index), PHP_EOL;
|
||||
$opCharacter = $formula{$index}; // Get the first character of the value at the current index position
|
||||
$opCharacter = $formula[$index]; // Get the first character of the value at the current index position
|
||||
//echo 'Initial character of expression block is '.$opCharacter, PHP_EOL;
|
||||
if ((isset(self::$comparisonOperators[$opCharacter])) && (strlen($formula) > $index) && (isset(self::$comparisonOperators[$formula{$index+1}]))) {
|
||||
$opCharacter .= $formula{++$index};
|
||||
if ((isset(self::$comparisonOperators[$opCharacter])) && (strlen($formula) > $index) && (isset(self::$comparisonOperators[$formula[$index+1]]))) {
|
||||
$opCharacter .= $formula[++$index+1];
|
||||
//echo 'Initial character of expression block is comparison operator '.$opCharacter.PHP_EOL;
|
||||
}
|
||||
|
||||
|
|
@ -3454,11 +3454,11 @@ class PHPExcel_Calculation
|
|||
}
|
||||
}
|
||||
// Ignore white space
|
||||
while (($formula{$index} == "\n") || ($formula{$index} == "\r")) {
|
||||
while (($formula[$index] == "\n") || ($formula[$index] == "\r")) {
|
||||
++$index;
|
||||
}
|
||||
if ($formula{$index} == ' ') {
|
||||
while ($formula{$index} == ' ') {
|
||||
if ($formula[$index] == ' ') {
|
||||
while ($formula[$index] == ' ') {
|
||||
++$index;
|
||||
}
|
||||
// If we're expecting an operator, but only have a space between the previous and next operands (and both are
|
||||
|
|
@ -3888,7 +3888,7 @@ class PHPExcel_Calculation
|
|||
// echo 'Token is a PHPExcel constant: '.$excelConstant.'<br />';
|
||||
$stack->push('Constant Value', self::$excelConstants[$excelConstant]);
|
||||
$this->_debugLog->writeDebugLog('Evaluating Constant ', $excelConstant, ' as ', $this->showTypeDetails(self::$excelConstants[$excelConstant]));
|
||||
} elseif ((is_numeric($token)) || ($token === null) || (is_bool($token)) || ($token == '') || ($token{0} == '"') || ($token{0} == '#')) {
|
||||
} elseif ((is_numeric($token)) || ($token === null) || (is_bool($token)) || ($token == '') || ($token[0] == '"') || ($token[0] == '#')) {
|
||||
// echo 'Token is a number, boolean, string, null or an Excel error<br />';
|
||||
$stack->push('Value', $token);
|
||||
// if the token is a named range, push the named range name onto the stack
|
||||
|
|
@ -3933,13 +3933,13 @@ class PHPExcel_Calculation
|
|||
if (is_string($operand)) {
|
||||
// We only need special validations for the operand if it is a string
|
||||
// Start by stripping off the quotation marks we use to identify true excel string values internally
|
||||
if ($operand > '' && $operand{0} == '"') {
|
||||
if ($operand > '' && $operand[0] == '"') {
|
||||
$operand = self::unwrapResult($operand);
|
||||
}
|
||||
// If the string is a numeric value, we treat it as a numeric, so no further testing
|
||||
if (!is_numeric($operand)) {
|
||||
// If not a numeric, test to see if the value is an Excel error, and so can't be used in normal binary operations
|
||||
if ($operand > '' && $operand{0} == '#') {
|
||||
if ($operand > '' && $operand[0] == '#') {
|
||||
$stack->push('Value', $operand);
|
||||
$this->_debugLog->writeDebugLog('Evaluation Result is ', $this->showTypeDetails($operand));
|
||||
return false;
|
||||
|
|
@ -3995,10 +3995,10 @@ class PHPExcel_Calculation
|
|||
}
|
||||
|
||||
// Simple validate the two operands if they are string values
|
||||
if (is_string($operand1) && $operand1 > '' && $operand1{0} == '"') {
|
||||
if (is_string($operand1) && $operand1 > '' && $operand1[0] == '"') {
|
||||
$operand1 = self::unwrapResult($operand1);
|
||||
}
|
||||
if (is_string($operand2) && $operand2 > '' && $operand2{0} == '"') {
|
||||
if (is_string($operand2) && $operand2 > '' && $operand2[0] == '"') {
|
||||
$operand2 = self::unwrapResult($operand2);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -318,10 +318,10 @@ class PHPExcel_Calculation_Functions
|
|||
public static function ifCondition($condition)
|
||||
{
|
||||
$condition = PHPExcel_Calculation_Functions::flattenSingleValue($condition);
|
||||
if (!isset($condition{0})) {
|
||||
if (!isset($condition[0])) {
|
||||
$condition = '=""';
|
||||
}
|
||||
if (!in_array($condition{0}, array('>', '<', '='))) {
|
||||
if (!in_array($condition[0], array('>', '<', '='))) {
|
||||
if (!is_numeric($condition)) {
|
||||
$condition = PHPExcel_Calculation::wrapResult(strtoupper($condition));
|
||||
}
|
||||
|
|
@ -559,7 +559,7 @@ class PHPExcel_Calculation_Functions
|
|||
return (integer) $value;
|
||||
case 'string':
|
||||
// Errors
|
||||
if ((strlen($value) > 0) && ($value{0} == '#')) {
|
||||
if ((strlen($value) > 0) && ($value[0] == '#')) {
|
||||
return $value;
|
||||
}
|
||||
break;
|
||||
|
|
@ -609,7 +609,7 @@ class PHPExcel_Calculation_Functions
|
|||
return 64;
|
||||
} elseif (is_string($value)) {
|
||||
// Errors
|
||||
if ((strlen($value) > 0) && ($value{0} == '#')) {
|
||||
if ((strlen($value) > 0) && ($value[0] == '#')) {
|
||||
return 16;
|
||||
}
|
||||
return 2;
|
||||
|
|
|
|||
|
|
@ -809,19 +809,19 @@ class PHPExcel_Cell
|
|||
|
||||
// We also use the language construct isset() rather than the more costly strlen() function to match the length of $pString
|
||||
// for improved performance
|
||||
if (isset($pString{0})) {
|
||||
if (!isset($pString{1})) {
|
||||
if (isset($pString[0])) {
|
||||
if (!isset($pString[1])) {
|
||||
$_indexCache[$pString] = $_columnLookup[$pString];
|
||||
return $_indexCache[$pString];
|
||||
} elseif (!isset($pString{2})) {
|
||||
$_indexCache[$pString] = $_columnLookup[$pString{0}] * 26 + $_columnLookup[$pString{1}];
|
||||
} elseif (!isset($pString[2])) {
|
||||
$_indexCache[$pString] = $_columnLookup[$pString[0]] * 26 + $_columnLookup[$pString[1]];
|
||||
return $_indexCache[$pString];
|
||||
} elseif (!isset($pString{3})) {
|
||||
$_indexCache[$pString] = $_columnLookup[$pString{0}] * 676 + $_columnLookup[$pString{1}] * 26 + $_columnLookup[$pString{2}];
|
||||
$_indexCache[$pString] = $_columnLookup[$pString[0]] * 676 + $_columnLookup[$pString[1]] * 26 + $_columnLookup[$pString[2]];
|
||||
return $_indexCache[$pString];
|
||||
}
|
||||
}
|
||||
throw new PHPExcel_Exception("Column string index can not be " . ((isset($pString{0})) ? "longer than 3 characters" : "empty"));
|
||||
throw new PHPExcel_Exception("Column string index can not be " . ((isset($pString[0])) ? "longer than 3 characters" : "empty"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -79,15 +79,22 @@ class PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
|
|||
return PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
} elseif ($pValue instanceof PHPExcel_RichText) {
|
||||
return PHPExcel_Cell_DataType::TYPE_INLINE;
|
||||
} elseif ($pValue{0} === '=' && strlen($pValue) > 1) {
|
||||
}
|
||||
|
||||
// CORRECTION ICI : On vérifie si c'est une string avant d'accéder à [0]
|
||||
elseif (is_string($pValue) && strlen($pValue) > 1 && $pValue[0] === '=') {
|
||||
return PHPExcel_Cell_DataType::TYPE_FORMULA;
|
||||
} elseif (is_bool($pValue)) {
|
||||
}
|
||||
|
||||
elseif (is_bool($pValue)) {
|
||||
return PHPExcel_Cell_DataType::TYPE_BOOL;
|
||||
} elseif (is_float($pValue) || is_int($pValue)) {
|
||||
return PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
||||
} elseif (preg_match('/^[\+\-]?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)([Ee][\-\+]?[0-2]?\d{1,3})?$/', $pValue)) {
|
||||
$tValue = ltrim($pValue, '+-');
|
||||
if (is_string($pValue) && $tValue{0} === '0' && strlen($tValue) > 1 && $tValue{1} !== '.') {
|
||||
|
||||
// CORRECTION ICI AUSSI : On s'assure que $tValue est une string et n'est pas vide
|
||||
if (is_string($tValue) && strlen($tValue) > 1 && $tValue[0] === '0' && $tValue[1] !== '.') {
|
||||
return PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
} elseif ((strpos($pValue, '.') === false) && ($pValue > PHP_INT_MAX)) {
|
||||
return PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
|
|
@ -100,3 +107,4 @@ class PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
|
|||
return PHPExcel_Cell_DataType::TYPE_STRING;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -881,8 +881,8 @@ class PHPExcel_ReferenceHelper
|
|||
list($newColumn, $newRow) = PHPExcel_Cell::coordinateFromString($pCellReference);
|
||||
|
||||
// Verify which parts should be updated
|
||||
$updateColumn = (($newColumn{0} != '$') && ($beforeColumn{0} != '$') && (PHPExcel_Cell::columnIndexFromString($newColumn) >= PHPExcel_Cell::columnIndexFromString($beforeColumn)));
|
||||
$updateRow = (($newRow{0} != '$') && ($beforeRow{0} != '$') && $newRow >= $beforeRow);
|
||||
$updateColumn = (($newColumn[0] != '$') && ($beforeColumn[0] != '$') && (PHPExcel_Cell::columnIndexFromString($newColumn) >= PHPExcel_Cell::columnIndexFromString($beforeColumn)));
|
||||
$updateRow = (($newRow[0] != '$') && ($beforeRow[0] != '$') && $newRow >= $beforeRow);
|
||||
|
||||
// Create new column reference
|
||||
if ($updateColumn) {
|
||||
|
|
|
|||
|
|
@ -717,7 +717,7 @@ class PHPExcel_Worksheet_AutoFilter
|
|||
);
|
||||
} else {
|
||||
// Date based
|
||||
if ($dynamicRuleType{0} == 'M' || $dynamicRuleType{0} == 'Q') {
|
||||
if ($dynamicRuleType[0] == 'M' || $dynamicRuleType[0] == 'Q') {
|
||||
// Month or Quarter
|
||||
sscanf($dynamicRuleType, '%[A-Z]%d', $periodType, $period);
|
||||
if ($periodType == 'M') {
|
||||
|
|
|
|||
|
|
@ -60,9 +60,10 @@ class PHPExcel_WorksheetIterator implements Iterator
|
|||
unset($this->subject);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Rewind iterator
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function rewind()
|
||||
{
|
||||
$this->position = 0;
|
||||
|
|
@ -73,6 +74,7 @@ class PHPExcel_WorksheetIterator implements Iterator
|
|||
*
|
||||
* @return PHPExcel_Worksheet
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function current()
|
||||
{
|
||||
return $this->subject->getSheet($this->position);
|
||||
|
|
@ -83,6 +85,7 @@ class PHPExcel_WorksheetIterator implements Iterator
|
|||
*
|
||||
* @return int
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function key()
|
||||
{
|
||||
return $this->position;
|
||||
|
|
@ -91,6 +94,7 @@ class PHPExcel_WorksheetIterator implements Iterator
|
|||
/**
|
||||
* Next value
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function next()
|
||||
{
|
||||
++$this->position;
|
||||
|
|
@ -101,6 +105,7 @@ class PHPExcel_WorksheetIterator implements Iterator
|
|||
*
|
||||
* @return boolean
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function valid()
|
||||
{
|
||||
return $this->position < $this->subject->getSheetCount();
|
||||
|
|
|
|||
|
|
@ -30,10 +30,11 @@
|
|||
<tr>
|
||||
<td><?= $idQuittance ?></td>
|
||||
<td class="text-center">
|
||||
<button type="button" class="form-control btn btn-primary"
|
||||
<!--<button type="button" class="form-control btn btn-primary"
|
||||
onClick="javascript:afficher_emission(<?= $idEmission ?>);">
|
||||
<?= $numeroEmission ?>
|
||||
</button>
|
||||
</button>-->
|
||||
<?= $numeroEmission ?>
|
||||
</td>
|
||||
<td class="text-center small"><?= dateLang($this->nettoyer($quittance['dateEmission']), $_SESSION['lang']) ?></td>
|
||||
<td class="text-center small"><?= dateLang($this->nettoyer($quittance['dateEffet']), $_SESSION['lang']) ?></td>
|
||||
|
|
|
|||
|
|
@ -1,50 +1,54 @@
|
|||
<div id="div_ged" class="card border-0 shadow-sm">
|
||||
<?php if((isset($msgErreur)) && ($msgErreur > " ")) : ?>
|
||||
<div class="alert alert-danger m-3 border-0 shadow-xs"><?= $msgErreur ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table id="table_ged_famille" class="table table-hover align-middle mb-0" style="font-size:8.5pt; width:100%;">
|
||||
<thead class="table-dark text-nowrap">
|
||||
<tr>
|
||||
<th class="text-center">Date</th>
|
||||
<th class="text-center">Src</th>
|
||||
<th><?= _("Souscripteur / Police") ?></th>
|
||||
<th><?= _("Bénéficiaire (Adhérent)") ?></th>
|
||||
<th><?= _("Type du Document") ?></th>
|
||||
<th><?= _("Nom du Document") ?></th>
|
||||
<th class="text-center no-export"><?= _("Action") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($geds as $ged):
|
||||
$idGed = $this->nettoyer($ged['idGed']);
|
||||
$cheminFichier = $this->nettoyer($ged['cheminFichier']);
|
||||
?>
|
||||
<tr class="text-nowrap">
|
||||
<td class="text-center small text-muted"><?= dateheureLang($this->nettoyer($ged['dateSysteme'])) ?></td>
|
||||
<td class="text-center"><span class="badge bg-light text-dark border small fw-normal"><?= $this->nettoyer($ged['source']) ?></span></td>
|
||||
<td>
|
||||
<div class="fw-bold"><?= $this->nettoyer($ged['souscripteur']) ?></div>
|
||||
<div class="small text-primary">N° <?= $this->nettoyer($ged['numeroPolice']) ?></div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="fw-bold"><?= $this->nettoyer($ged['beneficiaire']) ?></div>
|
||||
<div class="small text-muted italic"><?= $this->nettoyer($ged['adherent']) ?></div>
|
||||
</td>
|
||||
<td class="small"><?= $this->nettoyer($ged['libelleDocument']) ?></td>
|
||||
|
||||
<td class="small text-truncate" style="max-width: 200px;" title="<?= $this->nettoyer($ged['nomOrigine']) ?>">
|
||||
<i class="far fa-file-alt me-1 text-secondary"></i> <?= $this->nettoyer($ged['nomOrigine']) ?>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<a class="btn btn-xs btn-outline-danger shadow-sm fw-bold px-3" href="<?= $cheminFichier ?>" target="_blank">
|
||||
<i class="fas fa-download me-1"></i> <?= _("Télécharger") ?>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table id="table_ged_famille" class="table table-hover align-middle mb-0" style="font-size:8.5pt; width:100%;">
|
||||
<thead class="table-dark text-nowrap">
|
||||
<tr>
|
||||
<th class="text-center">Date</th>
|
||||
<th class="text-center">Src</th>
|
||||
<th><?= _("Souscripteur / Police") ?></th>
|
||||
<th><?= _("Bénéficiaire / Adhérent") ?></th>
|
||||
<th><?= _("Type du Document") ?></th>
|
||||
<th><?= _("Nom du Document") ?></th>
|
||||
<th class="text-center no-export"><?= _("Action") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($geds as $ged):
|
||||
$idGed = $this->nettoyer($ged['idGed']);
|
||||
$cheminFichier = $this->nettoyer($ged['cheminFichier']);
|
||||
|
||||
if($ged['codeNaturePiece'] == "AUT")
|
||||
{
|
||||
$libelleType = $this->nettoyer($ged['libelleAutre']);
|
||||
} else
|
||||
{
|
||||
$libelleType = $this->nettoyer($ged['libelleType']);
|
||||
}
|
||||
|
||||
?>
|
||||
<tr class="text-nowrap">
|
||||
<td class="text-center small text-muted"><?= dateheureLang($this->nettoyer($ged['dateSysteme'])) ?></td>
|
||||
<td class="text-center"><span class="badge bg-light text-dark border small fw-normal"><?= $this->nettoyer($ged['source']) ?></span></td>
|
||||
<td>
|
||||
<div class="fw-bold"><?= $this->nettoyer($ged['souscripteur']) ?></div>
|
||||
<div class="small text-primary">N° <?= $this->nettoyer($ged['numeroPolice']) ?></div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="fw-bold"><?= $this->nettoyer($ged['beneficiaire']) ?></div>
|
||||
<div class="small text-muted italic"><?= $this->nettoyer($ged['adherent']) ?></div>
|
||||
</td>
|
||||
|
||||
<td class="small text-uppercase"><?= $libelleType; ?></td>
|
||||
|
||||
<td class="small text-truncate" style="max-width: 200px;" title="<?= $this->nettoyer($ged['nomOrigine']) ?>">
|
||||
<i class="far fa-file-alt me-1 text-secondary"></i> <?= $this->nettoyer($ged['nomOrigine']) ?>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<a class="btn btn-xs btn-outline-danger shadow-sm fw-bold px-3" href="<?= $cheminFichier ?>" target="_blank" style="font-size:9pt;">
|
||||
<i class="fas fa-download me-1"></i> <?= _("Télécharger") ?>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -1,58 +1,60 @@
|
|||
<div id="div_ged" class="card border-0 shadow-sm overflow-hidden">
|
||||
<?php if((isset($msgErreur)) && ($msgErreur > " ")) : ?>
|
||||
<div class="alert alert-danger m-3 border-0 shadow-xs text-center fw-bold">
|
||||
<i class="fas fa-exclamation-triangle me-2"></i> <?= $msgErreur ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0" style="font-size:8.5pt;">
|
||||
<thead class="table-dark text-nowrap">
|
||||
<tr>
|
||||
<th class="text-center px-3">Date</th>
|
||||
<th class="text-center">Src</th>
|
||||
<th><?= _("Souscripteur / Police") ?></th>
|
||||
<th><?= _("Bénéficiaire / Adhérent") ?></th>
|
||||
<th><?= _("Type du Document") ?></th>
|
||||
<th><?= _("Nom du Document") ?></th>
|
||||
<th class="text-center no-export"><?= _("Action") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($geds as $ged):
|
||||
$idGed = $this->nettoyer($ged['idGed']);
|
||||
$cheminFichier = $this->nettoyer($ged['cheminFichier']);
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle mb-0" style="font-size:8.5pt;">
|
||||
<thead class="table-dark text-nowrap">
|
||||
<tr>
|
||||
<th class="text-center px-3">Date</th>
|
||||
<th class="text-center">Src</th>
|
||||
<th><?= _("Souscripteur / Police") ?></th>
|
||||
<th><?= _("Prestataire") ?></th>
|
||||
<th><?= _("Bénéficiaire (Adhérent)") ?></th>
|
||||
<th><?= _("Document") ?></th>
|
||||
<th class="text-center"><?= _("Action") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($geds as $ged):
|
||||
$idGed = $this->nettoyer($ged['idGed']);
|
||||
$cheminFichier = $this->nettoyer($ged['cheminFichier']);
|
||||
?>
|
||||
<tr class="text-nowrap">
|
||||
<td class="text-center small text-muted"><?= dateheureLang($this->nettoyer($ged['dateSysteme'])) ?></td>
|
||||
<td class="text-center">
|
||||
<span class="badge bg-light text-dark border small fw-normal"><?= $this->nettoyer($ged['source']) ?></span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="fw-bold text-dark"><?= $this->nettoyer($ged['souscripteur']) ?></div>
|
||||
<div class="small text-primary">N° <?= $this->nettoyer($ged['numeroPolice']) ?></div>
|
||||
</td>
|
||||
<td class="small text-muted text-truncate" style="max-width: 150px;"><?= $this->nettoyer($ged['prestataire']) ?></td>
|
||||
<td>
|
||||
<div class="fw-bold"><?= $this->nettoyer($ged['beneficiaire']) ?></div>
|
||||
<div class="small text-muted italic">
|
||||
<?= $this->nettoyer($ged['adherent']) ?> (<?= $this->nettoyer($ged['numeroBeneficiaire']) ?>)
|
||||
</div>
|
||||
</td>
|
||||
<td class="small">
|
||||
<i class="far fa-file-pdf text-danger me-1"></i>
|
||||
<span class="text-truncate d-inline-block" style="max-width: 180px;" title="<?= $this->nettoyer($ged['nomOrigine']) ?>">
|
||||
<?= $this->nettoyer($ged['nomOrigine']) ?>
|
||||
</span>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<a href="<?= $cheminFichier ?>" target="_blank" class="btn btn-xs btn-outline-danger shadow-sm px-3 fw-bold border-2">
|
||||
<i class="fas fa-download me-1"></i><?= _("TELECHARGER") ?>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
if($ged['codeNaturePiece'] == "AUT")
|
||||
{
|
||||
$libelleType = $this->nettoyer($ged['libelleAutre']);
|
||||
} else
|
||||
{
|
||||
$libelleType = $this->nettoyer($ged['libelleType']);
|
||||
}
|
||||
?>
|
||||
<tr class="text-nowrap">
|
||||
<td class="text-center small text-muted"><?= dateheureLang($this->nettoyer($ged['dateSysteme'])) ?></td>
|
||||
<td class="text-center">
|
||||
<span class="badge bg-light text-dark border small fw-normal"><?= $this->nettoyer($ged['source']) ?></span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="fw-bold text-dark"><?= $this->nettoyer($ged['souscripteur']) ?></div>
|
||||
<div class="small text-primary">N° <?= $this->nettoyer($ged['numeroPolice']) ?></div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="fw-bold"><?= $this->nettoyer($ged['beneficiaire']) ?></div>
|
||||
<div class="small text-muted italic">
|
||||
<?= $this->nettoyer($ged['adherent']) ?> (<?= $this->nettoyer($ged['numeroBeneficiaire']) ?>)
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td class="small text-uppercase"><?= $libelleType; ?></td>
|
||||
|
||||
<td class="small">
|
||||
<i class="far fa-file-pdf text-danger me-1"></i>
|
||||
<span class="text-truncate d-inline-block" style="max-width: 180px;" title="<?= $this->nettoyer($ged['nomOrigine']) ?>">
|
||||
<?= $this->nettoyer($ged['nomOrigine']) ?>
|
||||
</span>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<a href="<?= $cheminFichier ?>" target="_blank" class="btn btn-xs btn-outline-danger shadow-sm px-3 fw-bold border-2" style="font-size:9pt;">
|
||||
<i class="fas fa-download me-1"></i><?= _("TELECHARGER") ?>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<div class="table-responsive shadow-sm rounded border animate__animated animate__fadeIn">
|
||||
<table class="table table-hover align-middle mb-0 tabliste compact" style="font-size: 0.85rem;">
|
||||
<thead class="table-light text-secondary">
|
||||
<table class="table table-hover align-middle mb-0 tabliste compact w-100" style="font-size: 0.85rem;">
|
||||
<thead class="table-light text-secondary text-uppercase small">
|
||||
<tr>
|
||||
<th class="text-center border-0 py-3"><?= _("Date Effet") ?></th>
|
||||
<th class="text-center border-0"><?= _("Mvt") ?></th>
|
||||
|
|
@ -10,25 +10,24 @@
|
|||
<th class="text-center border-0"><?= _("Saisie / Par") ?></th>
|
||||
<th class="text-center border-0"><?= _("Statut") ?></th>
|
||||
<th class="text-center border-0"><?= _("Validation") ?></th>
|
||||
<th class="text-center border-0"><?= _("Saisie Client") ?></th>
|
||||
<th class="text-center border-0"><?= _("Saisie Client") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?php foreach ($mouvementassures as $mvt):
|
||||
$idMvt = $this->nettoyer($mvt['ajoutClient']);
|
||||
$ajoutClient = $this->nettoyer($mvt['ajoutClient']);
|
||||
$valide = $this->nettoyer($mvt['valide']);
|
||||
$sensMvt = $mvt['sensMouvement']; // On suppose que '0' = Entrée, '1' = Sortie
|
||||
$libelleSensMouvement = est_anglophone() ? $mvt['libelleSensMouvementEng'] : $mvt['libelleSensMouvement'];
|
||||
$LibelleAjoutClient = _("Non");
|
||||
if ($ajoutClient == "1")
|
||||
{
|
||||
$LibelleAjoutClient = _("Oui");
|
||||
}
|
||||
$valide = $this->nettoyer($mvt['valide']);
|
||||
$rejet = $this->nettoyer($mvt['rejet']);
|
||||
$motif = $this->nettoyer($mvt['motif']);
|
||||
$aCorriger = $this->nettoyer($mvt['aCorriger']);
|
||||
$sensMvt = $mvt['sensMouvement'];
|
||||
|
||||
$idBeneficiaire = $this->nettoyer($mvt['idBeneficiaire']);
|
||||
$numeroBeneficiaire = $this->nettoyer($mvt['numeroBeneficiaire']);
|
||||
?>
|
||||
$libelleSensMouvement = est_anglophone() ? $mvt['libelleSensMouvementEng'] : $mvt['libelleSensMouvement'];
|
||||
$idBeneficiaire = $this->nettoyer($mvt['idBeneficiaire']);
|
||||
$idAvenant = $this->nettoyer($mvt['idAvenant']);
|
||||
?>
|
||||
<tr>
|
||||
<td class="text-center fw-bold text-dark">
|
||||
<?= dateLang($this->nettoyer($mvt['dateEffet']), $_SESSION['lang']) ?>
|
||||
|
|
@ -47,7 +46,7 @@
|
|||
</td>
|
||||
|
||||
<td>
|
||||
<div class="fw-bold text-uppercase"><?= $this->nettoyer($mvt['beneficiaire']) ?></div>
|
||||
<div class="fw-bold text-uppercase text-secondary"><?= $this->nettoyer($mvt['beneficiaire']) ?></div>
|
||||
<div class="text-muted x-small"><i class="fas fa-id-card me-1"></i><?= $this->nettoyer($mvt['numeroBeneficiaire']) ?></div>
|
||||
</td>
|
||||
|
||||
|
|
@ -60,38 +59,63 @@
|
|||
</td>
|
||||
|
||||
<td class="text-center">
|
||||
<div class="small"><?= dateheureLang($this->nettoyer($mvt['dateSysteme'])) ?></div>
|
||||
<div class="x-small text-muted fw-bold"><?= $this->nettoyer($mvt['codeUtilisateur']) ?></div>
|
||||
<div class="small fw-bold"><?= $this->nettoyer($mvt['codeUtilisateur']) ?></div>
|
||||
<div class="x-small text-muted italic"><?= dateheureLang($this->nettoyer($mvt['dateSysteme']), $_SESSION['lang']) ?></div>
|
||||
</td>
|
||||
|
||||
<td class="text-center">
|
||||
<?php if ($valide == "1"): ?>
|
||||
<span class="text-success shadow-sm" title="<?= _('Validé') ?>">
|
||||
<i class="fas fa-check-circle fa-lg"></i>
|
||||
</span>
|
||||
<?php if ($rejet == "0"): ?>
|
||||
<span class="text-success fw-bold small mb-1 italic">
|
||||
<i class="fas fa-check-circle"></i> <?= _('Validé') ?>
|
||||
</span>
|
||||
<?php elseif ($aCorriger == "1"): ?>
|
||||
<div class="d-flex flex-column align-items-center">
|
||||
<span class="text-info fw-bold small mb-1 italic"><i class="fas fa-exclamation-triangle"></i> <?= _('A Corriger') ?></span>
|
||||
<button class="btn btn-xs btn-outline-info py-0 px-2" onclick="motif_rejet('<?= $motif; ?>');">
|
||||
<i class="fas fa-eye"></i> <?= _("Motif") ?>
|
||||
</button>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="d-flex flex-column align-items-center">
|
||||
<span class="text-danger fw-bold small mb-1 italic"><i class="fas fa-times-circle"></i> <?= _('Rejeté') ?></span>
|
||||
<button class="btn btn-xs btn-outline-danger py-0 px-2" onclick="motif_rejet('<?= $motif; ?>');">
|
||||
<i class="fas fa-eye"></i> <?= _("Motif") ?>
|
||||
</button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<span class="text-warning opacity-50" title="<?= _('En attente') ?>">
|
||||
<i class="fas fa-clock fa-lg"></i>
|
||||
<span class="text-muted opacity-50 small mb-1 italic">
|
||||
<i class="fas fa-clock fa-lg"></i> <?= _('En attente') ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td class="text-center small">
|
||||
<td class="text-center">
|
||||
<?php if ($valide == "1"): ?>
|
||||
<div class="fw-bold text-dark"><?= $this->nettoyer($mvt['userValidation']) ?></div>
|
||||
<div class="x-small text-muted"><?= dateheureLang($this->nettoyer($mvt['dateValidation'])) ?></div>
|
||||
<?php if ($aCorriger == "0"): ?>
|
||||
<div class="small fw-bold text-dark"><?= $this->nettoyer($mvt['userValidation']) ?></div>
|
||||
<div class="x-small text-muted"><?= dateheureLang($this->nettoyer($mvt['dateValidation']), $_SESSION['lang']) ?></div>
|
||||
<?php else: ?>
|
||||
<button class="btn btn-xs btn-info fw-bold shadow-sm rounded-pill px-3 transition-hover text-white"
|
||||
onclick="corriger_mvt_beneficiaire(<?= $idBeneficiaire; ?>, <?= $idAvenant; ?>);">
|
||||
<i class="fas fa-tools me-1"></i> <?= _("Corriger") ?>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<span class="text-muted italic small"></span>
|
||||
<button class="badge rounded-pill bg-warning text-dark border-0 shadow-sm transition-hover"
|
||||
onclick="javascript:modifier_beneficiaire(<?= $idBeneficiaire; ?>);"
|
||||
style="cursor: pointer; transition: all 0.2s ease-in-out;"
|
||||
title="<?= est_anglophone() ? "Edit the beneficiary" : 'Modifier le bénéficiaire' ?>">
|
||||
<i class="fas fa-edit me-1"></i> <?= _("En attente") ?>
|
||||
<button class="btn btn-xs btn-warning fw-bold shadow-sm rounded-pill px-3 transition-hover text-white"
|
||||
onclick="modifier_beneficiaire('<?= $idBeneficiaire; ?>');">
|
||||
<i class="fas fa-edit me-1"></i> <?= _("Modifier") ?>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td class="text-center">
|
||||
<span class="badge bg-light text-secondary border"><?= $LibelleAjoutClient ?></span>
|
||||
<?php if ($ajoutClient == "1"): ?>
|
||||
<span class="badge bg-primary-subtle text-primary border border-primary-subtle"><?= _("Oui") ?></span>
|
||||
<?php else: ?>
|
||||
<span class="badge bg-light text-muted border"><?= _("Non") ?></span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
|
|
@ -102,10 +126,10 @@
|
|||
<style>
|
||||
.x-small { font-size: 0.7rem; }
|
||||
.italic { font-style: italic; }
|
||||
.bg-success-subtle { background-color: #d1e7dd; }
|
||||
.bg-danger-subtle { background-color: #f8d7da; }
|
||||
.transition-hover:hover {
|
||||
transform: scale(1.05);
|
||||
background-color: #ffc107 !important; /* Un peu plus lumineux au survol */
|
||||
}
|
||||
</style>
|
||||
.bg-success-subtle { background-color: #d1e7dd !important; }
|
||||
.bg-danger-subtle { background-color: #f8d7da !important; }
|
||||
.bg-primary-subtle { background-color: #cfe2ff !important; }
|
||||
.btn-xs { padding: 0.1rem 0.3rem; font-size: 0.7rem; line-height: 1.5; border-radius: 0.2rem; }
|
||||
.transition-hover { transition: all 0.2s ease-in-out; }
|
||||
.transition-hover:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important; }
|
||||
</style>
|
||||
102
Vue/Ajaxrequetedetailsinistres/index.php
Normal file
102
Vue/Ajaxrequetedetailsinistres/index.php
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
<?php $nbligne = 0; ?>
|
||||
|
||||
<div id="div_detail_requete" class="card border-0 shadow-sm animate__animated animate__fadeIn">
|
||||
<div class="card-header bg-dark text-white p-4 border-0" style="border-radius: 12px 12px 0 0;">
|
||||
<div class="row w-100 m-0 align-items-center">
|
||||
<div class="col-md-6 border-end border-secondary text-center py-2">
|
||||
<div class="text-uppercase opacity-75 mb-2" style="font-size: 9pt; letter-spacing: 1px;">
|
||||
<i class="fas fa-layer-group me-2 text-primary"></i> <?= _("Volume Total") ?>
|
||||
</div>
|
||||
<div class="display-6 fw-bold">
|
||||
<?= format_N($rpsinistres_total['nbLigne']) ?>
|
||||
<small class="h5 opacity-50 fw-normal"><?= _("Lignes") ?></small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 text-center py-2">
|
||||
<div class="text-uppercase opacity-75 mb-2" style="font-size: 9pt; letter-spacing: 1px;">
|
||||
<i class="fas fa-money-bill-wave me-2 text-warning"></i> <?= _("Montant Total") ?>
|
||||
</div>
|
||||
<div class="display-6 fw-bold text-warning">
|
||||
<?= format_N($rpsinistres_total['montant_total']) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-bordered table-hover tabliste compact w-100" id="table_sinistres_detail" style="font-size:0.85rem; white-space:nowrap;">
|
||||
<thead class="table-light border-bottom text-uppercase small fw-bold">
|
||||
<tr>
|
||||
<th class="text-center"><?= _("N° Bénéficiaire") ?></th>
|
||||
<th><?= _("Bénéficiaire") ?></th>
|
||||
<th class="text-center"><?= _("Date") ?></th>
|
||||
<th class="text-center"><?= _("Prestataire") ?></th>
|
||||
<th class="text-center"><?= _("Catégorie") ?></th>
|
||||
<th class="text-center"><?= _("N° Facture") ?></th>
|
||||
<th class="text-center"><?= _("Garantie") ?></th>
|
||||
<th class="text-end px-3"><?= _("Montant") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?php foreach ($rpsinistres as $rpsinistre):
|
||||
$nbligne++;
|
||||
$CategoriePrestataire = est_anglophone()
|
||||
? $this->nettoyer($rpsinistre['CategoriePrestataireEng'])
|
||||
: $this->nettoyer($rpsinistre['CategoriePrestataire']);
|
||||
?>
|
||||
<tr>
|
||||
<td class="text-center fw-bold text-primary"><?= $this->nettoyer($rpsinistre['numeroBeneficiaire']) ?></td>
|
||||
<td class="text-uppercase"><?= $this->nettoyer($rpsinistre['Beneficiaire']) ?></td>
|
||||
<td class="text-center text-muted"><?= dateLang($this->nettoyer($rpsinistre['Date']), $_SESSION['lang']) ?></td>
|
||||
<td><?= $this->nettoyer($rpsinistre['Prestataire']) ?></td>
|
||||
<td class="text-center small"><?= $CategoriePrestataire ?></td>
|
||||
<td class="text-center">#<?= $this->nettoyer($rpsinistre['idFacture']) ?></td>
|
||||
<td class="text-center"><span class="badge bg-light text-dark border"><?= $this->nettoyer($rpsinistre['codeGarantie']) ?></span></td>
|
||||
<td class="text-end fw-bold px-3"><?= format_N($this->nettoyer($rpsinistre['fraisReel'])); ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
<tfoot class="table-dark">
|
||||
<tr>
|
||||
<td colspan="7" class="text-center text-dark fw-bold text-uppercase"><?= _("Total Général") ?></td>
|
||||
<td class="text-end fw-bold px-3 fs-6 text-dark"><?= format_N($rpsinistres_total['montant_total']) ?></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="card-footer bg-white d-flex justify-content-between align-items-center py-2">
|
||||
<span class="text-muted small italic">
|
||||
<i class="fas fa-history me-1"></i><?= _("Généré le") ?> <?= dateheureLang(date('Y-m-d H:i:s'), $_SESSION['lang']) ?>
|
||||
</span>
|
||||
<span class="badge bg-secondary opacity-75"><?= $_SESSION['numeroPolice_C'] ?></span>
|
||||
</div>
|
||||
|
||||
<input class="sr-only" type="text" id="nbligne_info" name="nbligne_info" value="<?= $nbligne ?>">
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
const titreRapport = "<?= mb_strtoupper(_('RAPPORT DU DÉTAIL DES SINISTRES'), 'UTF-8'); ?>";
|
||||
|
||||
const infosPolice =
|
||||
"\n<?= _('Souscripteur') ?> : <?= $_SESSION['nomClient_C'] ?>\n" +
|
||||
"<?= _('Numéro Police') ?> : <?= $_SESSION['numeroPolice_C'] ?>\n" +
|
||||
"<?= _('Période Couverte') ?> : <?= dateLang($_SESSION['dateEffet_C'], $_SESSION['lang']) ?> <?= _('au') ?> <?= dateLang($_SESSION['dateEcheance_C'], $_SESSION['lang']) ?>\n\n" +
|
||||
"<?= _('Période Analyse') ?> : <?= $_SESSION['dateDebutRequete'] ?> <?= _('au') ?> <?= $_SESSION['dateFinRequete'] ?>\n";
|
||||
|
||||
appliquerDataTable('#table_sinistres_detail', {
|
||||
pageLength: 50,
|
||||
order: [[2, "desc"]], // Tri par date décroissante
|
||||
buttons: [
|
||||
{ extend: 'excel', title: titreRapport, messageTop: infosPolice, footer: true },
|
||||
{ extend: 'pdf', title: titreRapport, messageTop: infosPolice, orientation: 'landscape', footer: true },
|
||||
{ extend: 'print', title: titreRapport, messageTop: infosPolice, footer: true }
|
||||
]
|
||||
}, titreRapport, infosPolice);
|
||||
|
||||
$('#nbligne').val($('#nbligne_info').val());
|
||||
});
|
||||
</script>
|
||||
42
Vue/Ajaxrequeteentetedetailsinistres/index.php
Normal file
42
Vue/Ajaxrequeteentetedetailsinistres/index.php
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
// Sécurisation des dates par défaut
|
||||
$_SESSION['dateDebutRequete'] = isset($_SESSION['dateDebutRequete'])
|
||||
? dateLang($_SESSION['dateDebutRequete'], $_SESSION['lang'])
|
||||
: dateLang($this->nettoyer($sppoliceentete['dateEffet']), $_SESSION['lang']);
|
||||
|
||||
$_SESSION['dateFinRequete'] = dateCouranteLang($_SESSION['lang']);
|
||||
?>
|
||||
|
||||
<div id="div_ente_requete" class="card border-0 shadow-sm bg-light mb-2" style="border-radius: 12px;">
|
||||
<div class="card-body p-3">
|
||||
<div class="row g-3 align-items-end">
|
||||
|
||||
<div class="col-12 col-md-6">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase mb-1">
|
||||
<i class="fas fa-calendar-alt me-1 text-primary"></i> <?= _("Période de recherche") ?>
|
||||
</label>
|
||||
<div class="input-group input-group-sm">
|
||||
<input class="form-control datepicker text-center fw-bold" type="text" id="dateFacture1" name="dateFacture1"
|
||||
value="<?= $_SESSION['dateDebutRequete']; ?>" required>
|
||||
<span class="input-group-text bg-white fw-bold border-start-0 border-end-0"><?= _("au") ?></span>
|
||||
<input class="form-control datepicker text-center fw-bold" type="text" id="dateFacture2" name="dateFacture2"
|
||||
value="<?= $_SESSION['dateFinRequete'] ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-md-3">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase mb-1"><?= _("Lignes trouvées") ?></label>
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text bg-dark text-white border-dark"><i class="fas fa-list-ol"></i></span>
|
||||
<input class="form-control text-center bg-white fw-bold" type="text" id="nbligne" name="nbligne" value="0" readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-md-3">
|
||||
<button type="button" class="btn btn-primary btn-sm w-100 fw-bold shadow-sm py-2" onclick="requetes_sinistres_rh();">
|
||||
<i class="fas fa-search me-2"></i><?= _("Afficher") ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
42
Vue/Ajaxrequeteentetefrequencesprestataires/index.php
Normal file
42
Vue/Ajaxrequeteentetefrequencesprestataires/index.php
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
// Sécurisation des dates par défaut
|
||||
$_SESSION['dateDebutRequete'] = isset($_SESSION['dateDebutRequete'])
|
||||
? dateLang($_SESSION['dateDebutRequete'], $_SESSION['lang'])
|
||||
: dateLang($this->nettoyer($sppoliceentete['dateEffet']), $_SESSION['lang']);
|
||||
|
||||
$_SESSION['dateFinRequete'] = dateCouranteLang($_SESSION['lang']);
|
||||
?>
|
||||
|
||||
<div id="div_ente_requete" class="card border-0 shadow-sm bg-light mb-2" style="border-radius: 12px;">
|
||||
<div class="card-body p-3">
|
||||
<div class="row g-3 align-items-end">
|
||||
|
||||
<div class="col-12 col-md-6">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase mb-1">
|
||||
<i class="fas fa-calendar-alt me-1 text-primary"></i> <?= _("Période de recherche") ?>
|
||||
</label>
|
||||
<div class="input-group input-group-sm">
|
||||
<input class="form-control datepicker text-center fw-bold" type="text" id="dateFacture1" name="dateFacture1"
|
||||
value="<?= $_SESSION['dateDebutRequete']; ?>" required>
|
||||
<span class="input-group-text bg-white fw-bold border-start-0 border-end-0"><?= _("au") ?></span>
|
||||
<input class="form-control datepicker text-center fw-bold" type="text" id="dateFacture2" name="dateFacture2"
|
||||
value="<?= $_SESSION['dateFinRequete'] ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-md-3">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase mb-1"><?= _("Lignes trouvées") ?></label>
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text bg-dark text-white border-dark"><i class="fas fa-list-ol"></i></span>
|
||||
<input class="form-control text-center bg-white fw-bold" type="text" id="nbligne" name="nbligne" value="0" readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-md-3">
|
||||
<button type="button" class="btn btn-primary btn-sm w-100 fw-bold shadow-sm py-2" onclick="requetes_sinistres_rh();">
|
||||
<i class="fas fa-search me-2"></i><?= _("Afficher") ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
40
Vue/Ajaxrequeteenteteresumesinistres/index.php
Normal file
40
Vue/Ajaxrequeteenteteresumesinistres/index.php
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
// Sécurisation des dates par défaut
|
||||
$dateEffetPolice = dateLang($this->nettoyer($sppoliceentete['dateEffet']), $_SESSION['lang']);
|
||||
$_SESSION['dateFinRequete'] = dateCouranteLang($_SESSION['lang']);
|
||||
?>
|
||||
|
||||
<div id="div_ente_requete" class="card border-0 shadow-sm bg-light mb-2" style="border-radius: 12px;">
|
||||
<div class="card-body p-3">
|
||||
<div class="row g-3 align-items-end">
|
||||
|
||||
<div class="col-12 col-md-6">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase mb-1">
|
||||
<i class="fas fa-calendar-alt me-1 text-primary"></i> <?= _("Période de recherche") ?>
|
||||
</label>
|
||||
<div class="input-group input-group-sm shadow-xs">
|
||||
<input class="form-control text-center fw-bold bg-white" type="text" id="dateFacture1" name="dateFacture1"
|
||||
value="<?= $dateEffetPolice; ?>" readonly>
|
||||
<span class="input-group-text bg-white fw-bold border-start-0 border-end-0 text-primary"><?= _("au") ?></span>
|
||||
<input class="form-control datepicker text-center fw-bold" type="text" id="dateFacture2" name="dateFacture2"
|
||||
value="<?= $_SESSION['dateFinRequete'] ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-md-3">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase mb-1"><?= _("Lignes trouvées") ?></label>
|
||||
<div class="input-group input-group-sm shadow-xs">
|
||||
<span class="input-group-text bg-dark text-white border-dark"><i class="fas fa-list-ol"></i></span>
|
||||
<input class="form-control text-center bg-white fw-bold" type="text" id="nbligne" name="nbligne" value="0" readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6 col-md-3">
|
||||
<button type="button" class="btn btn-primary btn-sm w-100 fw-bold shadow-sm py-2" onclick="requetes_sinistres_rh();">
|
||||
<i class="fas fa-search me-2"></i><?= _("Afficher les données") ?>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
121
Vue/Ajaxrequetefrequencesprestataires/index.php
Normal file
121
Vue/Ajaxrequetefrequencesprestataires/index.php
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
<?php $nbligne = 0; ?>
|
||||
|
||||
<div id="div_detail_requete" class="card border-0 shadow-sm animate__animated animate__fadeIn">
|
||||
<div class="card-header bg-dark text-white p-4 border-0" style="border-radius: 12px 12px 0 0;">
|
||||
<div class="row w-100 m-0 align-items-center">
|
||||
<div class="col-md-3 border-end border-secondary text-center py-2">
|
||||
<div class="text-uppercase opacity-75 mb-2" style="font-size: 8pt; letter-spacing: 1px;">
|
||||
<i class="fas fa-layer-group me-2 text-primary"></i> <?= _("Volume Total") ?>
|
||||
</div>
|
||||
<div class="display-6 fw-bold" style="font-size: 1.8rem;">
|
||||
<?= format_N($rpsinistres_total['nbLigne']) ?>
|
||||
<small class="h6 opacity-50 fw-normal"><?= _("Lignes") ?></small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 border-end border-secondary text-center py-2">
|
||||
<div class="text-uppercase opacity-75 mb-2" style="font-size: 8pt; letter-spacing: 1px;">
|
||||
<i class="fas fa- hospital-user me-2 text-warning"></i> <?= _("Cumul Cas") ?>
|
||||
</div>
|
||||
<div class="display-6 fw-bold text-warning" style="font-size: 1.8rem;">
|
||||
<?= format_N($rpsinistres_total['nbrCas_total']) ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 border-end border-secondary text-center py-2">
|
||||
<div class="text-uppercase opacity-75 mb-2" style="font-size: 8pt; letter-spacing: 1px;">
|
||||
<i class="fas fa-file-invoice-dollar me-2 text-info"></i> <?= _("Montant Total") ?>
|
||||
</div>
|
||||
<div class="display-6 fw-bold text-info" style="font-size: 1.8rem;">
|
||||
<?= format_N($rpsinistres_total['montant_total']) ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 text-center py-2">
|
||||
<div class="text-uppercase opacity-75 mb-2" style="font-size: 8pt; letter-spacing: 1px;">
|
||||
<i class="fas fa-divide me-2 text-success"></i> <?= _("Montant / Cas") ?>
|
||||
</div>
|
||||
<div class="display-6 fw-bold text-success" style="font-size: 1.8rem;">
|
||||
<?= format_N($rpsinistres_total['montantSurCas_total']) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-bordered table-hover tabliste compact w-100" id="table_frequence_sinistres" style="font-size:0.85rem; white-space:nowrap;">
|
||||
<thead class="table-light border-bottom text-uppercase small fw-bold">
|
||||
<tr>
|
||||
<th><?= _("Catégories") ?></th>
|
||||
<th class="text-center"><?= _("Nombre Cas") ?></th>
|
||||
<th class="text-center"><?= est_anglophone() ? "% Case" : "% Cas" ?></th>
|
||||
<th class="text-center"><?= _("Montant") ?></th>
|
||||
<th class="text-center"><?= _("% Montant") ?></th>
|
||||
<th class="text-center"><?= _("Montant / Cas") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?php foreach ($rpsinistres as $rpsinistre):
|
||||
$nbligne++;
|
||||
$categorie = est_anglophone()
|
||||
? $this->nettoyer($rpsinistre['categorieEng'])
|
||||
: $this->nettoyer($rpsinistre['categorie']);
|
||||
?>
|
||||
<tr>
|
||||
<td class="fw-bold text-uppercase text-primary"><?= $categorie ?></td>
|
||||
<td class="text-center"><?= format_N($this->nettoyer($rpsinistre['nbrCas'])); ?></td>
|
||||
<td class="text-center text-muted"><?= number_format($this->nettoyer($rpsinistre['tauxCas']), 2, ',', ' ') ?> %</td>
|
||||
<td class="text-end fw-bold px-3"><?= format_N($this->nettoyer($rpsinistre['montant'])); ?></td>
|
||||
<td class="text-center text-muted"><?= number_format($this->nettoyer($rpsinistre['tauxMontant']), 2, ',', ' ') ?> %</td>
|
||||
<td class="text-end fw-bold px-3 text-info"><?= format_N($this->nettoyer($rpsinistre['montantSurCas'])); ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
<tfoot class="table-dark">
|
||||
<tr class="fw-bold">
|
||||
<td class="text-center text-uppercase text-dark"><?= _("Total Général") ?></td>
|
||||
<td class="text-center text-dark"><?= format_N($rpsinistres_total['nbrCas_total']); ?></td>
|
||||
<td class="text-center text-dark">100 %</td>
|
||||
<td class="text-end px-3 text-dark"><?= format_N($rpsinistres_total['montant_total']); ?></td>
|
||||
<td class="text-center text-dark">100 %</td>
|
||||
<td class="text-end px-3 text-dark"><?= format_N($rpsinistres_total['montantSurCas_total']); ?></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="card-footer bg-white d-flex justify-content-between align-items-center py-2">
|
||||
<span class="text-muted small italic">
|
||||
<i class="fas fa-history me-1"></i><?= _("Généré le") ?> <?= dateheureLang(date('Y-m-d H:i:s'), $_SESSION['lang']) ?>
|
||||
</span>
|
||||
<span class="badge bg-secondary opacity-75"><?= $_SESSION['numeroPolice_C'] ?></span>
|
||||
</div>
|
||||
|
||||
<input class="sr-only" type="text" id="nbligne_info" name="nbligne_info" value="<?= $nbligne ?>">
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
const titreRapport = "<?= mb_strtoupper(_('RAPPORT DES FRÉQUENCES DE SINISTRES'), 'UTF-8'); ?>";
|
||||
|
||||
const infosPolice =
|
||||
"\n<?= _('Souscripteur') ?> : <?= $_SESSION['nomClient_C'] ?>\n" +
|
||||
"<?= _('Numéro Police') ?> : <?= $_SESSION['numeroPolice_C'] ?>\n" +
|
||||
"<?= _('Période Couverte') ?> : <?= dateLang($_SESSION['dateEffet_C'], $_SESSION['lang']) ?> <?= _('au') ?> <?= dateLang($_SESSION['dateEcheance_C'], $_SESSION['lang']) ?>\n" +
|
||||
"<?= _('Période Analyse') ?> : <?= $_SESSION['dateDebutRequete'] ?> <?= _('au') ?> <?= $_SESSION['dateFinRequete'] ?>\n";
|
||||
|
||||
// Utilisation de l'ID spécifique pour éviter les conflits
|
||||
appliquerDataTable('#table_frequence_sinistres', {
|
||||
pageLength: 50,
|
||||
order: [[1, "desc"]], // Tri par nombre de cas décroissant
|
||||
buttons: [
|
||||
{ extend: 'excel', title: titreRapport, messageTop: infosPolice, footer: true },
|
||||
{ extend: 'pdf', title: titreRapport, messageTop: infosPolice, orientation: 'landscape', footer: true },
|
||||
{ extend: 'print', title: titreRapport, messageTop: infosPolice, footer: true }
|
||||
]
|
||||
}, titreRapport, infosPolice);
|
||||
|
||||
$('#nbligne').val($('#nbligne_info').val());
|
||||
});
|
||||
</script>
|
||||
114
Vue/Ajaxrequeteresumesinistres/index.php
Normal file
114
Vue/Ajaxrequeteresumesinistres/index.php
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
<?php $nbligne = 0; ?>
|
||||
|
||||
<div id="div_detail_requete" class="card border-0 shadow-sm animate__animated animate__fadeIn">
|
||||
<div class="card-header bg-dark text-white p-4 border-0" style="border-radius: 12px 12px 0 0;">
|
||||
<div class="row w-100 m-0 align-items-center"> <div class="col-md-4 border-end border-secondary text-center py-2">
|
||||
<div class="text-uppercase opacity-75 mb-2" style="font-size: 9pt; letter-spacing: 1px;">
|
||||
<i class="fas fa-layer-group me-2 text-primary"></i> <?= _("Volume Total") ?>
|
||||
</div>
|
||||
<div class="display-6 fw-bold">
|
||||
<?= format_N($rpsinistres_total['nbLigne']) ?>
|
||||
<small class="h5 opacity-50 fw-normal"><?= _("Lignes") ?></small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 border-end border-secondary text-center py-2">
|
||||
<div class="text-uppercase opacity-75 mb-2" style="font-size: 9pt; letter-spacing: 1px;">
|
||||
<i class="fas fa-hand-holding-usd me-2 text-warning"></i> <?= _("Cumul Sinistres") ?>
|
||||
</div>
|
||||
<div class="display-6 fw-bold text-warning">
|
||||
<?= format_N($rpsinistres_total['sinistres_total']) ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-center py-2">
|
||||
<div class="text-uppercase opacity-75 mb-2" style="font-size: 9pt; letter-spacing: 1px;">
|
||||
<i class="fas fa-chart-pie me-2 text-info"></i> <?= _("Ratio Moyen") ?>
|
||||
</div>
|
||||
<div class="display-6 fw-bold text-info">
|
||||
<?= number_format((float)$rpsinistres_total['ratio_moyen'], 2, ',', ' ') ?> %
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table id="table_resume_sinistres" class="table table-striped table-bordered table-hover tabliste compact w-100" style="font-size:0.85rem; white-space:nowrap;">
|
||||
<thead class="table-light border-bottom text-uppercase small fw-bold">
|
||||
<tr>
|
||||
<th class="text-center"><?= _("N° Adhérent") ?></th>
|
||||
<th><?= _("Adhérent Principal") ?></th>
|
||||
<th class="text-center"><?= _("Date de début") ?></th>
|
||||
<th class="text-center"><?= _("Période passée") ?></th>
|
||||
<th class="text-center"><?= _("Sinistres") ?></th>
|
||||
<th class="text-center"><?= _("Ratio (%)") ?></th>
|
||||
<th class="text-center">Cat</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?php foreach ($rpsinistres as $rpsinistre):
|
||||
$nbligne++;
|
||||
$ratio = (float)$rpsinistre['ratio'];
|
||||
$ratioClass = ($ratio > 100) ? 'text-danger fw-bold' : (($ratio > 70) ? 'text-warning' : 'text-success');
|
||||
?>
|
||||
<tr>
|
||||
<td class="text-center fw-bold text-primary"><?= $this->nettoyer($rpsinistre['numeroAdherent']) ?></td>
|
||||
<td class="text-uppercase"><?= $this->nettoyer($rpsinistre['Adherent']) ?></td>
|
||||
<td class="text-center text-muted"><?= dateLang($this->nettoyer($rpsinistre['dateEffetAdherent']), $_SESSION['lang']) ?></td>
|
||||
<td class="text-center"><?= $this->nettoyer($rpsinistre['duree_acquise']) ?> <small><?= _("j") ?></small></td>
|
||||
<td class="text-center fw-bold"><?= format_N($rpsinistre['sinistres']) ?></td>
|
||||
<td class="text-center <?= $ratioClass ?>"><?= number_format($ratio, 2, ',', ' ') ?> %</td>
|
||||
<td class="text-center">
|
||||
<span class="badge bg-secondary-subtle text-secondary border border-secondary-subtle">
|
||||
<?= $this->nettoyer($rpsinistre['codeProduit']) ?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
|
||||
<tfoot class="table-light border-top border-dark">
|
||||
<tr>
|
||||
<td colspan="4" class="text-center text-dark fw-bold text-uppercase"><?= _("Total Général") ?></td>
|
||||
<td class="text-center fw-bold text-dark fs-6"><?= format_N($rpsinistres_total['sinistres_total']) ?></td>
|
||||
<td class="text-center fw-bold text-info fs-6"><?= number_format((float)$rpsinistres_total['ratio_moyen'], 2, ',', ' ') ?> %</td>
|
||||
<td class="bg-light"></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="card-footer bg-white d-flex justify-content-between align-items-center py-2">
|
||||
<span class="text-muted small italic"><i class="fas fa-clock me-1"></i><?= _("Généré le") ?> <?= dateheureLang(date('d/m/Y H:i'), $_SESSION['lang']) ?></span>
|
||||
<span class="badge bg-dark px-3"><?= $_SESSION['numeroPolice_C'] ?></span>
|
||||
</div>
|
||||
|
||||
<input class="sr-only" type="text" id="nbligne_info" name="nbligne_info" value="<?= $nbligne ?>">
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
const titreRapport = <?= json_encode(mb_strtoupper(_('RAPPORT RECAPITULATIF DES SINISTRES'), 'UTF-8')) ?>;
|
||||
|
||||
const infosEntete =
|
||||
"\n<?= _('Souscripteur') ?> : <?= $_SESSION['nomClient_C'] ?>\n" +
|
||||
"<?= _('Numéro Police') ?> : <?= $_SESSION['numeroPolice_C'] ?>\n" +
|
||||
"<?= _('Période couverte') ?> : <?= dateLang($_SESSION['dateEffet_C'], $_SESSION['lang']) ?> <?= _('au') ?> <?= dateLang($_SESSION['dateEcheance_C'], $_SESSION['lang']) ?>\n\n" +
|
||||
"<?= _('Période Analyse') ?> : <?= $_SESSION['dateFinRequete'] ?>\n";
|
||||
|
||||
// INITIALISATION
|
||||
appliquerDataTable('#table_resume_sinistres', {
|
||||
pageLength: 50,
|
||||
order: [[5, "desc"]],
|
||||
// On définit la liste précise des boutons ici pour éviter les doublons
|
||||
buttons: [
|
||||
{ extend: 'excel', title: titreRapport, messageTop: infosEntete, footer: true, className: 'btn btn-sm btn-success' },
|
||||
{ extend: 'pdf', title: titreRapport, messageTop: infosEntete, orientation: 'landscape', footer: true, className: 'btn btn-sm btn-danger' },
|
||||
{ extend: 'print', title: titreRapport, messageTop: infosEntete, footer: true, className: 'btn btn-sm btn-dark' }
|
||||
]
|
||||
}, titreRapport, infosEntete);
|
||||
|
||||
$('#nbligne').val($('#nbligne_info').val());
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1,3 +1,6 @@
|
|||
<?php
|
||||
$idPolice = isset($_SESSION['idPolice_C']) ? $_SESSION['idPolice_C'] : "";
|
||||
?>
|
||||
<div id="div_police" class="container-fluid py-1 animate__animated animate__fadeIn">
|
||||
<h1 class="text-primary"><i class="bi bi-file-earmark-text me-2"></i><?= _('Sélectionner une police') ?></h1>
|
||||
|
||||
|
|
@ -16,7 +19,7 @@
|
|||
required
|
||||
onchange="javascript:ajax_contexter_police();"
|
||||
style="font-size: 10pt; height: 45px;">
|
||||
<?php liste_options($polices, "", false); ?>
|
||||
<?php liste_options($polices, $idPolice, false); ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@
|
|||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-bold small text-uppercase">
|
||||
<?= (isset($_SESSION['affichagedynamique']['Commune'])) ? _($_SESSION['affichagedynamique']['Commune']) : _("Commune") ?><span class="required-star">*</span>
|
||||
<?= (isset($_SESSION['affichagedynamique']['District'])) ? _($_SESSION['affichagedynamique']['District']) : _("District") ?><span class="required-star">*</span>
|
||||
</label>
|
||||
<div id="listelocalite">
|
||||
<select class="form-select" id="codeLocalite" name="codeLocalite" required>
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
<label for="dateAvenant" class="form-label fw-bold text-uppercase"><?= _("Date d'Effet") ?></label>
|
||||
<div class="input-group input-group-lg shadow-sm">
|
||||
<span class="input-group-text bg-primary text-white"><i class="fas fa-calendar-alt"></i></span>
|
||||
<input type="text" class="form-control datepicker fw-bold" id="dateAvenant" name="dateAvenant" Value="<?= dateCouranteLang($_SESSION['lang']) ?>" required onChange="verifier_Echeance_ren();">
|
||||
<input type="text" class="form-control datepicker fw-bold" id="dateAvenant" name="dateAvenant" Value="" required onChange="verifier_Echeance_ren();">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -134,9 +134,9 @@
|
|||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="form-label small fw-bold text-uppercase">
|
||||
<?= _("Portable") ?><span class="required-star">*</span>
|
||||
<?= _("Portable") ?>
|
||||
</label>
|
||||
<input class="form-control form-control-sm" type="tel" id="telephonePortable" name="telephonePortable" required autocomplete="off">
|
||||
<input class="form-control form-control-sm" type="tel" id="telephonePortable" name="telephonePortable">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -23,18 +23,14 @@
|
|||
$idApporteur = $this->nettoyer($adherent['idApporteur']);
|
||||
$libelleApporteur = $this->nettoyer($adherent['libelleApporteur']);
|
||||
$typeecheancier = $this->nettoyer($adherent['typeecheancier']);
|
||||
|
||||
if (est_anglophone())
|
||||
{
|
||||
$typeecheancier = $this->nettoyer($adherent['typeecheancierEng']);
|
||||
}
|
||||
|
||||
$tauxInteretEcheancier = $this->nettoyer($adherent['tauxInteretEcheancier']);
|
||||
/*
|
||||
var_dump(
|
||||
array(
|
||||
"dateEffetAdherent_C"=> $_SESSION['dateEffetAdherent_C'],
|
||||
)
|
||||
);
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
|
@ -109,6 +105,44 @@
|
|||
<input type="text" class="form-control" value="<?= $this->nettoyer($adherent['pays']) ?> / <?= $this->nettoyer($adherent['ville']) ?> / <?= $this->nettoyer($adherent['localite']) ?>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 mt-3">
|
||||
<?php if($nombreGed > 0): ?>
|
||||
<div class="alert alert-success d-flex align-items-center shadow-sm border-0 py-3" style="border-radius: 10px;">
|
||||
<i class="fas fa-check-double fa-2x me-3"></i>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1 fw-bold fs-5">
|
||||
<?= est_anglophone() ? 'Identity Documents Verified' : 'Documents d’identité vérifiés'; ?>
|
||||
</h6>
|
||||
<span class="small d-block opacity-75" style="font-size: 10.5pt;">
|
||||
<?= est_anglophone()
|
||||
? 'The member’s digital folder is up to date (ID card, Passport, Birth certificate...).'
|
||||
: 'Le dossier numérique de l’adhérent est à jour (CNI, Passeport, Acte de naissance...).'; ?>
|
||||
</span>
|
||||
</div>
|
||||
<a href="Gedadherent/" class="btn btn-success btn-sm fw-bold ms-3 px-3">
|
||||
<i class="fas fa-folder-open me-2"></i><?= _("Consulter la GED") ?>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<?php else: ?>
|
||||
<div class="alert alert-danger d-flex align-items-center shadow-sm border-0 py-3 animate__animated animate__pulse animate__infinite" style="border-radius: 10px;">
|
||||
<i class="fas fa-exclamation-triangle fa-2x me-3"></i>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1 fw-bold fs-5">
|
||||
<?= est_anglophone() ? 'Missing Documents' : 'Documents manquants'; ?>
|
||||
</h6>
|
||||
<span class="small d-block fw-bold" style="font-size: 10.5pt;">
|
||||
<?= est_anglophone()
|
||||
? 'Action required: Please upload the identity documents to complete this member’s file.'
|
||||
: 'Action requise : Veuillez joindre les pièces justificatives pour finaliser ce dossier.'; ?>
|
||||
</span>
|
||||
</div>
|
||||
<a href="Gedadherent/" class="btn btn-danger btn-sm fw-bold ms-3 px-3 shadow-sm">
|
||||
<i class="fas fa-upload me-2"></i><?= _("Ouvrir la GED") ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if ($controlerPlafondAdherent): ?>
|
||||
|
|
|
|||
|
|
@ -89,30 +89,88 @@
|
|||
</div>
|
||||
|
||||
<form name="formfichebeneficiaire" id="formfichebeneficiaire" method="POST" class="container-fluid py-3">
|
||||
<div class="d-flex justify-content-between align-items-center mb-4 bg-light p-3 rounded shadow-sm border-start border-primary border-4">
|
||||
<div class="card">
|
||||
<h4 class="h4 mb-0 text-secondary">
|
||||
<?= _("Bénéficiaire") ?> : <span class="fw-bold"><?= $beneficiaire['numeroBeneficiaire'] ?></span>
|
||||
</h4>
|
||||
<small class="text-muted"><?= _("Date Effet") ?> : <?= dateLang($this->nettoyer($beneficiaire['dateEffet']), $_SESSION['lang']) ?></small>
|
||||
<div class="d-flex flex-wrap justify-content-between align-items-center mb-4 bg-white p-4 rounded shadow-sm border-start border-primary border-5">
|
||||
<div class="d-flex align-items-center mb-2 mb-lg-0">
|
||||
<div class="bg-primary-subtle text-primary rounded-circle p-3 me-3 d-none d-md-flex">
|
||||
<i class="fa-solid fa-user-gear fa-2x"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="h4 mb-1 text-dark fw-bold">
|
||||
<?= _("Bénéficiaire") ?> : <span class="text-primary"><?= $beneficiaire['numeroBeneficiaire'] ?></span>
|
||||
</h4>
|
||||
<div class="d-flex align-items-center text-muted small">
|
||||
<i class="fa-regular fa-calendar-check me-2"></i>
|
||||
<?= _("Date Effet") ?> : <span class="fw-bold ms-1"><?= dateLang($this->nettoyer($beneficiaire['dateEffet']), $_SESSION['lang']) ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex-grow-1 px-lg-4 my-3 my-lg-0" style="max-width: 600px;">
|
||||
<?php if($nombreGed > 0): ?>
|
||||
<div class="alert alert-success d-flex align-items-center m-0 py-2 px-3 border-0 shadow-sm" style="border-radius: 12px; background-color: #e8f5e9;">
|
||||
<i class="fas fa-check-circle fa-2x text-success me-3"></i>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-0 fw-bold small text-success">
|
||||
<?= est_anglophone() ? 'Verified Folder' : 'Dossier Vérifié'; ?>
|
||||
</h6>
|
||||
<small class="d-block text-dark opacity-75" style="font-size: 8.5pt;">
|
||||
<?= est_anglophone() ? 'Identity documents are up to date.' : 'Les documents d’identité sont à jour.'; ?>
|
||||
</small>
|
||||
</div>
|
||||
<a href="Gedbeneficiaireprod/" class="btn btn-success btn-sm rounded-pill px-3 ms-2">
|
||||
<i class="fas fa-folder-open me-2"></i><?= _("Consulter la GED") ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="alert alert-danger d-flex align-items-center m-0 py-2 px-3 border-0 shadow-sm animate__animated animate__pulse animate__infinite" style="border-radius: 12px; background-color: #ffebee;">
|
||||
<i class="fas fa-exclamation-circle fa-2x text-danger me-3"></i>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-0 fw-bold small text-danger">
|
||||
<?= est_anglophone() ? 'Incomplete File' : 'Dossier Incomplet'; ?>
|
||||
</h6>
|
||||
<small class="d-block text-dark fw-bold" style="font-size: 8.5pt;">
|
||||
<?= est_anglophone() ? 'Missing ID documents.' : 'Pièces d’identité manquantes.'; ?>
|
||||
</small>
|
||||
</div>
|
||||
<a href="Gedbeneficiaireprod/" class="btn btn-danger btn-sm rounded-pill px-3 ms-2 shadow-sm">
|
||||
<i class="fas fa-upload me-2"></i><?= _("Ouvrir la GED") ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="text-end">
|
||||
<?php
|
||||
$statusClass = "bg-danger"; $statusText = _("Inconnu");
|
||||
if ($dateEffetCouvert == "0") { $statusText = _("Non renouvelé"); }
|
||||
$statusClass = "bg-danger"; $statusIcon = "fa-circle-xmark"; $statusText = _("Inconnu");
|
||||
if ($dateEffetCouvert == "0") {
|
||||
$statusText = _("Non renouvelé");
|
||||
$statusIcon = "fa-calendar-minus";
|
||||
}
|
||||
elseif ($estcouvert) {
|
||||
if ($beneficiaire['codeEtatBeneficiaire'] == "V") { $statusClass = "bg-success"; $statusText = $etatbeneficiaire; }
|
||||
else { $statusText = $etatbeneficiaire; }
|
||||
} elseif ($estsorti) { $statusText = _("Retiré"); }
|
||||
else { $statusText = _("Expiré"); }
|
||||
if ($beneficiaire['codeEtatBeneficiaire'] == "V") {
|
||||
$statusClass = "bg-success";
|
||||
$statusIcon = "fa-shield-check";
|
||||
$statusText = $etatbeneficiaire;
|
||||
}
|
||||
else {
|
||||
$statusText = $etatbeneficiaire;
|
||||
$statusIcon = "fa-circle-exclamation";
|
||||
}
|
||||
} elseif ($estsorti) {
|
||||
$statusText = _("Retiré");
|
||||
$statusIcon = "fa-user-slash";
|
||||
}
|
||||
else {
|
||||
$statusText = _("Expiré");
|
||||
$statusIcon = "fa-clock-rotate-left";
|
||||
}
|
||||
?>
|
||||
<span class="badge <?= $statusClass ?> fs-6 shadow-sm p-2 px-3">
|
||||
<i class="fa-solid fa-circle-info me-1"></i> <?= $statusText ?>
|
||||
<div class="small text-muted text-uppercase fw-bold mb-1" style="font-size: 7pt; letter-spacing: 1px;"><?= _("Statut Couverture") ?></div>
|
||||
<span class="badge <?= $statusClass ?> fs-6 shadow-sm p-2 px-4 rounded-pill d-inline-flex align-items-center">
|
||||
<i class="fa-solid <?= $statusIcon ?> me-2"></i> <?= $statusText ?>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
<div class="col-lg-8">
|
||||
<div class="card shadow-sm h-100">
|
||||
|
|
@ -167,16 +225,10 @@
|
|||
<div class="position-relative d-inline-block mb-3">
|
||||
<?php if($faceRegistered == "1"): ?>
|
||||
<img src="<?=$photoAssureCrypte?>" class="img-thumbnail rounded-circle shadow" style="width: 150px; height: 150px; object-fit: cover;">
|
||||
<button type="button" onClick="ebene_init_confirm_photo_face();" class="btn btn-sm btn-success position-absolute bottom-0 end-0 rounded-circle">
|
||||
<i class="fa-solid fa-check"></i>
|
||||
</button>
|
||||
<?php else: ?>
|
||||
<div class="rounded-circle bg-secondary d-flex align-items-center justify-content-center shadow" style="width: 150px; height: 150px;">
|
||||
<i class="fa-solid fa-user-slash fa-4x text-white-50"></i>
|
||||
</div>
|
||||
<button type="button" onClick="ebene_init_photo_face();" class="btn btn-sm btn-primary position-absolute bottom-0 end-0 rounded-circle">
|
||||
<i class="fa-solid fa-camera"></i>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<h5 class="mb-1 fw-bold"><?= $beneficiaire['numeroAdherent'] ?></h5>
|
||||
|
|
@ -295,38 +347,6 @@
|
|||
</div>
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mt-1">
|
||||
<div class="card border-0 shadow-sm">
|
||||
<div class="card-body">
|
||||
<form enctype="multipart/form-data" action="Fichebeneficiaire/<?= $_SESSION['idBeneficiaire_C'] ?>/" method="post" class="row align-items-center g-3">
|
||||
<div class="col-md-5">
|
||||
<label class="form-label fw-bold small text-uppercase">
|
||||
<?= ($_SESSION['lienPhoto_C'] > " ") ? _("Remplacer la photo") : _("Nouvelle photo") ?>
|
||||
</label>
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="500000" /> <input class="form-control form-control-sm" name="fichier_image_a_uploader" type="file" id="fichier_image_a_uploader" />
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<button type="submit" name="submit" class="btn btn-primary btn-sm mt-4 w-100">
|
||||
<i class="fa-solid fa-cloud-arrow-up me-1"></i> <?= _("Mettre à jour") ?>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<?php if ($message > " "): ?>
|
||||
<div class="alert <?= ($message == 'Chargement réussi !') ? 'alert-success' : 'alert-danger' ?> m-0 py-2 small">
|
||||
<?= $message ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="text-muted small italic">
|
||||
<i class="fa-solid fa-file-image me-1"></i>
|
||||
<?= _("Fichier actuel") ?> : <?= $beneficiaire['lienPhoto'] ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Responsive Area Chart -->
|
||||
<div class="row mt-4">
|
||||
<div class="col-12 mb-4">
|
||||
|
|
@ -369,7 +389,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php include 'faceebene/ebenetraitementimage.php'; ?>
|
||||
<?php //include 'faceebene/ebenetraitementimage.php'; ?>
|
||||
|
||||
<script>
|
||||
// Configuration commune
|
||||
|
|
|
|||
|
|
@ -50,10 +50,6 @@
|
|||
<?= _("POLICE") ?> : <span class="text-secondary"><?= $this->nettoyer($police['numeroPolice']) ?></span>
|
||||
<span class="ms-3 badge bg-primary text-light small fw-normal">ID: <?= $this->nettoyer($police['idPolice']) ?></span>
|
||||
</h5>
|
||||
<div class="text-end">
|
||||
<small class="d-block opacity-75"><?= _("Primes non facturées") ?></small>
|
||||
<span class="fw-bold h5 mb-0 badge bg-warning"><?= format_N($nb_non_facturees) ?></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body p-2">
|
||||
|
|
@ -70,14 +66,11 @@
|
|||
<input type="text" class="form-control fw-bold" value="<?= $this->nettoyer($police['numeroPolice']) ?>" readonly>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="col-lg-6 col-md-6">
|
||||
<label class="form-label small fw-bold text-uppercase"><?= _("Courtier / Apporteur") ?></label>
|
||||
<input type="text" class="form-control" value="<?= $this->nettoyer($police['apporteur']) ?>" readonly>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-6">
|
||||
<label class="form-label small fw-bold text-uppercase"><?= _("Tx Comm %") ?></label>
|
||||
<input type="text" class="form-control text-center" value="<?= $this->nettoyer($police['tauxCommission']) ?>" readonly>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-md-12">
|
||||
<label class="form-label small fw-bold text-uppercase"><?= _("Type de Contrat") ?></label>
|
||||
<input type="text" class="form-control" value="<?= $typeContrat ?>" readonly>
|
||||
|
|
@ -121,23 +114,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-footer p-0 border-top-0">
|
||||
<div class="row g-0 text-center">
|
||||
<div class="col-4 financial-item border-end py-3">
|
||||
<small class="text-muted d-block"><?= _("Primes") ?></small>
|
||||
<span class="h5 mb-0 text-secondary fw-bold"><?= format_N($this->nettoyer($totalquittance['primeTtc'])) ?></span>
|
||||
</div>
|
||||
<div class="col-4 financial-item border-end py-3">
|
||||
<small class="text-muted d-block"><?= _("Encaissements") ?></small>
|
||||
<span class="h5 mb-0 text-success fw-bold"><?= format_N($this->nettoyer($totalquittance['encaisse'])) ?></span>
|
||||
</div>
|
||||
<div class="col-4 financial-item py-3">
|
||||
<small class="text-muted d-block"><?= _("Solde") ?></small>
|
||||
<span class="h5 mb-0 text-primary fw-bold"><?= format_N($this->nettoyer($totalquittance['solde'])) ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card shadow-sm mb-4">
|
||||
|
|
@ -147,21 +123,6 @@
|
|||
</h6>
|
||||
|
||||
<form enctype="multipart/form-data" action="Fichepolice" method="post" class="row g-3">
|
||||
<!-- Zone d'information sur les extensions
|
||||
<div class="alert alert-info mt-2 py-2 small col-md-12">
|
||||
<strong><?= _("Formats autorisés") ?>:</strong>
|
||||
<div class="d-flex flex-wrap mt-2">
|
||||
<?php foreach ($tabExt as $ext): ?>
|
||||
<?php
|
||||
$style = isset($extStyles[$ext]) ? $extStyles[$ext] : ["color" => "secondary", "icon" => "fas fa-file"];
|
||||
?>
|
||||
<span class="badge bg-<?= $style["color"] ?> me-2 mb-2">
|
||||
<i class="<?= $style["icon"] ?> me-1"></i><?= strtoupper($ext) ?>
|
||||
</span>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<div class="col-md-9">
|
||||
<input class="form-control custom-file-input" name="fichier_upload" type="file" id="fichier_upload">
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
$this->titre = "ISA WEB - Modifier Utilisateur";
|
||||
$this->titre = "INTER SANTE - Modifier Utilisateur";
|
||||
|
||||
$idClient = $this->nettoyer($user_rh['idClient']);
|
||||
$idUtilisateur = $user_rh['id'];
|
||||
|
|
|
|||
|
|
@ -24,8 +24,19 @@
|
|||
<div class="card-body">
|
||||
<form id="form_ged_adherent" enctype="multipart/form-data" action="Gedadherent" method="post">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-10">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Joindre un nouveau document à archiver") ?></label>
|
||||
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 d-flex align-items-end gap-1">
|
||||
<button type="submit" name="submit" class="btn btn-success btn-sm flex-fill fw-bold">
|
||||
<i class="fas fa-upload me-1"></i> <?= _("Envoyer") ?>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période du") ?></label>
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période de recherche du") ?></label>
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text bg-white"><i class="far fa-calendar-alt"></i></span>
|
||||
<input class="form-control datepicker text-center" type="text" id="d1" name="d1"
|
||||
|
|
@ -36,20 +47,26 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document") ?></label>
|
||||
<input class="form-control form-control-sm" type="text" id="nomOrigine" name="nomOrigine" placeholder="<?= _("Rechercher un fichier...") ?>">
|
||||
<div class="col-md-3">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document recherché") ?></label>
|
||||
<input class="form-control form-control-sm" type="text" id="nomOrigine" name="nomOrigine" placeholder="<?= _("Saisir partiellement ou complètement...") ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-bold small text-muted text-uppercase">
|
||||
<?= _("Type Document") ?><span class="text-danger"> *</span>
|
||||
<?= _("Type du document recherché ou à archiver") ?><span class="text-danger"> *</span>
|
||||
</label>
|
||||
<select class="form-select" id="codeNaturePiece" name="codeNaturePiece">
|
||||
<?php liste_options($naturepiece, ""); ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 d-flex align-items-end gap-1">
|
||||
<button type="button" class="btn btn-primary btn-sm flex-fill fw-bold" onclick="lister_ged_adherent();">
|
||||
<i class="fas fa-sync-alt me-1"></i> <?= _("Filtrer") ?>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12" id="div_autre_type" style="display: none;">
|
||||
<div class="alert alert-info py-2 shadow-sm border-start border-4 border-info mb-0">
|
||||
<label class="form-label fw-bold small text-muted text-uppercase mb-1">
|
||||
|
|
@ -58,20 +75,6 @@
|
|||
<input type="text" class="form-control form-control-sm border-info" id="libelleAutre" name="libelleAutre" placeholder="<?= _("Saisissez le type de document...") ?>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-10">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nouveau Document") ?></label>
|
||||
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 d-flex align-items-end gap-2">
|
||||
<button type="button" class="btn btn-primary btn-sm flex-fill fw-bold" onclick="lister_ged_adherent();">
|
||||
<i class="fas fa-sync-alt me-1"></i> <?= _("Filtrer") ?>
|
||||
</button>
|
||||
<button type="submit" name="submit" class="btn btn-success btn-sm flex-fill fw-bold">
|
||||
<i class="fas fa-upload me-1"></i> <?= _("Envoyer") ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -91,7 +94,7 @@
|
|||
<th class="text-center">Date</th>
|
||||
<th class="text-center">Src</th>
|
||||
<th><?= _("Souscripteur / Police") ?></th>
|
||||
<th><?= _("Bénéficiaire (Adhérent)") ?></th>
|
||||
<th><?= _("Bénéficiaire / Adhérent") ?></th>
|
||||
<th><?= _("Type du Document") ?></th>
|
||||
<th><?= _("Nom du Document") ?></th>
|
||||
<th class="text-center no-export"><?= _("Action") ?></th>
|
||||
|
|
@ -99,8 +102,17 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($geds as $ged):
|
||||
$idGed = $this->nettoyer($ged['idGed']);
|
||||
$idGed = $this->nettoyer($ged['idGed']);
|
||||
$cheminFichier = $this->nettoyer($ged['cheminFichier']);
|
||||
|
||||
if($ged['codeNaturePiece'] == "AUT")
|
||||
{
|
||||
$libelleType = $this->nettoyer($ged['libelleAutre']);
|
||||
} else
|
||||
{
|
||||
$libelleType = $this->nettoyer($ged['libelleType']);
|
||||
}
|
||||
|
||||
?>
|
||||
<tr class="text-nowrap">
|
||||
<td class="text-center small text-muted"><?= dateheureLang($this->nettoyer($ged['dateSysteme'])) ?></td>
|
||||
|
|
@ -113,13 +125,14 @@
|
|||
<div class="fw-bold"><?= $this->nettoyer($ged['beneficiaire']) ?></div>
|
||||
<div class="small text-muted italic"><?= $this->nettoyer($ged['adherent']) ?></div>
|
||||
</td>
|
||||
<td class="small"><?= $this->nettoyer($ged['libelleDocument']) ?></td>
|
||||
|
||||
<td class="small text-uppercase"><?= $libelleType; ?></td>
|
||||
|
||||
<td class="small text-truncate" style="max-width: 200px;" title="<?= $this->nettoyer($ged['nomOrigine']) ?>">
|
||||
<i class="far fa-file-alt me-1 text-secondary"></i> <?= $this->nettoyer($ged['nomOrigine']) ?>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<a class="btn btn-xs btn-outline-danger shadow-sm fw-bold px-3" href="<?= $cheminFichier ?>" target="_blank">
|
||||
<a class="btn btn-xs btn-outline-danger shadow-sm fw-bold px-3" href="<?= $cheminFichier ?>" target="_blank" style="font-size:9pt;">
|
||||
<i class="fas fa-download me-1"></i> <?= _("Télécharger") ?>
|
||||
</a>
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?php $this->titre = "INTER-SANTE - GED Bénéficiaire"; ?>
|
||||
|
||||
<div id="div_adherent" class="container-fluid py-1 animate__animated animate__fadeIn">
|
||||
<h1 class="text-primary"><i class="fas fa-file-user me-2"></i><?= _('G E D Bénéficiaire') ?></h1>
|
||||
<h1 class="text-primary"><i class="bi bi-file-earmark-person me-2"></i><?= _('G E D Bénéficiaire') ?></h1>
|
||||
|
||||
<div class="card-header d-flex justify-content-between align-items-center py-1 mb-2">
|
||||
<h5 class="mb-0 fw-bold">
|
||||
|
|
@ -18,47 +18,69 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card border-0 shadow-sm mb-4">
|
||||
<div class="card-body p-3">
|
||||
<form enctype="multipart/form-data" action="Gedbeneficiaireprod" method="post">
|
||||
<div class="row g-3 align-items-end">
|
||||
|
||||
<div class="col-xl-4 col-lg-6">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période de recherche") ?></label>
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text bg-white"><i class="fas fa-calendar-alt text-primary"></i></span>
|
||||
<input class="form-control datepicker text-center fw-bold" type="text" id="d1" name="d1"
|
||||
value="<?= dateLang($_SESSION['dUneSemaineAvant_C'], $_SESSION['lang']) ?>" required>
|
||||
<span class="input-group-text bg-light fw-bold px-3"><?= _("au") ?></span>
|
||||
<input class="form-control datepicker text-center fw-bold" type="text" id="d2" name="d2"
|
||||
value="<?= dateCouranteLang($_SESSION['lang']) ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
<INPUT class="sr-only" id="idAvenant" NAME="idAvenant" TYPE="text" value="<?= $_SESSION['idAvenant']; ?>" >
|
||||
|
||||
<div class="col-xl-3 col-lg-6">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document") ?></label>
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text bg-white"><i class="fas fa-search"></i></span>
|
||||
<input class="form-control" type="text" id="nomOrigine" name="nomOrigine"
|
||||
onkeypress="javascript:ctrlkeypress_lister_ged(event);" placeholder="<?= _("Contient...") ?>">
|
||||
<button class="btn btn-primary fw-bold px-3" type="button" onclick="javascript:lister_ged_beneficiaire_prod();">
|
||||
<i class="fas fa-sync-alt me-1"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row g-4">
|
||||
<div class="col-xl-12">
|
||||
<div class="card border-0 shadow-sm">
|
||||
<div class="card-body">
|
||||
<form id="form_ged_beneficiaireprod" enctype="multipart/form-data" action="Gedbeneficiaireprod" method="post">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-10">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Joindre un nouveau document à archiver") ?></label>
|
||||
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload">
|
||||
</div>
|
||||
|
||||
<div class="col-xl-3 col-lg-8">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Joindre un nouveau document") ?></label>
|
||||
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload" />
|
||||
</div>
|
||||
<div class="col-md-2 d-flex align-items-end gap-1">
|
||||
<button type="submit" name="submit" class="btn btn-success btn-sm flex-fill fw-bold">
|
||||
<i class="fas fa-upload me-1"></i> <?= _("Envoyer") ?>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="col-xl-2 col-lg-4 text-end">
|
||||
<button type="submit" name="submit" class="btn btn-success btn-sm w-100 fw-bold py-2 shadow-sm">
|
||||
<i class="fas fa-upload me-2"></i><?= _("ENVOYER") ?>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période de recherche du") ?></label>
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text bg-white"><i class="far fa-calendar-alt"></i></span>
|
||||
<input class="form-control datepicker text-center" type="text" id="d1" name="d1"
|
||||
value="<?= dateLang($_SESSION['dUneSemaineAvant_C'], $_SESSION['lang']) ?>" required>
|
||||
<span class="input-group-text bg-light fw-bold"><?= _("au") ?></span>
|
||||
<input class="form-control datepicker text-center" type="text" id="d2" name="d2"
|
||||
value="<?= dateCouranteLang($_SESSION['lang']) ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document recherché") ?></label>
|
||||
<input class="form-control form-control-sm" type="text" id="nomOrigine" name="nomOrigine" placeholder="<?= _("Saisir partiellement ou complètement...") ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-bold small text-muted text-uppercase">
|
||||
<?= _("Type du document recherché ou à archiver") ?><span class="text-danger"> *</span>
|
||||
</label>
|
||||
<select class="form-select" id="codeNaturePiece" name="codeNaturePiece">
|
||||
<?php liste_options($naturepiece, ""); ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 d-flex align-items-end gap-1">
|
||||
<button type="button" class="btn btn-primary btn-sm flex-fill fw-bold" onclick="lister_ged_beneficiaire_prod();">
|
||||
<i class="fas fa-sync-alt me-1"></i> <?= _("Filtrer") ?>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12" id="div_autre_type" style="display: none;">
|
||||
<div class="alert alert-info py-2 shadow-sm border-start border-4 border-info mb-0">
|
||||
<label class="form-label fw-bold small text-muted text-uppercase mb-1">
|
||||
<?= _("Préciser si autre type") ?><span class="text-danger"> *</span>
|
||||
</label>
|
||||
<input type="text" class="form-control form-control-sm border-info" id="libelleAutre" name="libelleAutre" placeholder="<?= _("Saisissez le type de document...") ?>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -76,16 +98,24 @@
|
|||
<th class="text-center px-3">Date</th>
|
||||
<th class="text-center">Src</th>
|
||||
<th><?= _("Souscripteur / Police") ?></th>
|
||||
<th><?= _("Prestataire") ?></th>
|
||||
<th><?= _("Bénéficiaire (Adhérent)") ?></th>
|
||||
<th><?= _("Document") ?></th>
|
||||
<th class="text-center"><?= _("Action") ?></th>
|
||||
<th><?= _("Bénéficiaire / Adhérent") ?></th>
|
||||
<th><?= _("Type du Document") ?></th>
|
||||
<th><?= _("Nom du Document") ?></th>
|
||||
<th class="text-center no-export"><?= _("Action") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($geds as $ged):
|
||||
$idGed = $this->nettoyer($ged['idGed']);
|
||||
$cheminFichier = $this->nettoyer($ged['cheminFichier']);
|
||||
|
||||
if($ged['codeNaturePiece'] == "AUT")
|
||||
{
|
||||
$libelleType = $this->nettoyer($ged['libelleAutre']);
|
||||
} else
|
||||
{
|
||||
$libelleType = $this->nettoyer($ged['libelleType']);
|
||||
}
|
||||
?>
|
||||
<tr class="text-nowrap">
|
||||
<td class="text-center small text-muted"><?= dateheureLang($this->nettoyer($ged['dateSysteme'])) ?></td>
|
||||
|
|
@ -95,14 +125,16 @@
|
|||
<td>
|
||||
<div class="fw-bold text-dark"><?= $this->nettoyer($ged['souscripteur']) ?></div>
|
||||
<div class="small text-primary">N° <?= $this->nettoyer($ged['numeroPolice']) ?></div>
|
||||
</td>
|
||||
<td class="small text-muted text-truncate" style="max-width: 150px;"><?= $this->nettoyer($ged['prestataire']) ?></td>
|
||||
</td>
|
||||
<td>
|
||||
<div class="fw-bold"><?= $this->nettoyer($ged['beneficiaire']) ?></div>
|
||||
<div class="small text-muted italic">
|
||||
<?= $this->nettoyer($ged['adherent']) ?> (<?= $this->nettoyer($ged['numeroBeneficiaire']) ?>)
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td class="small text-uppercase"><?= $libelleType; ?></td>
|
||||
|
||||
<td class="small">
|
||||
<i class="far fa-file-pdf text-danger me-1"></i>
|
||||
<span class="text-truncate d-inline-block" style="max-width: 180px;" title="<?= $this->nettoyer($ged['nomOrigine']) ?>">
|
||||
|
|
@ -110,7 +142,7 @@
|
|||
</span>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<a href="<?= $cheminFichier ?>" target="_blank" class="btn btn-xs btn-outline-danger shadow-sm px-3 fw-bold border-2">
|
||||
<a href="<?= $cheminFichier ?>" target="_blank" class="btn btn-xs btn-outline-danger shadow-sm px-3 fw-bold border-2" style="font-size:9pt;">
|
||||
<i class="fas fa-download me-1"></i><?= _("TELECHARGER") ?>
|
||||
</a>
|
||||
</td>
|
||||
|
|
@ -120,4 +152,56 @@
|
|||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const selectNature = document.getElementById('codeNaturePiece');
|
||||
const divAutre = document.getElementById('div_autre_type');
|
||||
const inputAutre = document.getElementById('libelleAutre');
|
||||
const formGed = document.getElementById('form_ged_beneficiaireprod');
|
||||
|
||||
// 1. Affichage dynamique du champ Libellé
|
||||
selectNature.addEventListener('change', function() {
|
||||
if (this.value === 'AUT') {
|
||||
divAutre.style.display = 'block';
|
||||
inputAutre.focus();
|
||||
} else {
|
||||
divAutre.style.display = 'none';
|
||||
inputAutre.value = '';
|
||||
}
|
||||
});
|
||||
|
||||
// 2. Blocage du Submit si conditions non remplies
|
||||
formGed.addEventListener('submit', async function(e) {
|
||||
// On ne vérifie que si on tente de soumettre (clic sur Envoyer)
|
||||
const isSubmit = e.submitter && e.submitter.name === 'submit';
|
||||
|
||||
if (isSubmit) {
|
||||
const valNature = selectNature.value;
|
||||
|
||||
// Cas 1 : Type de document vide
|
||||
if (valNature === "") {
|
||||
e.preventDefault();
|
||||
await alert_ebene(
|
||||
"Veuillez sélectionner un type de document avant d'envoyer.",
|
||||
"Please select a document type before sending."
|
||||
);
|
||||
selectNature.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// Cas 2 : Type "Autre" mais libellé vide
|
||||
if (valNature === 'AUT' && inputAutre.value.trim() === "") {
|
||||
e.preventDefault();
|
||||
await alert_ebene(
|
||||
"Veuillez préciser le type de document (champ Libellé).",
|
||||
"Please specify the document type (Label field)."
|
||||
);
|
||||
inputAutre.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1,12 +1,16 @@
|
|||
<div id="div_avenant" class="card shadow-sm border-0 mb-4 animate__animated animate__fadeIn">
|
||||
<h1 class="text-primary"><i class="fas fa-list-ul me-2"></i><?= _('Historique des Avenants') ?></h1>
|
||||
<?php
|
||||
$titre = 'Historique des Avenants';
|
||||
?>
|
||||
|
||||
<div class="card-header d-flex justify-content-between align-items-center py-3">
|
||||
<div id="div_avenant" class="card shadow-sm border-0 mb-4 animate__animated animate__fadeIn">
|
||||
<h1 class="text-primary"><i class="fas fa-list-ul me-2"></i><?= $titre ?></h1>
|
||||
|
||||
<div class="card-header d-flex justify-content-between align-items-center py-3">
|
||||
<div class="text-muted">
|
||||
<span class="badge bg-light text-dark border ps-2">
|
||||
<?= $_SESSION['nomClient_C'] ?> | <?= $police['numeroPolice'] ?>
|
||||
</span>
|
||||
</div>
|
||||
<span class="badge bg-light text-dark border ps-2">
|
||||
<?= $_SESSION['nomClient_C'] ?> | <?= $police['numeroPolice'] ?>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body p-0 mt-2">
|
||||
|
|
@ -21,6 +25,7 @@
|
|||
<th width="15%"><?= _("Saisie par") ?></th>
|
||||
<th class="text-center" width="10%"><?= _("Facturé") ?></th>
|
||||
<th class="text-center" width="10%"><?= _("RH") ?></th>
|
||||
<th class="text-center" width="10%"><?= _("Action") ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -28,6 +33,8 @@
|
|||
$libelleAvenant = est_anglophone() ? $avenant['libelleAvenantEng'] : $avenant['libelleAvenant'];
|
||||
$isFacture = ($avenant['facture'] == '1');
|
||||
$isRH = ($avenant['ajoutClient'] == '1');
|
||||
$idAvenant = $avenant['idAvenant'];
|
||||
$isNotify = ($avenant['notificationRhEnvoye'] == '1');
|
||||
?>
|
||||
<tr>
|
||||
<td class="text-center fw-bold ps-3 text-secondary">
|
||||
|
|
@ -38,7 +45,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<div class="fw-bold"><?= $libelleAvenant ?></div>
|
||||
<div class="x-small text-muted" style="font-size: 0.75rem;">
|
||||
<div class="text-muted" style="font-size: 0.75rem;">
|
||||
<?= dateheureLang($this->nettoyer($avenant['dateSysteme']), $_SESSION['lang']) ?>
|
||||
</div>
|
||||
</td>
|
||||
|
|
@ -64,10 +71,44 @@
|
|||
<span class="badge bg-light text-muted border px-3 py-2"><?= _("NON") ?></span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td class="text-center">
|
||||
<?php if($isRH): ?>
|
||||
<?php if($isNotify): ?>
|
||||
<span class="text-success small fw-bold">
|
||||
<i class="fas fa-check-double me-1"></i> <?= _("Déjà Notifié") ?>
|
||||
</span>
|
||||
<?php else: ?>
|
||||
<button type="button"
|
||||
class="btn btn-sm btn-outline-primary fw-bold shadow-sm px-3"
|
||||
onclick="envoyer_notification_avenant('<?= $idAvenant ?>')">
|
||||
<i class="fas fa-bell me-1"></i> <?= _("Notifier") ?>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<span class="text-muted opacity-50 small">-</span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
// Préparation du titre
|
||||
const titre = "<?= mb_strtoupper($titre, 'UTF-8'); ?>";
|
||||
|
||||
// Préparation du bloc d'informations
|
||||
const infosComplementaires =
|
||||
"<?= _('Souscripteur').' : '.$_SESSION['nomClient_C'] ?>\n" +
|
||||
"<?= _('Numéro Police').' : '.$_SESSION['numeroPolice_C'] ?>\n" +
|
||||
"<?= _('Période couverte').' : '.dateLang($sppoliceentete['dateEffet'], $_SESSION['lang']) ?> <?= _('au') ?> <?= dateLang($sppoliceentete['dateEcheance'], $_SESSION['lang']) ?>";
|
||||
|
||||
// Appel de la fonction
|
||||
appliquerDataTable('.tabliste', {}, titre, infosComplementaires);
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1,112 +1,183 @@
|
|||
<?php $this->titre = "INTER-SANTE - Modification Bénéficiaire"; ?>
|
||||
<?php $this->titre = "INTER-SANTE - Modification Bénéficiaire";
|
||||
$idMvt = $mouvementassure['id'];
|
||||
$aCorriger = $mouvementassure['aCorriger'];
|
||||
|
||||
<div id="div_adherent" class="container-fluid py-1 animate__animated animate__fadeIn">
|
||||
<h1 class="text-primary">
|
||||
<i class="fas fa-user-edit me-2"></i>
|
||||
<?= _('Modifier le bénéficiaire') ?>:
|
||||
<span class="badge bg-white text-primary ms-1"><?= $beneficiaire['numeroBeneficiaire'] ?></span>
|
||||
</h1>
|
||||
$motif = $mouvementassure['motif'];
|
||||
|
||||
<div class="card-header d-flex justify-content-between align-items-center py-1">
|
||||
<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>
|
||||
$idBeneficiaire = $beneficiaire['idBeneficiaire'];
|
||||
?>
|
||||
|
||||
<div id="div_adherent" class="container-fluid py-3 animate__animated animate__fadeIn">
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center mb-2">
|
||||
<h1 class="text-primary fw-bold mb-0">
|
||||
<i class="fas fa-user-edit me-2 text-primary"></i><?= _("Modifier le bénéficiaire") ?>
|
||||
<span class="badge bg-primary ms-2 small"><?= $beneficiaire['numeroBeneficiaire'] ?></span>
|
||||
</h1>
|
||||
<div class="text-end">
|
||||
<small class="text-uppercase opacity-75 d-block" style="font-size: 10pt; letter-spacing: 1px;"><?= _("POLICE") ?></small>
|
||||
<span class="fw-bold"><?= $this->nettoyer($_SESSION['numeroPolice_C']) ?></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-2 justify-content-center">
|
||||
<div class="col-md-8 col-lg-6">
|
||||
<?php if($nombreGed > 0): ?>
|
||||
<div class="alert alert-success d-flex align-items-center py-2 px-3 border-0 shadow-sm" style="border-radius: 12px; background-color: #e8f5e9;">
|
||||
<i class="fas fa-check-circle fa-2x text-success me-3"></i>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-0 fw-bold small text-success"><?= est_anglophone() ? 'Verified Folder' : 'Dossier Vérifié'; ?></h6>
|
||||
<small class="text-dark opacity-75" style="font-size: 8.5pt;"><?= est_anglophone() ? 'Identity documents are up to date.' : 'Les documents d’identité sont à jour.'; ?></small>
|
||||
</div>
|
||||
<a href="Gedbeneficiaireprod/" class="btn btn-success btn-sm rounded-pill px-3 ms-2">
|
||||
<i class="fas fa-folder-open me-2"></i><?= _("GED") ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="alert alert-danger d-flex align-items-center py-2 px-3 border-0 shadow-sm animate__animated animate__pulse animate__infinite" style="border-radius: 12px; background-color: #ffebee;">
|
||||
<i class="fas fa-exclamation-triangle fa-2x text-danger me-3"></i>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-0 fw-bold small text-danger"><?= est_anglophone() ? 'Incomplete File' : 'Dossier Incomplet'; ?></h6>
|
||||
<small class="text-dark fw-bold" style="font-size: 8.5pt;"><?= est_anglophone() ? 'Missing ID documents.' : 'Pièces d’identité manquantes.'; ?></small>
|
||||
</div>
|
||||
<a href="Gedbeneficiaireprod/" class="btn btn-danger btn-sm rounded-pill px-3 ms-2 shadow-sm">
|
||||
<i class="fas fa-upload me-2"></i><?= _("Ouvrir la GED") ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form method="post" action="Modifierbeneficiaire/modifier/<?=$beneficiaire['id']?>/">
|
||||
|
||||
<input type="hidden" id="idPolice" name="idPolice" value="<?= $_SESSION['idPolice_C'] ?>">
|
||||
<input type="hidden" id="numeroPolice" name="numeroPolice" value="<?= $_SESSION['numeroPolice_C'] ?>">
|
||||
<input type="hidden" id="idAdherent" name="idAdherent" value="<?= $_SESSION['idAdherent_C'] ?>">
|
||||
<input type="hidden" id="numeroAdherent" name="numeroAdherent" value="<?= $_SESSION['numeroAdherent_C'] ?>">
|
||||
<input type="hidden" id="codeProduit" name="codeProduit" value="<?= $adherent['codeProduit'] ?>">
|
||||
<input type="hidden" name="idPolice" value="<?= $_SESSION['idPolice_C'] ?>">
|
||||
<input type="hidden" name="numeroPolice" value="<?= $_SESSION['numeroPolice_C'] ?>">
|
||||
<input type="hidden" name="idAdherent" value="<?= $_SESSION['idAdherent_C'] ?>">
|
||||
<input type="hidden" name="numeroAdherent" value="<?= $_SESSION['numeroAdherent_C'] ?>">
|
||||
<input type="hidden" name="codeProduit" value="<?= $adherent['codeProduit'] ?>">
|
||||
|
||||
<div class="card shadow-sm border-0">
|
||||
|
||||
<div class="card shadow-sm border-0" style="border-radius: 15px;">
|
||||
<div class="card-body p-4">
|
||||
<h6 class="text-muted text-uppercase small fw-bold mb-3 border-bottom pb-2"><?= _("Référence Adhérent") ?></h6>
|
||||
<div class="row g-3 mb-4 bg-light p-3 rounded">
|
||||
|
||||
<div class="row g-3 mb-4 bg-light p-3 rounded-3 border">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label small text-muted mb-0"><?= _("Nom & Prénoms Adhérent") ?></label>
|
||||
<div class="fw-bold"><?= $adherent['nom'] ?> <?= $adherent['prenoms'] ?></div>
|
||||
<label class="form-label small text-muted text-uppercase fw-bold mb-1"><?= _("Adhérent Principal") ?></label>
|
||||
<div class="h6 mb-0 text-primary fw-bold"><i class="fas fa-user-tie me-2"></i><?= $adherent['nom'] ?> <?= $adherent['prenoms'] ?></div>
|
||||
</div>
|
||||
<div class="col-md-6 border-start">
|
||||
<label class="form-label small text-muted mb-0"><?= _("Collège / Produit") ?></label>
|
||||
<div class="fw-bold"><?= $adherent['libelleCollege'] ?></div>
|
||||
<div class="col-md-6 border-start ps-4">
|
||||
<label class="form-label small text-muted text-uppercase fw-bold mb-1"><?= _("Collège / Produit") ?></label>
|
||||
<div class="h6 mb-0 text-dark fw-bold"><i class="fas fa-shield-alt me-2 text-secondary"></i><?= $adherent['libelleCollege'] ?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h6 class="text-muted text-uppercase small fw-bold mb-3 border-bottom pb-2"><?= _("Données du Bénéficiaire") ?></h6>
|
||||
<div class="row g-3">
|
||||
<h6 class="text-primary text-uppercase small fw-bold mb-4 border-bottom pb-2">
|
||||
<i class="fas fa-info-circle me-2"></i><?= _("Informations Personnelles") ?>
|
||||
</h6>
|
||||
|
||||
<div class="row g-2">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label fw-bold small"><?= _("Date d'Entrée") ?> <span class="text-danger">*</span></label>
|
||||
<input class="form-control datepicker" type="text" id="dateEntree" name="dateEntree" value="<?= dateLang($this->nettoyer($beneficiaire['dateEntree'])) ?>" required>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text bg-white"><i class="fas fa-calendar-check text-primary"></i></span>
|
||||
<input class="form-control datepicker fw-bold" type="text" id="dateEntree" name="dateEntree" value="<?= dateLang($this->nettoyer($beneficiaire['dateEntree']), $_SESSION['lang']) ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label fw-bold small"><?= _("Date de Naissance") ?> <span class="text-danger">*</span></label>
|
||||
<input class="form-control datepicker" type="text" id="dateNaissance" name="dateNaissance" value="<?= dateLang($this->nettoyer($beneficiaire['dateNaissance'])) ?>" required>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text bg-white"><i class="fas fa-birthday-cake text-danger"></i></span>
|
||||
<input class="form-control datepicker fw-bold" type="text" id="dateNaissance" name="dateNaissance" value="<?= dateLang($this->nettoyer($beneficiaire['dateNaissance']), $_SESSION['lang']) ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<label class="form-label fw-bold small"><?= _("Nom") ?> <span class="text-danger">*</span></label>
|
||||
<input class="form-control text-uppercase" type="text" id="nomBeneficiaire" name="nomBeneficiaire" value="<?= $beneficiaire['nomBeneficiaire'] ?>" required>
|
||||
<input class="form-control text-uppercase fw-bold border-primary" type="text" id="nomBeneficiaire" name="nomBeneficiaire" value="<?= $beneficiaire['nomBeneficiaire'] ?>" required>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label fw-bold small"><?= _("Prénoms") ?> <span class="text-danger">*</span></label>
|
||||
<input class="form-control" type="text" id="prenomsBeneficiaire" name="prenomsBeneficiaire" value="<?= $beneficiaire['prenomsBeneficiaire'] ?>" required autofocus>
|
||||
<input class="form-control fw-bold border-primary" type="text" id="prenomsBeneficiaire" name="prenomsBeneficiaire" value="<?= $beneficiaire['prenomsBeneficiaire'] ?>" required autofocus>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-bold small"><?= _("Lien Parenté") ?></label>
|
||||
<select class="form-select" id="codeLienParente" name="codeLienParente">
|
||||
<select class="form-select bg-light fw-bold" id="codeLienParente" name="codeLienParente">
|
||||
<?php liste_options($lienparente,$beneficiaire['codeLienParente'],true); ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-bold small"><?= _("Sexe") ?></label>
|
||||
<select class="form-select" id="sexe" name="sexe">
|
||||
<select class="form-select bg-light fw-bold" id="sexe" name="sexe">
|
||||
<?php liste_options($sexe,$beneficiaire['sexe'],true); ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-bold small"><?= _("Groupe Sanguin") ?></label>
|
||||
<select class="form-select" id="codeGroupeSanguin" name="codeGroupeSanguin">
|
||||
<select class="form-select bg-light fw-bold" id="codeGroupeSanguin" name="codeGroupeSanguin">
|
||||
<?php liste_options($groupesanguin,$beneficiaire['codeGroupeSanguin'],true); ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<h6 class="text-primary text-uppercase small fw-bold mt-5 mb-3 border-bottom pb-2">
|
||||
<i class="fas fa-id-card me-2"></i><?= _("Documents & Contact") ?>
|
||||
</h6>
|
||||
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-bold small"><?= _("Nature Pièce") ?></label>
|
||||
<select class="form-select" id="codeNaturePiece" name="codeNaturePiece">
|
||||
<select class="form-select border-info" id="codeNaturePiece" name="codeNaturePiece">
|
||||
<?php liste_options($naturepiece,$beneficiaire['codeNaturePiece'],true); ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-bold small"><?= _("N° Pièce") ?></label>
|
||||
<input class="form-control" type="text" id="numeroPiece" name="numeroPiece" value="<?=$beneficiaire['numeroPiece']?>">
|
||||
<input class="form-control border-info" type="text" id="numeroPiece" name="numeroPiece" value="<?=$beneficiaire['numeroPiece']?>">
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-bold small"><?= _("Téléphone Portable") ?></label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fas fa-phone"></i></span>
|
||||
<input class="form-control" type="tel" id="telephonePortable" name="telephonePortable" value="<?= $beneficiaire['telephonePortable'] ?>">
|
||||
<span class="input-group-text bg-info text-white"><i class="fas fa-phone"></i></span>
|
||||
<input class="form-control fw-bold border-info" type="tel" id="telephonePortable" name="telephonePortable" value="<?= $beneficiaire['telephonePortable'] ?>" placeholder="00000000">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if($aCorriger == "1"): ?>
|
||||
<label class="control-label mt-3 fw-bold mb-1 text-danger"><?= _("Correction demandée");?></label>
|
||||
<div class="well well-sm w-100" style="min-height: 120px; background-color: #f3f2f1; margin-bottom: 0;">
|
||||
<?= nl2br($motif); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="row mt-5">
|
||||
<div class="col-12 text-end">
|
||||
<hr>
|
||||
<a href="javascript:history.back()" class="btn btn-outline-secondary me-2">
|
||||
<i class="fas fa-times me-2"></i><?= _("Annuler") ?>
|
||||
</a>
|
||||
<button type="submit" class="btn btn-primary px-5 shadow-sm">
|
||||
<i class="fas fa-save me-2"></i><?= _("Enregistrer les modifications") ?>
|
||||
</button>
|
||||
<div class="col-12 d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<a href="javascript:history.back()" class="btn btn-light border px-4">
|
||||
<i class="fas fa-arrow-left me-2 text-muted"></i><?= _("Retour") ?>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2">
|
||||
<?php if($aCorriger == "1"): ?>
|
||||
<button type="button" class="btn btn-info px-4 shadow-sm fw-bold animate__animated animate__pulse animate__infinite text-white" onclick="confirmer_correction(<?= $idMvt; ?>, <?= $idBeneficiaire; ?>)">
|
||||
<i class="fas fa-check-double me-2"></i><?= _("Confirmer la Correction") ?>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
|
||||
<button type="submit" class="btn btn-primary px-4 shadow-sm fw-bold">
|
||||
<i class="fas fa-save me-2"></i><?= _("Enregistrer les Modifications") ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.form-control:focus, .form-select:focus {
|
||||
border-color: #0d6efd;
|
||||
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1);
|
||||
}
|
||||
input.text-uppercase { text-transform: uppercase; }
|
||||
</style>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
$this->titre = "ISA WEB - Nouvel Utilisateur Portail RH";
|
||||
$this->titre = "INTER SANTE - Nouvel Utilisateur Portail RH";
|
||||
$idClient = $_SESSION['idClient_C'];
|
||||
$nomClient = $_SESSION['nomClient_C'];
|
||||
|
||||
|
|
|
|||
58
Vue/Requetes/index.php
Normal file
58
Vue/Requetes/index.php
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
<?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 class="fw-bold">
|
||||
<?= _("Contrat du") ?> : <?= dateLang($this->nettoyer($sppoliceentete['dateEffet']), $_SESSION['lang']) ?>
|
||||
<span class="ms-2"><?= _("au") ?> : <?= dateLang($this->nettoyer($sppoliceentete['dateEcheance']), $_SESSION['lang']) ?></span>
|
||||
</div>
|
||||
<div class="badge bg-dark px-3 py-2 fs-6">
|
||||
<?= _("Durée Contrat") ?> : <?= $this->nettoyer($sppoliceentete['duree_acquise'])." / ".$this->nettoyer($sppoliceentete['dureePolice']) ?> <?= _("jours") ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card shadow-sm border-0 mb-2" 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><?= _("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-2"></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 affichée / No data displayed</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -708,7 +708,7 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
|||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||
|
||||
<!-- Application Scripts -->
|
||||
<script src="/Js/fonctions.js?ver=2026.03.24.00"></script>
|
||||
<script src="/Js/fonctions.js?ver=2026.04.18.24"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
raffraichier_gabarit();
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user