prestation/Modele/College_temp_d.php
2025-12-01 18:54:33 +00:00

556 lines
19 KiB
PHP

<?php
require_once 'Framework/Modele.php';
class College_temp_d extends Modele {
public function ajouterUneGarantie($idCollegeTemp, $codeGarantie)
{
$sql = 'call sp_ajouter_une_garantie(?, ?)';
$this->executerRequete($sql, array($idCollegeTemp, $codeGarantie));
}
public function getCollegeTemp($idCollegeTemp)
{
$sql = 'call sp_afficher_college_temp(?)';
$collegeTemp = $this->executerRequete($sql, array($idCollegeTemp));
return $collegeTemp->fetch(PDO::FETCH_ASSOC);
}
public function getCollegeTempPolice($idPolice, $user)
{
$sql = 'select * from college_temp where (idPolice=?) and (user=?)';
$collegeTemp = $this->executerRequete($sql, array($idPolice, $user));
return $collegeTemp->fetchAll(PDO::FETCH_ASSOC);
}
public function getCollegeTempPoliceRen($idPolice, $user)
{
$sql = 'select * from college_ren_temp where (idPolice=?) and (user=?) order by codeProduit, libelleCollege';
$collegeTemp = $this->executerRequete($sql, array($idPolice, $user));
return $collegeTemp->fetchAll(PDO::FETCH_ASSOC);
}
public function getGarCollege($idCollegeTemp)
{
$sql = 'select * from garantie_temp where (idCollegeTemp=?) order by ordre';
$garanties = $this->executerRequete($sql, array($idCollegeTemp));
return $garanties;
}
public function getGarAddCollege($idCollegeTemp)
{
$sql = 'select A.*, B.plafond as plafondOld, B.plafond+A.plafond as plafondNew from garantieaddition_temp A
join garantie_temp B on (B.user=A.user) and (B.idCollegeTemp=A.idCollegeTemp) and (B.codeGarantie=A.codeGarantie)
where (A.idCollegeTemp=?) order by A.ordre';
$garanties = $this->executerRequete($sql, array($idCollegeTemp));
return $garanties;
}
public function getGarBaseCollege($idCollegeTemp)
{
$sql = 'select * from garantie_temp where (idCollegeTemp=?) and (optionnelle!="1") order by ordre';
$garanties = $this->executerRequete($sql, array($idCollegeTemp));
return $garanties;
}
public function getGarOptCollege($idCollegeTemp)
{
$sql = 'select A.*, IFNULL(B.idCollegeTemp,"0") as idCollegeTemp
from garantie A
left join garantie_temp B on (B.idCollegeTemp=?) and (B.codeSociete=A.codeSociete) and (B.codeGarantie=A.codeGarantie)
Where (A.optionnelle="1") order by A.ordre';
$garanties = $this->executerRequete($sql, array($idCollegeTemp));
return $garanties;
}
public function getGarOptCollegeAcq($idCollegeTemp)
{
$sql = 'select * from garantie_temp where (idCollegeTemp=?) and (optionnelle="1") order by ordre';
$garanties = $this->executerRequete($sql, array($idCollegeTemp));
return $garanties;
}
public function getPrestation($idCollegeTemp)
{
$sql = 'select A.*, B.libelle as reseausoin from prestation_temp A
join reseausoins B on (B.codeReseau=A.codeReseau)
where (A.idCollegeTemp=?) order by A.tmBase, A.tm';
$prestations = $this->executerRequete($sql, array($idCollegeTemp));
return $prestations;
}
public function supprimer($idCollegeTemp) {
$sql = 'DELETE FROM college_temp WHERE (id=?)';
$this->executerRequete($sql, array($idCollegeTemp));
$sql = 'DELETE FROM garantie_temp WHERE (idCollegeTemp=?)';
$this->executerRequete($sql, array($idCollegeTemp));
}
public function supprimergarantie($idGarantie) {
$sql = 'DELETE FROM garantie_temp WHERE (id=?)';
$this->executerRequete($sql, array($idGarantie));
}
public function initCollege($idPolice, $user)
{
$codeSociete = $_SESSION['codeSociete'];
$numeroOptionTarif = $_SESSION['numeroOptionTarif'];
$sql = 'CALL sp_init_college_d(?, ?, ?, ?);';
$this->executerRequete($sql, array($idPolice, $codeSociete, $numeroOptionTarif, $user));
$resultat = $this->executerRequete($sql, array($idPolice, $codeSociete, $user));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
$idCollegeTemp = $ligne['idCollegeTemp'];
$_SESSION['idCollegeTemp'] = $idCollegeTemp;
return $idCollegeTemp;
}
public function initModifCollege($idCollege, $user)
{
/*
$this->viderCollegTemp($user);
$sql = 'insert into college_temp (idCollege, codeSociete, idPolice, numeroPolice, codeProduit, libelleCollege, nbAdherent,
nbAyantdroit, primeFamille, primeBeneficiaire, surprimeOption, surprimeTm, surprimeAnt, commission, commissionAutre,
primeNette, primeNetteStat, primeHt, taxe, fraisCarte, primeTtc, primeTtcAdherent, user, rachatTm, tauxRachatTm, tauxPrimeRachatTm,
cplFuneraire, primeCplFuneraire, primeTtcTotal, garantieArchive, deduireComm, surprimeOptionBeneficiaire,
surprimeTmBeneficiaire, surprimeAntBeneficiaire, commissionBeneficiaire, commissionAutreBeneficiaire,
primeNetteBeneficiaire, primeNetteStatBeneficiaire, primeHtBeneficiaire, taxeBeneficiaire, fraisCarteBeneficiaire,
primeTtcBeneficiaire, cplFuneraireBeneficiaire, primeCplFuneraireBeneficiaire, imposerPlafond,
idOptionTarif, numeroOptionTarif)
select id as idCollege, codeSociete, idPolice, numeroPolice, codeProduit, libelleCollege, nbAdherent,
nbAyantdroit, primeFamille, primeBeneficiaire, surprimeOption, surprimeTm, surprimeAnt, commission, commissionAutre,
primeNette, primeNetteStat, primeHt, taxe, fraisCarte, primeTtc, primeTtcAdherent, ? as user, rachatTm, tauxRachatTm, tauxPrimeRachatTm,
cplFuneraire, primeCplFuneraire, primeTtcTotal, garantieArchive, deduireComm, surprimeOptionBeneficiaire,
surprimeTmBeneficiaire, surprimeAntBeneficiaire, commissionBeneficiaire, commissionAutreBeneficiaire,
primeNetteBeneficiaire, primeNetteStatBeneficiaire, primeHtBeneficiaire, taxeBeneficiaire, fraisCarteBeneficiaire,
primeTtcBeneficiaire, cplFuneraireBeneficiaire, primeCplFuneraireBeneficiaire, imposerPlafond,
idOptionTarif, numeroOptionTarif
from d_college where id=?';
$this->executerRequete($sql, array($user, $idCollege));
$idCollegeTemp = $this->dernierId();
$_SESSION['idCollegeTemp'] = $idCollegeTemp;
$this->initModifGarantieCollege($idCollegeTemp);
$this->initModifPrestation($idCollegeTemp);
return $idCollegeTemp;
*/
$sql = 'CALL sp_init_modifier_college_d(?, ?);';
$this->executerRequete($sql, array($idCollege, $user));
$resultat = $this->executerRequete($sql, array($idCollege, $user));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
$idCollegeTemp = $ligne['idCollegeTemp'];
$_SESSION['idCollegeTemp'] = $idCollegeTemp;
return $idCollegeTemp;
}
public function recapituler($idCollegeTemp, $codeProduit, $libelleCollege, $nbAdherent, $nbAyantdroit, $primeFamille,
$surprimeAnt, $rachatTm, $cplFuneraire, $tauxRachatTm, $tauxPrimeRachatTm, $fraisCarte, $imposerPlafond, $numeroOptionTarif)
{
$sql = 'call sp_recapituller_college_temp_d(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($idCollegeTemp, $codeProduit, $libelleCollege, $nbAdherent, $nbAyantdroit,
$primeFamille, $surprimeAnt, $rachatTm, $cplFuneraire, $tauxRachatTm, $tauxPrimeRachatTm, $fraisCarte, $imposerPlafond, $numeroOptionTarif));
}
public function maj($idCollegeTemp, $codeProduit, $libelleCollege, $nbAdherent, $nbAyantdroit, $primeFamille,
$surprimeAnt, $rachatTm, $cplFuneraire, $tauxRachatTm, $tauxPrimeRachatTm)
{
$sql = 'call sp_maj_college_temp(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($idCollegeTemp, $codeProduit, $libelleCollege, $nbAdherent, $nbAyantdroit,
$primeFamille, $surprimeAnt, $rachatTm, $cplFuneraire, $tauxRachatTm, $tauxPrimeRachatTm));
}
public function enregistrer($idCollegeTemp)
{
$sql = 'insert into d_college (codeSociete, idPolice, numeroPolice, codeProduit, libelleCollege, nbAdherent, nbAyantdroit, primeFamille,
primeBeneficiaire, surprimeOption, surprimeTm, surprimeAnt, commission, commissionAutre, primeNette, primeNetteStat, primeHt,
taxe, fraisCarte, primeTtc, primeTtcAdherent, rachatTm, cplFuneraire, primeCplFuneraire, primeTtcTotal,
user, deduireComm, surprimeOptionBeneficiaire, surprimeTmBeneficiaire, surprimeAntBeneficiaire, commissionBeneficiaire,
commissionAutreBeneficiaire, primeNetteBeneficiaire, primeNetteStatBeneficiaire, primeHtBeneficiaire, taxeBeneficiaire, fraisCarteBeneficiaire,
primeTtcBeneficiaire, cplFuneraireBeneficiaire, primeCplFuneraireBeneficiaire, tauxRachatTm, tauxPrimeRachatTm, imposerPlafond,
idOptionTarif, numeroOptionTarif)
select codeSociete, idPolice, numeroPolice, codeProduit, libelleCollege, nbAdherent, nbAyantdroit, primeFamille,
primeBeneficiaire, surprimeOption, surprimeTm, surprimeAnt, commission, commissionAutre, primeNette, primeNetteStat, primeHt,
taxe, fraisCarte, primeTtc, primeTtcAdherent, rachatTm, cplFuneraire, primeCplFuneraire, primeTtcTotal,
user, deduireComm, surprimeOptionBeneficiaire, surprimeTmBeneficiaire, surprimeAntBeneficiaire, commissionBeneficiaire,
commissionAutreBeneficiaire, primeNetteBeneficiaire, primeNetteStatBeneficiaire, primeHtBeneficiaire, taxeBeneficiaire, fraisCarteBeneficiaire,
primeTtcBeneficiaire, cplFuneraireBeneficiaire, primeCplFuneraireBeneficiaire, tauxRachatTm, tauxPrimeRachatTm, imposerPlafond,
idOptionTarif, numeroOptionTarif
from college_temp where id=?';
$this->executerRequete($sql, array($idCollegeTemp));
$idCollege = $this->dernierId();
$this->ajouterGarantieCollege($idCollege, $idCollegeTemp);
$this->ajouterTableauPrestation($idCollege, $idCollegeTemp);
$user = $_SESSION['login'];
$this->viderCollegTemp($user);
}
public function modifiercollege($idCollegeTemp, $idCollege)
{
$user = $_SESSION['login'];
$sql = 'call sp_modifier_college_d(?, ?, ?)';
$this->executerRequete($sql, array($idCollegeTemp, $idCollege, $user));
}
public function ajouterGarantieCollege($idCollege, $idCollegeTemp)
{
$sql = 'delete from d_garantiecollege where idCollege=?';
$this->executerRequete($sql, array($idCollege));
$sql = 'insert into d_garantiecollege (codeSociete, idCollege, idPolice, numeroPolice, codeGarantie, garantie, optionnelle,
additionnelle, tauxPlafond, forfaitPlafond, primeOption, user, plafond, plafondLettre, primeFamille, ordre, champApplication)
select codeSociete, ? as idCollege, idPolice, numeroPolice, codeGarantie, garantie, optionnelle,
additionnelle, tauxPlafond, forfaitPlafond, primeOption, user, plafond, plafondLettre, primeFamille, ordre, champApplication
from garantie_temp where idCollegeTemp=?';
$this->executerRequete($sql, array($idCollege, $idCollegeTemp));
}
public function ajouterTableauPrestation($idCollege, $idCollegeTemp)
{
$sql = 'delete from d_prestationcollege where idCollege=?';
$this->executerRequete($sql, array($idCollege));
$sql = 'insert into d_prestationcollege (
codeSociete,
idCollege,
idPolice,
numeroPolice,
codeProduit,
codeReseau,
tm,
`user`,
dateSysteme,
tmBase,
rachatTm,
tauxRachatTm
)
select
codeSociete,
? as idCollege,
idPolice,
numeroPolice,
codeProduit,
codeReseau,
tm,
`user`,
dateSysteme,
tmBase,
rachatTm,
tauxRachatTm
from prestation_temp where idCollegeTemp=?';
$this->executerRequete($sql, array($idCollege, $idCollegeTemp));
}
public function initGarantieCollege($idCollegeTemp)
{
$sql = 'insert into garantie_temp
(
codeSociete,
idCollegeTemp,
idPolice,
numeroPolice,
codeGarantie,
garantie,
garantieEng,
optionnelle,
additionnelle,
tauxPlafond,
forfaitPlafond,
user,
plafond,
ordre,
plafondLettre,
champApplication
)
select
A.codeSociete,
B.id as idCollegeTemp,
B.idPolice,
B.numeroPolice,
A.codeGarantie,
A.libelle as garantie,
A.libelleEng as garantieEng,
A.optionnelle,
A.additionnelle,
A.tauxPlafond,
A.forfaitPlafond,
B.user,
ROUND((B.primeFamille*A.tauxPlafond),0)+A.forfaitPlafond as plafond,
A.ordre, A.plafondLettre,
A.champApplication
from garantie A
join college_temp B on (B.codeSociete=A.codeSociete)
Where (B.id=?) and optionnelle!="1"';
$this->executerRequete($sql, array($idCollegeTemp));
}
public function initPrestationCollege($idCollegeTemp)
{
$user = $_SESSION['login'];
$codeProduitBase = $_SESSION['codeProduitBase'];
$sql = 'call sp_init_prestation_college(?, ?, ?)';
$this->executerRequete($sql, array($idCollegeTemp, $codeProduitBase, $user));
}
public function initModifGarantieCollege($idCollegeTemp)
{
$sql = 'insert into garantie_temp
(
codeSociete,
idCollege,
idCollegeTemp,
idPolice,
numeroPolice,
codeGarantie,
garantie,
garantieEng,
optionnelle,
additionnelle,
tauxPlafond,
forfaitPlafond,
primeOption,
user,
plafond,
ordre,
plafondLettre,
primeFamille,
champApplication
)
select
A.codeSociete,
A.idCollege,
B.id as idCollegeTemp,
B.idPolice,
B.numeroPolice,
A.codeGarantie,
A.garantie,
A.garantieEng,
A.optionnelle,
A.additionnelle,
A.tauxPlafond,
A.forfaitPlafond,
A.primeOption,
B.user,
A.plafond,
A.ordre, A.plafondLettre,
A.primeFamille,
A.champApplication
from d_garantiecollege A
join college_temp B on (B.codeSociete=A.codeSociete) and (B.idCollege=A.idCollege)
Where (B.id=?)';
$this->executerRequete($sql, array($idCollegeTemp));
}
public function initModifPrestation($idCollegeTemp)
{
$sql = 'insert into prestation_temp (
codeSociete,
idCollegeTemp,
idCollege,
idPolice,
numeroPolice,
codeProduit,
codeReseau,
tm,
user,
dateSysteme,
tmBase,
rachatTm,
tauxRachatTm,
tauxPrimeRachatTm
)
select
A.codeSociete,
B.id as idCollegeTemp,
B.idCollege,
B.idPolice,
B.numeroPolice,
A.codeProduit,
A.codeReseau,
A.tm,
B.user,
now() as dateSysteme,
A.tmBase,
B.rachatTm,
B.tauxRachatTm,
B.tauxPrimeRachatTm
from d_prestationcollege A
join college_temp B on (B.codeSociete=A.codeSociete) and (B.idCollege=A.idCollege)
Where (B.id=?)';
$this->executerRequete($sql, array($idCollegeTemp));
}
public function majtauxplafond($idGarantie, $tauxPlafond)
{
$sql = 'update garantie_temp set tauxPlafond=? where (id=?)';
$this->executerRequete($sql, array($tauxPlafond, $idGarantie));
$sql = 'update garantie_temp set plafond= ROUND((primeFamille*tauxPlafond),0)+forfaitPlafond where (id=?)';
$this->executerRequete($sql, array($idGarantie));
}
public function imposerplafond($idGarantie, $plafond)
{
$sql = 'update garantie_temp set plafond=? where (id=?)';
$this->executerRequete($sql, array($plafond, $idGarantie));
}
public function majtm($idPrestation, $tm)
{
$sql = 'update prestation_temp set tm=? where (id=?)';
$this->executerRequete($sql, array($tm, $idPrestation));
}
public function majPrimeOpt($idGarantie, $primeOption)
{
$sql = 'call sp_maj_prime_opt(?, ?)';
$this->executerRequete($sql, array($idGarantie, $primeOption));
}
public function majPlafondOpt($idGarantie, $plafondOption)
{
$sql = 'call sp_maj_plafond_opt(?, ?)';
$this->executerRequete($sql, array($idGarantie, $plafondOption));
}
public function majlibgar($idGarantie, $libellegarantie)
{
$sql = 'update garantie_temp set garantie=? where (id=?)';
$this->executerRequete($sql, array($libellegarantie, $idGarantie));
}
public function viderCollegTemp($user)
{
$sql = 'DELETE FROM college_temp WHERE (user=?)';
$this->executerRequete($sql, array($user));
$sql = 'DELETE FROM garantie_temp WHERE (user=?)';
$this->executerRequete($sql, array($user));
$sql = 'DELETE FROM prestation_temp WHERE (user=?)';
$this->executerRequete($sql, array($user));
}
public function changer_college_temp($idAdherent, $idCollege)
{
$user = $_SESSION['login'];
$sql = 'call sp_changer_college_temp_d(?, ?, ?)';
$college_temp = $this->executerRequete($sql, array($idAdherent, $idCollege, $user));
return $college_temp->fetch(PDO::FETCH_ASSOC);
}
public function getCollegesPolice()
{
$user = $_SESSION['login'];
$sql = 'SELECT * FROM college_temp WHERE (user=?) order by libelleCollege';
$college = $this->executerRequete($sql, array($user));
return $college;
}
public function getTotaldcollege($idPolice) {
$user = $_SESSION['login'];
$sql = 'call sp_totalcollege_temp_d(?, ?)';
$totalcollege = $this->executerRequete($sql, array($idPolice, $user));
return $totalcollege->fetch(PDO::FETCH_ASSOC);
}
public function selectioncollegetemp($idCollegeTemp, $choix) {
$sql = 'update college_temp set choix=? WHERE (id=?)';
$this->executerRequete($sql, array($choix, $idCollegeTemp));
}
public function majplafondadd($idGarantie, $plafond)
{
$sql = 'update garantieaddition_temp set plafond=? where (id=?)';
$this->executerRequete($sql, array($plafond, $idGarantie));
}
public function majprimeadd($idGarantie, $primeOption)
{
$sql = 'update garantieaddition_temp set primeOption=? where (id=?)';
$this->executerRequete($sql, array($primeOption, $idGarantie));
}
public function recapituler_maj_limite_college($idCollegeTemp)
{
$user = $_SESSION['login'];
$sql = 'call sp_recapituller_maj_limite_college(?, ?)';
$this->executerRequete($sql, array($idCollegeTemp, $user));
}
public function modifierlimitecollegetemp($idCollegeTemp)
{
$user = $_SESSION['login'];
$sql = 'call sp_modifier_limite_college_temp(?)';
$this->executerRequete($sql, array($idCollegeTemp, $user));
}
public function getoptionstarif($idPolice) {
$sql = 'SELECT numeroOptionTarif as `code`, libelleOptionTarif as libelle from d_optionstarif where (idPolice=?) order by 1';
$liste = $this->executerRequete($sql, array($idPolice));
return $liste->fetchAll(PDO::FETCH_ASSOC);
}
public function nouvelleoptiontarif()
{
$user = $_SESSION['login'];
$idPolice = $_SESSION['idPolice_d_C'];
$sql = 'call sp_d_nouvelle_option_tarif(?, ?)';
$resultat = $this->executerRequete($sql, array($idPolice, $user));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
$_SESSION['numeroOptionTarif'] = $ligne['numeroOptionTarif'];
}
}