prestation/Controleur/ControleurAjaxprixacte.php
2025-12-01 18:54:33 +00:00

159 lines
4.1 KiB
PHP

<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Detailtarifacte.php';
require_once 'Modele/Garantiesbaremepriseencharge.php';
class ControleurAjaxprixacte extends Controleur {
private $acte;
private $garantie;
public function __construct() {
$this->acte = new Detailtarifacte();
$this->garantie = new Garantiesbaremepriseencharge();
}
public function index() {
$codeActe = $this->requete->getParametreFormulaire("codeActe");
$datePrestation = $this->requete->getParametreDate("datePrestation");
$codeGarantie = "CON";
$_SESSION['datePrestation'] = $datePrestation;
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
$this->garantie->getsourcebaremenew($idBeneficiaire, $codeActe, $datePrestation);
$statut = $this->garantie->getstatutacte($idBeneficiaire,$codeActe,$codeGarantie);
$baremesolde = $this->garantie->getbaremesoldeacte($idBeneficiaire,$codeActe,$codeGarantie,$datePrestation);
$tMacte = $this->acte->ticketModerateurDefinitif($codeGarantie,$codeActe,$datePrestation);
$codeTypeConsultation = $this->acte->gettype_consultation($codeActe);
//09-01-2023
$tmDerogation = $this->acte->getTmDerogation($codeGarantie);
//01-02-2023
$codeTypeRemboursement = $this->acte->getCodeTypeRemboursement($codeGarantie);
if($tmDerogation == "1000"){
$tm = $tMacte;
}else{
$tm = $tmDerogation;
}
$referencementpolice = $this->acte->getReferencementPolice($_SESSION['p_idPolice_C']);
$avecReferencement = $referencementpolice['avecReferencement'];
$tauxAvecReferencement = $referencementpolice['tauxAvecReferencement'];
$tauxSansReferencement = $referencementpolice['tauxSansReferencement'];
$dateFinDelaiCarenceActe = $_SESSION['p_bareme']['bareme_finDelaiCarence'];//$this->acte->getDateFinDelaiCarenceActe();
$infosActe = $this->acte->get_infos_acte($codeActe, $datePrestation);
$prixBase = $infosActe['prixBase'];
$prixActe = $infosActe['valeurActe'];
$tarif = $infosActe['tarif'];
if($codeActe==$_SESSION['p_codeActeConsultationGratuite']){
$acteExiste = $this->acte->acteExisteDansBareme($codeActe);
$prixActeTarifPolicePrestataire = "0";
$prixActe = "0";
$prixBase = "0";
$depassement = "0";
}
$soldeConsommation = $baremesolde['soldeConsommation'];
$soldeNbreTransaction = $baremesolde['soldeNbreTransaction'];
if($soldeConsommation < 0)
{
$soldeConsommation = 0;
}
if($soldeNbreTransaction < 0)
{
$soldeNbreTransaction = 0;
}
$forfaitTm = $_SESSION['p_bareme']['bareme_forfaitTm'];
$fraisReel = $prixActe;
$fraisReelBase = $prixBase;
//$montantTm = round(($fraisReel*$tm)/100);
// prise en compte du forfait TM du barème
$montantTm = round(($fraisReel*$tm)/100)+$forfaitTm;
$depassement = 0;
$aRembourser = (($fraisReel-$montantTm)) > "0" ? ($fraisReel-$montantTm) : "0";
//var_dump($statut);
if($statut != "1")
{
$aRembourser = "0";
$depassement = $fraisReel-$montantTm;
$motif = $this->garantie->getlibellemotifdepassement($statut);
}
else
{
if($aRembourser > $baremesolde['soldeConsommation'])
{
$statut = "9";
$aRembourser = $baremesolde['soldeConsommation'];
$depassement = $fraisReel-($montantTm+$aRembourser);
$motif = $this->garantie->getlibellemotifdepassement($statut);
}else{
$motif = array(
'libelle' => "",
'libelleEng' => "",
'codeDerogation' => "",
'codeMotifDepassement' => ""
);
}
}
$this->genererVueAjax(array('prixActe' => $prixActe, 'montantTm' => $montantTm, 'aRembourser' => $aRembourser,
'prixBase' => $prixBase, 'depassement' => $depassement, 'baremesolde' => $baremesolde, 'tarif' => $tarif,
'codeTypeConsultation' => $codeTypeConsultation, 'motif' => $motif
));
}
public function initialiser()
{
$this->genererVueAjax();
}
}