garant/Modele/Client.php
2025-12-05 10:57:03 +00:00

221 lines
11 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 = 'SELECT A.id, A.codeSociete, 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)
WHERE (A.codeSociete=? AND nom LIKE ? AND prenoms LIKE ? AND telephonePortable LIKE ?)
order by nom, prenoms';
$clients = $this->executerRequete($sql, array($_SESSION['codeSociete'], $nomsearch, $prenomsearch, $telsearch));
return $clients;
}
public function getClientsearch($numeroClient) {
$sql = 'SELECT A.id, A.codeSociete, 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)
WHERE (A.codeSociete=?) AND (A.numeroClient=?)';
$clients = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroClient));
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=?)';
$clients = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroPolice));
return $clients;
}
public function getClientVide() {
$sql = 'SELECT A.id, A.codeSociete, 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)
order by nom, prenoms';
// order by nom, prenoms limit 20';
$clients = $this->executerRequete($sql);
return $clients;
}
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.libelleSecteur, A.codeGestionnaire, concat(G.nom," ", G.prenoms) as gestionnaire,
A.nomMandataire, A.telephoneFixemandataire, A.telephonePortablemandataire, A.emailMandataire, A.dateCre, A.user
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=?)';
$client = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroClient));
return $client;
}
public function getClientId($id) {
$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.libelleSecteur, A.codeGestionnaire, concat(G.nom," ", G.prenoms) as gestionnaire,
A.nomMandataire, A.telephoneFixemandataire, A.telephonePortablemandataire, A.emailMandataire, A.dateCre, A.user
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.id=?)';
$client = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
return $client->fetch();
/*
if ($client->rowCount() > 0)
return $client->fetch();
else
throw new Exception("Aucun client ne correspond au id '$id'");
*/
}
public function getNombreClients()
{
$sql = 'select count(*) as nbClients FROM clients A WHERE (A.codeSociete=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
$ligne = $resultat->fetch();
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();
return $ligne['id'];
}
public function getContexteClientId($id) {
$sql = 'SELECT A.id as idClient, A.numeroClient, concat(A.nom," ",A.prenoms) as nomClient FROM clients A WHERE (A.codeSociete=?) AND (A.id=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
$context = $resultat->fetch();
$_SESSION['idClient_C'] = $context['idClient'];
$_SESSION['numeroClient_C'] = $context['numeroClient'];
$_SESSION['nomClient_C'] = $context['nomClient'];
$_SESSION['idClientAjax'] = $context['idClient'];
$_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();
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)
{
$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)
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));
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)
{
$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=? 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, $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();
$_SESSION['idClientAjax'] = $context['idClient'];
}
}