406 lines
18 KiB
PHP
406 lines
18 KiB
PHP
<?php
|
|
require_once 'Framework/Modele.php';
|
|
|
|
class Prestataire extends Modele {
|
|
|
|
public function getPrestataireCode($codePrestataire)
|
|
{
|
|
$sql = "SELECT * from vw_r_prestataire WHERE codePrestataire=?";
|
|
|
|
$resultat = $this->executerRequete($sql, array($codePrestataire));
|
|
|
|
$context = $resultat->fetch(PDO::FETCH_ASSOC);
|
|
|
|
|
|
|
|
return $context;
|
|
}
|
|
|
|
|
|
public function getPrestataires($codePrestataire=null,$libelle=null) {
|
|
$codePrestataire = contruireParamLike($codePrestataire);
|
|
$libelle = contruireParamLike($libelle);
|
|
|
|
$sql = 'SELECT A.id, A.codeSociete, A.codeTypePrestataire, B.libelle as typePrestataire, A.codePrestataire, A.libelle,
|
|
A.codePays, C.libelle as pays, A.codeVille, D.libelle as ville, A.codeLocalite, E.libelle as localite,
|
|
A.adresseGeo, A.adressePost, A.telephoneFixe, A.telephonePortable, A.email, A.nomResponsable,
|
|
A.contactResponsable, A.emailResponsable, A.nomInterlocuteur, A.contactInterlocuteur, A.emailInterlocuteur,
|
|
numeroCompte, A.codeGestionnaire, concat(F.nom," ",F.prenoms) as gestionnaire, A.codeNaturePrestataire
|
|
FROM prestataire A
|
|
left join typeprestataire B on (B.codeSociete=A.codeSociete AND B.codeTypePrestataire=A.codeTypePrestataire)
|
|
left join pays C on (C.codeSociete=A.codeSociete AND C.codePays=A.codePays)
|
|
left join ville D on (D.codeSociete=A.codeSociete AND D.codeVille=A.codeVille)
|
|
left join localite E on (E.codeSociete=A.codeSociete AND E.codeLocalite=A.codeLocalite)
|
|
left join gestionnaire F on (F.codeSociete=A.codeSociete AND F.codeGestionnaire=A.codeGestionnaire)
|
|
WHERE (A.codeSociete=? AND A.codePrestataire LIKE ? AND A.libelle LIKE ?) order by A.libelle';
|
|
|
|
//numeroCompte, A.codeGestionnaire, concat(F.nom," ",F.prenoms) as gestionnaire
|
|
|
|
$prestataires = $this->executerRequete($sql, array($_SESSION['codeSociete'],$codePrestataire,$libelle));
|
|
return $prestataires;
|
|
}
|
|
public function getPrestataire($id) {
|
|
$sql = 'SELECT A.id, A.codeSociete, A.codeTypePrestataire, B.libelle as typePrestataire, A.codePrestataire, A.libelle,
|
|
A.codePays, C.libelle as pays, A.codeVille, D.libelle as ville, A.codeLocalite, E.libelle as localite,
|
|
A.adresseGeo, A.adressePost, A.telephoneFixe, A.telephonePortable, A.email, A.nomResponsable,
|
|
A.contactResponsable, A.emailResponsable, A.nomInterlocuteur, A.contactInterlocuteur, A.emailInterlocuteur,
|
|
numeroCompte, A.codeGestionnaire, concat(F.nom," ",F.prenoms) as gestionnaire, A.codeNaturePrestataire
|
|
FROM prestataire A
|
|
left join typeprestataire B on (B.codeSociete=A.codeSociete AND B.codeTypePrestataire=A.codeTypePrestataire)
|
|
left join pays C on (C.codeSociete=A.codeSociete AND C.codePays=A.codePays)
|
|
left join ville D on (D.codeSociete=A.codeSociete AND D.codeVille=A.codeVille)
|
|
left join localite E on (E.codeSociete=A.codeSociete AND E.codeLocalite=A.codeLocalite)
|
|
left join gestionnaire F on (F.codeSociete=A.codeSociete AND F.codeGestionnaire=A.codeGestionnaire)
|
|
WHERE (A.codeSociete=?) AND (A.id=?)';
|
|
|
|
$prestataire = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
|
|
if ($prestataire->rowCount() > 0)
|
|
return $prestataire->fetch();
|
|
else
|
|
throw new Exception("Aucun prestataire ne correspond à cet id : '$id'");
|
|
}
|
|
public function getnombrePrestataire()
|
|
{
|
|
$sql = 'select count(*) as nbPrestataire FROM prestataire A WHERE (A.codeSociete=?)';
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
|
|
$ligne = $resultat->fetch();
|
|
return $ligne['nbPrestataire'];
|
|
}
|
|
|
|
public function ajouter($codeSociete, $codeTypePrestataire, $codePrestataire, $libelle, $codePays, $codeVille, $codeLocalite,
|
|
$adresseGeo, $adressePost, $telephoneFixe, $telephonePortable, $email, $nomResponsable, $contactResponsable,
|
|
$emailResponsable, $nomInterlocuteur, $contactInterlocuteur, $emailInterlocuteur,$numeroCompte, $codeGestionnaire, $codeNaturePrestataire)
|
|
{
|
|
$sql = 'INSERT INTO prestataire (codeSociete, codeTypePrestataire, codePrestataire, libelle, codePays, codeVille, codeLocalite,
|
|
adresseGeo, adressePost, telephoneFixe, telephonePortable, email, nomResponsable, contactResponsable, emailResponsable,
|
|
nomInterlocuteur, contactInterlocuteur, emailInterlocuteur, numeroCompte, codeGestionnaire, codeNaturePrestataire)
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)';
|
|
$this->executerRequete($sql, array($codeSociete, $codeTypePrestataire, $codePrestataire, $libelle, $codePays, $codeVille, $codeLocalite,
|
|
$adresseGeo, $adressePost, $telephoneFixe, $telephonePortable, $email, $nomResponsable, $contactResponsable,
|
|
$emailResponsable, $nomInterlocuteur, $contactInterlocuteur, $emailInterlocuteur,$numeroCompte, $codeGestionnaire, $codeNaturePrestataire));
|
|
}
|
|
|
|
public function modifier($id, $codeTypePrestataire, $codePrestataire, $libelle, $codePays, $codeVille, $codeLocalite,
|
|
$adresseGeo, $adressePost, $telephoneFixe, $telephonePortable, $email, $nomResponsable, $contactResponsable,
|
|
$emailResponsable, $nomInterlocuteur, $contactInterlocuteur, $emailInterlocuteur,$numeroCompte, $codeGestionnaire, $codeNaturePrestataire) {
|
|
$sql = 'UPDATE prestataire SET codeTypePrestataire=?, codePrestataire=?, libelle=?, codePays=?, codeVille=?, codeLocalite=?,
|
|
adresseGeo=?, adressePost=?, telephoneFixe=?, telephonePortable=?, email=?, nomResponsable=?, contactResponsable=?, emailResponsable=?,
|
|
nomInterlocuteur=?, contactInterlocuteur=?, emailInterlocuteur=?, numeroCompte=?, codeGestionnaire=?, codeNaturePrestataire=?
|
|
where (id=?)';
|
|
$this->executerRequete($sql, array($codeTypePrestataire, $codePrestataire, $libelle, $codePays, $codeVille, $codeLocalite,
|
|
$adresseGeo, $adressePost, $telephoneFixe, $telephonePortable, $email, $nomResponsable, $contactResponsable,
|
|
$emailResponsable, $nomInterlocuteur, $contactInterlocuteur, $emailInterlocuteur,$numeroCompte, $codeGestionnaire, $codeNaturePrestataire, $id));
|
|
}
|
|
|
|
public function supprimer($id) {
|
|
$sql = 'DELETE FROM prestataire WHERE (id=?)';
|
|
$this->executerRequete($sql, array($id));
|
|
}
|
|
|
|
public function existeligne($codePrestataire) {
|
|
$sql = 'select id FROM prestataire WHERE (codeSociete=?) and (codePrestataire=?)';
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'],$codePrestataire));
|
|
return ($resultat->rowCount() > 0);
|
|
}
|
|
|
|
public function getListe() {
|
|
$sql = 'SELECT codePrestataire as code, libelle FROM prestataire WHERE (codeSociete=?) order by libelle';
|
|
|
|
$liste = $this->executerRequete($sql,array($_SESSION['codeSociete']));
|
|
return $liste->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getListeTypePrestataire($codeTypePrestataire) {
|
|
$sql = 'SELECT codePrestataire as code, libelle FROM prestataire
|
|
WHERE (codeSociete=?) and (codeTypePrestataire=?)
|
|
order by libelle';
|
|
|
|
$liste = $this->executerRequete($sql,array($_SESSION['codeSociete'], $codeTypePrestataire));
|
|
return $liste->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getListePharmacie() {
|
|
$sql = 'SELECT codePrestataire as code, libelle FROM prestataire
|
|
WHERE (codeTypePrestataire in ("PHA", "CSO"))
|
|
order by libelle';
|
|
|
|
$liste = $this->executerRequete($sql);
|
|
return $liste->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getListeOpticien() {
|
|
$sql = 'SELECT codePrestataire as code, libelle FROM prestataire
|
|
WHERE (codeTypePrestataire = "OPT")
|
|
order by libelle';
|
|
|
|
$liste = $this->executerRequete($sql);
|
|
return $liste->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getListeTypePrestataireBon() {
|
|
$sql = 'SELECT A.codePrestataire as code, A.libelle FROM prestataire A
|
|
join p_typeprestataire B on (B.codeTypePrestataire=A.codeTypePrestataire)
|
|
where B.gestionBon="1" order by 2;';
|
|
|
|
$liste = $this->executerRequete($sql);
|
|
return $liste->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getemailGestionPrestataire($codePrestataire)
|
|
{
|
|
$codeSociete = $_SESSION['codeSociete'];
|
|
$sql = 'select fn_getemailGestionPrestataire(?, ?) as emailGestionPrestataire';
|
|
$resultat = $this->executerRequete($sql, array($codeSociete, $codePrestataire));
|
|
$ligne = $resultat->fetch();
|
|
return $ligne['emailGestionPrestataire'];
|
|
}
|
|
|
|
public function getEmailPrestataire($codePrestataire)
|
|
{
|
|
$codeSociete = $_SESSION['codeSociete'];
|
|
|
|
$sql = 'SELECT ifnull(emailGestionPrestataire, "kanelazeni@gmail.com") as emailGestionPrestataire ,
|
|
libelle FROM prestataire WHERE (codeSociete=?) and (codePrestataire=?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($codeSociete, $codePrestataire));
|
|
return $resultat->fetch();
|
|
}
|
|
|
|
public function getprestatairelike($codePrestataire, $nomsearch)
|
|
{
|
|
$nomsearch = contruireParamLike($nomsearch);
|
|
$codePrestataire = contruireParamLike($codePrestataire);
|
|
|
|
$sql = 'call sp_r_prestataires_like(?, ?)';
|
|
|
|
$prestataires = $this->executerRequete($sql, array($codePrestataire, $nomsearch));
|
|
|
|
return $prestataires;
|
|
}
|
|
|
|
public function getprestatairesvide()
|
|
{
|
|
$sql = 'call sp_r_prestataires_vide()';
|
|
$prestataires = $this->executerRequete($sql);
|
|
|
|
return $prestataires;
|
|
}
|
|
|
|
public function getprestataireparametrage($codeTypePrestataire, $codeReseau, $libelle, $codePays, $codeVille, $codeLocalite)
|
|
{
|
|
$idCollege = $_SESSION['idCollege_C'];
|
|
$codeTypePrestataire = contruireParamLike($codeTypePrestataire);
|
|
$codeReseau = contruireParamLike($codeReseau);
|
|
$libelle = contruireParamLike($libelle);
|
|
$codePays = contruireParamLike($codePays);
|
|
$codeVille = contruireParamLike($codeVille);
|
|
$codeLocalite = contruireParamLike($codeLocalite);
|
|
|
|
$sql = 'call sp_a_liste_prestataires_localite(?, ?, ?, ?, ?, ?, ?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($idCollege, $codeTypePrestataire, $codeReseau, $libelle, $codePays, $codeVille ,$codeLocalite));
|
|
|
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getunprestataire($idPrestataire)
|
|
{
|
|
$sql = 'call sp_afficher_un_prestataire(?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($idPrestataire));
|
|
|
|
return $resultat->fetch(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function enregistrermodif($idPrestataire, $libelle, $codeTypePrestataire, $codeReseau, $codeTarifActe, $codeTarifMedicament,
|
|
$codeTarifOptique, $codePays, $villeSignature, $codeTypeDecompte, $adresseGeo, $numeroCompte, $adressePost, $conventionne,
|
|
$gestionreseau, $emailGestionPrestataire, $codeBanque, $codeBanqueInterne, $codeGuichet, $numeroCompteBancaire, $cleRib, $iban,
|
|
$intituleCompteBancaire, $codeVille, $codeLocalite, $smsGestionPrestataire, $registreCommerce)
|
|
{
|
|
$user = $_SESSION['login'];
|
|
|
|
$sql = 'call sp_modifier_prestataire(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
|
|
|
|
$this->executerRequete($sql, array($idPrestataire, $libelle, $codeTypePrestataire, $codeReseau, $codeTarifActe, $codeTarifMedicament,
|
|
$codeTarifOptique, $codePays, $villeSignature, $codeTypeDecompte, $adresseGeo, $numeroCompte, $adressePost, $conventionne,
|
|
$gestionreseau, $emailGestionPrestataire, $codeBanque, $codeBanqueInterne, $codeGuichet, $numeroCompteBancaire, $cleRib, $iban,
|
|
$intituleCompteBancaire, $codeVille, $codeLocalite, $smsGestionPrestataire, $registreCommerce, $user));
|
|
}
|
|
|
|
public function majcomptebancaire($codePrestataire, $codeBanque, $codeBanqueInterne, $codeGuichet, $numeroCompteBancaire, $cleRib, $iban, $intituleCompteBancaire)
|
|
{
|
|
$user = $_SESSION['login'];
|
|
|
|
$sql = 'call sp_maj_compte_bancaire_prestataire(?, ?, ?, ?, ?, ?, ?, ?, ?)';
|
|
|
|
$this->executerRequete($sql, array($codePrestataire, $codeBanque, $codeBanqueInterne, $codeGuichet, $numeroCompteBancaire, $cleRib, $iban, $intituleCompteBancaire, $user));
|
|
}
|
|
|
|
public function getusersprestataire($codePrestataire)
|
|
{
|
|
$sql = 'call sp_get_users_prestataire(?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($codePrestataire));
|
|
|
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getunprestatairebycode($codePrestataire)
|
|
{
|
|
$sql = 'select * from prestataire where (codePrestataire=?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($codePrestataire));
|
|
|
|
return $resultat->fetch(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function reinitpaswd($codeUtilisateur)
|
|
{
|
|
$sql = 'call sp_r_reinit_utilisateur(?)';
|
|
|
|
$this->executerRequete($sql, array($codeUtilisateur));
|
|
}
|
|
|
|
public function desactiver($codeUtilisateur)
|
|
{
|
|
$sql = 'call sp_r_desactiver_utilisateur(?)';
|
|
|
|
$this->executerRequete($sql, array($codeUtilisateur));
|
|
}
|
|
|
|
public function activer($codeUtilisateur)
|
|
{
|
|
$sql = 'call sp_r_activer_utilisateur(?)';
|
|
|
|
$this->executerRequete($sql, array($codeUtilisateur));
|
|
}
|
|
|
|
public function listemailprestataire()
|
|
{
|
|
$sql = "select codePrestataire, libelle, email from prestataire where (email>' ') order by codePrestataire;";
|
|
|
|
$resultat = $this->executerRequete($sql);
|
|
|
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getprestataireparametrageexport($codeTypePrestataire, $codeReseau, $libelle)
|
|
{
|
|
$codeTypePrestataire = contruireParamLike($codeTypePrestataire);
|
|
$codeReseau = contruireParamLike($codeReseau);
|
|
$libelle = contruireParamLike($libelle);
|
|
|
|
$sql = 'call sp_liste_prestataires_export(?, ?, ?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($codeTypePrestataire, $codeReseau, $libelle));
|
|
|
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function creerprestataire($libelle, $codeTypePrestataire, $codeReseau, $codeTarifActe, $codeTarifMedicament,
|
|
$codeTarifOptique, $codePays, $villeSignature, $codeTypeDecompte, $adresseGeo, $numeroCompte, $adressePost, $conventionne,
|
|
$gestionreseau, $emailGestionPrestataire, $codeBanque, $codeBanqueInterne, $codeGuichet, $numeroCompteBancaire, $cleRib, $iban,
|
|
$intituleCompteBancaire, $codeVille, $codeLocalite, $smsGestionPrestataire, $registreCommerce)
|
|
{
|
|
$codeSociete = $_SESSION['codeSociete'];
|
|
$user = $_SESSION['login'];
|
|
|
|
$sql = 'call sp_creer_prestataire(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($codeSociete, $libelle, $codeTypePrestataire, $codeReseau, $codeTarifActe, $codeTarifMedicament,
|
|
$codeTarifOptique, $codePays, $villeSignature, $codeTypeDecompte, $adresseGeo, $numeroCompte, $adressePost, $conventionne,
|
|
$gestionreseau, $emailGestionPrestataire, $codeBanque, $codeBanqueInterne, $codeGuichet, $numeroCompteBancaire, $cleRib, $iban,
|
|
$intituleCompteBancaire, $codeVille, $codeLocalite, $smsGestionPrestataire, $registreCommerce, $user));
|
|
|
|
$ligne = $resultat->fetch();
|
|
return $ligne['idPrestataire'];
|
|
}
|
|
|
|
|
|
public function creeruserprestataire($nom, $prenoms, $telephone, $email, $motPass)
|
|
{
|
|
$codeSociete = $_SESSION['codeSociete'];
|
|
$codePrestataire = $_SESSION['codePrestataire_C'];
|
|
$user = $_SESSION['login'];
|
|
|
|
$hash = password_hash($motPass, PASSWORD_DEFAULT);
|
|
|
|
$sql = 'call sp_creer_user_prestataire(?, ?, ?, ?, ?, ?, ?, ?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($codeSociete, $codePrestataire, $nom, $prenoms, $telephone, $email, $hash, $user));
|
|
|
|
$ligne = $resultat->fetch();
|
|
return $ligne['codeUtilisateur'];
|
|
}
|
|
|
|
public function desactiverprestataire($codePrestataire)
|
|
{
|
|
$sql = 'call sp_r_desactiver_prestataire(?)';
|
|
|
|
$this->executerRequete($sql, array($codePrestataire));
|
|
}
|
|
|
|
public function activerprestataire($codePrestataire)
|
|
{
|
|
$sql = 'call sp_r_activer_prestataire(?)';
|
|
|
|
$this->executerRequete($sql, array($codePrestataire));
|
|
}
|
|
|
|
public function getmedecinsprestataire($codePrestataire)
|
|
{
|
|
$sql = 'call sp_get_medecins_prestataire(?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($codePrestataire));
|
|
|
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getprestataireparametrageactif($codeTypePrestataire, $codeReseau, $libelle, $codePays, $codeVille, $codeLocalite)
|
|
{
|
|
$codeTypePrestataire = contruireParamLike($codeTypePrestataire);
|
|
$libelle = contruireParamLike($libelle);
|
|
$codePays = contruireParamLike($codePays);
|
|
$codeVille = contruireParamLike($codeVille);
|
|
$codeLocalite = contruireParamLike($codeLocalite);
|
|
|
|
//var_dump($codeReseau);
|
|
//die();
|
|
$sql = 'call sp_a_liste_prestataires_localite_actif(?, ?, ?, ?, ?, ?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($codeTypePrestataire, $codeReseau, $libelle, $codePays, $codeVille ,$codeLocalite));
|
|
|
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getprestatairevide() {
|
|
$sql = 'call sp_prestataire_vide()';
|
|
|
|
$resultat = $this->executerRequete($sql);
|
|
|
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getprestatairerdv($libelle)
|
|
{
|
|
|
|
$libelle = contruireParamLike($libelle);
|
|
|
|
$sql = 'call sp_a_get_prestataires_rdv(?, ?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'], $libelle));
|
|
|
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getprestatairerdvmobile()
|
|
{
|
|
|
|
$sql = 'call sp_a_get_prestataires_rdv_mobile(?)';
|
|
|
|
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
|
|
|
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
} |