assure/Modele/College_temp.php
2025-12-05 09:34:39 +00:00

680 lines
23 KiB
PHP
Executable File

<?php
require_once 'Framework/Modele.php';
class College_temp 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();
}
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)
{
$this->viderCollegTemp($user);
$codeEtape = $_SESSION['codeEtape_C'];
if($codeEtape=='1')
{
$accessoire = 15000;
}
else
{
$accessoire = 12000;
}
$sql = 'insert into college_temp (codeSociete, idPolice, numeroPolice, user, rachatTm, deduireComm,
tauxRachatTm, tauxPrimeRachatTm, codeProduit, libelleCollege, fraisCarte)
select codeSociete, id as idPolice, numeroPolice, ? as user, rachatTm, deduireComm, tauxRachatTm, "2"*tauxRachatTm,
"C1", "Catégorie 1", ? from police where (id=?)';
$this->executerRequete($sql, array($user, $accessoire, $idPolice));
$idCollegeTemp0 = $this->dernierId();
$idCollegeTemp = $idCollegeTemp0;
$_SESSION['idCollegeTemp'] = $idCollegeTemp;
$this->initGarantieCollege($idCollegeTemp) ;
$sql = 'call sp_init_prestation_college(?, ?);';
$this->executerRequete($sql, array($idCollegeTemp, $user));
return $idCollegeTemp0;
}
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)
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
from college where id=?';
$this->executerRequete($sql, array($user, $idCollege));
$idCollegeTemp = $this->dernierId();
$_SESSION['idCollegeTemp'] = $idCollegeTemp;
$this->initModifGarantieCollege($idCollegeTemp);
$this->initModifPrestation($idCollegeTemp);
return $idCollegeTemp;
}
public function recapituler($idCollegeTemp, $codeProduit, $libelleCollege, $nbAdherent, $nbAyantdroit, $primeFamille,
$surprimeAnt, $rachatTm, $cplFuneraire, $tauxRachatTm, $tauxPrimeRachatTm, $fraisCarte, $imposerPlafond)
{
$sql = 'call sp_recapituller_college_temp(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($idCollegeTemp, $codeProduit, $libelleCollege, $nbAdherent, $nbAyantdroit,
$primeFamille, $surprimeAnt, $rachatTm, $cplFuneraire, $tauxRachatTm, $tauxPrimeRachatTm, $fraisCarte, $imposerPlafond));
}
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 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)
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
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(?, ?, ?)';
$this->executerRequete($sql, array($idCollegeTemp, $idCollege, $user));
}
public function ajouterGarantieCollege($idCollege, $idCollegeTemp)
{
$sql = 'delete from garantiecollege where idCollege=?';
$this->executerRequete($sql, array($idCollege));
$sql = 'insert into 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 prestationcollege where idCollege=?';
$this->executerRequete($sql, array($idCollege));
$sql = 'insert into 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,
optionnelle,
additionnelle,
tauxPlafond,
forfaitPlafond,
user,
plafond,
ordre,
plafondLettre,
champApplication
)
select
A.codeSociete,
B.id as idCollegeTemp,
B.idPolice,
B.numeroPolice,
A.codeGarantie,
libelle as garantie,
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'];
$sql = 'call sp_init_prestation_college(?, ?)';
$this->executerRequete($sql, array($idCollegeTemp, $user));
}
public function initModifGarantieCollege($idCollegeTemp)
{
$sql = 'insert into garantie_temp
(
codeSociete,
idCollege,
idCollegeTemp,
idPolice,
numeroPolice,
codeGarantie,
garantie,
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.optionnelle,
A.additionnelle,
A.tauxPlafond,
A.forfaitPlafond,
A.primeOption,
B.user,
A.plafond,
A.ordre, A.plafondLettre,
A.primeFamille,
A.champApplication
from 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 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 majtmprestatairenplus($idPrestation, $tm)
{
$sql = 'update prestationcollegeplus set tm=? where (id=?)';
$this->executerRequete($sql, array($tm, $idPrestation));
}
public function retirerprestatairenplus($idPrestation)
{
$sql = 'delete from prestationcollegeplus where (id=?)';
$this->executerRequete($sql, array($idPrestation));
}
public function ajouterunprestataireenplus($codePrestataire)
{
$idCollege = $_SESSION['idCollege'];
$user = $_SESSION['login'];
$sql = 'call sp_ajouterprestataireenplus(?, ?, ?)';
$this->executerRequete($sql, array($idCollege, $codePrestataire, $user));
}
public function ajouterunprestataireenmoins($codePrestataire)
{
$idCollege = $_SESSION['idCollege'];
$user = $_SESSION['login'];
$sql = 'call sp_ajouterprestataireenmoins(?, ?, ?)';
$this->executerRequete($sql, array($idCollege, $codePrestataire, $user));
}
public function retirerprestatairenmoins($idPrestation)
{
$sql = 'delete from prestationcollegemoins where (id=?)';
$this->executerRequete($sql, array($idPrestation));
}
// ajouterunprestatairetm
public function ajouterunprestatairetm($codePrestataire)
{
$idCollege = $_SESSION['idCollege'];
$user = $_SESSION['login'];
$sql = 'call sp_ajouterprestatairetm(?, ?, ?)';
$this->executerRequete($sql, array($idCollege, $codePrestataire, $user));
}
public function retirerprestatairetm($idPrestation)
{
$sql = 'delete from prestationcollegetm where (id=?)';
$this->executerRequete($sql, array($idPrestation));
}
public function majtmprestatairetm($idPrestation, $tm)
{
$sql = 'update prestationcollegetm 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 init_changement_college($idAdherent)
{
$user = $_SESSION['login'];
$sql = 'call sp_init_changement_college(?, ?)';
$college_temp = $this->executerRequete($sql, array($idAdherent, $user));
return $college_temp->fetch();
}
public function changer_college_temp($idAdherent, $idCollege)
{
$user = $_SESSION['login'];
$sql = 'call sp_changer_college_temp(?, ?, ?)';
$college_temp = $this->executerRequete($sql, array($idAdherent, $idCollege, $user));
return $college_temp->fetch();
}
public function changer_college($idAdherent)
{
$user = $_SESSION['login'];
$sql = 'call sp_changer_college(?, ?)';
$this->executerRequete($sql, array($idAdherent, $user));
}
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(?, ?)';
$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 getCollegepoliceId($idCollege) {
$sql = 'SELECT A.id AS idCollege, A.*, B.libelle as produit
from college A
join produit B on (B.codeSociete=A.codeSociete) AND (B.codeProduit=A.codeProduit)
where A.id=?';
$college = $this->executerRequete($sql, array($idCollege));
return $college->fetch();
}
public function getprestatairehorsreseau($idCollege) {
$sql = 'call sp_getprestatairehorsreseau(?);';
$college = $this->executerRequete($sql, array($idCollege));
return $college->fetchAll(PDO::FETCH_ASSOC);
}
public function getprestataireenplus($idCollege) {
$sql = 'call sp_getprestataireenplus(?);';
$college = $this->executerRequete($sql, array($idCollege));
return $college->fetchAll(PDO::FETCH_ASSOC);
}
// Prestataires en moins
public function getprestatairereseau($idCollege) {
$sql = 'call sp_getprestatairereseau(?);';
$college = $this->executerRequete($sql, array($idCollege));
return $college->fetchAll(PDO::FETCH_ASSOC);
}
public function getprestataireenmoins($idCollege) {
$sql = 'call sp_getprestataireenmoins(?);';
$college = $this->executerRequete($sql, array($idCollege));
return $college->fetchAll(PDO::FETCH_ASSOC);
}
public function getListeCollege($idPolice) {
$sql = 'SELECT id as code, CONCAT(codeProduit, " : ", libelleCollege) as libelle FROM college
where (idPolice=?) order by 2';
$liste = $this->executerRequete($sql, array($idPolice));
return $liste->fetchAll(PDO::FETCH_ASSOC);
// return $liste->fetch(PDO::FETCH_ASSOC);
}
// Prestataires dérogation TM
public function getprestatairereseautm($idCollege) {
$sql = 'call sp_getprestatairereseau_tm(?);';
$college = $this->executerRequete($sql, array($idCollege));
return $college->fetchAll(PDO::FETCH_ASSOC);
}
public function getprestatairetm($idCollege) {
$sql = 'call sp_getprestataire_tm(?);';
$college = $this->executerRequete($sql, array($idCollege));
return $college->fetchAll(PDO::FETCH_ASSOC);
}
public function majchampapplicationplafond($idGarantie, $choix)
{
$sql = 'update garantie_temp set champApplication=? where (id=?)';
$this->executerRequete($sql, array($choix, $idGarantie));
}
public function gettableauprestationscollege($idCollege)
{
$sql = 'CALL sp_a_get_tableau_prestations_college(?);';
$college = $this->executerRequete($sql, array($idCollege));
return $college->fetchAll(PDO::FETCH_ASSOC);
}
}