241 lines
7.8 KiB
PHP
241 lines
7.8 KiB
PHP
<?php
|
|
require_once 'Framework/Controleur.php';
|
|
require_once 'Modele/Menuvueutilisateur.php';
|
|
require_once 'Modele/Examen_temp.php';
|
|
require_once 'Modele/Detailexamem.php';
|
|
require_once 'Modele/Bonpec.php';
|
|
require_once 'Modele/Prescription.php';
|
|
require_once 'Modele/Detailtarifacte.php';
|
|
require_once 'Modele/Medecin.php';
|
|
require_once 'Modele/Ged.php';
|
|
require_once 'Modele/Feuillemaladie.php';
|
|
|
|
|
|
class ControleurPrescriptionexamen extends Controleur {
|
|
private $menuvue;
|
|
private $examen;
|
|
private $detailexamen;
|
|
private $bonpec;
|
|
private $prescription;
|
|
private $acte;
|
|
private $medecin;
|
|
private $ged;
|
|
private $feuille;
|
|
|
|
public function __construct() {
|
|
$this->menuvue = new Menuvueutilisateur();
|
|
$this->menuvue->getMenuVue('Prescriptionexamen');
|
|
|
|
$this->examen = new Examen_temp();
|
|
$this->detailexamen = new Detailexamem();
|
|
$this->bonpec = new Bonpec();
|
|
$this->prescription = new Prescription();
|
|
$this->acte = new Detailtarifacte();
|
|
$this->medecin = new Medecin();
|
|
$this->ged = new Ged();
|
|
$this->feuille = new Feuillemaladie();
|
|
|
|
$codePrestataire = $_SESSION['p_codePrestataire_C'];
|
|
}
|
|
|
|
public function index($msgErreur=null)
|
|
{
|
|
|
|
$contestation = $this->feuille->getContestationFeuille();
|
|
|
|
if($contestation == "1"){
|
|
$this->rediriger("Feuillemaladie");
|
|
}
|
|
|
|
|
|
$message = "";
|
|
|
|
$nouveau_fichier = "Rien";
|
|
|
|
|
|
if(!empty($_POST))
|
|
{
|
|
define('TARGET', $_SESSION['p_cheminGed']); // Repertoire cible
|
|
define('MAX_SIZE', 10000000); // Taille max en octets du fichier
|
|
|
|
// Tableaux de donnees
|
|
// ".avi", ".bmp", ".doc", ".docx", ".gif", ".jpeg", "jpg", "jpe", ".mkv", ".mp3", ".pdf", ".png", ".pps", ".xls", ".xlsx", ".wav"
|
|
// $tabExt = array('jpg','png','jpeg'); // Extensions autorisees
|
|
|
|
$tabExt = array("avi", "bmp", "doc", "docx", "gif", "jpeg", "jpg", "jpe", "mkv", "mp3", "mp4", "pdf", "png", "pps", "xls", "xlsx", "wav"); // Extensions autorisees
|
|
|
|
// Variables
|
|
$extension = '';
|
|
|
|
if( !is_dir(TARGET) )
|
|
{
|
|
if( !mkdir(TARGET, 0755) )
|
|
{
|
|
$message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !';
|
|
}
|
|
}
|
|
|
|
// On verifie si le champ est rempli
|
|
if( !empty($_FILES['fichier_upload']['name']) )
|
|
{
|
|
// Recuperation de l'extension du fichier
|
|
|
|
$extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION);
|
|
|
|
// On verifie l'extension du fichier
|
|
if(in_array(strtolower($extension), $tabExt))
|
|
{
|
|
$message = $_FILES['fichier_upload']['size'];
|
|
|
|
// On verifie les dimensions et taille du fichier
|
|
if($_FILES['fichier_upload']['size'] <= MAX_SIZE)
|
|
{
|
|
$taille = $_FILES['fichier_upload']['size'];
|
|
|
|
// Parcours du tableau d'erreurs
|
|
if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error'])
|
|
{
|
|
// On renomme le fichier
|
|
$nomOrigine = $_FILES['fichier_upload']['name'];
|
|
$nouveau_fichier = dateJourSql()."_".uniqid().".".$extension;
|
|
|
|
// Si c'est OK, on teste l'upload
|
|
if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier))
|
|
{
|
|
$message = 'Chargé avec succès / Uploaded successfully';
|
|
|
|
// on va envoyer dans la base de données
|
|
$this->ged->enregistrergedprescriptionexamen($nomOrigine, $nouveau_fichier, $taille);
|
|
}
|
|
else
|
|
{
|
|
// Sinon on affiche une erreur systeme
|
|
$message = 'Problème lors du chargement !';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$message = 'Une erreur interne a empêché le chargement';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !";
|
|
// $message = 'Erreur dans les dimensions du fichier !';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// Sinon on affiche une erreur pour l'extension
|
|
$message = 'Extension du fichier est incorrecte !';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// Sinon on affiche une erreur pour le champ vide
|
|
$message = 'Veuillez sélectionner un fichier SVP! / Please select a file!';
|
|
}
|
|
|
|
// fin upload
|
|
}
|
|
|
|
$msgErreurGed = $message;
|
|
|
|
$codePrestataire = $_SESSION['p_codePrestataire_C'];
|
|
$codeTypeBon = "EXAM";
|
|
|
|
$nbBonsOrd = $this->bonpec->getNbBonPrestataireDisponible($codePrestataire, $codeTypeBon);
|
|
$codeGestionBon = $this->bonpec->getCodeGestionBon($codeTypeBon);
|
|
$typeGestionbon = $this->bonpec->getGestionBon($codeGestionBon);
|
|
|
|
$this->examen->initexamen_cso();
|
|
|
|
|
|
$examen = $this->examen->getexamentemp();
|
|
|
|
|
|
$montantTotalExamen = $this->prescription->getParamMontantTotalExamen();
|
|
|
|
|
|
if($examen['numeroBonExamen']>"0"){
|
|
$codeReponseEntentePrealable = $this->prescription->getcodeReponseEntentePrealable();
|
|
|
|
if($codeReponseEntentePrealable ==""){
|
|
$codeReponseEntentePrealable = "2";
|
|
}
|
|
}else{
|
|
$codeReponseEntentePrealable ="2";
|
|
}
|
|
|
|
|
|
$this->detailexamen->majdetailexamen();
|
|
|
|
$detailexamens = $this->detailexamen->getdetailexamenfeuille();
|
|
|
|
|
|
$detail_total = $this->detailexamen->getdetailexamenfeuille_total();
|
|
|
|
$groupeEXA = $this->detailexamen->getdetailgroupeexamenfeuille_total("EXA");
|
|
|
|
$groupeIMA = $this->detailexamen->getdetailgroupeexamenfeuille_total("IMA");
|
|
|
|
$groupeBIO = $this->detailexamen->getdetailgroupeexamenfeuille_total("BIO");
|
|
|
|
$initgarantieBareme = $this->acte->initGarantieBaremeExamen();
|
|
|
|
$baremegarantieBIO = $this->acte->getgarantiebareme('BIO');
|
|
$baremegarantieIMA = $this->acte->getgarantiebareme('IMA');
|
|
$baremegarantieEXA = $this->acte->getgarantiebareme('EXA');
|
|
|
|
|
|
$numeroExamen = $examen['numeroExamen'];
|
|
|
|
|
|
$fraisTotal = $detail_total['fraisReel_total'];
|
|
|
|
$nbExamens_0 = count($detailexamens);
|
|
|
|
|
|
$idAdherent = $_SESSION['p_idAdherent_C'];
|
|
|
|
$codeTarifActe = $this->acte->getTarifActeAdherent($idAdherent);
|
|
|
|
$_SESSION['p_codeTarifActe_C'] = $codeTarifActe;
|
|
|
|
$actes = array();//$this->acte->getexamenspossibles($codeTarifActe) ;
|
|
|
|
$numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
|
|
|
|
$datePrestation = $this->acte->getDatePrestation($numeroFeuilleMaladie);
|
|
|
|
$_SESSION['datePrestation'] = $datePrestation;
|
|
|
|
$idBeneficiaire = $_SESSION['p_idBeneficiaire_C'];
|
|
|
|
|
|
$tm = $this->acte->ticketModerateurDefinitif("", "", $datePrestation);
|
|
|
|
$tauxCouverture = (100-$tm)."%";
|
|
|
|
$medecins = $this->medecin->getpraticiensprestataire($codePrestataire);
|
|
|
|
$codeTypeEntentePrealable = "EXAM";
|
|
$numeroEnteteEntentePrealable = $this->acte->getNumeroEnteteEntentePrealable($codeTypeEntentePrealable);
|
|
|
|
unset($_FILES['fichier_upload']);
|
|
|
|
$geds = $this->ged->getgedexamen();
|
|
|
|
$this->detailexamen->actualiserentetetype($codeTypeEntentePrealable);
|
|
|
|
$demandeTraite = $this->detailexamen->getdemandetraite($codeTypeEntentePrealable);
|
|
$nbreEntentePrealable = $this->detailexamen->getnbreententeprealable();
|
|
|
|
$this->genererVue(array('examen' => $examen, 'detailexamens' => $detailexamens, 'nbExamens_0' => $nbExamens_0, 'actes' => $actes,
|
|
'nbBonsOrd' => $nbBonsOrd, 'codeGestionBon' => $codeGestionBon, 'typeGestionbon' => $typeGestionbon, 'tauxCouverture' => $tauxCouverture,
|
|
'medecins' => $medecins, 'detail_total' => $detail_total, 'montantTotalExamen' => $montantTotalExamen, 'geds' => $geds, 'msgErreurGed' => $msgErreurGed,
|
|
'codeReponseEntentePrealable' => $codeReponseEntentePrealable, 'groupeEXA' => $groupeEXA, 'groupeIMA' => $groupeIMA, 'groupeBIO' => $groupeBIO,
|
|
'demandeTraite' => $demandeTraite, 'nbreEntentePrealable' => $nbreEntentePrealable
|
|
));
|
|
}
|
|
} |