219 lines
6.7 KiB
PHP
219 lines
6.7 KiB
PHP
<?php
|
|
require_once 'Framework/Controleur.php';
|
|
require_once 'Modele/Menuvueutilisateur.php';
|
|
require_once 'Modele/Beneficiaire.php';
|
|
require_once 'Modele/Seance_temp.php';
|
|
require_once 'Modele/Detailseance.php';
|
|
require_once 'Modele/Prestationactes.php';
|
|
require_once 'Modele/Finger.php';
|
|
require_once 'Modele/Bonpec.php';
|
|
|
|
require 'vendor/autoload.php';
|
|
use Aws\Rekognition\RekognitionClient;
|
|
|
|
class ControleurKinecso extends Controleur {
|
|
private $beneficiaire;
|
|
private $prescription;
|
|
private $detailprescription;
|
|
private $prestation;
|
|
private $finger;
|
|
private $bonpec;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->menuvue = new Menuvueutilisateur();
|
|
$this->menuvue->getMenuVue('Kinecso');
|
|
|
|
$this->prescription = new Seance_temp();
|
|
$this->detailprescription = new Detailseance();
|
|
$this->prestation = new Prestationactes();
|
|
|
|
$this->beneficiaire = new Beneficiaire();
|
|
$this->bonpec = new Bonpec();
|
|
|
|
viderContexte();
|
|
|
|
$_SESSION['p_okId'] = "-1";
|
|
|
|
$this->finger = new Finger();
|
|
|
|
$_SESSION['p_codeTypeFacture_C'] = "SEACSO";
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$faceRegistered = '0';
|
|
$codePrestataire = $_SESSION['p_codePrestataire_C'];
|
|
|
|
$codeTypeBon = "CONS";
|
|
|
|
$nbBonsCons = $this->bonpec->getNbBonPrestataireDisponible($codePrestataire, $codeTypeBon);
|
|
// $codeGestionBon = $this->bonpec->getCodeGestionBon($codeTypeBon);
|
|
$codeGestionBon = $this->bonpec->getCodeGestionBonPrestataire();
|
|
$typeGestionbon = $this->bonpec->getGestionBon($codeGestionBon);
|
|
|
|
$garantieadherent_temp = null;
|
|
$limite_beneficiaire = null;
|
|
|
|
$numeroBonKine = $_SESSION['p_numeroBonKine_C'];
|
|
$numeroBonKineSearch = $numeroBonKine;
|
|
|
|
$_SESSION['p_numeroBonSeance_C'] = "-1";
|
|
|
|
if($numeroBonKine=="-1")
|
|
{
|
|
$this->genererVue(array('numeroBonKineSearch' => $numeroBonKineSearch,
|
|
'nbBonsCons' => $nbBonsCons, 'codeGestionBon' => $codeGestionBon, 'typeGestionbon' => $typeGestionbon));
|
|
}
|
|
else
|
|
{
|
|
$numeroBonKineSearch = $numeroBonKine;
|
|
|
|
$resultat = $this->beneficiaire->getBeneficiaireOrdonnanceSea($numeroBonKine);
|
|
$_SESSION['p_hospitalisation_C'] = $resultat['hospitalisation'];
|
|
$idBeneficiaire = $resultat['idBeneficiaire'];
|
|
$beneficiaire = $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire);
|
|
$faceRegistered = $beneficiaire['faceRegistered'];
|
|
if($_SESSION['p_hospitalisation_C']>0 && $_SESSION['p_appliquerTmHospit_C']>0)
|
|
{
|
|
$_SESSION['p_tm_C'] = "0";
|
|
}
|
|
|
|
$this->prescription->initseancekine_sea($codeGestionBon);
|
|
|
|
$prescription = $this->prescription->getprescription_sea($numeroBonKine);
|
|
|
|
$detailseances = $this->detailprescription->getdetailseancefeuille();
|
|
|
|
$user_id = $_SESSION['p_user_id_C'];
|
|
$this->finger->vider_finger_temp($user_id);
|
|
|
|
$facture = $prescription['facture'];
|
|
$nbRestantOld = $prescription['nbRestantOld'];
|
|
$numeroFeuilleMaladie = $prescription['numeroFeuilleMaladie'];
|
|
|
|
$this->prestation->vider_garantieadherent_temp($numeroFeuilleMaladie, $codePrestataire);
|
|
|
|
if($nbRestantOld>0)
|
|
{
|
|
$this->prestation->init_garantieadherent_temp_simple($numeroFeuilleMaladie, $codePrestataire);
|
|
|
|
$this->beneficiaire->controlerplafondbeneficiaireannuel($idBeneficiaire);
|
|
|
|
$limite_beneficiaire = $this->prestation->getLimitesBeneficiaireTemp();
|
|
}
|
|
|
|
$this->genererVue(array('prescription' => $prescription, 'detailseances' => $detailseances,
|
|
'numeroBonKineSearch' => $numeroBonKineSearch, 'nbBonsCons' => $nbBonsCons,
|
|
'codeGestionBon' => $codeGestionBon, 'typeGestionbon' => $typeGestionbon,
|
|
'limite_beneficiaire' => $limite_beneficiaire, 'faceRegistered' => $faceRegistered));
|
|
}
|
|
}
|
|
|
|
public function confirmerface()
|
|
{
|
|
$_SESSION['p_messageFace'] = "";
|
|
$compare_face = $_POST['compare_face'];
|
|
|
|
if(isset($_POST['image_face']))
|
|
{
|
|
$_SESSION['p_okId_face'] = "-1";
|
|
$_SESSION['p_okId'] = "-1";
|
|
|
|
$path = "Temp/";
|
|
$extension = "jpeg";
|
|
|
|
$data = $_POST['image_face'];
|
|
|
|
$data = str_replace('data:image/jpeg;base64,', '', $data);
|
|
|
|
$data = base64_decode($data);
|
|
|
|
$username = $_SESSION['p_numeroBeneficiaire_C'];
|
|
|
|
$date = date('YmdHis');
|
|
$file_name = "img_v_".$date.uniqid().".".$extension;
|
|
$chemin = $path.$file_name;
|
|
|
|
file_put_contents($chemin, $data);
|
|
|
|
$rand = rand(1,1000000);
|
|
$nomImage = $username."_".$rand.'.'. $extension;
|
|
|
|
$this->beneficiaire->init_traiterlaface('2');
|
|
|
|
$arrgs = [
|
|
'credentials' => [
|
|
'key' => 'AKIA2O2PTXQ7XN5OATO3',
|
|
'secret' => 'Rzq5mKG80tqfePQYF6iFZ5AMCM/bY2l6i5IxxLzL',
|
|
],
|
|
'version' => 'latest',
|
|
'region' => 'us-west-2'
|
|
];
|
|
|
|
$client = new RekognitionClient($arrgs);
|
|
|
|
$sourceImage = $chemin;
|
|
$targetImage = $_SESSION['p_dossierPhoto_C'].$_SESSION['p_dossierSociete'].'/Photos/'.$_SESSION['p_lienPhoto_C'];
|
|
|
|
try
|
|
{
|
|
$result = $client->compareFaces
|
|
(
|
|
[
|
|
'SimilarityThreshold' => 80,
|
|
'SourceImage' => [
|
|
'Bytes' => file_get_contents($sourceImage)
|
|
],
|
|
'TargetImage' => [
|
|
'Bytes' => file_get_contents($targetImage)
|
|
],
|
|
]
|
|
);
|
|
|
|
$faceMatches = count($result['FaceMatches']);
|
|
|
|
if ($faceMatches==0)
|
|
{
|
|
$_SESSION['p_messageFace'] = "Les faces ne correspondent pas! / The faces do not match!";
|
|
$this->beneficiaire->resultat_traitement_face($username, '0', $_SESSION['p_messageFace']);
|
|
$this->genererVueAjax(array('messageFace' => $_SESSION['p_messageFace'], 'msgErreur' => $_SESSION['p_messageFace'], 'photo_succes' => "0"));
|
|
}
|
|
else
|
|
{
|
|
$this->beneficiaire->resultat_traitement_face($username, '1', '');
|
|
|
|
$_SESSION['p_okId_face'] = "1";
|
|
$_SESSION['p_messageFace'] = "Face confirmée! / Face confirmed!";
|
|
|
|
/*
|
|
var_dump
|
|
(
|
|
array
|
|
(
|
|
"p_okId_face" => $_SESSION['p_okId_face'],
|
|
"p_messageFace" => $_SESSION['p_messageFace'],
|
|
)
|
|
);
|
|
exit();
|
|
*/
|
|
|
|
$this->genererVueAjax(array('messageFace' => $_SESSION['p_messageFace'], 'msgErreur' => $_SESSION['p_messageFace'], 'photo_succes' => "1"));
|
|
}
|
|
}
|
|
catch (Exception $e)
|
|
{
|
|
// echo 'Message: ' .$e->getMessage();
|
|
// exit();
|
|
$msgErreur = $e->getMessage();
|
|
$_SESSION['p_messageFace'] = "Un problème lors du traitement! / A problem during treatment!";
|
|
|
|
$this->beneficiaire->resultat_traitement_face($username, '9', $msgErreur);
|
|
|
|
$this->genererVueAjax(array('messageFace' => $_SESSION['p_messageFace'], 'msgErreur' => $_SESSION['p_messageFace'], 'photo_succes' => "0"));
|
|
}
|
|
}
|
|
unlink($chemin);
|
|
}
|
|
|
|
} |