assure/Modele/Prestataire - copie.php
2025-12-01 19:07:16 +00:00

162 lines
9.7 KiB
PHP

<?php
require_once 'Framework/Modele.php';
class Prestataire extends Modele {
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 getPrestataireCode($codePrestataire)
{
$sql = "SELECT * from vw_r_prestataire WHERE codePrestataire=?";
$resultat = $this->executerRequete($sql, array($codePrestataire));
$context = $resultat->fetch(PDO::FETCH_ASSOC);
$_SESSION['codePrestataire_C'] = $context['codePrestataire'];
$_SESSION['prestataire_C'] = $context['prestataire'];
$_SESSION['codeReseauPrestataire_C'] = $context['codeReseauPrestataire'];
$_SESSION['codeTypePrestataire_C'] = $context['codeTypePrestataire'];
$_SESSION['codeTypeDecompte_C'] = $context['codeTypeDecompte'];
$_SESSION['typeprestataire_C'] = $context['typeprestataire'];
$_SESSION['reseausoinPrestataire_C'] = $context['reseausoinPrestataire'];
$_SESSION['conventionne_C'] = $context['conventionne'];
$_SESSION['estconventionne_C'] = $context['estconventionne'];
$_SESSION['adresseGeoPrestataire_C'] = $context['adresseGeoPrestataire'];
$_SESSION['adressePostPrestataire_C'] = $context['adressePostPrestataire'];
$_SESSION['telephoneFixePrestataire_C'] = $context['telephoneFixePrestataire'];
$_SESSION['telephonePortablePrestataire_C'] = $context['telephonePortablePrestataire'];
$_SESSION['faxPrestatairePrestataire_C'] = $context['faxPrestatairePrestataire'];
$_SESSION['emailPrestataire_C'] = $context['emailPrestataire'];
$_SESSION['emailGestionPrestataire_C'] = $context['emailGestionPrestataire'];
$_SESSION['nomResponsablePrestataire_C'] = $context['nomResponsablePrestataire'];
$_SESSION['contactResponsablePrestataire_C'] = $context['contactResponsablePrestataire'];
$_SESSION['emailResponsablePrestataire_C'] = $context['emailResponsablePrestataire'];
$_SESSION['nomInterlocuteurPrestataire_C'] = $context['nomInterlocuteurPrestataire'];
$_SESSION['contactInterlocuteurPrestataire_C'] = $context['contactInterlocuteurPrestataire'];
$_SESSION['emailInterlocuteurPrestataire_C'] = $context['emailInterlocuteurPrestataire'];
$_SESSION['codeTarifMedicament_C'] = $context['codeTarifMedicament'];
$_SESSION['codeTarifOptique_C'] = $context['codeTarifOptique'];
$_SESSION['codeTarifActe_C'] = $context['codeTarifActe'];
return $context;
}
}