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

181 lines
8.0 KiB
PHP
Executable File

<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Menuvueutilisateur.php';
require_once 'Modele/Feuillemaladie.php';
require_once 'Modele/Prestationactes.php';
require_once 'Modele/Detailtarifacte.php';
require_once 'Modele/Bonpec.php';
require_once 'Modele/Garantiesbaremepriseencharge.php';
class ControleurChambre extends Controleur {
private $menuvue;
private $feuillemaladie;
private $prestation;
private $acte;
private $bonpec;
private $garantie;
public function __construct() {
$this->menuvue = new Menuvueutilisateur();
$this->menuvue->getMenuVue('Chambre');
$this->feuillemaladie = new Feuillemaladie();
$this->prestation = new Prestationactes();
$this->acte = new Detailtarifacte();
$this->bonpec = new Bonpec();
$this->garantie = new Garantiesbaremepriseencharge();
}
public function index()
{
$numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$datePrestation = $_SESSION['datePrestation'];
$codePrestataire = $_SESSION['p_codePrestataire_C'];
$codeTypeBon = "HOSP";
$_SESSION['p_vueRetour'] = "Chambre";
$contestation = $this->feuillemaladie->getContestationFeuille();
if($contestation == "1"){
$this->rediriger("Feuillemaladie");
}
$nbBonsOrd = $this->bonpec->getNbBonPrestataireDisponible($codePrestataire, $codeTypeBon);
$codeGestionBon = $this->bonpec->getCodeGestionBon($codeTypeBon);
$typeGestionbon = $this->bonpec->getGestionBon($codeGestionBon);
$feuillemaladie = $this->feuillemaladie->getfeuillemaladie($numeroFeuilleMaladie);
$_SESSION['p_codeAffection_C'] = $feuillemaladie['codeAffection'];
$_SESSION['p_codeMedecin_C'] = $feuillemaladie['codeMedecin'];
$chambres = $this->prestation->getchambresfeuille($numeroFeuilleMaladie);
$nbreChambre = $this->prestation->getNombreActeChambre($numeroFeuilleMaladie);
$nbreActeEntentePrealable = $this->prestation->getNombreActeEntentePrealable($numeroFeuilleMaladie);
$nbreActeHospitalisation = $this->prestation->getNombreActeHospitalisation($numeroFeuilleMaladie);
$typeHospitalisation = $this->prestation->gettypehospitalisation();
if($feuillemaladie['idProlongation'] > "0"){
$prolongationEnCours = $this->prestation->getProlongationEnCours($feuillemaladie['idProlongation']);
}else{
$codeActeChambre = $feuillemaladie['codeActeChambreHospit'];
$prolongationEnCours = array('codeTypeHospitalisationPro' => "", 'codeActeChambre' => $codeActeChambre);
}
$totalchambres = $this->prestation->gettotalchambresfeuille($numeroFeuilleMaladie);
$codeTypePrestation = "HOSP";
$noChambre = $this->prestation->getnochambre($numeroFeuilleMaladie, $codeTypePrestation);
$_SESSION['p_option_hospitalisation'] = $feuillemaladie['optionHospitalisation'];
$estDansChambre = $this->prestation->estDansChambre($numeroFeuilleMaladie);
$derniereDateProlongation = $this->prestation->getDerniereDateProlongation($numeroFeuilleMaladie);
$_SESSION['p_chambre_hospitalisation_ok'] = $estDansChambre;
$codeGarantie = "HOS";
$dateFinDelaiCarenceGarantie = $this->acte->getDateFinDelaiCarenceGarantie($codeGarantie);
$groupeMED = $this->prestation->getcumulhospitalisationmed_total();
$groupeCHI = $this->prestation->getcumulhospitalisationchi_total();
$groupeHOS = $this->prestation->getcumulgroupehospitalisation_total();
$datePrestation = $_SESSION['datePrestation'];
$this->garantie->getsourcebaremegarantienew($idBeneficiaire, $codeGarantie, $datePrestation);
$situationHospit = $this->acte->getSituationTypeHospitalisation($codeGarantie, $datePrestation);
$hospit_total = $this->prestation->gethospitalisation_total($numeroFeuilleMaladie);
if($feuillemaladie['optionHospitalisation'] == "option-1"){
$codeActe = "HHM";
$plafondHospitalisation = $_SESSION['p_bareme']['gar_forfaitPlafondBeneficiaire'];
$plafondHospitalisationFamille = $_SESSION['p_bareme']['gar_forfaitPlafondFamille'];
}elseif ($feuillemaladie['optionHospitalisation'] == "option-3"){
$codeActe = "HHC";
$plafondHospitalisation = $_SESSION['p_bareme']['gar_forfaitPlafondBeneficiaire'];
$plafondHospitalisationFamille = $_SESSION['p_bareme']['gar_forfaitPlafondFamille'];
}else{
$codeActe = "";
$plafondHospitalisation = "9999999999";
$plafondHospitalisationFamille = "9999999999";
}
$tm = $this->prestation->ticketModerateurDefinitif($codeGarantie, "", $datePrestation);
$tauxCouverture = (100-$tm)."%";//$this->acte->tauxCouverture($tMGarantie);
if($codeActe == ""){
$plafondActeHospit = "9999999999";
$plafondActeHospitFamille = "9999999999";
$periodicite = "";
$periodiciteEng = "";
}else{
$this->garantie->getsourcebaremenew($idBeneficiaire, $codeActe, $datePrestation);
$plafondActeHospit = $_SESSION['p_bareme']['act_forfaitPlafondBeneficiaire'];//$this->prestation->getPlafondActe($codeActe);
$plafondActeHospitFamille = $_SESSION['p_bareme']['act_forfaitPlafondFamille'];
$codePeriodiciteActe = $_SESSION['p_bareme']['gar_codePeriodicitePlafondBeneficiaire'];
$periodicite = $this->garantie->getlibelleperiodicite($codePeriodiciteActe);
$periodiciteEng = $this->garantie->getlibelleperiodicite($codePeriodiciteActe);
if($plafondActeHospit == "0"){
$plafondActeHospit = "9999999999";
$plafondActeHospitFamille = "9999999999";
$periodicite = "";
$periodiciteEng = "";
}
}
$this->garantie->baremesolde($idBeneficiaire,$codeActe,$codeGarantie,$numeroFeuilleMaladie);
$baremesolde = $this->garantie->getbaremesolde($idBeneficiaire,$codeActe,$codeGarantie,$numeroFeuilleMaladie);
$soldeConsommation = $baremesolde['soldeConsommation'] - $hospit_total['montantArembourser'];
$prixChambre = $this->prestation->getprixchambrehospitalisation($numeroFeuilleMaladie, $codePrestataire);
$prestations = $this->prestation->getactesmedicauxhospitalisation($numeroFeuilleMaladie, $codePrestataire);
$prestations_total = $this->prestation->getactesmedicauxhospitalisation_total($numeroFeuilleMaladie, $codePrestataire);
$modeSaisieFacture = $_SESSION['p_modeSaisieFacture'];
$nbreTotalActes = $this->prestation->getnbreactehospitalisation($numeroFeuilleMaladie);
$facture = $feuillemaladie['facture'];
$listeProlongations = $this->feuillemaladie->getListeProlongations($numeroFeuilleMaladie);
$actesChambre = $this->feuillemaladie->getActeChambreHospitalisation();
$this->genererVue(array('feuillemaladie' => $feuillemaladie, 'chambres' => $chambres, 'situationHospit' => $situationHospit, 'groupeMED' => $groupeMED,
'totalchambres' => $totalchambres, 'nbBonsOrd' => $nbBonsOrd, 'prestations' => $prestations, 'groupeCHI' => $groupeCHI,
'codeGestionBon' => $codeGestionBon, 'typeGestionbon' => $typeGestionbon, 'prestations_total' => $prestations_total, 'plafondHospitalisation' => $plafondHospitalisation,
'noChambre' => $noChambre, 'estDansChambre' => $estDansChambre, 'tauxCouverture' => $tauxCouverture, 'act_periodicite' => $periodicite, 'act_periodiciteEng' => $periodiciteEng,
'nbreChambre' => $nbreChambre, 'nbreActeEntentePrealable' => $nbreActeEntentePrealable, 'nbreActeHospitalisation' => $nbreActeHospitalisation, 'prixChambre' => $prixChambre,
'prolongationEnCours' => $prolongationEnCours, 'derniereDateProlongation' => $derniereDateProlongation,'typeHospitalisation' => $typeHospitalisation,
'soldeConsommation' => $soldeConsommation, 'hospit_total' => $hospit_total, 'nbreTotalActes' => $nbreTotalActes, 'plafondActeHospit' => $plafondActeHospit,
'listeProlongations' => $listeProlongations, 'groupeHOS' => $groupeHOS, 'dateFinDelaiCarenceGarantie' => $dateFinDelaiCarenceGarantie, 'actesChambre' => $actesChambre));
}
}