radiantrh/radiantproduction/Modele/Client.php
2026-01-13 18:11:46 +00:00

299 lines
12 KiB
PHP

<?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(?, ?, ?, ?);';
$clients = $this->executerRequete($sql, array($_SESSION['codeSociete'], $nomsearch, $prenomsearch, $telsearch));
return $clients;
}
public function getClientsearch($numeroClient)
{
$sql = 'call sp_getClientsearch(?, ?);';
$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 = 'call sp_getClientVide();';
$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 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_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);
$_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)
{
$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)
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 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 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(?);';
$clients = $this->executerRequete($sql, array($_SESSION['codeSociete']));
return $clients;
}
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);
}
public function getusersrhclient($idClient)
{
$sql = 'call sp_c_get_users_rh(?)';
$resultat = $this->executerRequete($sql, array($idClient));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
}