prestation/Controleur/ControleurAjaxfichebeneficiaire.php
2025-12-05 10:42:46 +00:00

219 lines
6.6 KiB
PHP
Executable File

<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Beneficiaire.php';
//require_once 'Modele/Garantieadherent.php';
require_once 'Modele/Ouinon.php';
require_once 'Modele/Familleacte.php';
require_once 'Modele/Detailtarifacte.php';
require_once 'Modele/Menuvueutilisateur.php';
require_once 'Modele/Raisonconsultation.php';
require_once 'Modele/Bonpec.php';
require_once 'Modele/Medecin.php';
class ControleurAjaxfichebeneficiaire extends Controleur {
private $beneficiaire;
private $garantie;
private $familleacte;
private $raison;
private $bonpec;
private $medecin;
private $detail;
public function __construct() {
$this->beneficiaire = new Beneficiaire();
$codePrestataire = $_SESSION['p_codePrestataire_C'];
$codeTypePrestation = "CONS";
$this->familleacte = (new Familleacte())->getListe($codeTypePrestation);
$this->detail = new Detailtarifacte();
$this->raison = (new Raisonconsultation())->getListe();
$this->bonpec = new Bonpec();
$this->medecin = new Medecin();
$this->oui_non = new Ouinon();
}
public function index()
{
$codeSociete = $this->requete->getSession()->getAttribut('p_codeSociete');
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire);
$referencementpolice = $this->beneficiaire->getReferencementPolice($_SESSION['p_idPolice_C']);
$prestataireReference = $this->beneficiaire->getReferencementPrestataire($_SESSION['p_codePrestataire_C']);
$idAdherent = $_SESSION['p_idAdherent_C'];
// A enlever après
$_SESSION['p_lienServeur'] = $_SESSION['p_lienPrestation_C'];
$referencer = $this->oui_non->getListe();
$avecReferencement = $referencementpolice['avecReferencement'];
$tauxAvecReferencement = $referencementpolice['tauxAvecReferencement'];
$tauxSansReferencement = $referencementpolice['tauxSansReferencement'];
$date = date('Y-m-d');
$dateRef = $beneficiaire['dateReference'];
$_SESSION['dateReference'] = $dateRef;
$referecementPossible = $this->beneficiaire->getReferencementPossible();
// 22-11-2022
$agemaxipediatrie = $this->beneficiaire->getagemaxipediatrie();
$parametreNombreFeuilleGratuitJour = $this->beneficiaire->getnombrefeuillegratuitejournee();
$nombreFeuilleGratuite = $this->beneficiaire->comptefeuillegratuitejournee();
////////////////////
$bool = true;
$codeGarantie = "CON";
//09-01-2023
$tmDerogation = $this->beneficiaire->getTmDerogation($codeGarantie);
if (!empty($dateRef)){
$diff = abs(strtotime($dateRef) - strtotime($date));
$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));
if($days > $beneficiaire['dureeCode']){
$this->beneficiaire->reinitCodeReference($idBeneficiaire);
$bool = true;
}else{
$bool = false;
}
}
if($prestataireReference=="1"){
if($avecReferencement=="1"){
if($bool==true){
$tm = 100-$tauxSansReferencement;
}else{
$tm = 100-$tauxAvecReferencement;
}
}else{
if($tmDerogation == "1000"){
//$tm = ($_SESSION['p_tm_TP']>"0") ? $_SESSION['p_tm_TP'] : $_SESSION['p_tm_C'];
$tm = $_SESSION['p_bareme']['bareme_ticketModerateur'];
}else{
$tm = $tmDerogation;
}
}
}else
{
if($avecReferencement=="1"){
if($bool==true){
$tm = 100-$tauxSansReferencement;
}else{
$tm = 100-$tauxAvecReferencement;
}
}else{
if($tmDerogation == "1000"){
//$tm = ($_SESSION['p_tm_TP']>"0") ? $_SESSION['p_tm_TP'] : $_SESSION['p_tm_C'];
$tm = $_SESSION['p_bareme']['bareme_ticketModerateur'];
}else{
$tm = $tmDerogation;
}
}
}
$_SESSION['p_tm_C'] = $tm;
$_SESSION['p_tauxdecouverture_C'] = 100 - $tm;
$okReferencement = $this->requete->getParametreFormulaire("id");
$_SESSION['p_okReferencement_C'] =$okReferencement;
$codeTypePrestation = "CONS";
$codePrestataire = $_SESSION['p_codePrestataire_C'];
$codeTypeBon = "CONS";
$acte = $this->beneficiaire->getactespossiblesconsultation();
//$referencementpolice = $this->beneficiaire->getReferencementPolice($_SESSION['p_idPolice_C']);
$nbBonsCons = $this->bonpec->getNbBonPrestataireDisponible($codePrestataire, $codeTypeBon);
$codeGestionBon = $this->bonpec->getCodeGestionBon($codeTypeBon);
$typeGestionbon = $this->bonpec->getGestionBon($codeGestionBon);
$dureeVieBon = $this->bonpec->getDureeVie($codeTypeBon);
//$situation = $this->acte->getSituationActeBeneficiaire($codeActe);
$_SESSION['p_okId'] = "1";
$this->detail->settmtypeprestation($codeTypePrestation);
//$prestataireReference = $this->beneficiaire->getReferencementPrestataire($_SESSION['p_codePrestataire_C']);
$dernierCentre = $this->beneficiaire->getdernierCentreConsultation();
$reference = $this->beneficiaire->getCodeReferencementBeneficiaire();
//var_dump($dernierCentre);die();
$medecins = $this->medecin->getpraticiensprestataire($codePrestataire);
//var_dump($medecins);
$derniereDateConsultation = $_SESSION['p_derniereDateConsultation'];
//var_dump($date,$derniereDateConsultation);
$dureeDerniereConsultation = ceil(abs(strtotime($date) - strtotime($derniereDateConsultation)) / 86400);
$this->genererVueAjax(array(
'beneficiaire' => $beneficiaire,
//'garantieadherents' => $garantieadherents,
//'estGarantie' => $estGarantie,
'referencementpolice' => $referencementpolice,
'referencer' => $referencer,
'prestataireReference' => $prestataireReference,
'tm' => $tm,
'referecementPossible' => $referecementPossible,
'agemaxipediatrie' => $agemaxipediatrie,
'reference' => $reference,
'typeGestionbon' => $typeGestionbon,
'familleacte' => $this->familleacte,
'acte' => $acte,
'raison' => $this->raison,
'dernierCentre' => $dernierCentre,
'medecins' => $medecins,
'nbBonsCons' => $nbBonsCons,
'codeGestionBon' => $codeGestionBon,
'nombreFeuilleGratuite' => $nombreFeuilleGratuite,
'dureeVieBon' => $dureeVieBon,
'dureeDerniereConsultation' => $dureeDerniereConsultation,
'parametreNombreFeuilleGratuitJour' => $parametreNombreFeuilleGratuitJour,
//'codeTypeRemboursement' => $codeTypeRemboursement
));
}
}