348 lines
14 KiB
PHP
348 lines
14 KiB
PHP
<?php
|
|
require_once 'Framework/Modele.php';
|
|
|
|
class Police_d extends Modele {
|
|
|
|
public function getPolices($numeroClient) {
|
|
$sql = 'SELECT A.id, A.codeSociete, A.idClient, A.numeroClient, numeroPolice, numeroPoliceSociete,
|
|
B.libelle As typeAvenant, dateEffet, dateFin, dateEcheance, numeroAvenant, dateAvenant, numeroContrat,
|
|
D.libelle as etatPolice, A.codeFractionnement, IFNULL(A.primeFamille,"0") as primeFamille,
|
|
IFNULL(A.primeBeneficiaire,"0") as primeBeneficiaire, rachatTm, TM.libelle as rachattm
|
|
FROM d_police A
|
|
left join typeavenant B on (B.codeTypeAvenant=A.codeTypeAvenant)
|
|
left join etatpolice D on (D.codeEtatPolice=A.codeEtatPolice)
|
|
left join rachattm TM on (TM.codeRachatTm=A.rachatTm)
|
|
WHERE (A.codeSociete=?) AND (A.numeroClient=?)';
|
|
|
|
$polices = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroClient));
|
|
return $polices;
|
|
}
|
|
|
|
public function getPolicesId($id) {
|
|
$sql = 'SELECT A.id, A.codeSociete, A.idClient, A.numeroClient, numeroPolice, numeroPoliceSociete, numeroContrat,
|
|
B.libelle As typeAvenant, dateEffet, dateFin, dateEcheance, numeroAvenant, dateAvenant, ADDDATE(A.dateEcheance, +1) as DateRenouvellement,
|
|
D.libelle as etatPolice, A.codeFractionnement, T.libelle As typeContrat, IFNULL(A.primeFamille,"0") as primeFamille,
|
|
IFNULL(A.primeBeneficiaire,"0") as primeBeneficiaire, rachatTm, rachatTm, TM.libelle as rachattm, garantieArchive, collegeArchive
|
|
FROM d_police A
|
|
left join typecontrat T on (T.codeTypeContrat=A.codeTypeContrat)
|
|
left join typeavenant B on (B.codeTypeAvenant=A.codeTypeAvenant)
|
|
left join etatpolice D on (D.codeEtatPolice=A.codeEtatPolice)
|
|
left join rachattm TM on (TM.codeRachatTm=A.rachatTm)
|
|
WHERE (A.codeSociete=?) AND (A.idClient=?) order by A.id';
|
|
|
|
$polices = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
|
|
return $polices;
|
|
}
|
|
|
|
public function getPolice($numeroPolice)
|
|
{
|
|
$sql = 'call sp_d_getPoliceNo(?, ?);';
|
|
|
|
$police = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroPolice));
|
|
|
|
if ($police->rowCount() > 0)
|
|
return $police->fetch();
|
|
else
|
|
throw new Exception("Aucun devis ne correspond au numéo '$numeroPolice'");
|
|
}
|
|
|
|
public function getPoliceId($id)
|
|
{
|
|
$sql = 'call sp_d_getPoliceId(?, ?);';
|
|
|
|
$police = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
|
|
|
|
if ($police->rowCount() > 0)
|
|
return $police->fetch();
|
|
else
|
|
throw new Exception("Aucun devis ne correspond au ie '$id'");
|
|
}
|
|
|
|
public function getPoliceIdSimple($id) {
|
|
$sql = 'SELECT A.* FROM d_police A WHERE (A.codeSociete=?) AND (A.id=?)';
|
|
$police = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
|
|
if ($police->rowCount() > 0)
|
|
return $police->fetch();
|
|
else
|
|
throw new Exception("Aucun devis ne correspond au ie '$id'");
|
|
}
|
|
|
|
public function getNombrePolices($numeroClient)
|
|
{
|
|
$sql = 'select count(*) as nbPolices FROM d_polices A WHERE (A.codeSociete=?) AND (A.numeroClient=?)';
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroClient));
|
|
$ligne = $resultat->fetch();
|
|
return $ligne['nbPolices'];
|
|
}
|
|
|
|
public function getNombrePolicesId($id)
|
|
{
|
|
$sql = 'select count(*) as nbPolices FROM d_police A WHERE (A.codeSociete=?) AND (A.id=?)';
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
|
|
$ligne = $resultat->fetch();
|
|
return $ligne['nbPolices'];
|
|
}
|
|
|
|
public function getContextePoliceId($id) {
|
|
$sql = 'SELECT A.idClient, A.numeroClient, A.id AS idPolice, A.numeroPolice, A.transforme, A.numeroContrat,
|
|
IFNULL(B.tauxTaxe,"0") AS tauxTaxe, A.codeEtape, IFNULL(A.tauxCommission,"0") AS tauxCommission,
|
|
IFNULL(A.primeFamille,"0") as primeFamille, IFNULL(A.primeBeneficiaire,"0") as primeBeneficiaire, rachatTm,
|
|
TM.libelle as rachattm, garantieArchive, collegeArchive, A.codeTypeAvenant, ADDDATE(A.dateEcheance, +1) as DateRenouvellement,
|
|
A.dateEffet, A.dateFin, A.dateEcheance, dateAvenant, A.deduireComm, A.codeEtatPolice
|
|
FROM d_police A
|
|
LEFT JOIN typecontrat B ON (B.codeTypeContrat=A.codeTypeContrat)
|
|
left join rachattm TM on (TM.codeRachatTm=A.rachatTm)
|
|
WHERE (A.codeSociete=?) AND (A.id=?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
|
|
$context = $resultat->fetch();
|
|
|
|
$_SESSION['idClient_d_C'] = $context['idClient'];
|
|
$_SESSION['numeroClient_d_C'] = $context['numeroClient'];
|
|
$_SESSION['idPolice_d_C'] = $context['idPolice'];
|
|
$_SESSION['numeroPolice_d_C'] = $context['numeroPolice'];
|
|
$_SESSION['codeEtape_d_C'] = $context['codeEtape'];
|
|
$_SESSION['tauxTaxe_d_C'] = $context['tauxTaxe'];
|
|
$_SESSION['tauxCommission_d_C'] = $context['tauxCommission'];
|
|
$_SESSION['deduireComm_d_C'] = $context['deduireComm'];
|
|
|
|
$_SESSION['dateEffet_d_C'] = $context['dateEffet'];
|
|
$_SESSION['dateFin_d_C'] = $context['dateFin'];
|
|
$_SESSION['dateEcheance_d_C'] = $context['dateEcheance'];
|
|
|
|
$_SESSION['dateAvenant_d_C'] = $context['dateAvenant'];
|
|
|
|
$_SESSION['idPolice_d_Ajax'] = $_SESSION['idPolice_d_C'];
|
|
|
|
$_SESSION['rachatTm_d_C'] = $context['rachatTm'];
|
|
|
|
$_SESSION['collegeArchive_d_C'] = $context['collegeArchive'];
|
|
}
|
|
|
|
public function getDenierNumeroPolice($annee)
|
|
{
|
|
$sql = 'select dernierNumeroPolice from d_numerotationpolice WHERE (codeSociete=? AND annee=?)';
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'],$annee));
|
|
|
|
if ($resultat->rowCount() == 0)
|
|
{
|
|
$sql = 'insert into d_numerotationpolice (codeSociete, annee, dernierNumeroPolice) values (?,?,?)';
|
|
$this->executerRequete($sql, array($_SESSION['codeSociete'],$annee,"0"));
|
|
return "1";
|
|
} else
|
|
{
|
|
$ligne = $resultat->fetch();
|
|
return $ligne['dernierNumeroPolice']+1;
|
|
}
|
|
}
|
|
|
|
public function setDenierNumeroPolice($annee,$dernierNumeroPolice)
|
|
{
|
|
$sql = 'update d_numerotationpolice set dernierNumeroPolice=? WHERE (codeSociete=? AND annee=?)';
|
|
$this->executerRequete($sql, array($dernierNumeroPolice, $_SESSION['codeSociete'], $annee));
|
|
}
|
|
|
|
public function ajouter($codeSociete, $idClient, $numeroClient, $numeroPolice, $numeroPoliceSociete, $codeTypeContrat,
|
|
$dateEffet, $dateFin, $dateEcheance, $numeroAvenant, $codeTypeAvenant, $dateAvenant, $codeApporteur, $codeCommercial, $codeGestionnaire,
|
|
$dateCre, $userCre, $codeEtatPolice, $codeFractionnement, $codePeriodicite, $tauxCommission, $tauxCommissionAutre, $primeFamille, $primeBeneficiaire,
|
|
$rachatTm, $deduireComm, $taciteReconduction, $tauxRachatTm, $tauxRistourne)
|
|
{
|
|
|
|
$sql = 'INSERT INTO d_police (codeSociete, idClient, numeroClient, numeroPolice, numeroPoliceSociete,
|
|
codeTypeContrat, dateEffet, dateFin, dateEcheance, numeroAvenant, codeTypeAvenant, dateAvenant,
|
|
codeApporteur, codeCommercial, codeGestionnaire, dateCre, userCre, codeEtatPolice, codeFractionnement, codePeriodicite, tauxCommission, tauxCommissionAutre,
|
|
primeFamille, primeBeneficiaire, rachatTm, deduireComm, taciteReconduction, tauxRachatTm, tauxRistourne)
|
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
|
|
|
|
$this->executerRequete($sql, array($codeSociete, $idClient, $numeroClient, $numeroPolice, $numeroPoliceSociete, $codeTypeContrat,
|
|
$dateEffet, $dateFin, $dateEcheance, $numeroAvenant, $codeTypeAvenant, $dateAvenant, $codeApporteur, $codeCommercial, $codeGestionnaire,
|
|
$dateCre, $userCre, $codeEtatPolice, $codeFractionnement, $codePeriodicite, $tauxCommission, $tauxCommissionAutre, $primeFamille, $primeBeneficiaire,
|
|
$rachatTm, $deduireComm, $taciteReconduction, $tauxRachatTm, $tauxRistourne));
|
|
|
|
$dernierId=$this->dernierId();
|
|
|
|
$sql = 'insert into d_optionstarif (idPolice, numeroOptionTarif, libelleOptionTarif, user)
|
|
select id as idPolice, "1" numeroOptionTarif, "Option 1" libelleOptionTarif, userCre from d_police where (id=?)';
|
|
|
|
$this->executerRequete($sql, array($dernierId));
|
|
|
|
return $dernierId;
|
|
|
|
}
|
|
|
|
public function modifier($id, $codeTypeContrat, $codeApporteur, $tauxCommission, $codePeriodicite,
|
|
$rachatTm, $tauxRachatTm, $dateEffet, $dateEcheance, $codeCommercial, $tauxCommissionAutre, $tauxRistourne)
|
|
{
|
|
$sql = 'UPDATE d_police SET
|
|
codeTypeContrat =?,
|
|
codeApporteur =?,
|
|
tauxCommission =?,
|
|
codePeriodicite =?,
|
|
rachatTm =?,
|
|
tauxRachatTm =?,
|
|
dateEffet =?,
|
|
dateEcheance =?,
|
|
codeCommercial =?,
|
|
tauxCommissionAutre =?,
|
|
tauxRistourne =?
|
|
where (id=?)';
|
|
|
|
$this->executerRequete($sql, array($codeTypeContrat, $codeApporteur, $tauxCommission, $codePeriodicite,
|
|
$rachatTm, $tauxRachatTm, $dateEffet, $dateEcheance, $codeCommercial, $tauxCommissionAutre, $tauxRistourne, $id));
|
|
}
|
|
|
|
public function getIdPolice($numeroPolice) {
|
|
$sql = 'SELECT id FROM d_police WHERE (codeSociete=?) AND (numeroPolice=?)';
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroPolice));
|
|
$ligne = $resultat->fetch();
|
|
return $ligne['id'];
|
|
}
|
|
|
|
public function existeligne($numeroPolice) {
|
|
$sql = 'select id FROM d_police WHERE (codeSociete=?) and (numeroPolice=?)';
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'],$numeroPolice));
|
|
return ($resultat->rowCount() > 0);
|
|
}
|
|
|
|
public function formaterNumeroPolice($annee,$numeroPolice) {
|
|
$numeroPolice = "00000".$numeroPolice;
|
|
$numeroPolice = substr($numeroPolice, -6);
|
|
$numeroPolice = "D".$annee.$numeroPolice;
|
|
return $numeroPolice;
|
|
}
|
|
|
|
public function supprimer($idPolice) {
|
|
$sql = 'select id from d_college where (idPolice=?) limit 1';
|
|
$resultat = $this->executerRequete($sql, array($idPolice));
|
|
|
|
if($resultat->rowCount() == 0)
|
|
{
|
|
$sql = 'DELETE FROM d_police WHERE (id=?)';
|
|
$this->executerRequete($sql, array($idPolice));
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function archivergarantie($id) {
|
|
$sql = 'UPDATE d_police SET garantieArchive="1" where (id=?)';
|
|
$this->executerRequete($sql, array($id));
|
|
}
|
|
|
|
public function archivercollege($id) {
|
|
$sql = 'UPDATE d_police SET collegeArchive="1" where (id=?)';
|
|
$this->executerRequete($sql, array($id));
|
|
}
|
|
|
|
public function getContexteAjaxPolice($id)
|
|
{
|
|
$sql = 'SELECT A.id as idPolice FROM d_police A WHERE (A.id=?)';
|
|
$resultat = $this->executerRequete($sql, array($id));
|
|
$context = $resultat->fetch();
|
|
$_SESSION['idPolice_d_Ajax'] = $context['idPolice'];
|
|
}
|
|
|
|
public function getCollegesCP($idPolice)
|
|
{
|
|
$sql = 'call sp_collesges_d_police(?);';
|
|
|
|
$colleges = $this->executerRequete($sql, array($idPolice));
|
|
return $colleges->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getGarantiesCollegesCP($idPolice)
|
|
{
|
|
$sql = 'call sp_garanties_colleges_d_police(?);';
|
|
|
|
$garantiescolleges = $this->executerRequete($sql, array($idPolice));
|
|
return $garantiescolleges->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function gettableauPrestationsCP($idPolice)
|
|
{
|
|
$sql = 'call sp_tableau_prestation_d_police(?);';
|
|
|
|
$colleges = $this->executerRequete($sql, array($idPolice));
|
|
return $colleges->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getClientsearchPol($numeroPolice)
|
|
{
|
|
$sql = 'select id as idPolice FROM d_police WHERE (codeSociete=?) AND (numeroPolice=?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'],$numeroPolice));
|
|
|
|
if ($resultat->rowCount() == 0)
|
|
{
|
|
return "0";
|
|
} else
|
|
{
|
|
$ligne = $resultat->fetch();
|
|
return $ligne['idPolice'];
|
|
}
|
|
}
|
|
|
|
public function transformer($idDevis, $numeroOptionTarif)
|
|
{
|
|
$user = $_SESSION['login'];
|
|
|
|
$sql = 'call sp_transformer_devis(?, ?, ?);';
|
|
|
|
$resultat = $this->executerRequete($sql, array($idDevis, $user, $numeroOptionTarif));
|
|
|
|
if ($resultat->rowCount() == 0)
|
|
{
|
|
return "0";
|
|
} else
|
|
{
|
|
$ligne = $resultat->fetch();
|
|
return $ligne['idPolice'];
|
|
}
|
|
}
|
|
|
|
public function getContexteClientId($idPolice) {
|
|
$sql = 'SELECT A.id as idClient, A.numeroClient, concat(A.nom," ",A.prenoms) as nomClient
|
|
FROM d_clients A join d_police B on (B.idClient=A.id) WHERE (B.id=?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($idPolice));
|
|
|
|
$context = $resultat->fetch();
|
|
$_SESSION['idClient_d_C'] = $context['idClient'];
|
|
$_SESSION['numeroClient_d_C'] = $context['numeroClient'];
|
|
$_SESSION['nomClient_d_C'] = $context['nomClient'];
|
|
$_SESSION['idClient_d_Ajax'] = $context['idClient'];
|
|
}
|
|
|
|
public function getEnteteCP($idPolice)
|
|
{
|
|
$sql = 'call sp_entete_devis(?);';
|
|
|
|
$entete = $this->executerRequete($sql, array($idPolice));
|
|
return $entete->fetch(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function nouvelleoptiontarif($idPolice)
|
|
{
|
|
$sql = 'insert into d_optionstarif (idPolice, numeroOptionTarif, libelleOptionTarif, user)
|
|
select id as idPolice, "1" numeroOptionTarif, "Option 1" libelleOptionTarif, userCre from d_police where (id=?)';
|
|
|
|
$this->executerRequete($sql, array($dernierId));
|
|
|
|
return $dernierId;
|
|
|
|
}
|
|
|
|
public function getTextecp($id) {
|
|
$sql = 'select texteCp from d_police where (id=?)';
|
|
$textecp = $this->executerRequete($sql, array($id));
|
|
return $textecp->fetch();
|
|
}
|
|
|
|
public function enregistrertexteCp($texteCp, $idPolice) {
|
|
$sql = 'update d_police set texteCp=? where (id=?)';
|
|
$this->executerRequete($sql, array($texteCp, $idPolice));
|
|
}
|
|
} |