production/Controleur/ControleurAjaxprixacte.php
2025-12-02 11:29:44 +00:00

161 lines
5.3 KiB
PHP
Executable File

<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Detailtarifacte.php';
class ControleurAjaxprixacte extends Controleur {
private $acte;
public function __construct() {
$this->acte = new Detailtarifacte();
}
public function index() {
$codeActe = $this->requete->getParametreFormulaire("codeActe");
$tMprestatairePolice = $this->acte->ticketModerateurActePrestatairePolice($codeActe);
$tMacte = $this->acte->ticketModerateurActeBeneficiaire($codeActe);
$codeGarantie = "CON";
if($tMprestatairePolice!="-1"){
$tm = $tMprestatairePolice;
}else{
$tm = ($_SESSION['p_tm_TP']>"0") ? $_SESSION['p_tm_TP'] : $_SESSION['p_tm_C'];
}
$referencementpolice = $this->acte->getReferencementPolice($_SESSION['p_idPolice_C']);
$avecReferencement = $referencementpolice['avecReferencement'];
$tauxAvecReferencement = $referencementpolice['tauxAvecReferencement'];
$tauxSansReferencement = $referencementpolice['tauxSansReferencement'];
$dateFinDelaiCarenceActe = $this->acte->getDateFinDelaiCarenceActe($codeActe);
$situation = $this->acte->getSituationActeBeneficiaire($codeActe);
$situationGarantie = $this->acte->getSituationGarantieBeneficiaire($codeGarantie);
$situationAnnuelle = $this->acte->getSituationAnnuelleBeneficiaire();
$situationFamille = $this->acte->getSituationFamilleBeneficiaire();
if($codeActe=="A00000003"){
$acteExiste = $this->acte->acteExisteDansBareme($codeActe);
$plafondAtteint = "0";
}
if(($codeActe !="A00000003") || ($acteExiste=="1")) {
$plafondActe = $this->acte->getplafondacte($codeActe);
$prixActeTarifPolice = $this->acte->getprixactetarifpolice($codeActe);
$prixActeTarifPrestataire = $this->acte->getprixactetarifprestataire($codeActe);
$prixActeTarifCollege = $this->acte->getprixactetarifcollege($codeActe);
$prixActeTarifPolicePrestataire = $this->acte->getprixactetarifpoliceprestataire($codeActe);
$plafondAtteint = $this->acte->controlPlafondBeneficiaire($codeGarantie, $codeActe);
if (($plafondActe > "0") && ($plafondActe !="9999999999")) {
if ($prixActeTarifPolicePrestataire > "0") {
$prixActe = min($plafondActe,$prixActeTarifPolicePrestataire);
}else{
if ($prixActeTarifPolice > "0") {
if ($prixActeTarifPrestataire > "0") {
$prixActe = min($plafondActe,$prixActeTarifPrestataire);
}else{
$prixActe = min($plafondActe,$prixActeTarifPolice);
}
}else{
if ($prixActeTarifPrestataire > "0") {
$prixActe = min($plafondActe,$prixActeTarifPrestataire);
}else{
if($prixActeTarifCollege > "0"){
$prixActe = min($plafondActe,$prixActeTarifCollege);
}else{
$prixActe = $plafondActe;
}
}
}
}
}else{
if ($prixActeTarifPolicePrestataire >= "0") {
$prixActe = $prixActeTarifPolicePrestataire;
}else{
if ($prixActeTarifPolice > "0") {
if ($prixActeTarifPrestataire > "0") {
$prixActe = $prixActeTarifPrestataire;
}else{
$prixActe = $prixActeTarifCollege;
}
}else{
if ($prixActeTarifPrestataire > "0") {
$prixActe = $prixActeTarifPrestataire;
}else{
$prixActe = $prixActeTarifCollege;
}
}
}
}
if($prixActeTarifPolice > "0"){
$prixBase = $prixActeTarifPolice;
if($prixActeTarifCollege > "0" && $prixActeTarifPrestataire > "0"){
$depassement = min($prixActeTarifCollege,$prixActeTarifPrestataire)-$prixBase;
}else{
$depassement = $prixActe-$prixBase;
}
$_SESSION['prixBase'] = $prixBase;
$_SESSION['depassement'] = $depassement;
}else{
$prixBase = $prixActe;
$depassement = 0;
$_SESSION['prixBase'] = 0;
$_SESSION['depassement'] = 0;
}
}else{
$prixActe = "0";
$prixBase = "0";
$depassement = "0";
}
if ($situation['soldeConsommation'] <= "0" || $dateFinDelaiCarenceActe!="1970-01-01")
{
$montantTm = round(($prixBase*$tm)/100);
$aRembourser = "0";
$depassement = $prixActe-$montantTm;
}
elseif(($situation['nbreTransaction'] > "0") && ($situation['soldeNbreTransaction'] <= "0")){
$montantTm = round(($prixBase*$tm)/100);
$aRembourser = "0";
$depassement = $prixActe-$montantTm;
}
else
{
if($prixActe > $situation['soldeConsommation'])
{
$montantTm = round(($prixBase*$tm)/100);
$aRembourser = $situation['soldeConsommation'];
$depassement = $prixActe-$aRembourser;
}
else
{
$montantTm = round(($prixBase*$tm)/100);
$aRembourser = $prixBase-$montantTm;
}
}
$delaiCarenceActe = $this->acte->getdelaicarenceacte($codeActe) ;
$this->genererVueAjax(array('prixActe' => $prixActe, 'montantTm' => $montantTm, 'aRembourser' => $aRembourser,
'delaiCarenceActe' => $delaiCarenceActe, 'prixBase' => $prixBase, 'depassement' => $depassement, 'situation' => $situation,
'dateFinDelaiCarenceActe' => $dateFinDelaiCarenceActe, 'plafondAtteint' => $plafondAtteint, 'situationGarantie' => $situationGarantie,
'situationAnnuelle' => $situationAnnuelle, 'situationFamille' => $situationFamille));
}
}