diff --git a/Controleur/ControleurAjaxchargeractesmedicaux.php b/Controleur/ControleurAjaxchargeractesmedicaux.php
new file mode 100755
index 0000000..36bdfbf
--- /dev/null
+++ b/Controleur/ControleurAjaxchargeractesmedicaux.php
@@ -0,0 +1,66 @@
+acte = new Detailtarifacte();
+ $this->prescription = new Prestationactes();
+ }
+
+ public function index() {
+
+ $libelle = $this->requete->getParametreFormulaire("libelle");
+
+ if ($libelle=="vide" || $libelle=="") {
+ $actes = $this->acte->getactesexamenvide();
+ }else{
+ $actes = $this->acte->getactesmedicauxpossibles($libelle);
+ }
+
+ $this->genererVueAjax(array('actes' => $actes));
+ }
+
+
+ public function actecharge()
+ {
+ $codeActe = $this->requete->getParametreFormulaire("codeActe");
+
+ $acte_charge = $this->acte->chargerinfosacte($codeActe);
+
+ $this->genererVueAjax(array('acte_charge' => $acte_charge));
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Controleur/ControleurAjaxselectactesmedicaux.php b/Controleur/ControleurAjaxselectactesmedicaux.php
index 05ce9af..bf804d5 100644
--- a/Controleur/ControleurAjaxselectactesmedicaux.php
+++ b/Controleur/ControleurAjaxselectactesmedicaux.php
@@ -13,17 +13,17 @@ class ControleurAjaxselectactesmedicaux extends Controleur {
}
public function index() {
- $codeFamilleActe = $this->requete->getParametreFormulaire("codeFamilleActe");
+ //$codeFamilleActe = $this->requete->getParametreFormulaire("codeFamilleActe");
$numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
$codePrestataire = $_SESSION['p_codePrestataire_C'];
- $actes = $this->acte->geatactesexamensselection($codeFamilleActe);
+ //$actes = $this->acte->geatactesexamensselection($codeFamilleActe);
$prestations = $this->prestation->getactesmedicauxfeuille($numeroFeuilleMaladie, $codePrestataire);
$prestations_total = $this->prestation->getactesmedicauxfeuille_total($numeroFeuilleMaladie, $codePrestataire);
- $this->genererVueAjax(array('actes' => $actes, 'prestations' => $prestations, 'prestations_total' => $prestations_total));
+ $this->genererVueAjax(array(/*'actes' => $actes, */'prestations' => $prestations, 'prestations_total' => $prestations_total));
}
public function enregistreractemedical()
diff --git a/Js/fonctions.js b/Js/fonctions.js
index d8ba722..93c1384 100644
--- a/Js/fonctions.js
+++ b/Js/fonctions.js
@@ -17604,8 +17604,230 @@ $(function(){
dataTableSpeciale();
$('.js-example-basic-single').select2();
$('.selectpicker').selectpicker();
+
+ $("#div_selection").hide();
+
+ $("#searchInput").keyup(debounce(function() {
+ const libelle = $(this).val().trim();
+
+ if (!libelle || libelle.length < 3) {
+ $("#div_selection").hide();
+ return;
+ }
+
+ const formHandlers = {
+ "selectactesmedicaux": {
+ link: "Ajaxchargeractesmedicaux/",
+ data: { libelle: libelle }
+ }
+ };
+
+ const handler = formHandlers[$('#nomForm').val()];
+ if (!handler) return;
+
+ /* Vérification des prérequis si nécessaire
+ if (handler.preCheck && !handler.preCheck()) {
+ return;
+ }
+ */
+
+ // Préparation des données
+ const data = typeof handler.data === 'function' ? handler.data() : handler.data;
+
+ // Envoi de la requête AJAX
+ $.ajax({
+ type: "POST",
+ url: $("#racineWeb").val() + handler.link,
+ data: data,
+ beforeSend: function() {
+ $("#searchInput").css("background", "#FFF url(Bootstrap/images/LoaderIcon.gif) no-repeat 165px");
+ },
+ success: function(data) {
+ $("#div_selection").show().html(data);
+ $("#searchInput").css("background", "#FFF");
+ },
+ error: function(xhr, status, error) {
+ console.error("Erreur lors de la recherche:", error);
+ $("#searchInput").css("background", "#FFF");
+ }
+ });
+ }, 300));
});
+// Fonction debounce pour limiter les appels fréquents
+function debounce(func, wait, immediate) {
+ let timeout;
+ return function() {
+ const context = this, args = arguments;
+ const later = function() {
+ timeout = null;
+ if (!immediate) func.apply(context, args);
+ };
+ const callNow = immediate && !timeout;
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ if (callNow) func.apply(context, args);
+ };
+}
+
+function selectElement(val){
+
+ $("#searchInput").val(val);
+ $("#div_selection").hide();
+}
+
+
+function add_selected_acte_medicaux(controle)
+{
+ var str = controle.split(' <==> ');
+
+ var codeActe = str[0];
+ var libelleActe = str[1];
+ var acteExclu = str[3];
+
+
+ if(acteExclu=="Garanti"){
+ acteExclu=0;
+ }else{
+ acteExclu=1;
+ }
+
+ if(libelleActe<=" ")
+ {
+ return;
+ }
+
+ if(acteExclu==1)
+ {
+ v_msg="Acte non couvert!";
+ v_msgEng="Not covered!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ donnees = 'codeActe='+codeActe;
+
+ $("#div_patientez").html('
' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxchargeractesmedicaux/actecharge/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_patientez").html(data);
+
+ $("#searchInput").val('');
+
+ codeActe = $("#codeActe").val();
+ prixActe = $("#prixActe").val();
+ montantTm = $("#montantTm").val();
+ aRembourser = $("#aRembourser").val();
+ ententePrealable = $("#ententePrealable").val();
+ codeFamilleActe = $("#ententePrealable").val();
+
+ ajouter_un_acte_selection_new(codeActe, prixActe, montantTm, aRembourser, ententePrealable, codeFamilleActe);
+
+
+ },
+ complete: function(data) {
+
+ }
+ });
+
+}
+
+function ajouter_un_acte_selection_new(codeActe, prixActe, montantTm, aRembourser, ententePrealable, codeFamilleActe)
+{
+ donnee_a_affciher = "";
+
+ donnees=""
+ donnees_sav="";
+
+ codeMedecin = $("#codeMedecin").val();
+
+ if (codeMedecin<=" ")
+ {
+ v_msg="Veuillez sélectionner un médecin!";
+ v_msgEng="Please select a doctor!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#nomMedecin").focus();
+ return;
+ }
+
+ if (codeActe<=" ")
+ {
+ v_msg="Veuillez sélectionner un acte!";
+ v_msgEng="Please select an act!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ if(prixActe==0)
+ {
+ v_msg="Veuillez revoir le tarif!";
+ v_msgEng="Please review rate!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ v_msg="Confirmez-vous cet acte?";
+ v_msgEng="Do you confirm this act?";
+
+ // if(confirm_ebene(v_msg, v_msgEng))
+ // {
+ if(ententePrealable==1)
+ {
+ ententePrealable = "2";
+ }
+
+ donnees = 'codeFamilleActe='+codeFamilleActe+'&codeActe='+codeActe+'&codeMedecin='+codeMedecin+'&ententePrealable='+ententePrealable;
+ donnees += '&prixActe='+prixActe+'&montantTm='+montantTm+'&aRembourser='+aRembourser;
+
+ numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val();
+
+ donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable';
+ // donnees_sav2 = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailautorisation';
+
+ typeSms="ententeprealable";
+ // typeSms2="autorisation";
+
+ $("#listeacte").html('
' + 'Veuillez patienter... / Please wait...' + ' ');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxselectactesmedicaux/enregistreractemedical/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ maj_fraisexclu_cso();
+
+ if(ententePrealable=="2")
+ {
+ preparesms(typeSms);
+
+ v_msg="Demande accord prealable envoyée!";
+ v_msgEng="Request prior agreement sent!";
+ alert_ebene(v_msg, v_msgEng);
+
+ }
+ donnee_a_affciher = data;
+ },
+ complete: function() {
+ if(ententePrealable=="2")
+ {
+ mettremailattente(donnees_sav);
+ }
+ $("#totam_donnees").html(donnee_a_affciher);
+ }
+ });
+ // }
+}
function ajaxinfosboninitconsultation()
{
diff --git a/Modele/Detailtarifacte.php b/Modele/Detailtarifacte.php
index b85155f..a64120c 100644
--- a/Modele/Detailtarifacte.php
+++ b/Modele/Detailtarifacte.php
@@ -317,5 +317,53 @@ class Detailtarifacte extends Modele {
return $liste->fetchAll(PDO::FETCH_ASSOC);
}
}
+
+ public function getactesexamenvide() {
+ $sql = 'call sp_p_actes_examen_vide()';
+ $resultat = $this->executerRequete($sql);
+ return $resultat->fetchAll(PDO::FETCH_ASSOC);
+ }
+
+ public function getactesmedicauxpossibles($libelle)
+ {
+ $numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
+ $codePrestataire = $_SESSION['p_codePrestataire_C'];
+ $codeTarifActe = $_SESSION['p_codeTarifActe_C'];
+ $codePrestataire = $_SESSION['p_codePrestataire_C'];
+ $idAdherent = $_SESSION['p_idAdherent_C'];
+
+ $libelle = contruireParamLike($libelle);
+
+ if (isset($_SESSION['p_lang']) && $_SESSION['p_lang']=="en_US")
+ {
+ $sql = 'call sp_p_recherche_actes_medicaux_eng(?, ?, ?, ?, ?);';
+ }
+ else
+ {
+ $sql = 'call sp_p_recherche_actes_medicaux(?, ?, ?, ?, ?);';
+ }
+
+ $resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie,$codeTarifActe, $libelle, $codePrestataire, $idAdherent));
+
+ return $resultat->fetchAll(PDO::FETCH_ASSOC);
+ }
+
+
+ public function chargerinfosacte($codeActe)
+ {
+ $numeroFeuilleMaladie = $_SESSION['p_numeroFeuilleMaladie_C'];
+ $codePrestataire = $_SESSION['p_codePrestataire_C'];
+ $codeTarifActe = $_SESSION['p_codeTarifActe_C'];
+ $tm = $_SESSION['p_tm_C'];
+ $codePrestataire = $_SESSION['p_codePrestataire_C'];
+ $idAdherent = $_SESSION['p_idAdherent_C'];
+
+ $sql = 'call sp_p_charger_infosacte_medical(?, ?, ?, ?, ?);';
+
+ $resultat = $this->executerRequete($sql, array($numeroFeuilleMaladie,$codeTarifActe, $codeActe,
+ $codePrestataire, $idAdherent, $tm));
+
+ return $resultat->fetch(PDO::FETCH_ASSOC);
+ }
}
\ No newline at end of file
diff --git a/Vue/Ajaxchargeractesmedicaux/actecharge.php b/Vue/Ajaxchargeractesmedicaux/actecharge.php
new file mode 100755
index 0000000..5932801
--- /dev/null
+++ b/Vue/Ajaxchargeractesmedicaux/actecharge.php
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Vue/Ajaxchargeractesmedicaux/index.php b/Vue/Ajaxchargeractesmedicaux/index.php
new file mode 100755
index 0000000..7aa9c1f
--- /dev/null
+++ b/Vue/Ajaxchargeractesmedicaux/index.php
@@ -0,0 +1,26 @@
+
+
+ ",$v["libelle"]);
+
+ if (isset($tab[2]) && ($tab[2] != "Garanti" || $tab[2] != "Guaranteed")){
+ $style = "background-color: red; color:white;";
+ }elseif (isset($tab[3]) && ($tab[3] == "Demander Accord" || $tab[3] == "Request Approval")){
+ $style = "background-color: yellow;";
+ }else{
+ $style = "background-color: white;";
+ }
+?>
+- ');add_selected_acte_medicaux(' ".$v["libelle"]; ?>');">
+
+
+
+
+
\ No newline at end of file
diff --git a/Vue/Ajaxselectactesmedicaux/index.php b/Vue/Ajaxselectactesmedicaux/index.php
index 570c70a..a7229ea 100644
--- a/Vue/Ajaxselectactesmedicaux/index.php
+++ b/Vue/Ajaxselectactesmedicaux/index.php
@@ -1,7 +1,7 @@
-
+
+
diff --git a/Vue/Selectactesmedicaux/index.php b/Vue/Selectactesmedicaux/index.php
index 61e569a..f8ad9ca 100644
--- a/Vue/Selectactesmedicaux/index.php
+++ b/Vue/Selectactesmedicaux/index.php
@@ -8,6 +8,7 @@
+
@@ -46,7 +47,7 @@
| = _("Acte") ?> |
@@ -93,8 +94,10 @@
-
+
+
+
-
+
diff --git a/Vue/gabarit.php b/Vue/gabarit.php
index 867ab46..8dd45d0 100644
--- a/Vue/gabarit.php
+++ b/Vue/gabarit.php
@@ -263,7 +263,7 @@ actesHarmonises : = $_SESSION['p_actesHarmonises'] ?>
-
+
|