production/Modele/Client.php
2025-12-01 16:12:12 +00:00

594 lines
21 KiB
PHP
Executable File

<?php
require_once 'Framework/Modele.php';
class Client extends Modele {
public function getClients($nomsearch=null, $prenomsearch=null, $telsearch=null, $numeroPolicesearch=null)
{
$nomsearch = contruireParamLike($nomsearch);
$prenomsearch = contruireParamLike($prenomsearch);
$telsearch = contruireParamLike($telsearch);
$sql = 'call sp_getClients(?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $nomsearch, $prenomsearch, $telsearch));
return $resultat ->fetchAll(PDO::FETCH_ASSOC);
// return $clients;
}
public function getClientsearch($numeroClient)
{
$sql = 'call sp_getClientsearch(?, ?);';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroClient));
return $resultat ->fetchAll(PDO::FETCH_ASSOC);
// return $clients;
}
public function getClientsearchPol($numeroPolice) {
$sql = 'SELECT A.id, A.codeSociete, A.numeroClient, nom, prenoms, B.libelle as Ville, telephonePortable
FROM clients A left join ville B on (B.codeSociete=A.codeSociete AND B.codeVille=A.codeVille)
join police P on (P.idClient=A.id) WHERE (A.codeSociete=?) AND (P.numeroPolice=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroPolice));
return $resultat ->fetchAll(PDO::FETCH_ASSOC);
// return $clients;
}
public function getClientVide()
{
$sql = 'call sp_getClientVide();';
$resultat = $this->executerRequete($sql);
return $resultat ->fetchAll(PDO::FETCH_ASSOC);
// return $resultat ;
}
public function getClient($numeroClient) {
$sql = 'SELECT A.id, A.codeSociete, numeroClient, A.typeClient, D.libelle as libelleTypeClient, A.codeTitre,
E.libelle as libelleTitre, A.nom, A.prenoms, adresseGeo, boitepostale, A.codeVille, C.libelle as Ville,
A.codeLocalite, L.libelle as localite, A.codePays, F.libelle as pays, A.telephoneBureau, A.telephonedomicile,
A.telephonePortable, A.fax, A.email, A.sexe, A.dateNaissance, A.codeSecteur, B.libelle as libelleSecteur, B.libelleEng as libelleSecteurEng,
A.codeGestionnaire, concat(G.nom," ", G.prenoms) as gestionnaire, A.nomMandataire, A.telephoneFixemandataire,
A.telephonePortablemandataire,
A.emailMandataire, A.dateCre, A.user, A.registreCommerce, A.codeLangueClient
FROM clients A
left join secteuractivite B on (B.codeSecteur=A.codeSecteur)
left join pays F on (F.codeSociete=A.codeSociete AND F.codePays=A.codePays)
left join ville C on (C.codeSociete=A.codeSociete AND C.codeVille=A.codeVille)
left join localite L on (L.codeSociete=A.codeSociete AND L.codeLocalite=A.codeLocalite)
left join typeclient D on (D.codeTypeClient=A.typeClient)
left join titre E on (E.codeTitre=A.codeTitre)
left join gestionnaire G on (G.codeSociete=A.codeSociete AND G.codeGestionnaire=A.codeGestionnaire)
WHERE (A.codeSociete=?) AND (A.numeroClient=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroClient));
return $resultat ->fetchAll(PDO::FETCH_ASSOC);
// return $client;
}
public function getClientId($id)
{
$sql = 'call sp_get_client_id(?);';
$client = $this->executerRequete($sql, array($id));
return $client->fetch(PDO::FETCH_ASSOC);
}
public function getNombreClients()
{
$sql = 'select count(*) as nbClients FROM clients A WHERE (A.codeSociete=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
return $ligne['nbClients'];
}
public function getIdClient($numeroClient) {
$sql = 'SELECT id FROM clients WHERE (codeSociete=?) AND (numeroClient=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroClient));
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
return $ligne['id'];
}
public function getContexteClientId($id)
{
$sql = 'SELECT A.id as idClient, A.numeroClient, concat(A.nom," ",A.prenoms) as nomClient, A.codeLangueClient, A.codeLocalite
FROM clients A WHERE (A.codeSociete=?) AND (A.id=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
$context = $resultat->fetch(PDO::FETCH_ASSOC);
if($context)
{
$_SESSION['idClient_C'] = $context['idClient'];
$_SESSION['numeroClient_C'] = $context['numeroClient'];
$_SESSION['nomClient_C'] = $context['nomClient'];
$_SESSION['idClientAjax'] = $context['idClient'];
$_SESSION['codeLangueClient'] = $context['codeLangueClient'];
$_SESSION['codeLocalite'] = $context['codeLocalite'];
}
$_SESSION['codeTypeContrat'] = "";
$_SESSION['idPolice_C'] = "";
$_SESSION['numeroPolice_C'] = "";
$_SESSION['ndAdh_C'] = "0";
$_SESSION['ndDep_C'] = "0";
$_SESSION['ndActif_C'] = "0";
$_SESSION['idAdherent_C'] = "";
$_SESSION['numeroAdherent_C'] = "";
$_SESSION['nomAdherent_C'] = "";
$_SESSION['idBeneficiaire_C'] = "";
$_SESSION['numeroBeneficiaire_C'] = "";
$_SESSION['nomBeneficiaire_C'] = "";
$_SESSION['lienPhoto_C'] = "";
}
public function existeligne($numeroClient) {
$sql = 'select id FROM clients WHERE (codeSociete=?) and (numeroClient=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'],$numeroClient));
return ($resultat->rowCount() > 0);
}
public function getDenierNumeroClient()
{
$sql = 'select dernierNumeroClient from numerotationclient WHERE (codeSociete=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
if ($resultat->rowCount() == 0)
{
$sql = 'INSERT INTO numerotationclient (codeSociete, dernierNumeroClient) values (?,?)';
$this->executerRequete($sql, array($_SESSION['codeSociete'], "1"));
return "0";
} else
{
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
return $ligne['dernierNumeroClient'];
}
}
public function setDenierNumeroClient($numeroClient)
{
$sql = 'update numerotationclient set dernierNumeroClient=? WHERE (codeSociete=?)';
$this->executerRequete($sql, array($numeroClient, $_SESSION['codeSociete']));
}
public function ajouter($codeSociete, $numeroClient, $typeClient, $codeTitre, $nom, $prenoms, $adresseGeo,
$boitepostale, $codeVille, $codePays, $telephoneBureau, $telephonedomicile, $telephonePortable, $fax,
$email, $sexe, $dateNaissance, $codeSecteur, $codeGestionnaire, $nomMandataire, $telephoneFixemandataire,
$telephonePortablemandataire, $emailMandataire, $dateCre, $user, $codeLocalite, $registreCommerce, $codeLangueClient,
$codeTarifActe, $seuilRdClient, $codeTypeRemboursement, $codeModePaiement, $rib, $prefixePaiementMobile, $mobilePaiement)
{
$sql = 'INSERT INTO clients (codeSociete, numeroClient, typeClient, codeTitre, nom, prenoms, adresseGeo,
boitepostale, codeVille, codePays, telephoneBureau, telephonedomicile, telephonePortable, fax, email,
sexe, dateNaissance, codeSecteur, codeGestionnaire, nomMandataire, telephoneFixemandataire,
telephonePortablemandataire, emailMandataire, dateCre, user, codeLocalite, registreCommerce, codeLangueClient,
codeTarifActe, seuilRdClient, codeTypeRemboursement, codeModePaiement, rib, prefixePaiementMobile, mobilePaiement)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($codeSociete, $numeroClient, $typeClient, $codeTitre, $nom, $prenoms, $adresseGeo,
$boitepostale, $codeVille, $codePays, $telephoneBureau, $telephonedomicile, $telephonePortable, $fax,
$email, $sexe, $dateNaissance, $codeSecteur, $codeGestionnaire, $nomMandataire, $telephoneFixemandataire,
$telephonePortablemandataire, $emailMandataire, $dateCre, $user, $codeLocalite, $registreCommerce, $codeLangueClient,
$codeTarifActe, $seuilRdClient, $codeTypeRemboursement, $codeModePaiement, $rib, $prefixePaiementMobile, $mobilePaiement));
return $this->dernierId();
}
public function modifier($id, $typeClient, $codeTitre, $nom, $prenoms, $adresseGeo,
$boitepostale, $codeVille, $codePays, $telephoneBureau, $telephonedomicile, $telephonePortable, $fax,
$email, $sexe, $dateNaissance, $codeSecteur, $codeGestionnaire, $nomMandataire, $telephoneFixemandataire,
$telephonePortablemandataire, $emailMandataire, $codeLocalite, $registreCommerce, $codeLangueClient,
$codeTarifActe, $seuilRdClient,$codeTypeRemboursement, $codeModePaiement, $rib, $prefixePaiementMobile,
$mobilePaiement)
{
$sql = 'UPDATE clients SET typeClient=?, codeTitre=?, nom=?, prenoms=?, adresseGeo=?,
boitepostale=?, codeVille=?, codePays=?, telephoneBureau=?, telephonedomicile=?, telephonePortable=?, fax=?,
email=?, sexe=?, dateNaissance=?, codeSecteur=?, codeGestionnaire=?, nomMandataire=?, telephoneFixemandataire=?,
telephonePortablemandataire=?, emailMandataire=?, codeLocalite=? , registreCommerce=? , codeLangueClient=?,
codeTarifActe = ?, seuilRdClient = ?, codeTypeRemboursement = ?, codeModePaiement =?, rib = ?,
prefixePaiementMobile = ?, mobilePaiement = ? WHERE (id=?);';
$this->executerRequete($sql, array($typeClient, $codeTitre, $nom, $prenoms, $adresseGeo,
$boitepostale, $codeVille, $codePays, $telephoneBureau, $telephonedomicile, $telephonePortable, $fax,
$email, $sexe, $dateNaissance, $codeSecteur, $codeGestionnaire, $nomMandataire, $telephoneFixemandataire,
$telephonePortablemandataire, $emailMandataire, $codeLocalite, $registreCommerce, $codeLangueClient,
$codeTarifActe , $seuilRdClient, $codeTypeRemboursement, $codeModePaiement, $rib, $prefixePaiementMobile,
$mobilePaiement, $id));
}
public function supprimer($idClient) {
$sql = 'select id from police where (idClient=?) limit 1';
$resultat = $this->executerRequete($sql, array($idClient));
if($resultat->rowCount() == 0)
{
$sql = 'DELETE FROM clients WHERE (id=?)';
$this->executerRequete($sql, array($idClient));
return true;
}
else
{
return false;
}
}
public function getContexteAjaxClient($id)
{
$sql = 'SELECT A.id as idClient FROM clients A WHERE (A.id=?)';
$resultat = $this->executerRequete($sql, array($id));
$context = $resultat->fetch(PDO::FETCH_ASSOC);
$_SESSION['idClientAjax'] = $context['idClient'];
}
public function getListeClients()
{
$sql = 'call sp_get_liste_clients(?);';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
return $resultat ->fetchAll(PDO::FETCH_ASSOC);
// return $clients;
}
public function getRepertoireClients()
{
$sql = 'call sp_get_repertoire_clients(?);';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getListeClientsExport()
{
$sql = 'call sp_get_liste_clients_export(?);';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getClientParent($id)
{
$sql = 'call sp_get_client_parent(?);';
$resultat = $this->executerRequete($sql, array($id));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function getClientEnfants($id)
{
$sql = 'call sp_get_client_enfants(?);';
$resultat = $this->executerRequete($sql, array($id));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getClientFreres($id)
{
$sql = 'call sp_get_client_freres(?);';
$resultat = $this->executerRequete($sql, array($id));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function supprimer_liaison_client($idClient)
{
$user = $_SESSION['login'];
$sql = 'call sp_supprimer_liaison_client(?, ?)';
$this->executerRequete($sql, array($idClient, $user));
}
public function getclientslike($numeroclientsearch, $nomsearch, $idClient)
{
$nomsearch = contruireParamLike($nomsearch);
$sql = 'call sp_r_clients_parents_like(?, ?, ?)';
$resultat = $this->executerRequete($sql, array($numeroclientsearch, $nomsearch, $idClient));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function client_lier_a_un_parent($idClient, $idClientP)
{
$user = $_SESSION['login'];
$sql = 'call sp_lier_client(?, ?, ?)';
$this->executerRequete($sql, array($idClientP, $idClient, $user));
}
public function getclientsEnfantslike($numeroclientsearch, $nomsearch, $idClient)
{
$nomsearch = contruireParamLike($nomsearch);
$sql = 'call sp_r_clients_enfants_like(?, ?, ?)';
$resultat = $this->executerRequete($sql, array($numeroclientsearch, $nomsearch, $idClient));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
//23-05-2023
public function getListeClient()
{
$sql = 'call sp_get_listeclients(?);';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
//14-04-2023
public function getTmclient()
{
$sql = 'CALL sp_gettmclient();';
$resultat = $this->executerRequete($sql);
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getMaxDateEffetTmClient($idClient){
$sql="CALL sp_getmaxdateeffet_tmclient(?)";
$resultat = $this->executerRequete($sql, array($idClient))->fetch(PDO::FETCH_ASSOC);
return $resultat['maxDateEffetGarantie'];
}
public function insererTmclient($idClient, $dateEffet, $tm)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_inserertmclient(?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idClient, $dateEffet, $tm, $user));
}
public function supprimerTmclient($idTm)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_supprimer_tmclient(?, ?);';
$this->executerRequete($sql, array($idTm, $user));
}
public function getTmclientacte()
{
$sql = 'CALL sp_gettmclient_acte();';
$resultat = $this->executerRequete($sql);
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getMaxDateEffetTmClientacte($idClient, $codeActe, $codeGarantie){
$sql="CALL sp_getmaxdateeffet_tmclientacte(?, ?, ?);";
$resultat = $this->executerRequete($sql, array($idClient, $codeActe, $codeGarantie))->fetch(PDO::FETCH_ASSOC);
return $resultat['maxDateEffetGarantie'];
}
public function insererTmclientacte($idClient, $codeActe, $dateEffet, $tm, $codeGarantie)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_inserertmclient_acte(?, ?, ?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idClient, $codeActe, $dateEffet, $tm, $user, $codeGarantie));
}
public function supprimerTmclientacte($idTm)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_supprimer_tmclientacte(?, ?);';
$this->executerRequete($sql, array($idTm, $user));
}
public function getTmclientacteprestataire()
{
$sql = 'CALL sp_gettmclient_acte_prestataire();';
$resultat = $this->executerRequete($sql);
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getMaxDateEffetTmclientacteprestataire($idClient, $codeActe, $codePrestataire, $codeGarantie){
$sql="CALL sp_getmaxdateeffet_tmclientacteprestataire(?, ?, ?, ?);";
$resultat = $this->executerRequete($sql, array($idClient, $codeActe, $codePrestataire, $codeGarantie))->fetch(PDO::FETCH_ASSOC);
return $resultat['maxDateEffetGarantie'];
}
public function insererTmclientacteprestataire($idClient, $codeActe, $codePrestataire, $dateEffet, $tm, $codeGarantie)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_inserertmclient_acte_prestataire(?, ?, ?, ?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idClient, $codeActe, $codePrestataire, $dateEffet, $tm, $user, $codeGarantie));
}
public function supprimerTmclientacteprestataire($idTm)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_supprimer_tmclientacteprestataire(?, ?);';
$this->executerRequete($sql, array($idTm, $user));
}
public function getTmclientgarantie()
{
$sql = 'CALL sp_gettmclient_garantie();';
$resultat = $this->executerRequete($sql);
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getMaxDateEffetTmclientgarantie($idClient, $codeGarantie){
$sql="CALL sp_getmaxdateeffet_tmclientgarantie(?, ?);";
$resultat = $this->executerRequete($sql, array($idClient, $codeGarantie))->fetch(PDO::FETCH_ASSOC);
return $resultat['maxDateEffetGarantie'];
}
public function insererTmclientgarantie($idClient, $codeGarantie, $dateEffet, $tm)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_inserertmclient_garantie(?, ?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idClient, $codeGarantie, $dateEffet, $tm, $user));
}
public function supprimerTmclientgarantie($idTm)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_supprimer_tmclientgarantie(?, ?);';
$this->executerRequete($sql, array($idTm, $user));
}
public function getTmclientgarantieprestataire()
{
$sql = 'CALL sp_gettmclient_garantie_prestataire();';
$resultat = $this->executerRequete($sql);
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getMaxDateEffetTmclientgarantieprestataire($idClient, $codeGarantie, $codePrestataire){
$sql="CALL sp_getmaxdateeffet_tmclientgarantieprestataire(?, ?, ?);";
$resultat = $this->executerRequete($sql, array($idClient, $codeGarantie, $codePrestataire))->fetch(PDO::FETCH_ASSOC);
return $resultat['maxDateEffetGarantie'];
}
public function insererTmclientgarantieprestataire($idClient, $codeGarantie, $codePrestataire, $dateEffet, $tm)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_inserertmclient_garantie_prestataire(?, ?, ?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idClient, $codeGarantie, $codePrestataire, $dateEffet, $tm, $user));
}
public function supprimerTmclientgarantieprestataire($idTm)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_supprimer_tmclientgarantieprestataire(?, ?);';
$this->executerRequete($sql, array($idTm, $user));
}
public function getTmclientprestataire()
{
$sql = 'CALL sp_gettmclient_prestataire();';
$resultat = $this->executerRequete($sql);
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getMaxDateEffetTmclientprestataire($idClient, $codePrestataire){
$sql="CALL sp_getmaxdateeffet_tmclientprestataire(?, ?);";
$resultat = $this->executerRequete($sql, array($idClient, $codePrestataire))->fetch(PDO::FETCH_ASSOC);
return $resultat['maxDateEffetGarantie'];
}
public function insererTmclientprestataire($idClient, $codePrestataire, $dateEffet, $tm)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_inserertmclient_prestataire(?, ?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($idClient, $codePrestataire, $dateEffet, $tm, $user));
}
public function supprimerTmclientprestataire($idTm)
{
$user = $_SESSION['login'];
$sql = 'CALL sp_supprimer_tmclientprestataire(?, ?);';
$this->executerRequete($sql, array($idTm, $user));
}
public function getgarantie()
{
$sql = 'SELECT codeGarantie AS `code`,
libelle
FROM garantie;';
$resultat = $this->executerRequete($sql);
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getgarantiehospit($codeGarantie)
{
$sql = 'SELECT codeGarantie AS `code`,
libelle
FROM garantie
WHERE codeGarantie=?;';
$resultat = $this->executerRequete($sql, array($codeGarantie));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getListerClients($typeClient, $nom, $numeroClient)
{
$typeClient = contruireParamLike($typeClient);
$nom = contruireParamLike($nom);
$sql = 'call sp_get_lister_clients(?, ?, ?, ?);';
/*var_dump(array($_SESSION['codeSociete'], $typeClient, $nom, $numeroClient));
die();*/
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $typeClient, $nom, $numeroClient));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
}