prestation/Modele/Client_d.php
2025-12-05 10:42:46 +00:00

211 lines
10 KiB
PHP
Executable File

<?php
require_once 'Framework/Modele.php';
class Client_d 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 d_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 d_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 d_clients A left join ville B on (B.codeSociete=A.codeSociete AND B.codeVille=A.codeVille)
join d_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()
{
/* mis en commentaire le 09/09/2018 pour ne pas afficher des clients non recherchés
$sql = 'SELECT A.id, A.codeSociete, numeroClient, nom, prenoms, B.libelle as Ville, telephonePortable
FROM d_clients A left join ville B on (B.codeSociete=A.codeSociete AND B.codeVille=A.codeVille)
order by nom, prenoms';
*/
$sql = 'SELECT A.id, A.codeSociete, numeroClient, nom, prenoms, B.libelle as Ville, telephonePortable
FROM d_clients A left join ville B on (B.codeSociete=A.codeSociete AND B.codeVille=A.codeVille)
where 0;';
$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.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 d_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 = 'call sp_get_d_client_id(?);';
$client = $this->executerRequete($sql, array($id));
return $client->fetch(PDO::FETCH_ASSOC);
}
public function getNombreClients()
{
$sql = 'select count(*) as nbClients FROM d_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 d_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 FROM d_clients A WHERE (A.codeSociete=?) AND (A.id=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
$context = $resultat->fetch(PDO::FETCH_ASSOC);
$_SESSION['idClient_d_C'] = $context['idClient'];
$_SESSION['numeroClient_d_C'] = $context['numeroClient'];
$_SESSION['nomClient_d_C'] = $context['nomClient'];
$_SESSION['idClient_d_Ajax'] = $context['idClient'];
$_SESSION['idPolice_d_C'] = "";
$_SESSION['numeroPolice_d_C'] = "";
}
public function existeligne($numeroClient) {
$sql = 'select id FROM d_clients WHERE (codeSociete=?) and (numeroClient=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'],$numeroClient));
return ($resultat->rowCount() > 0);
}
public function getDenierNumeroClient()
{
$sql = 'select dernierNumeroClient from d_numerotationclient WHERE (codeSociete=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
if ($resultat->rowCount() == 0)
{
$sql = 'INSERT INTO d_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 d_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)
{
$sql = 'INSERT INTO d_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)
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));
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)
{
$sql = 'UPDATE d_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=?
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, $id));
}
public function supprimer($idClient) {
$sql = 'select id from d_police where (idClient=?) limit 1';
$resultat = $this->executerRequete($sql, array($idClient));
if($resultat->rowCount() == 0)
{
$sql = 'DELETE FROM d_clients WHERE (id=?)';
$this->executerRequete($sql, array($idClient));
return true;
}
else
{
return false;
}
}
public function getContexteAjaxClient($id)
{
$sql = 'SELECT A.id as idClient FROM d_clients A WHERE (A.id=?)';
$resultat = $this->executerRequete($sql, array($id));
$context = $resultat->fetch(PDO::FETCH_ASSOC);
$_SESSION['idClient_d_Ajax'] = $context['idClient'];
}
public function getListeClients()
{
$sql = 'call sp_get_liste_clients_d(?);';
$clients = $this->executerRequete($sql, array($_SESSION['codeSociete']));
return $clients;
}
}