production/Modele/Feuillemaladie.php
2025-12-01 16:12:12 +00:00

335 lines
11 KiB
PHP
Executable File

<?php
require_once 'Framework/Modele.php';
class Feuillemaladie extends Modele {
public function enregistrerconsultation($codeActe, $dateSurvenance, $numeroBon, $observations,
$prixActe, $montantTm, $aRembourser, $codeMedecin, $codeRaisonConsultation, $numeroDerogation, $numeroDerogationFinger)
{
$codeSociete = $_SESSION['codeSociete'];
$codePrestataire = $_SESSION['codePrestataire_C'];
$user = $_SESSION['login'];
$tm = $_SESSION['tm_C'];
$idAdherent = $_SESSION['idAdherent_C'];
$numeroAdherent = $_SESSION['numeroAdherent_C'];
$idBeneficiaire = $_SESSION['idBeneficiaire_C'];
$numeroBeneficiaire = $_SESSION['numeroBeneficiaire_C'];
$sql = 'call sp_p_enregistrer_consultation(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? , ?, ?, ?, ?, ?)';
$resultat = $this->executerRequete($sql, array($codeSociete, $codePrestataire, $idBeneficiaire, $dateSurvenance,$numeroBon,
$observations, $prixActe, $montantTm, $aRembourser, $user, $codeMedecin, $codeActe, $codeRaisonConsultation, $tm,
$idAdherent, $numeroAdherent, $numeroBeneficiaire, $numeroDerogation, $numeroDerogationFinger));
if ($resultat->rowCount() == 0)
{
return "0";
} else
{
$ligne = $resultat->fetch(PDO::FETCH_ASSOC);
$_SESSION['numeroFeuilleMaladie_C'] = $ligne['numeroFeuilleMaladie'];
$numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C'];
$_SESSION['numeroPrescription_C'] = $ligne['numeroPrescription'];
return $numeroFeuilleMaladie;
}
}
public function getfeuillemaladie($numeroFeuilleMaladie)
{
$sql = 'call sp_p_get_feuille_maladie(?)';
$feuillemaladie = $this->executerRequete($sql, array($numeroFeuilleMaladie));
$ligne = $feuillemaladie->fetch(PDO::FETCH_ASSOC);
$_SESSION['numeroFeuilleMaladie_C'] = $ligne['numeroFeuilleMaladie'];
$_SESSION['idFacture_C'] = $ligne['idFacture'];
$_SESSION['numeroBonConsultation_C'] = $ligne['numeroBonConsultation'];
$_SESSION['numeroBonHospitalisation_C'] = $ligne['numeroBonHospitalisation'];
$_SESSION['numeroBonOrdonnance_C'] = $ligne['numeroBonOrdonnance'];
$_SESSION['numeroBonOptique_C'] = $ligne['numeroBonOptique'];
$_SESSION['numeroBonExamen_C'] = $ligne['numeroBonExamen'];
$_SESSION['numeroBonKine_C'] = $ligne['numeroBonKine'];
$_SESSION['numeroPrescription_C'] = $ligne['numeroPrescription'];
$_SESSION['numeroOptique_C'] = $ligne['numeroOptique'];
$_SESSION['numeroExamen_C'] = $ligne['numeroExamen'];
$_SESSION['numeroPrescriptionKine_C'] = $ligne['numeroPrescriptionKine'];
$_SESSION['codePrestataire_C'] = $ligne['codePrestataire'];
$_SESSION['prestataire_C'] = $ligne['prestataire'];
$_SESSION['hospitalisation_C'] = $ligne['hospitalisation'];
$_SESSION['chirurgie_C'] = $ligne['chirurgie'];
return $ligne;
}
public function getinfosfeuillemaladie($numeroFeuilleMaladie)
{
$sql = 'call sp_p_get_infos_feuille_maladie(?)';
$feuillemaladie = $this->executerRequete($sql, array($numeroFeuilleMaladie));
return $feuillemaladie->fetch(PDO::FETCH_ASSOC);
}
public function getfeuillesmaladieprestataire($codePrestataire, $idBeneficiaire, $d1, $d2)
{
$sql = 'call sp_p_get_feuilles_maladie(?, ?, ?, ?)';
$resultat = $this->executerRequete($sql, array($codePrestataire, $idBeneficiaire, $d1, $d2));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getfeuillesmaladie($idBeneficiaire, $d1, $d2)
{
$sql = 'call sp_r_get_feuilles_maladie(?, ?, ?)';
$resultat = $this->executerRequete($sql, array($idBeneficiaire, $d1, $d2));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getdossiers($codePrestataire, $d1, $d2)
{
$codePrestataire = contruireParamLike($codePrestataire);
$sql = 'call sp_r_get_dossiers(?, ?, ?)';
$resultat = $this->executerRequete($sql, array($codePrestataire, $d1, $d2));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getContexteAjaxFeuilleMaladie($numeroFeuilleMaladie)
{
$_SESSION['numeroFeuilleMaladie_C'] = $numeroFeuilleMaladie;
}
public function enregistrerhospitalisation($numeroBon)
{
$idBeneficiaire = $_SESSION['idBeneficiaire_C'];
$numeroFeuilleMaladie = $_SESSION['numeroFeuilleMaladie_C'];
$user = $_SESSION['login'];
$sql = 'call sp_p_enregistrer_hospitalisation(?, ?, ?, ?)';
$this->executerRequete($sql, array($idBeneficiaire, $numeroFeuilleMaladie, $numeroBon, $user));
}
public function requetesfeuillesmaladie($codeGcAssureur, $idPolice_C,$codePrestataire, $dateFacture1, $dateFacture2)
{
$sql = 'call sp_requetes_feuilles_maladie(?, ?,?, ?, ?)';
$resultat = $this->executerRequete($sql, array($codeGcAssureur, $idPolice_C,$codePrestataire, $dateFacture1, $dateFacture2));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function requetesfeuillesmaladieexport($codePrestataire, $dateFacture1, $dateFacture2)
{
$sql = 'call sp_requetes_feuilles_maladie_export(?, ?, ?)';
$resultat = $this->executerRequete($sql, array($codePrestataire, $dateFacture1, $dateFacture2));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getnotesfeuillemaladie($numeroFeuilleMaladie)
{
$sql = 'call sp_p_get_notes_feuille(?)';
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie) );
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function creernote($numeroFeuilleMaladie, $notesNew)
{
$user = $_SESSION['login'];
$source = "A";
$sql = 'call sp_p_creer_note_feuille_maladie(?, ?, ?, ?);';
$this->executerRequete($sql, array($numeroFeuilleMaladie, $notesNew, $user, $source));
}
public function getfeuillemaladieimpression($numeroFeuilleMaladie)
{
$sql = 'call sp_p_imprimer_feuille_maladie(?)';
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function getDiagnostics($numeroFeuilleMaladie)
{
$codeSociete = $_SESSION['codeSociete'];
$sql = 'call sp_p_get_diagnostics_feuille(?, ?)';
$resultat = $this->executerRequete($sql, array($codeSociete, $numeroFeuilleMaladie) );
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getreposmedicalfeuillemaladie($numeroFeuilleMaladie)
{
$sql = 'call sp_p_get_repos_medical_feuille(?)';
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie) );
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function creerreposmedical($numeroFeuilleMaladie, $notesNew, $nbJour)
{
$user = $_SESSION['login'];
$sql = 'call sp_p_creer_reposmedical_feuille_maladie(?, ?, ?, ?);';
$this->executerRequete($sql, array($numeroFeuilleMaladie, $notesNew, $user, $nbJour));
}
public function getnotesBeneficiaire($idBeneficiaire)
{
$sql = 'call sp_p_get_notes_beneficiaire(?)';
$resultat = $this->executerRequete($sql, array($idBeneficiaire) );
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getDiagnosticsBeneficiaire($idBeneficiaire)
{
$codeSociete = $_SESSION['codeSociete'];
$sql = 'call sp_p_get_diagnostics_beneficiaire(?, ?)';
$resultat = $this->executerRequete($sql, array($codeSociete, $idBeneficiaire) );
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getfacturesfeuille($numeroFeuilleMaladie)
{
$sql = 'call sp_r_get_factures_feuille(?)';
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getfacturesfeuilleconsultation($numeroBonConsultation)
{
$sql = 'call sp_r_get_factures_consultation(?)';
$resultat = $this->executerRequete($sql, array($numeroBonConsultation));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getfeuillesnonfacturees($d1,$d2)
{
$sql = 'SELECT a.*,
b.`libelle` AS prestataire,
CONCAT(c.nomBeneficiaire," ",c.`prenomsBeneficiaire`) AS beneficiaire
FROM p_feuillemaladie a
JOIN prestataire b ON (b.codePrestataire = a.codePrestataire)
JOIN beneficiaire c on (c.id = a.idBeneficiaire)
WHERE a.facture = "0"
AND a.userFacturation = ""
AND a.idPolice !="62"
AND a.idPolice IN (SELECT id FROM police)
AND (LEFT(a.dateSysteme,10) BETWEEN (?) AND (?))
AND idFactureFeuille="0"
AND a.fraisRetenu > "0"
ORDER BY `numeroFeuilleMaladie`';
$resultat = $this->executerRequete($sql, array($d1, $d2));
return $resultat->fetchAll(PDO::FETCH_ASSOC);
}
public function getfeuillemaladies_totalnonfacturees($d1,$d2)
{
$sql = 'SELECT COUNT(*) AS nbLigne,
IFNULL(SUM(fraisReel),"0") AS fraisReelTotal,
IFNULL(SUM(montantTm),"0") AS montantTmTotal,
IFNULL(SUM(montantArembourser),"0") AS montantArembourserTotal,
IFNULL(SUM(fraisExclu),"0") AS fraisExcluTotal,
IFNULL(SUM(fraisRetenu),"0") AS fraisRetenuTotal
FROM p_feuillemaladie
WHERE facture = "0"
AND userFacturation = ""
AND modeSaisieFeuille = "0"
AND idPolice !="62"
AND idPolice IN (SELECT id FROM police)
AND dateConsultation BETWEEN (?) AND (?)
AND fraisRetenu > 0';
$resultat = $this->executerRequete($sql, array($d1, $d2));
return $resultat->fetch(PDO::FETCH_ASSOC);
}
public function facturerfeuillemaladie($numeroFeuilleMaladie)
{
$idSaisie = $_SESSION['idSaisie'];
$codeUtilisateur = $_SESSION['login'];
$sql = 'call sp_facturer_feuille_maladie(?, ?, ?)';
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie, $idSaisie, $codeUtilisateur));
}
public function tousfacturerfeuillemaladie($debutAnalyse ,$dateAnalyse)
{
$idSaisie = $_SESSION['idSaisie'];
$codeUtilisateur = $_SESSION['login'];
$codePrestataire = null;
$sql = 'SELECT a.*,
b.`libelle` AS prestataire,
CONCAT(c.nomBeneficiaire," ",c.`prenomsBeneficiaire`) AS beneficiaire
FROM p_feuillemaladie a
JOIN prestataire b ON (b.codePrestataire = a.codePrestataire)
JOIN beneficiaire c on (c.id = a.idBeneficiaire)
WHERE a.facture = "0"
AND a.userFacturation = ""
AND a.idPolice !="62"
AND a.idPolice IN (SELECT id FROM police)
AND (LEFT(a.dateSysteme,10) BETWEEN (?) AND (?))
AND idFactureFeuille="0"
AND a.fraisRetenu > "0"
ORDER BY `numeroFeuilleMaladie`';
$resultat = $this->executerRequete($sql, array($debutAnalyse, $dateAnalyse));
$resultats = $resultat->fetchAll(PDO::FETCH_ASSOC);
foreach ($resultats as $key => $resultat) {
$numeroFeuilleMaladie = $resultat['numeroFeuilleMaladie'];
$sql = 'call sp_facturer_feuille_maladie_rp( ?, ?, ?)';
$resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie, $idSaisie,$codeUtilisateur));
}
}
}