221 lines
11 KiB
PHP
Executable File
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['p_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['p_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['p_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['p_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['p_codeSociete'], $id));
|
|
return $client->fetch(PDO::FETCH_ASSOC);
|
|
/*
|
|
if ($client->rowCount() > 0)
|
|
return $client->fetch(PDO::FETCH_ASSOC);
|
|
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['p_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['p_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 clients A WHERE (A.codeSociete=?) AND (A.id=?)';
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['p_codeSociete'], $id));
|
|
$context = $resultat->fetch(PDO::FETCH_ASSOC);
|
|
$_SESSION['p_idClient_C'] = $context['idClient'];
|
|
$_SESSION['p_numeroClient_C'] = $context['numeroClient'];
|
|
$_SESSION['p_nomClient_C'] = $context['nomClient'];
|
|
$_SESSION['p_idClientAjax'] = $context['idClient'];
|
|
|
|
$_SESSION['p_idPolice_C'] = "";
|
|
$_SESSION['p_numeroPolice_C'] = "";
|
|
|
|
$_SESSION['p_ndAdh_C'] = "0";
|
|
$_SESSION['p_ndDep_C'] = "0";
|
|
$_SESSION['p_ndActif_C'] = "0";
|
|
|
|
$_SESSION['p_idAdherent_C'] = "";
|
|
$_SESSION['p_numeroAdherent_C'] = "";
|
|
$_SESSION['p_nomAdherent_C'] = "";
|
|
|
|
$_SESSION['p_idBeneficiaire_C'] = "";
|
|
$_SESSION['p_numeroBeneficiaire_C'] = "";
|
|
$_SESSION['p_nomBeneficiaire_C'] = "";
|
|
$_SESSION['p_lienPhoto_C'] = "";
|
|
}
|
|
|
|
public function existeligne($numeroClient) {
|
|
$sql = 'select id FROM clients WHERE (codeSociete=?) and (numeroClient=?)';
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['p_codeSociete'],$numeroClient));
|
|
return ($resultat->rowCount() > 0);
|
|
}
|
|
|
|
public function getDenierNumeroClient()
|
|
{
|
|
$sql = 'select dernierNumeroClient from numerotationclient WHERE (codeSociete=?)';
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['p_codeSociete']));
|
|
|
|
if ($resultat->rowCount() == 0)
|
|
{
|
|
$sql = 'INSERT INTO numerotationclient (codeSociete, dernierNumeroClient) values (?,?)';
|
|
$this->executerRequete($sql, array($_SESSION['p_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['p_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(PDO::FETCH_ASSOC);
|
|
$_SESSION['p_idClientAjax'] = $context['idClient'];
|
|
}
|
|
} |