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

238 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 = 'call sp_d_getClients(?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $nomsearch, $prenomsearch, $telsearch));
return $resultat ->fetchAll(PDO::FETCH_ASSOC);
}
public function getClientsearch($numeroClient)
{
$sql = 'call sp_d_getClientsearch(?, ?);';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $numeroClient));
return $resultat ->fetchAll(PDO::FETCH_ASSOC);
}
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()
{
$sql = 'call sp_d_getClientVide();';
$resultat = $this->executerRequete($sql);
return $resultat ->fetchAll(PDO::FETCH_ASSOC);
}
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,
$prefixePaiementMobile, $mobilePaiement)
{
$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,
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,
$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)
{
$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->fetchAll(PDO::FETCH_ASSOC);
}
public function getListerProspects($typeClient, $nom, $numeroClient)
{
$typeClient = contruireParamLike($typeClient);
$nom = contruireParamLike($nom);
$sql = 'call sp_d_get_lister_clients(?, ?, ?, ?);';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $typeClient, $nom, $numeroClient));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getListeClientsExport()
{
$sql = 'call sp_get_liste_d_clients_export(?);';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function transformerClientEnProspect($idClient)
{
$user = $_SESSION['login'];
$sql = 'call sp_transformer_client_en_prospect(?, ?);';
$resultat = $this->executerRequete($sql, array($idClient, $user));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
}