This commit is contained in:
KANE LAZENI 2026-01-04 06:20:48 +00:00
parent fc487218e9
commit 4dc64fc78b
4 changed files with 420 additions and 2 deletions

View File

@ -0,0 +1,115 @@
<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Menuvueutilisateur.php';
require_once 'Modele/Beneficiaire.php';
require_once 'Modele/Naturepiece.php';
require_once 'Modele/Sexe.php';
require_once 'Modele/Groupesanguin.php';
require_once 'Modele/Adherent.php';
require_once 'Modele/Lienparente.php';
require_once 'Societes/'.$_SESSION['codeSociete'].'/Tarifs/Modele/Tarif.php';
require_once 'Modele/Avenant.php';
require_once 'Modele/Ouinon.php';
require_once 'Modele/Beneficiaire_temp.php';
class ControleurCreerbeneficiaire extends Controleur {
private $beneficiaire;
private $naturepiece;
private $sexe;
private $groupesanguin;
private $adherent;
private $lienparente;
private $tarif;
private $avenant;
private $ouinon;
private $beneficiaire_temp;
public function __construct() {
$this->menuvue = new Menuvueutilisateur();
$this->menuvue->getMenuVue('Creerbeneficiaire');
$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())->getListeDependant();
$this->tarif = new Tarif();
// $this->avenant = (new Avenant())->getListe($_SESSION['idPolice_C']);
$this->avenant = (new Avenant())->getListeEnCours($_SESSION['idPolice_C']);
$this->ouinonprorata = (new Ouinon())->getListe();
$this->beneficiaire_temp = new Beneficiaire_temp();
}
public function index()
{
$codeTypeContrat = $_SESSION['codeTypeContrat'];
if($codeTypeContrat=="F")
{
$this->rediriger("Creerbeneficiairefamiliale");
exit();
}
else
{
$idPolice = $_SESSION['idPolice_C'];
$idAdherent = $_SESSION['idAdherent_C'];
$user = $_SESSION['login'];
$idCollege = $_SESSION['idCollege_C'];
$fraisCarte = $this->beneficiaire_temp->get_frais_carte_college($idCollege);
$prorata = "1";
$dateEntree = $_SESSION['dateAvenant_C'];
$beneficiaire_temp = $this->beneficiaire_temp->getBeneficiaire_temp($idAdherent, $dateEntree, $user, $prorata, $fraisCarte);
// $codeSociete = $this->requete->getSession()->getAttribut('codeSociete');
$adherent = $this->adherent->getAdherentId($idAdherent);
$this->genererVue(array('adherent' => $adherent, 'naturepiece' => $this->naturepiece, 'sexe' => $this->sexe,
'groupesanguin' => $this->groupesanguin, 'lienparente' => $this->lienparente, 'avenant' => $this->avenant,
'ouinonprorata' => $this->ouinonprorata, 'beneficiaire_temp' => $beneficiaire_temp));
}
}
public function ajouter() {
$idAdherent = $this->requete->getParametre("idAdherent");
$numeroAdherent = $this->requete->getParametre("numeroAdherent");
$nomBeneficiaire = $this->requete->getParametre("nomBeneficiaire");
$prenomsBeneficiaire = $this->requete->getParametreFormulaire("prenomsBeneficiaire");
$codeLienParente = $this->requete->getParametre("codeLienParente");
$codeNaturePiece = $this->requete->getParametre("codeNaturePiece");
$numeroPiece = $this->requete->getParametreFormulaire("numeroPiece");
$sexe = $this->requete->getParametreFormulaire("sexe");
$codeGroupeSanguin = $this->requete->getParametreFormulaire("codeGroupeSanguin");
$dateNaissance = $this->requete->getParametreDate("dateNaissance");
$telephonePortable = $this->requete->getParametreFormulaire("telephonePortable");
$dateEntree = $this->requete->getParametreDate("dateEntree");
$user = $this->requete->getSession()->getAttribut('login');
$idAvenant = $this->requete->getParametre("idAvenant");
$dateCre = date("Y-m-d");
$fraisCarte = $this->requete->getParametreFormulaire("fraisCarte","numerique");
$dernierNumeroBeneficiaire = $this->beneficiaire->getDenierNumeroBeneficiaire($idAdherent);
$dernierNumeroBeneficiaire++;
$numeroBeneficiaire = $numeroAdherent . $dernierNumeroBeneficiaire;
$idBeneficiaire = $this->beneficiaire->ajouter($idAdherent, $numeroBeneficiaire, $nomBeneficiaire,
$prenomsBeneficiaire, $codeLienParente, $codeNaturePiece, $numeroPiece, $sexe, $codeGroupeSanguin,
$dateNaissance, $telephonePortable, $dateEntree, $dateCre, $user, $idAvenant, $fraisCarte);
$this->beneficiaire->setDenierNumeroBeneficiaire($idAdherent, $dernierNumeroBeneficiaire);
// On va calculuer la prime
$_SESSION['idAdherent_C'] = $idAdherent;
$_SESSION['idBeneficiaire_C'] = $idBeneficiaire;
// On actualise le contexte : NbAdh et NbAss
$idPolice = $_SESSION['idPolice_C'];
$this->beneficiaire->getNbassure($idPolice);
$this->rediriger("Ficheadherent/".$idAdherent);
}
}

View File

@ -1682,4 +1682,49 @@ function afficher_beneficiaire_id()
{
window.location.assign($("#racineWeb" ).val()+"Fichebeneficiaire/"+idBeneficiaire+"/");
}
}
}
function creer_beneficiaires()
{
etat=$("#codeEtatPolice_C").val();
if (etat=="RE")
{
v_msg="Attention! Police résiliée!";
v_msgEng="Warning! Terminated policy!";
alert_ebene(v_msg, v_msgEng);
return;
}
if (etat=="SU")
{
v_msg="Attention! Police suspendue!";
v_msgEng="Warning! Suspended policy!";
alert_ebene(v_msg, v_msgEng);
return;
}
if (etat=="AN")
{
v_msg="Attention! Police annulée!";
v_msgEng="Warning! Canceled policy!";
alert_ebene(v_msg, v_msgEng);
return;
}
etatadh=$("#codeEtatAdherent_C").val();
if (etatadh != "V")
{
v_msg="Attention! cette famille n\'est pas en vigueur!";
v_msgEng="Warning! this family is not in force!";
alert_ebene(v_msg, v_msgEng);
return;
}
window.location.assign($("#racineWeb" ).val()+"Creerbeneficiaire/");
}

View File

@ -0,0 +1,258 @@
<?php $this->titre = "INTER-SANTE - Ajout Adhérent"; ?>
<form method="post" action="Creerbeneficiaire/ajouter">
<INPUT class="sr-only" TYPE="text" id="idPolice" name="idPolice" value="<?= $_SESSION['idPolice_C'] ?>">
<INPUT class="sr-only" TYPE="text" id="numeroPolice" name="numeroPolice" value="<?= $_SESSION['numeroPolice_C'] ?>">
<INPUT class="sr-only" TYPE="text" id="idAdherent" name="idAdherent" value="<?= $_SESSION['idAdherent_C'] ?>">
<INPUT class="sr-only" TYPE="text" id="numeroAdherent" name="numeroAdherent" value="<?= $_SESSION['numeroAdherent_C'] ?>">
<INPUT class="sr-only" TYPE="text" id="genreAdherent" NAME="genreAdherent" value="<?= $this->nettoyer($adherent['sexe']) ?>">
<INPUT class="sr-only" TYPE="text" id="sexeConjoint" NAME="sexeConjoint" value="">
<fieldset>
<legend> <?= _("Informations sur le Bénéficiaire") ?> </legend>
<table class="table table-responsive table-condensed" style='font-size:10pt;'>
<tbody>
<tr>
<td width="10%"> <?= _("Avenant") ?> </td>
<td>
<SELECT style='font-size:10pt;' class="form-control" id="idAvenant" NAME="idAvenant" required autofocus onChange="changer_avenant_incorporation_beneficiaire();">
<?php liste_options($avenant,""); ?>
</SELECT>
</td>
<td width="10%" align="center"> <?= _("Entrée") ?> </td>
<td>
<div id="div_date_avenant">
<INPUT style='font-size:10pt;' class="form-control datepicker" TYPE="text" id="dateEntree" NAME="dateEntree" value="<?= dateLang($_SESSION['dateAvenant_C']) ?>" required
onChange="prorater_prime_beneficiaire();">
</div>
</td>
</tr>
<tr>
<td> <?= _("Nom Bénéf") ?> </td>
<td><INPUT style='font-size:10pt;' class="form-control" TYPE="text" id="nomBeneficiaire" NAME="nomBeneficiaire" value="<?= $adherent['nom'] ?>" required style="font-size:10pt; text-transform: uppercase;"></td>
<td align="center"> <?= _("Prénoms") ?> </td>
<td><INPUT style='font-size:10pt;' class="form-control" TYPE="text" id="prenomsBeneficiaire" NAME="prenomsBeneficiaire" required></td>
</tr>
<tr>
<td> <?= _("Lien Parenté") ?> </td>
<td>
<SELECT class="form-control" id="codeLienParente" NAME="codeLienParente" required style='font-size:10pt;' onChange="filtrergenreconjoint();" >
<?php liste_options($lienparente,""); ?>
</SELECT>
</td>
<td align="center"> Sex </td>
<td>
<SELECT class="form-control" id="sexe" NAME="sexe" required style='font-size:10pt;' >
<?php liste_options($sexe,""); ?>
</SELECT>
</td>
</tr>
<td> <?= _("Naissance") ?> </td>
<td>
<INPUT class="form-control datepicker" TYPE="text" id="dateNaissance" NAME="dateNaissance" required
onchange="controle_age($('#dateNaissance').datepicker('getDate'), $('#codeLienParente').val())" style='font-size:10pt;' >
</td>
<td align="center"> <?= _("Nat Pièce") ?> </td>
<td>
<SELECT class="form-control" id="codeNaturePiece" NAME="codeNaturePiece" required style='font-size:10pt;'
onChange="javascript:controler_piece_beneficiaire();" >
<?php liste_options($naturepiece,""); ?>
</SELECT>
</td>
</tr>
<tr>
<td> <?= _("No Pièce") ?> </td>
<td>
<INPUT class="form-control" TYPE="text" id="numeroPiece" NAME="numeroPiece" style='font-size:10pt;'
onblur="javascript:controler_piece_beneficiaire();" required autocomplete="off" >
</td>
<td align="center"> <?= _("Groupe Sang") ?> </td>
<td>
<SELECT class="form-control" id="codeGroupeSanguin" NAME="codeGroupeSanguin" required style='font-size:10pt;' >
<?php liste_options($groupesanguin,""); ?>
</SELECT>
</td>
</tr>
<tr>
<td colspan="4" style="height:8px; background-color:white;">
<div id="div_controle_piece"></div>
</td>
</tr>
<tr>
<td> <?= _("Tél Port") ?> </td>
<td><INPUT class="form-control" TYPE="tel" id="telephonePortable" NAME="telephonePortable" style='font-size:10pt;' autocomplete="off" ></td>
<td align="center"> <?= _("Prorata Prime?") ?> </td>
<td>
<SELECT class="form-control" id="prorata" NAME="prorata" required onChange="prorater_prime_beneficiaire();" style='font-size:10pt;' >
<?php liste_options($ouinonprorata,"1",true); ?>
</SELECT>
</td>
</tr>
<tr>
<td>
<?php
if(isset($_SESSION['composanteprime']['Carte']))
{
echo _($_SESSION['composanteprime']['Carte']);
}
else
{
echo _("Carte");
}
?>
</td>
<td > <INPUT style='font-size:10pt;' class="form-control" id="fraisCarte" NAME="fraisCarte" TYPE="text" value="<?=$beneficiaire_temp['fraisCarte']?>" onChange="prorater_prime_beneficiaire();"> </td>
<td><input style="font-size:10pt; text-align:center;color:red;" class="form-control" type="text" id="agepersonne" name="agepersonne" value="Age : 0" readonly ></td>
<td align='center'> <input style='font-size:10pt;' class = "form-control btn btn-info" type="button" value="<?= _("Calculer la prime") ?>" onClick="prorater_prime_beneficiaire();"> </td>
</tr>
<tr>
<td></td>
<td colspan="3" ><input style='font-size:10pt;' class = "form-control btn btn-primary" type="submit" value="<?= _("Enregistrer") ?>" /></td>
</tr>
</tbody>
</table>
</fieldset>
<div id="div_prime">
<table class="table table-responsive table-condensed" style='font-size:9pt; text-align:center'>
<thead>
<tr>
<th style='text-align:center'> <?= _("Décompte de primes") ?> </th>
<th style='text-align:center'> <?= _("Primes Annuelles") ?> </th>
<th style='text-align:center'> <?= _("Primes proratées") ?> </th>
</tr>
</thead>
<tfoot>
<tr>
<td align='center'> <?= _("Prime TTC") ?> </td>
<td align='center'> <?= format_N($this->nettoyer($beneficiaire_temp['primeTtc_an'])) ?></td>
<td align='center'> <?= format_N($this->nettoyer($beneficiaire_temp['primeTtc'])) ?></td>
</tr>
<tr style='color:blue;'>
<td align='center'> <?= _("Prime Nette Statisque") ?> </td>
<td align='center'> <?= format_N($this->nettoyer($beneficiaire_temp['primeNetteStat_an'])) ?></td>
<td align='center'> <?= format_N($this->nettoyer($beneficiaire_temp['primeNetteStat'])) ?></td>
</tr>
</tfoot>
<tbody>
<tr>
<td> <?= _("Prime de Base") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['primeBeneficiaire_an']))?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['primeBeneficiaire']))?> </td>
</tr>
<tr>
<td> <?= _("Cpl frais funéraires") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['primeCplFuneraire_an']))?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['primeCplFuneraire']))?> </td>
</tr>
<tr>
<td> <?= _("Garanties Optionnelles") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['surprimeOption_an']))?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['surprimeOption']))?> </td>
</tr>
<tr>
<td> <?= _("Rachat Ticket Modérateur") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['surprimeTm_an']))?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['surprimeTm']))?> </td>
</tr>
<tr>
<td> <?= _("Surprimes Diverses") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['surprimeAnt_an']))?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['surprimeAnt']))?> </td>
</tr>
<tr>
<td> <?= _("Prime Nette de commission") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['primeNette_an'])) ?></td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['primeNette'])) ?> </td>
</tr>
<tr>
<td> <?= _("Commission Courtage") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['commission_an'])) ?></td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['commission'])) ?></td>
</tr>
<tr>
<td> <?= _("Commission Commerciaux") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['commissionAutre_an'])) ?></td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['commissionAutre'])) ?></td>
</tr>
<tr>
<td> <?= _("Accessoires") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['accessoire_an'])) ?></td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['accessoire'])) ?> </td>
</tr>
<tr>
<td> <?= _("Prime Nette") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['primeHt_an'])) ?></td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['primeHt'])) ?> </td>
</tr>
<tr>
<td> <?= (isset($_SESSION['composanteprime']['Taxes'])) ? _($_SESSION['composanteprime']['Taxes']) : _("Taxes") ?> </td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['taxe_an'])) ?></td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['taxe'])) ?> </td>
</tr>
<tr>
<td>
<?php
if(isset($_SESSION['composanteprime']['Cartes']))
{
echo _($_SESSION['composanteprime']['Cartes']);
}
else
{
echo _("Cartes");
}
?>
</td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['fraisCarte_an'])) ?></td>
<td> <?= format_N($this->nettoyer($beneficiaire_temp['fraisCarte'])) ?></td>
</tr>
</tbody>
</table>
</div>
</form>
<?php if (isset($msgErreur)): ?>
<div class="alert alert-danger" style="height:30px; padding:5px;" >
<H4><?= $msgErreur ?></H4>
</div>
<?php endif; ?>

View File

@ -608,7 +608,7 @@ $activeChildId = $menuData['child'];
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- Application Scripts -->
<script src="/Js/fonctions.js?ver=2026.01.03.34"></script>
<script src="/Js/fonctions.js?ver=2026.01.04.00"></script>
<script type="text/javascript">
setInterval(function() {