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); } }