393 lines
15 KiB
PHP
Executable File
393 lines
15 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(?, ?, ?, ?);';
|
|
|
|
$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);
|
|
}
|
|
|
|
public function getunuserrhclient($idUtilisateur)
|
|
{
|
|
$sql = 'call sp_un_user_rh_client(?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($idUtilisateur));
|
|
|
|
return $resultat->fetch(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getListeProfilRh()
|
|
{
|
|
if (est_anglophone()){
|
|
$sql = 'call sp_get_liste_profil_rh_eng()';
|
|
}else{
|
|
$sql = 'call sp_get_liste_profil_rh()';
|
|
}
|
|
|
|
$resultat = $this->executerRequete($sql);
|
|
|
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function enregistrermodifuser($idUtilisateur, $nom, $prenoms, $actif, $actVisible, $codeLangue, $AffectionVisible, $telephone, $email, $codeProfil)
|
|
{
|
|
$user = $_SESSION['login'];
|
|
|
|
$sql = 'call sp_c_modifier_user_rh(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);';
|
|
|
|
$resultat = $this->executerRequete($sql, array($idUtilisateur, $nom, $prenoms, $actif, $actVisible, $codeLangue, $AffectionVisible, $user, $telephone, $email, $codeProfil));
|
|
}
|
|
|
|
public function reinitpaswd($codeUtilisateur)
|
|
{
|
|
$sql = 'call sp_c_reinit_utilisateur_rh_client(?)';
|
|
|
|
$this->executerRequete($sql, array($codeUtilisateur));
|
|
}
|
|
|
|
public function desactiver($codeUtilisateur)
|
|
{
|
|
$sql = 'call sp_c_desactiver_utilisateur_rh_client(?)';
|
|
|
|
$this->executerRequete($sql, array($codeUtilisateur));
|
|
}
|
|
|
|
public function activer($codeUtilisateur)
|
|
{
|
|
$sql = 'call sp_c_activer_utilisateur_rh_client(?)';
|
|
|
|
$this->executerRequete($sql, array($codeUtilisateur));
|
|
}
|
|
|
|
public function existelogin($codeUtilisateur) {
|
|
$sql = 'select id FROM c_utilisateur WHERE (codeUtilisateur=?)';
|
|
$resultat = $this->executerRequete($sql, array($codeUtilisateur));
|
|
return ($resultat->rowCount() > 0);
|
|
}
|
|
|
|
public function creeruser($codeUtilisateur, $nom, $prenoms, $telephone, $email, $motPass, $codeLangue,
|
|
$actVisible, $AffectionVisible, $codeModeGenerationPass, $codeModeEnvoiPass, $codeProfil)
|
|
{
|
|
$codeSociete = $_SESSION['codeSociete'];
|
|
$user = $_SESSION['login'];
|
|
$idClient = $_SESSION['idClient_C'];
|
|
$numeroClient = $_SESSION['numeroClient_C'];
|
|
|
|
$passAutoGen = "";
|
|
|
|
switch ($codeModeGenerationPass)
|
|
{
|
|
case "0":
|
|
$hash = password_hash($motPass, PASSWORD_DEFAULT);
|
|
break;
|
|
case "1":
|
|
$passAutoGen = uniqid();
|
|
$hash = password_hash($passAutoGen, PASSWORD_DEFAULT);
|
|
$motPass = $passAutoGen;
|
|
break;
|
|
case 2:
|
|
$hash = "";
|
|
break;
|
|
default:
|
|
$hash = password_hash($motPass, PASSWORD_DEFAULT);
|
|
}
|
|
|
|
$sql = 'call sp_c_creer_user_rh_client(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);';
|
|
|
|
$this->executerRequete($sql, array($codeSociete, $idClient, $numeroClient, $codeUtilisateur, $nom, $prenoms, $telephone,
|
|
$email, $hash, $codeLangue, $actVisible, $AffectionVisible, $user, $codeModeGenerationPass,
|
|
$passAutoGen, $codeModeEnvoiPass, $motPass, $codeProfil));
|
|
}
|
|
|
|
} |