diff --git a/Js/fonctions.js b/Js/fonctions.js
index 9721771..b585854 100755
--- a/Js/fonctions.js
+++ b/Js/fonctions.js
@@ -9644,4 +9644,10194 @@ function examensmedicaux()
{
v_msg="Non autoris\u00e9 car l'utilisateur n'a pas les droits requis. Veuillez contacter l'assureur!";
v_msgEng="Not authorized because the user does not have the required rights. Please contact the insurer!";
- alert_ebene(v_m
\ No newline at end of file
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ modeSaisieFacture=$("#modeSaisieFacture").val();
+
+ bonCaduc=$("#bonCaduc").val();
+
+ if (bonCaduc==1 && modeSaisieFacture!="1")
+ {
+ v_msg="Bon caduc!";
+ v_msgEng="Obsolete!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ facture=$("#facture").val();
+
+ /*
+ if (facture==1)
+ {
+ v_msg="D\u00e9jà factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ */
+
+ numeroExamen=$("#numeroExamen_C").val();
+
+ if (numeroExamen==0)
+ {
+ v_msg="Aucun examen prescrit!";
+ v_msgEng="No prescribed exam!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ window.location.assign($("#racineWeb" ).val()+"Examensmedicaux/");
+}
+
+
+async function valider_examen_cso() {
+ const facture = $("#facture").val();
+
+ if (facture == 1) {
+ const v_msg = "D\u00e9j\u00e0 factur\u00e9!";
+ const v_msgEng = "Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ let nbLivre = parseInt($("#nbLivre").val()) || 0;
+
+ if (nbLivre < 1) {
+ await executerValidationExamen();
+ return;
+ }
+
+ const v_msg = "Confirmez-vous ces examens?";
+ const v_msgEng = "Do you confirm these exams?";
+
+ const isConfirmed = await confirm_ebene_sweet(v_msg, v_msgEng);
+ if (!isConfirmed) {
+ return;
+ }
+
+ await executerValidationExamen();
+}
+
+async function executerValidationExamen() {
+ try {
+ await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxdetailexamen/enregistrerexamen/",
+ type: 'POST'
+ });
+ maj_fraisexclu_cso(); // Décommenté car présent dans la version française
+ } catch (error) {
+ // Gestion d'erreur si nécessaire
+ } finally {
+ feuillemaladie();
+ }
+}
+
+function ajouterexamen_tous()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailexamen/ajouterexamentous/",
+ type: 'POST',
+ success: function(data) {
+ $("#livraison").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function ajouterexamen(idExamen, ententePrealable, codeActe, codeGarantie)
+{
+ donnees = 'idExamen='+idExamen+'&codeActe='+codeActe+'&ententePrealable='+ententePrealable;
+
+ typeSms="ententeprealable";
+
+ datePrescription = $("#datePrescription").val();
+
+
+ if (ententePrealable==9)
+ {
+ v_msg="Acte refus\u00e9!";
+ v_msgEng="Act refused!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ if (ententePrealable==2)
+ {
+ numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val();
+ donnees_sav = donnees+'&codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable';
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailexamen/ajouterexamen/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#livraison").html(data);
+ //afficheDivPlafond();
+
+ getstatutacte(codeActe);
+
+ if(ententePrealable=="2")
+ {
+ preparesms(typeSms);
+
+ v_msg="Demande accord prealable envoy\u00e9e!";
+ v_msgEng="Request prior agreement sent!";
+ alert_ebene(v_msg, v_msgEng);
+ }
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ if(ententePrealable=="2")
+ {
+ mettremailattente(donnees_sav);
+ }
+ }
+ });
+}
+
+function retirerexamen_tous()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailexamen/retirerexamentous/",
+ type: 'POST',
+ success: function(data) {
+ $("#livraison").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function retirerexamen(idExamen)
+{
+ donnees = 'idExamen='+idExamen;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailexamen/retirerexamen/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#livraison").html(data);
+
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consulter_limite_avant_facturation_cons()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturecons/");
+ */
+}
+
+function consulter_limite_avant_facturation()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacture/");
+ */
+}
+
+
+
+function consulter_limite_avant_facturation_cons_ben()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureconsben/");
+ */
+}
+
+function consulter_limite_avant_facturation_pha()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturepha/");
+ */
+}
+
+function consulter_limite_avant_facturation_pha_cons()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturephacons/");
+ */
+}
+
+function consulter_limite_avant_facturation_pha_cons_ben()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturephaconsben/");
+ */
+}
+
+function actualiser_opticien()
+{
+ window.location.assign($("#racineWeb" ).val()+"Opticien/");
+}
+
+function reinitialiser_opticien()
+{
+ window.location.assign($("#racineWeb" ).val()+"Opticien/0");
+}
+
+
+function consulter_limite_avant_facturation_opt()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureopt/");
+ */
+}
+
+function consulter_limite_avant_facturation_opt_cons()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureoptcons/");
+ */
+}
+
+function consulter_limite_avant_facturation_opt_cons_ben()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureoptconsben/");
+ */
+}
+
+function ajouterexamen_lab_tous()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/ajouterexamentous/",
+ type: 'POST',
+ success: function(data) {
+ $("#livraison").html(data);
+ afficheDivPlafond();
+
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ alerter_depassement_limite();
+ }
+ });
+}
+
+function ajouterexamen_lab(idExamen, ententePrealable, codeActe, codeGarantie)
+{
+ donnees = 'idExamen='+idExamen+'&codeActe='+codeActe+'&ententePrealable='+ententePrealable;
+
+ typeSms="ententeprealable";
+
+ datePrescription = $("#datePrescription").val();
+
+
+ if (ententePrealable==9)
+ {
+ v_msg="Acte refus\u00e9!";
+ v_msgEng="Act refused!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/ajouterexamen/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#livraison").html(data);
+ getstatutacte(codeActe);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+
+function retirerexamen_lab(idExamen)
+{
+ donnees = 'idExamen='+idExamen;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/retirerexamen/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#livraison").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ alerter_depassement_limite();
+ }
+ });
+}
+
+function ctrlkeypress_examens_possibles_lab(ev)
+{
+ var keycode = (ev.keyCode ? ev.keyCode : ev.which);
+ if(keycode == '13')
+ {
+ afficher_pop_recherche_examens_possibles_lab();
+ }
+}
+
+function afficher_pop_recherche_examens_possibles_lab()
+{
+ libelleActeSearch = $("#libelleActeSearch").val();
+
+ if(libelleActeSearch<=" ")
+ {
+ return;
+ }
+
+ donnees = "valid=1&libelleActeSearch="+libelleActeSearch;
+
+ $("#div_liste_actes_possibles").html('
' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlisteexamenspossibleslab/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_liste_actes_possibles").html(data);
+ }
+ });
+}
+
+function consulter_limite_avant_facturation_lab()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelab/");
+ */
+}
+
+function actualiser_laboratoire()
+{
+ window.location.assign($("#racineWeb" ).val()+"Laboratoire/");
+}
+
+/**
+ * Valide un examen de laboratoire avant facturation
+ * Effectue plusieurs vérifications avant de demander confirmation à l'utilisateur
+ * puis déclenche la facturation si confirmé
+ */
+async function valider_examen_lab() {
+ // Vérification des droits d'accès
+ actVisible = $("#actVisible").val();
+ if (actVisible != "1") {
+ alert_ebene("Non autorisée!", "Not allowed!");
+ return;
+ }
+
+ // Vérification si le bon n'est pas caduc
+ modeSaisieFacture = $("#modeSaisieFacture").val();
+ bonCaduc = $("#bonCaduc").val();
+ if (bonCaduc == 1 && modeSaisieFacture != "1") {
+ alert_ebene("Bon caduc!", "Obsolete!");
+ return;
+ }
+
+ // Vérification de l'existence d'un examen à facturer
+ numeroExamen = $("#numeroExamen_C").val();
+ if (numeroExamen <= "0") {
+ alert_ebene("Rien à facturer!", "Nothing to bill!");
+ return;
+ }
+
+ // Vérification que l'examen n'est pas déjà facturé
+ facture = parseInt($("#facture").val());
+ if (facture > 0) {
+ alert_ebene("Déjà facturé!", "Already charged!");
+ return;
+ }
+
+ // Vérification du nombre d'actes à facturer
+ nbLivre = parseInt($("#nbLivre").val());
+ if (facture == 0 && nbLivre < 1) {
+ alert_ebene("Rien à facturer!", "Nothing to bill!");
+ return;
+ }
+
+ // Demande de confirmation à l'utilisateur
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous ces actes?",
+ "Do you confirm those acts?"
+ );
+
+ // Si l'utilisateur confirme, on procède à la facturation
+ if (isConfirmed) {
+ user_id_0 = $("#user_id_C").val();
+ modeSaisieFacture = $("#modeSaisieFacture").val();
+ derogation_finger_en_cours = $("#derogation_finger_en_cours_C").val();
+ facturer_lab(user_id_0);
+ }
+}
+
+function retirerexamen_lab_tous()
+{
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/retirerexamentous/",
+ type: 'POST',
+ success: function(data) {
+ $("#livraison").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ //alerter_depassement_limite();
+ // actualiser_pharmacien();
+ }
+ });
+}
+
+function facturer_lab(user_id)
+{
+ facture=$("#facture").val();
+ facture = parseInt(facture);
+
+ if (facture>0)
+ {
+ v_msg="D\u00e9jà factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ nbLivre=$("#nbLivre").val();
+ nbLivre = parseInt(nbLivre);
+
+ if (facture==0 && nbLivre<1)
+ {
+ v_msg="Rien à facturer!";
+ v_msgEng="Nothing to bill!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ prixActe = $("#prixActe").val();
+ if (prixActe==0)
+ {
+ v_msg="Rien à facturer!";
+ v_msgEng="Nothing to bill!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ montantTm = $("#montantTm").val();
+ cout = $("#cout").val();
+
+ montantTm_f = $("#montantTm_f").val();
+ cout_f = $("#cout_f").val();
+
+ donnees = 'prixActe='+prixActe;
+ donnees += '&montantTm='+montantTm;
+ donnees += '&cout='+cout;
+
+ numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
+ codePrestataire = $("#codePrestataire_C").val();
+
+ donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=maillabo';
+
+ typeSms = "facturer_lab";
+
+ donnees_retour ="";
+
+ user_id_0 = $("#user_id_C").val();
+ user_id_substitut = "0";
+ if (user_id_0!=user_id)
+ {
+ user_id_substitut = user_id;
+ }
+
+ donnees_substitut = 'user_id_substitut='+user_id_substitut;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/enregistrerlaboratoire/",
+ type: 'POST',
+ data: donnees_substitut,
+ success: function(data) {
+ // KANE 17/03/2025 => ne pas envoyer de SMS d'alerte de facturation
+ // preparesms_adherent(typeSms);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ // KANE 17/03/2025 => ne pas envoyer de mail d'alerte de facturation
+ // preparemail_adherent(typeSms);
+
+ v_msg="Facturation effectu\u00e9e avec succès!";
+ v_msgEng="Billing done successfully!";
+ alert_ebene(v_msg, v_msgEng);
+
+ window.location.assign($("#racineWeb" ).val()+"Laboratoire/");
+ }
+ });
+}
+
+async function prescrire_examen_lab(codeActe, libelleActe, acteExclu, ententePrealable) {
+ if (libelleActeSearch <= " ") {
+ return;
+ }
+
+ if (acteExclu == 1) {
+ const v_msg = "Acte non couvert!";
+ const v_msgEng = "Not covered!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ const confirmationMsg = "Confirmez-vous cet acte : " + libelleActe + "?";
+ const confirmationMsgEng = "Do you confirm this act : " + libelleActe + "?";
+
+ const isConfirmed = await confirm_ebene_sweet(confirmationMsg, confirmationMsgEng);
+ if (!isConfirmed) {
+ return;
+ }
+
+ try {
+ const donnees = 'codeActe=' + encodeURIComponent(codeActe) +
+ '&ententePrealable=' + encodeURIComponent(ententePrealable);
+
+ const response = await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxdetaillaboratoire/ajouterexamenprescription/",
+ type: 'post',
+ data: donnees
+ });
+
+ $("#btn_close_pop_acte").click();
+ $("#livraison").html(response);
+
+ } catch (error) {
+ // Gestion des erreurs si nécessaire
+ console.error("Erreur lors de la prescription de l'examen:", error);
+ }
+}
+
+function enregistrer_nv_consommables()
+{
+
+
+ libelleconsommable = $("#libelleconsommable").val();
+
+ if (libelleconsommable<=" ")
+ {
+ v_msg="Veuillez saisir le nom!";
+ v_msgEng="Please enter tyhe name!";
+ alert_ebene(v_msg, v_msgEng);
+ $("#libelleconsommable").focus();
+ return;
+ }
+
+ quantiteconsommable=$("#quantiteconsommable").val();
+ quantiteconsommable=quantiteconsommable.replace(",",".");
+ $("#quantiteconsommable").val(quantiteconsommable);
+
+ if(isNaN(quantiteconsommable))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#quantiteconsommable").val("0");
+ $("#quantiteconsommable").focus();
+ return;
+ }
+
+ if(quantiteconsommable==0)
+ {
+ $("#quantiteconsommable").focus();
+ v_msg="Veuillez saisir la quantit\u00e9!";
+ v_msgEng="Please enter the quantity!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ prixconsommable=$("#prixconsommable").val();
+ prixconsommable=prixconsommable.replace(",",".");
+ $("#prixconsommable").val(prixconsommable);
+
+
+ if(isNaN(prixconsommable))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#prixconsommable").val("0");
+ $("#prixconsommable").focus();
+ return;
+ }
+
+ if(prixconsommable==0)
+ {
+ $("#prixconsommable").focus();
+ v_msg="Veuillez saisir le prix!";
+ v_msgEng="Please enter the price!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ donnees = 'libelleconsommable='+libelleconsommable+'&prixconsommable='+prixconsommable+'&quantiteconsommable='+quantiteconsommable;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlisteconsommables/creerconsommable/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ // $('#div_test_gabarit').html(data);
+ // alert(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ afficher_consommable();
+ }
+ });
+}
+
+function ajax_maj_prix_consommable(idConsommable, valeurActe, controle)
+{
+ valeurActe=valeurActe.replace(",",".");
+ controle.value=valeurActe;
+
+ if(controle_numerique(controle))
+ {
+ if(valeurActe==0)
+ {
+ controle.focus();
+ v_msg="Veuillez saisir le prix!";
+ v_msgEng="Please enter the price!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ donnees = 'idConsommable='+idConsommable+"&valeurActe="+valeurActe;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlisteconsommables/majprix/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ // $('#div_test_gabarit').html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ afficher_consommable();
+ }
+ });
+ }
+}
+
+function remplacer_feuillemaladie()
+{
+ modeSaisieFacture=$("#modeSaisieFacture").val();
+
+ bonCaduc=$("#bonCaduc").val();
+
+ if (bonCaduc==1 && modeSaisieFacture!="1")
+ {
+ v_msg="Bon caduc!";
+ v_msgEng="Obsolete!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ facture=$("#facture").val();
+
+ if (facture==1)
+ {
+ v_msg="D\u00e9jà factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ window.location.assign($("#racineWeb" ).val()+"Remplacerfeuille/");
+}
+
+function ajaxinfosremplacerbonconsultation()
+{
+ numeroBon = $("#numeroBon").val();
+
+ if(isNaN(numeroBon))
+ {
+ v_msg="Veuillez revoir le num\u00e9ro de bon!";
+ v_msgEng="Please review the prescription number!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#btn_enreg").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if ($("#numeroBon").val()<="0")
+ {
+ v_msg="Veuillez saisir un No de bon!";
+ v_msgEng="Please enter a prescription number!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+ donnees = "numeroBon="+numeroBon;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxinfosremplacerbonconsultation/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#infosbon").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+async function enregistrerremplacementconsultation() {
+ // Validation des données
+ const numeroBonSave = $("#numeroBonSave").val();
+ const motifremplacement = $("#motifremplacement").val().trim();
+ const numeroBon = $("#numeroBon").val();
+ const codeEtatBon = $("#codeEtatBon").val();
+
+ // Vérification du motif
+ if (!motifremplacement) {
+ await alert_ebene(
+ "Veuillez saisir le motif du remplacement!",
+ "Please enter the reason!"
+ );
+ $("#motifremplacement").focus();
+ return;
+ }
+
+ // Validation du numéro de bon
+ if (isNaN(numeroBon)) { // Correction: ajout de la parenthèse manquante
+ await showNumberError();
+ return;
+ }
+
+ if (numeroBon <= "0") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon!",
+ "Please enter a prescription number!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if (codeEtatBon !== "1") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon disponible!",
+ "Please enter a prescription number available!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if (numeroBonSave !== numeroBon) {
+ await showNumberError();
+ return;
+ }
+
+ // Confirmation
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous ce No de bon?",
+ "Do you confirm this number of prescription?"
+ );
+ if (!isConfirmed) return;
+
+ // Enregistrement
+ try {
+ const donnees = {
+ numeroFeuilleMaladie: $("#numeroFeuilleMaladie_C").val(),
+ numeroBon: numeroBon,
+ OldnumeroBon: $("#OldnumeroBon").val(),
+ motifremplacement: motifremplacement
+ };
+
+ await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxinfosremplacerbonconsultation/enregistrerremplacementconsultation/",
+ type: 'post',
+ data: donnees
+ });
+
+ await alert_ebene(
+ "Feuille remplacée avec succès!",
+ "Replaced successfully!"
+ );
+ feuillemaladie();
+ } catch (error) {
+ console.error("Erreur lors du remplacement:", error);
+ }
+}
+
+// Fonction helper pour les erreurs de numéro
+async function showNumberError() {
+ await alert_ebene(
+ "Veuillez revoir le numéro de bon!",
+ "Please review the prescription number!"
+ );
+ $("#btn_enreg").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+ $("#numeroBon").focus();
+}
+
+function remplacer_ordonnance()
+{
+ bonCaduc=$("#bonCaduc").val();
+ if (bonCaduc==1)
+ {
+ v_msg="Bon caduc!";
+ v_msgEng="Obsolete!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ facture=$("#facture").val();
+
+ if (facture!=1)
+ {
+ v_msg="Pas encore factur\u00e9, vous pouvez modifier l\'ordonnance!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ numeroBonOrdonnance = $("#numeroBonOrdonnance").val();
+ numeroBonOrdonnance = parseInt(numeroBonOrdonnance);
+
+ /*
+ if (numeroBonOrdonnance<=0)
+ {
+ v_msg="Pas de prescription!";
+ v_msgEng="No prescription!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ */
+
+ codeGestionBon = $("#codeGestionBon").val();
+
+ if (codeGestionBon!="0")
+ {
+ v_msg="Option non disponible!";
+ v_msgEng="Option not available!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val();
+ if(derogation_finger_en_cours>0)
+ {
+ $("#okId" ).val("1");
+ fiche_remplacer_ordonnance();
+ }
+ else
+ {
+ beneficiaire = $("#beneficiaire_C").val();
+ user_id =$("#user_id_C").val();
+ finger_id =$("#finger_id_C").val();
+
+ $("#remplacerordonnance").val("1");
+
+ data = "action=index&user_id="+user_id+"&user_name="+beneficiaire+"&finger="+finger_id+"&remplacerordonnance=1";
+
+ load("flexcode/user.php?"+data);
+ }
+}
+
+function fiche_remplacer_ordonnance()
+{
+ window.location.assign($("#racineWeb" ).val()+"Remplacerordonnance/");
+}
+
+function ajaxinfosremplacerordonnance()
+{
+ numeroBon = $("#numeroBon").val();
+
+ if(isNaN(numeroBon))
+ {
+ v_msg="Veuillez revoir le num\u00e9ro de bon!";
+ v_msgEng="Please review the prescription number!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#btn_enreg").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if ($("#numeroBon").val()<="0")
+ {
+ v_msg="Veuillez saisir un No de bon!";
+ v_msgEng="Please enter a prescription number!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+ donnees = "numeroBon="+numeroBon;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxinfosremplacerordonnence/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#infosbon").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+async function enregistrerremplacementordonnance() {
+ // Validation des données
+ const numeroBonSave = $("#numeroBonSave").val();
+ const motifremplacement = $("#motifremplacement").val().trim();
+ const numeroBon = $("#numeroBon").val();
+ const codeEtatBon = $("#codeEtatBon").val();
+
+ // Vérification du motif
+ if (!motifremplacement) {
+ await alert_ebene(
+ "Veuillez saisir le motif du remplacement!",
+ "Please enter the reason!"
+ );
+ $("#motifremplacement").focus();
+ return;
+ }
+
+ // Validation du numéro de bon
+ if (isNaN(numeroBon)) {
+ await handleNumberError();
+ return;
+ }
+
+ if (numeroBon <= "0") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon!",
+ "Please enter a prescription number!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if (codeEtatBon !== "1") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon disponible!",
+ "Please enter a prescription number available!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if (numeroBonSave !== numeroBon) {
+ await handleNumberError();
+ return;
+ }
+
+ // Confirmation
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous ce No de bon?",
+ "Do you confirm this number of prescription?"
+ );
+ if (!isConfirmed) return;
+
+ // Enregistrement
+ try {
+ const donnees = {
+ numeroFeuilleMaladie: $("#numeroFeuilleMaladie_C").val(),
+ numeroBon: numeroBon,
+ OldnumeroBon: $("#OldnumeroBon").val(),
+ motifremplacement: motifremplacement
+ };
+
+ await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxinfosremplacerordonnence/enregistrerremplacementordonnance/",
+ type: 'post',
+ data: donnees
+ });
+
+ await alert_ebene(
+ "Ordonnance remplacée avec succès!",
+ "Replaced successfully!"
+ );
+ prescription_medicament();
+ } catch (error) {
+ console.error("Erreur lors du remplacement de l'ordonnance:", error);
+ }
+}
+
+async function handleNumberError() {
+ await alert_ebene(
+ "Veuillez revoir le numéro de bon!",
+ "Please review the prescription number!"
+ );
+ $("#btn_enreg").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+ $("#numeroBon").focus();
+}
+
+function afficher_laboratoire_cso()
+{
+ window.location.assign($("#racineWeb" ).val()+"Laboratoirecso/");
+}
+
+
+function afficher_laboratoire()
+{
+ window.location.assign($("#racineWeb" ).val()+"Laboratoire/");
+}
+
+
+function afficher_seance_cso()
+{
+ window.location.assign($("#racineWeb" ).val()+"Kinecso/");
+}
+
+function consulter_limite_avant_facturation_lab_cso()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelabcso/");
+ */
+}
+
+function rechercherbonexamen_lab()
+{
+ numeroBonExamen=$("#numeroBonExamen").val();
+
+ if (numeroBonExamen>" ")
+ {
+ chercher_ordonnance_lab(numeroBonExamen);
+ }
+}
+
+function rechercherbonexamen_lab_cso()
+{
+ numeroBonExamen=$("#numeroBonExamen").val();
+
+ if (numeroBonExamen>" ")
+ {
+ chercher_ordonnance_lab_cso(numeroBonExamen);
+ }
+}
+
+function chercher_ordonnance_lab_cso(numeroBonExamen)
+{
+ donnees = 'numeroBonExamen='+numeroBonExamen;
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxchangerordonnancelab/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ afficher_laboratoire_cso();
+ }
+ });
+}
+
+async function valider_examen_lab_cso() {
+ // Validate permissions and conditions
+ if ($("#actVisible").val() !== "1") {
+ await alert_ebene("Non autorisée!", "Not allowed!");
+ return;
+ }
+
+ const modeSaisieFacture = $("#modeSaisieFacture").val();
+ if ($("#bonCaduc").val() === "1" && modeSaisieFacture !== "1") {
+ await alert_ebene("Bon caduc!", "Obsolete!");
+ return;
+ }
+
+ // Validate exam data
+ if ($("#numeroExamen_C").val() <= "0" || parseInt($("#nbLivre").val()) < 1) {
+ await alert_ebene("Rien à facturer!", "Nothing to bill!");
+ return;
+ }
+
+ // Confirmation
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous ces actes?",
+ "Do you confirm those acts?"
+ );
+
+ if (isConfirmed) {
+ const user_id_0 = $("#user_id_C").val();
+ facturer_lab_cso(user_id_0);
+ }
+}
+
+function facturer_lab_cso(user_id)
+{
+ facture=$("#facture").val();
+ facture = parseInt(facture);
+
+ if (facture>0)
+ {
+ v_msg="D\u00e9jà factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ nbLivre=$("#nbLivre").val();
+ nbLivre = parseInt(nbLivre);
+
+ if (facture==0 && nbLivre<1)
+ {
+ v_msg="Rien à facturer!";
+ v_msgEng="Nothing to bill!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ prixActe = $("#prixActe").val();
+ if (prixActe==0)
+ {
+ v_msg="Rien à facturer!";
+ v_msgEng="Nothing to bill!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ montantTm = $("#montantTm").val();
+ cout = $("#cout").val();
+
+ montantTm_f = $("#montantTm_f").val();
+ cout_f = $("#cout_f").val();
+
+ donnees = 'prixActe='+prixActe;
+ donnees += '&montantTm='+montantTm;
+ donnees += '&cout='+cout;
+
+ numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
+ codePrestataire = $("#codePrestataire_C").val();
+
+ donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=maillabo';
+
+ typeSms = "facturer_lab";
+
+ user_id_0 = $("#user_id_C").val();
+ user_id_substitut = "0";
+ if (user_id_0!=user_id)
+ {
+ user_id_substitut = user_id;
+ }
+
+ donnees_substitut = 'user_id_substitut='+user_id_substitut;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/enregistrerlaboratoire/",
+ type: 'POST',
+ data: donnees_substitut,
+ success: function(data) {
+ // KANE 17/03/2025 => ne pas envoyer de SMS d'alerte de facturation
+ // preparesms_adherent(typeSms);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ // KANE 17/03/2025 => ne pas envoyer de mail d'alerte de facturation
+ // preparemail_adherent(typeSms);
+
+ v_msg="Facturation effectu\u00e9e avec succès!";
+ v_msgEng="Billing done successfully!";
+ alert_ebene(v_msg, v_msgEng);
+
+ afficher_laboratoire_cso();
+
+ }
+ });
+}
+
+function prescription_seance()
+{
+ affectionObligatoire=$("#affectionObligatoire").val();
+ codeAffection=$("#codeAffection").val();
+ modeSaisieFacture=$("#modeSaisieFacture").val();
+
+ numeroBonKine = $("#numeroBonKine").val();
+
+ facture=$("#facture").val();
+
+ if (numeroBonKine == "0" && facture==1)
+ {
+ v_msg="D\u00e9j\u00e0 factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+
+ contestation = $("#contestation").val();
+
+ if(numeroBonKine == "0" && contestation == "1"){
+ const v_msg = "Dossier médical contesté !";
+ const v_msgEng = "Medical records contested!";
+
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+
+ if (affectionObligatoire=="1" && codeAffection=="990" && modeSaisieFacture!="1")
+ {
+ v_msg="Diagnostique exig\u00e9!";
+ v_msgEng="Diagnosis required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#libelleAffection").focus();
+ $("#btn_pop_affection").click();
+
+ return;
+ }
+
+
+ // POUR LES CONSULTATIONS A ENTENTE PREALBLE
+ ententePrealableCons=$("#ententePrealableCons").val();
+
+ if (ententePrealableCons=="2" || ententePrealableCons=="9" )
+ {
+ v_msg="Veuillez attendre l'accord de l'assureur!";
+ v_msgEng="Please wait for insurer approval!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+ if (ententePrealableCons=="9" )
+ {
+ v_msg="Non autoris\u00e9 car l'acte consultation a \u00e9t\u00e9 r\u00e9fus\u00e9 par l'assureur!";
+ v_msgEng="Not authorized because the consultation act was refused by the insurer!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+ ///////////////
+ //nomForm = $("#nomForm").val();
+
+ hospitalisation = $("#hospitalisation").val();
+ if (hospitalisation=="1" && numeroBonKine=="0")
+ {
+ v_msg="Non autoris\u00e9 car la p\u00e9riode d'hospitalisation est en cours.";
+ v_msgEng="Not authorized because the period of hospitalization is in progress.";
+
+ alert_ebene_callback(v_msg, v_msgEng, function() {
+ window.location.assign($("#racineWeb").val()+"Feuillemaladie/");
+ });
+
+ return;
+ }
+
+
+ actVisible=$("#actVisible").val();
+ if (actVisible!="1")
+ {
+ v_msg="Non autoris\u00e9 car l'utilisateur n'a pas les droits requis. Veuillez contacter l'assureur!";
+ v_msgEng="Not authorized because the user does not have the required rights. Please contact the insurer!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ window.location.assign($("#racineWeb" ).val()+"Prescriptionseance/");
+}
+
+
+
+function seances()
+{
+ hospitalisation = $("#hospitalisation").val();
+ if (hospitalisation=="1")
+ {
+ v_msg="Non autoris\u00e9 car la p\u00e9riode d'hospitalisation est en cours.";
+ v_msgEng="Not authorized because the period of hospitalization is in progress.";
+
+ alert_ebene_callback(v_msg, v_msgEng, function() {
+ window.location.assign($("#racineWeb").val()+"Feuillemaladie/");
+ });
+ return;
+ }
+
+
+ actVisible=$("#actVisible").val();
+ if (actVisible!="1")
+ {
+ v_msg="Non autoris\u00e9 car l'utilisateur n'a pas les droits requis. Veuillez contacter l'assureur!";
+ v_msgEng="Not authorized because the user does not have the required rights. Please contact the insurer!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ modeSaisieFacture=$("#modeSaisieFacture").val();
+
+ bonCaduc=$("#bonCaduc").val();
+
+ if (bonCaduc==1 && modeSaisieFacture!="1")
+ {
+ v_msg="Bon caduc!";
+ v_msgEng="Obsolete!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ /*
+ facture=$("#facture").val();
+
+ if (facture==1)
+ {
+ v_msg="D\u00e9jà factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ */
+
+ numeroPrescriptionKine=$("#numeroPrescriptionKine_C").val();
+
+ if (numeroPrescriptionKine==0)
+ {
+ v_msg="Aucune s\u00e9ance prescrite!";
+ v_msgEng="No prescribed session!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ window.location.assign($("#racineWeb" ).val()+"Seances/");
+}
+
+function miseenobservation()
+{
+ affectionObligatoire = $("#affectionObligatoire").val();
+ codeAffection = $("#codeAffection").val();
+ modeSaisieFacture = $("#modeSaisieFacture").val();
+
+ facture=$("#facture").val();
+
+ if (facture==1)
+ {
+ v_msg="D\u00e9jà factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ contestation = $("#contestation").val();
+ if(facture == "0" && contestation == "1"){
+ v_msg="Dossier médical contesté !";
+ v_msgEng="Medical records contested!";
+
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+
+ if (affectionObligatoire=="1" && codeAffection=="990" && modeSaisieFacture!="1")
+ {
+ v_msg="Diagnostique exig\u00e9!";
+ v_msgEng="Diagnosis required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#libelleAffection").focus();
+ $("#btn_pop_affection").click();
+
+ return;
+ }
+
+ // POUR LES CONSULTATIONS A ENTENTE PREALBLE
+ ententePrealableCons=$("#ententePrealableCons").val();
+
+ if (ententePrealableCons=="2" || ententePrealableCons=="9" )
+ {
+ v_msg="Veuillez attendre l'accord de l'assureur!";
+ v_msgEng="Please wait for insurer approval!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+ if (ententePrealableCons=="9" )
+ {
+ v_msg="Non autoris\u00e9 car l'acte consultation a \u00e9t\u00e9 r\u00e9fus\u00e9 par l'assureur!";
+ v_msgEng="Not authorized because the consultation act was refused by the insurer!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+ ///////////////
+ hospitalisation = $("#hospitalisation").val();
+ miseEnObservation = $("#miseEnObservation").val();
+
+ if (hospitalisation=="1" && miseEnObservation=="0")
+ {
+ v_msg="Non autoris\u00e9 car la p\u00e9riode d'hospitalisation est en cours.";
+ v_msgEng="Not authorized because the period of hospitalization is in progress.";
+
+ alert_ebene_callback(v_msg, v_msgEng, function() {
+ window.location.assign($("#racineWeb").val()+"Feuillemaladie/");
+ });
+
+ return;
+ }
+
+
+ actVisible=$("#actVisible").val();
+ if (actVisible!="1")
+ {
+ v_msg="Non autoris\u00e9 car l'utilisateur n'a pas les droits requis. Veuillez contacter l'assureur!";
+ v_msgEng="Not authorized because the user does not have the required rights. Please contact the insurer!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ modeSaisieFacture=$("#modeSaisieFacture").val();
+
+ bonCaduc=$("#bonCaduc").val();
+
+ if (bonCaduc==1 && modeSaisieFacture!="1")
+ {
+ v_msg="Bon caduc!";
+ v_msgEng="Obsolete!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ facture=$("#facture").val();
+
+
+ window.location.assign($("#racineWeb" ).val()+"Miseenobservation/");
+}
+
+function ajaxinfosbonprescriptionseance()
+{
+ bonCaduc=$("#bonCaduc").val();
+ // alert("bonCaduc => "+bonCaduc);
+ // return;
+
+ if (bonCaduc==1)
+ {
+ v_msg="Bon caduc!";
+ v_msgEng="Obsolete!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ badcodeGestionBon = $("#badcodeGestionBon").val();
+
+ if (badcodeGestionBon=="1")
+ {
+ v_msg="Veuillez revoir le type de gestion de bons!";
+ v_msgEng="Please review the type of forms management!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ codeGestionBon = $("#codeGestionBon").val();
+
+ if (codeGestionBon!="0")
+ {
+ v_msg="Option non disponible!";
+ v_msgEng="Option not available!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ numeroBonKine = $("#numeroBonKine").val();
+ numeroBonKine = parseInt(numeroBonKine);
+ if (numeroBonKine>0)
+ {
+ v_msg="D\u00e9jà effectu\u00e9!";
+ v_msgEng="Already done!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ facture=$("#facture").val();
+
+ if (facture==1)
+ {
+ v_msg="D\u00e9jà factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ codeMedecin = $("#codeMedecin").val();
+ if (codeMedecin<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner un m\u00e9decin!";
+ v_msgEng="Please select a doctor!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#numeroBon").val("");
+ $("#btn_enreg").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#nomMedecin").focus();
+ return;
+ }
+
+ numeroBon = $("#numeroBon").val();
+
+ if(isNaN(numeroBon))
+ {
+ v_msg="Veuillez revoir le num\u00e9ro de bon!";
+ v_msgEng="Please review the prescription number!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#btn_enreg").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if ($("#numeroBon").val()<="0")
+ {
+ v_msg="Veuillez saisir un No de bon!";
+ v_msgEng="Please enter a prescription number!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#btn_enreg").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+ donnees = "numeroBon="+numeroBon;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxinfosbonseance/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#infosbon").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+async function enregistrerprescriptionseance() {
+ // Validate form management type
+ if ($("#badcodeGestionBon").val() === "1") {
+ await alert_ebene(
+ "Veuillez revoir le type de gestion de bons!",
+ "Please review the type of forms management!"
+ );
+ return;
+ }
+
+ // Get form values
+ const codeGestionBon = $("#codeGestionBon").val();
+ const codeMedecin = $("#codeMedecin").val();
+ const motifSeance = $("#motifSeance").val().trim();
+
+ // Validate doctor selection
+ if (!codeMedecin.trim()) {
+ await alert_ebene(
+ "Veuillez sélectionner un médecin!",
+ "Please select a doctor!"
+ );
+ $("#nomMedecin").focus();
+ return;
+ }
+
+ // Validate session reason
+ if (!motifSeance) {
+ await alert_ebene(
+ "Saisissez le motif de la prescription de la séance de kinésithérapie!",
+ "Enter the reason for the prescription of the physiotherapy session!"
+ );
+ $("#motifSeance").focus();
+ return;
+ }
+
+ // Handle different form management types
+ let numeroBon;
+ let confirmationMsg, confirmationMsgEng;
+
+ if (codeGestionBon === "0") {
+ // Traditional form management
+ numeroBon = $("#numeroBon").val();
+ const numeroBonSave = $("#numeroBonSave").val();
+ const codeEtatBon = $("#codeEtatBon").val();
+
+ // Validate form number
+ if (isNaN(numeroBon)) {
+ await handleFormNumberError();
+ return;
+ }
+
+ if (numeroBon <= "0") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon!",
+ "Please enter a prescription number!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if (codeEtatBon !== "1") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon disponible!",
+ "Please enter a prescription number available!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if (numeroBonSave !== numeroBon) {
+ await handleFormNumberError();
+ return;
+ }
+
+ confirmationMsg = "Confirmez-vous ce No de bon?";
+ confirmationMsgEng = "Do you confirm this number of prescription?";
+ } else {
+ // Paperless management
+ numeroBon = "-1";
+ confirmationMsg = "Confirmez-vous cette prescription?";
+ confirmationMsgEng = "Do you confirm this prescription?";
+ }
+
+ // Final confirmation
+ const isConfirmed = await confirm_ebene_sweet(confirmationMsg, confirmationMsgEng);
+ if (!isConfirmed) return;
+
+ // Submit data
+ try {
+ $("#btn_enreg").disable();
+
+ const donnees = {
+ numeroBon: numeroBon,
+ codeMedecin: codeMedecin,
+ motifSeance: motifSeance,
+ codeGestionBon: codeGestionBon
+ };
+
+ await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxenregistrerprescriptionseance/enregistrerprescriptionseance/",
+ type: 'post',
+ data: donnees
+ });
+
+ await alert_ebene(
+ "Prescription enregistrée avec succès",
+ "Saved successfully!"
+ );
+ prescription_seance();
+ } catch (error) {
+ console.error("Error saving prescription:", error);
+ }
+}
+
+
+async function modifierprescriptionseance() {
+ // Initialize default values
+ const ententePrealable = "0";
+ const dureeTraitement = 0;
+
+ // Validate inputs
+ const codeMedecin = $("#codeMedecin").val().trim();
+ if (!codeMedecin) {
+ await alert_ebene(
+ "Veuillez sélectionner un médecin!",
+ "Please select a doctor!"
+ );
+ $("#nomMedecin").focus();
+ return;
+ }
+
+ const numeroBon = $("#numeroBon").val();
+ if (isNaN(numeroBon)) {
+ await handleFormNumberError();
+ return;
+ }
+
+ if (numeroBon <= "0") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon!",
+ "Please enter a prescription number!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ const codeActePrescription = $("#codeActe").val().trim();
+ if (!codeActePrescription) {
+ await alert_ebene(
+ "Veuillez sélectionner un acte!",
+ "Please select an act!"
+ );
+ return;
+ }
+
+ const quantite = parseInt($("#quantite").val()) || 0;
+ if (quantite < 1) {
+ await alert_ebene(
+ "Veuillez saisir la quantité!",
+ "Please enter the quantity!"
+ );
+ return;
+ }
+
+ const prixActe = $("#prixActe").val();
+
+ // Confirmation
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous cette prescription ?",
+ "Do you confirm this prescription?"
+ );
+ if (!isConfirmed) return;
+
+ // Prepare data
+ const formData = {
+ codeActePrescription: codeActePrescription,
+ quantite: quantite,
+ prixActe: prixActe,
+ montantTm: $("#montantTm").val(),
+ montantArembourser: $("#aRembourser").val(),
+ fraisReel: $("#totalActe").val(),
+ ententePrealable: ententePrealable,
+ fraisReelBase: $("#fraisReelBase").val(),
+ prixBase: $("#prixBase").val(),
+ depassement: $("#depassement").val(),
+ dureeTraitement: dureeTraitement
+ };
+
+ // Submit data
+ try {
+ $("#btn_enreg_seance").disable();
+
+ await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxenregistrerprescriptionseance/modifierprescriptionseance/",
+ type: 'post',
+ data: formData
+ });
+
+ prescription_seance();
+ } catch (error) {
+ $("#msgErreur").html(error);
+ }
+}
+
+
+function ajaxprixseance()
+{
+ $("#prixActe_info").val("0");
+ $("#montantTm_info").val("0");
+ $("#aRembourser_info").val("0");
+
+ datePrescription = $("#datePrescription").val();
+ prescriptionSiCritereBareme = $('#prescriptionSiCritereBareme').val();
+ codeActe = $("#codeActe").val();
+
+ if (codeActe<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner un act!";
+ v_msgEng="Please select an act!";
+ alert_ebene(v_msg, v_msgEng);
+ $("#codeActe").focus();
+ return;
+ }
+
+ var statut = isStatut(codeActe);
+
+ if(statut!='1' && prescriptionSiCritereBareme=="0")
+ {
+ v_msg="Cet acte n'est pas autorisé!";
+ v_msgEng="This act is not allowed!";
+ alert_ebene(v_msg, v_msgEng);
+
+ getstatutacte(codeActe);
+ $('#codeActe').val('');
+ return;
+ }
+
+ div_quantite = $("#quantite");
+ quantite = div_quantite.val();
+
+ if(quantite=="")
+ {
+ quantite = "0";
+ }
+
+ div_quantite.val(quantite);
+
+ quantite = parseInt(quantite);
+
+ if(quantite==0)
+ {
+ div_quantite.focus();
+ v_msg="Veuillez saisir le nombre de s\u00e9ances!";
+ v_msgEng="Please enter the number of sessions!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ // on va griser le bouton btn_enreg_seance
+ $("#btn_enreg_seance").disable();
+
+ getsourcebareme(codeActe, datePrescription);
+
+ dureeTraitement = 0;
+
+ prixSaisi = $("#prixSaisi").val();
+
+ donnees = 'codeActe='+codeActe+'&quantite='+quantite+'&dureeTraitement='+dureeTraitement;
+ donnees += '&prixSaisi='+prixSaisi;
+
+ $("#infosacte").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxprixseance/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#infosacte").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+async function valider_presciption_seances() {
+ // Validate prescription status
+ if ($("#bonCaduc").val() === "1") {
+ await alert_ebene("Bon caduc!", "Obsolete!");
+ return;
+ }
+
+ // Validate form management
+ if ($("#badcodeGestionBon").val() === "1") {
+ await alert_ebene(
+ "Veuillez revoir le type de gestion de bons!",
+ "Please review the type of forms management!"
+ );
+ return;
+ }
+
+ // Check if already billed
+ if ($("#facture").val() === "1") {
+ await alert_ebene("Déjà facturé!", "Already charged!");
+ return;
+ }
+
+ // Validate prescription exists
+ const numeroBonKine = parseInt($("#numeroBonKine").val()) || 0;
+ if (numeroBonKine <= 0) {
+ await alert_ebene("Pas de prescription!", "No prescription!");
+ return;
+ }
+
+ // Validate act selection
+ const codeActePrescription = $("#codeActePrescription").val().trim();
+ if (!codeActePrescription) {
+ await alert_ebene(
+ "Veuillez sélectionner un acte!",
+ "Please select an act!"
+ );
+ $("#btn_prescrire").click();
+ return;
+ }
+
+ // Validate session count
+ const nbSeance = parseInt($("#nbSeance").val()) || 0;
+ if (nbSeance < 1) {
+ await alert_ebene(
+ "Veuillez saisir le nombre de séances!",
+ "Please enter the number of sessions!"
+ );
+ $("#btn_prescrire").click();
+ return;
+ }
+
+ // Confirmation
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous cette prescription ?",
+ "Do you confirm this prescription?"
+ );
+
+ if (isConfirmed) {
+ envoieprescription_seance();
+ feuillemaladie();
+ }
+}
+
+async function valider_seance_cso() {
+ // Validate treatment duration
+ const dureeTraitement = $('#dureeTraitement').val();
+ if (dureeTraitement === "0") {
+ await alert_ebene(
+ "Veuillez indiquer la durée du traitement!",
+ "Please indicate the duration of treatment!"
+ );
+ $('#dureeTraitement').focus();
+ return;
+ }
+
+ // Validate treatment report if no sessions remaining
+ const nbRestant = $('#nbRestant').val();
+ const rapportTraitement = $("#rapportTraitement").val().trim();
+ if (nbRestant === "0" && !rapportTraitement) {
+ await alert_ebene(
+ "Veuillez enregistrer le rapport du traitement des séances!",
+ "Please fill in the reason for hospitalization!"
+ );
+ $("#rapportTraitement").focus();
+ return;
+ }
+
+ // Check for prior agreement requirement
+ const ententePrealableSea = $("#ententePrealableSea").val();
+ if (ententePrealableSea > 1) {
+ await alert_ebene(
+ "Entente préalable!",
+ "Prior agreement!"
+ );
+ return;
+ }
+
+ // Validate form management type
+ if ($("#badcodeGestionBon").val() === "1") {
+ await alert_ebene(
+ "Veuillez revoir le type de gestion de bons!",
+ "Please review the type of forms management!"
+ );
+ return;
+ }
+
+ // Check if already billed
+ if ($("#facture").val() === "1") {
+ await alert_ebene(
+ "Déjà facturé!",
+ "Already charged!"
+ );
+ return;
+ }
+
+ // Validate session selection
+ const numeroBonSeance = $("#numeroBonSeance_C").val();
+ if (numeroBonSeance <= "0") {
+ await alert_ebene(
+ "Veuillez sélectionner un bon!",
+ "Please enter a prescription number!"
+ );
+ $("#btn_InitSession").click();
+ return;
+ }
+
+ // Validate session count
+ let quantite = parseInt($("#quantiteSeance").val()) || 0;
+ if (quantite === 0) {
+ await alert_ebene(
+ "Veuillez saisir le nombre de séances!",
+ "Please enter the number of sessions!"
+ );
+ return;
+ }
+
+ // Validate pricing
+ const prixActe = parseInt($("#prixActe").val());
+ if (prixActe === 0) {
+ await alert_ebene(
+ "Veuillez revoir le tarif!",
+ "Please review rate!"
+ );
+ return;
+ }
+
+ // Confirmation
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous ces séances?",
+ "Do you confirm these sessions?"
+ );
+
+ if (!isConfirmed) return;
+
+ // Prepare and submit data
+ const donnees = {
+ codeGestionBon: $("#codeGestionBon").val()
+ };
+
+ try {
+ await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxdetailseance/enregistrerseance/",
+ type: 'POST',
+ data: donnees
+ });
+ feuillemaladie();
+ } catch (error) {
+ console.error("Error saving sessions:", error);
+ }
+}
+
+function actualiser_seance()
+{
+ window.location.assign($("#racineWeb" ).val()+"Seances/");
+}
+
+// SEANCES KINE
+async function valider_seance_sea_cso() {
+ // Validate prior agreement requirement
+ const ententePrealableSea = $("#ententePrealableSea").val();
+ if (ententePrealableSea > 1) {
+ await alert_ebene("Entente préalable!", "Prior agreement!");
+ return;
+ }
+
+ // Validate form management type
+ if ($("#badcodeGestionBon").val() === "1") {
+ await alert_ebene(
+ "Veuillez revoir le type de gestion de bons!",
+ "Please review the type of forms management!"
+ );
+ return;
+ }
+
+ // Validate obsolete prescription
+ const modeSaisieFacture = $("#modeSaisieFacture").val();
+ if ($("#bonCaduc").val() === "1" && modeSaisieFacture !== "1") {
+ await alert_ebene("Bon caduc!", "Obsolete!");
+ return;
+ }
+
+ // Validate session selection
+ const numeroBonSeance = $("#numeroBonSeance_C").val();
+ if (numeroBonSeance <= "0") {
+ await alert_ebene("Rien à facturer!", "Nothing to bill!");
+ return;
+ }
+
+ // Validate act selection
+ const codeActe = $("#codeActe").val().trim();
+ if (!codeActe) {
+ await alert_ebene(
+ "Veuillez sélectionner un acte!",
+ "Please select an act!"
+ );
+ $("#codeActe").focus();
+ return;
+ }
+
+ // Validate quantity
+ const quantiteSeance = parseInt($("#quantiteSeance").val()) || 0;
+ if (quantiteSeance <= 0) {
+ await alert_ebene(
+ "Veuillez revoir la quantité!",
+ "Please review the quantity!"
+ );
+ return;
+ }
+
+ // Validate pricing
+ const fraisRetenuSeance = parseInt($("#fraisRetenuSeance").val()) || 0;
+ const depassementSeance = parseInt($("#depassementSeance").val()) || 0;
+ if (fraisRetenuSeance <= 0 && depassementSeance <= 0) {
+ await alert_ebene(
+ "Veuillez revoir le tarif!",
+ "Please review rate!"
+ );
+ return;
+ }
+
+ // Validate billing status
+ const statut = $("#statut").val();
+ if (!["1", "4", "5"].includes(statut)) {
+ await alert_ebene(
+ "Facturation impossible!",
+ "Billing not possible!"
+ );
+ return;
+ }
+
+ // Confirmation
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous la facturation de ces séances?",
+ "Do you confirm the billing for these sessions?"
+ );
+
+ if (isConfirmed) {
+ const user_id_0 = $("#user_id_C").val();
+ facturer_sea_cso(user_id_0);
+ }
+}
+
+function facturer_sea_cso(user_id)
+{
+ badcodeGestionBon = $("#badcodeGestionBon").val();
+
+ if (badcodeGestionBon=="1")
+ {
+ v_msg="Veuillez revoir le type de gestion de bons!";
+ v_msgEng="Please review the type of forms management!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ codeGestionBon = $("#codeGestionBon").val();
+ nbBonsCons = $("#nbBonsCons").val();
+
+ cout = $("#cout").val();
+
+ if (cout==0)
+ {
+ v_msg="Rien à facturer!";
+ v_msgEng="Nothing to bill!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ prixActe = $("#prixActe").val();
+ montantTm = $("#montantTm").val();
+ cout = $("#cout").val();
+
+ montantTm_f = $("#montantTm_f").val();
+ cout_f = $("#cout_f").val();
+
+ donnees = 'prixActe='+prixActe;
+ donnees += '&montantTm='+montantTm;
+ donnees += '&cout='+cout;
+
+ numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
+ codePrestataire = $("#codePrestataire_C").val();
+
+ donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailkine';
+
+ typeSms = "facturer_sea";
+
+ user_id_0 = $("#user_id_C").val();
+ user_id_substitut = "0";
+ if (user_id_0!=user_id)
+ {
+ user_id_substitut = user_id;
+ }
+
+ donnees_substitut = 'user_id_substitut='+user_id_substitut;
+
+ // ajout du 27/06/2019 => prise en compte de la gestion paperless
+ // donnees += '&codeGestionBon='+codeGestionBon;
+ donnees_substitut += '&codeGestionBon='+codeGestionBon;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfacturatioseancesea/facturerseance/",
+ type: 'POST',
+ data: donnees_substitut,
+ success: function(data)
+ {
+ // $('#div_test_gabarit').html(data);
+ // KANE 17/03/2025 => ne pas envoyer de SMS d'alerte de facturation
+ // preparesms_adherent(typeSms);
+ },
+ error: function(data) {
+ },
+ complete: function()
+ {
+ // KANE 17/03/2025 => ne pas envoyer de mail d'alerte de facturation
+ // preparemail_adherent(typeSms);
+
+ v_msg="Facturation effectu\u00e9e avec succès!";
+ v_msgEng="Billing done successfully!";
+ alert_ebene(v_msg, v_msgEng);
+
+ afficher_seance_cso();
+ }
+ });
+
+}
+
+function rechercherbonkine_sea()
+{
+ numeroBonKine=$("#numeroBonKine").val();
+
+ if (numeroBonKine>" ")
+ {
+ chercher_ordonnance_sea(numeroBonKine);
+ }
+}
+
+function chercher_ordonnance_sea(numeroBonKine)
+{
+ $("#numeroBonSeance_C").val("-1");
+ donnees = 'numeroBonKine='+numeroBonKine;
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxchangerordonnancesea/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ window.location.assign($("#racineWeb" ).val()+"Kine/");
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function ctrlkeypressordsea(ev)
+{
+ var keycode = (ev.keyCode ? ev.keyCode : ev.which);
+ if(keycode == '13')
+ {
+ numeroBonKine=$("#numeroBonKine").val();
+ $("#numeroBonKine").blur();
+ }
+}
+
+function rechercherbonkine_sea_cso()
+{
+ numeroBonKine=$("#numeroBonKine").val();
+
+ if (numeroBonKine>" ")
+ {
+ chercher_ordonnance_sea_cso(numeroBonKine);
+ }
+}
+
+function chercher_ordonnance_sea_cso(numeroBonKine)
+{
+ $("#numeroBonSeance_C").val("-1");
+
+ donnees = 'numeroBonKine='+numeroBonKine;
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxchangerordonnancesea/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ window.location.assign($("#racineWeb" ).val()+"Kinecso/");
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+
+}
+
+
+function ajaxinfosbonseancekine()
+{
+ badcodeGestionBon = $("#badcodeGestionBon").val();
+
+ if (badcodeGestionBon=="1")
+ {
+ v_msg="Veuillez revoir le type de gestion de bons!";
+ v_msgEng="Please review the type of forms management!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ numeroBon = $("#numeroBon").val();
+
+ if(isNaN(numeroBon))
+ {
+ v_msg="Veuillez revoir le num\u00e9ro de bon!";
+ v_msgEng="Please review the prescription number!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#btn_enreg").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if ($("#numeroBon").val()<="0")
+ {
+ v_msg="Veuillez saisir un No de bon!";
+ v_msgEng="Please enter a prescription number!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#btn_enreg_bon_kine").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+ donnees = "numeroBon="+numeroBon;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxinfosbonseancekine/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#infosbon").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+async function enregistrerbonsseancekine() {
+ // Validate form management type
+ if ($("#badcodeGestionBon").val() === "1") {
+ await alert_ebene(
+ "Veuillez revoir le type de gestion de bons!",
+ "Please review the type of forms management!"
+ );
+ return;
+ }
+
+ const codeGestionBon = $("#codeGestionBon").val();
+ let numeroBon;
+ let confirmationMsg, confirmationMsgEng;
+
+ // Handle different form management types
+ if (codeGestionBon === "0") {
+ // Traditional form management
+ const numeroBonSave = $("#numeroBonSave").val();
+ numeroBon = $("#numeroBon").val();
+ const codeEtatBon = $("#codeEtatBon").val();
+
+ // Validate form number
+ if (isNaN(numeroBon)) {
+ await handleFormNumberError();
+ return;
+ }
+
+ if (numeroBon <= "0") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon!",
+ "Please enter a prescription number!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if (codeEtatBon !== "1") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon disponible!",
+ "Please enter a prescription number available!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if (numeroBonSave !== numeroBon) {
+ await handleFormNumberError();
+ return;
+ }
+
+ confirmationMsg = "Confirmez-vous ce No de bon?";
+ confirmationMsgEng = "Do you confirm this number of prescription?";
+ } else {
+ // Paperless management
+ numeroBon = "1";
+ confirmationMsg = "Confirmez-vous cette opération?";
+ confirmationMsgEng = "Do you confirm this operation?";
+ }
+
+ // Final confirmation
+ const isConfirmed = await confirm_ebene_sweet(confirmationMsg, confirmationMsgEng);
+ if (!isConfirmed) return;
+
+ // Submit data
+ try {
+ const donnees = {
+ numeroBon: numeroBon,
+ codeGestionBon: codeGestionBon
+ };
+
+ await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxinfosbonseancekine/attributionbontemporaire/",
+ type: 'post',
+ data: donnees
+ });
+
+ afficher_facturation_seance();
+ } catch (error) {
+ console.error("Error saving session form:", error);
+ }
+}
+
+
+function afficher_facturation_seance()
+{
+ $("#div_facturation_seance").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfacturatioseancesea/",
+ // type : 'post',
+ // data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#btn_close_pop_session").click();
+ $("#div_facturation_seance").html(data);
+ $("#quantiteSeance").focus();
+ },
+ complete: function(data) {
+ $("#numeroBonSeance_C").val($("#numeroBonSeance_info").val());
+
+ }
+ });
+}
+
+// Facturation SEANCE KINE
+async function valider_seance_sea() {
+ // Validate prior agreement requirement
+ const ententePrealableSea = $("#ententePrealableSea").val();
+ if (ententePrealableSea > 1) {
+ await alert_ebene("Entente préalable!", "Prior agreement!");
+ return;
+ }
+
+ // Validate form management type
+ if ($("#badcodeGestionBon").val() === "1") {
+ await alert_ebene(
+ "Veuillez revoir le type de gestion de bons!",
+ "Please review the type of forms management!"
+ );
+ return;
+ }
+
+ // Validate obsolete prescription
+ const modeSaisieFacture = $("#modeSaisieFacture").val();
+ if ($("#bonCaduc").val() === "1" && modeSaisieFacture !== "1") {
+ await alert_ebene("Bon caduc!", "Obsolete!");
+ return;
+ }
+
+ // Validate session selection
+ const numeroBonSeance = $("#numeroBonSeance_C").val();
+ if (numeroBonSeance <= "0") {
+ await alert_ebene("Rien à facturer!", "Nothing to bill!");
+ return;
+ }
+
+ // Validate act selection
+ const codeActe = $("#codeActe").val().trim();
+ if (!codeActe) {
+ await alert_ebene(
+ "Veuillez sélectionner un acte!",
+ "Please select an act!"
+ );
+ $("#codeActe").focus();
+ return;
+ }
+
+ // Validate pricing
+ const fraisRetenuSeance = parseInt($("#fraisRetenuSeance").val()) || 0;
+ const depassementSeance = parseInt($("#depassementSeance").val()) || 0;
+ if (fraisRetenuSeance <= 0 && depassementSeance <= 0) {
+ await alert_ebene(
+ "Veuillez revoir le tarif!",
+ "Please review rate!"
+ );
+ return;
+ }
+
+ // Validate billing status
+ const statut = $("#statut").val();
+ if (!["1", "4", "5"].includes(statut)) {
+ await alert_ebene(
+ "Facturation impossible!",
+ "Billing not possible!"
+ );
+ return;
+ }
+
+ // Confirmation
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous ces séances?",
+ "Do you confirm those sessions?"
+ );
+
+ if (isConfirmed) {
+ const user_id_0 = $("#user_id_C").val();
+ facturer_sea(user_id_0);
+ }
+}
+
+function facturer_sea(user_id)
+{
+ badcodeGestionBon = $("#badcodeGestionBon").val();
+
+ if (badcodeGestionBon=="1")
+ {
+ v_msg="Veuillez revoir le type de gestion de bons!";
+ v_msgEng="Please review the type of forms management!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ codeGestionBon = $("#codeGestionBon").val();
+ nbBonsCons = $("#nbBonsCons").val();
+
+ cout = $("#cout").val();
+
+ if (cout==0)
+ {
+ v_msg="Rien à facturer!";
+ v_msgEng="Nothing to bill!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ prixActe = $("#prixActe").val();
+ montantTm = $("#montantTm").val();
+ cout = $("#cout").val();
+
+ montantTm_f = $("#montantTm_f").val();
+ cout_f = $("#cout_f").val();
+
+ donnees = 'prixActe='+prixActe;
+ donnees += '&montantTm='+montantTm;
+ donnees += '&cout='+cout;
+
+ numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
+ codePrestataire = $("#codePrestataire_C").val();
+
+ donnees_sav = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&codePrestataire='+codePrestataire+'&typeMail=mailkine';
+
+ typeSms = "facturer_sea";
+
+ user_id_0 = $("#user_id_C").val();
+ user_id_substitut = "0";
+ if (user_id_0!=user_id)
+ {
+ user_id_substitut = user_id;
+ }
+
+ donnees_substitut = 'user_id_substitut='+user_id_substitut;
+ // ajout du 27/06/2019 => prise en compte de la gestion paperless
+ donnees_substitut += '&codeGestionBon='+codeGestionBon;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfacturatioseancesea/facturerseance/",
+ type: 'POST',
+ data: donnees_substitut,
+ success: function(data)
+ {
+ // KANE 17/03/2025 => ne pas envoyer de SMS d'alerte de facturation
+ // preparesms_adherent(typeSms);
+ },
+ error: function(data) {
+ },
+ complete: function()
+ {
+ // KANE 17/03/2025 => ne pas envoyer de mail d'alerte de facturation
+ // preparemail_adherent(typeSms);
+
+ v_msg="Facturation effectu\u00e9e avec succès!";
+ v_msgEng="Billing done successfully!";
+ alert_ebene(v_msg, v_msgEng);
+
+ // window.location.assign($("#racineWeb" ).val()+"Kine/");
+ afficher_seance_kine();
+ }
+ });
+}
+
+/*
+function rechercherbonexamen_lab_cso()
+{
+ numeroBonExamen=$("#numeroBonExamen").val();
+
+ if (numeroBonExamen>" ")
+ {
+ chercher_ordonnance_lab_cso(numeroBonExamen);
+ }
+}
+*/
+
+// 19/11/2017
+
+async function enregistrerbonsseancekinecso() {
+ // 1. Validation du type de gestion des bons
+ if ($("#badcodeGestionBon").val() === "1") {
+ await alert_ebene(
+ "Veuillez revoir le type de gestion de bons!",
+ "Please review the type of forms management!"
+ );
+ return;
+ }
+
+ const codeGestionBon = $("#codeGestionBon").val();
+ let numeroBon;
+ let confirmationMsg, confirmationMsgEng;
+
+ // 2. Gestion différenciée selon le type de gestion (paperless ou non)
+ if (codeGestionBon === "0") {
+ // Mode traditionnel avec gestion des bons physiques
+
+ const numeroBonSave = $("#numeroBonSave").val();
+ numeroBon = $("#numeroBon").val();
+ const codeEtatBon = $("#codeEtatBon").val();
+
+ // 2.1 Validation du numéro de bon
+ if (isNaN(numeroBon)) {
+ await handleFormNumberError();
+ return;
+ }
+
+ // 2.2 Vérification que le numéro est valide
+ if (numeroBon <= "0") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon!",
+ "Please enter a prescription number!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ // 2.3 Vérification de la disponibilité du bon
+ if (codeEtatBon !== "1") {
+ await alert_ebene(
+ "Veuillez saisir un No de bon disponible!",
+ "Please enter a prescription number available!"
+ );
+ $("#numeroBon").focus();
+ return;
+ }
+
+ // 2.4 Vérification de la cohérence avec le bon enregistré
+ if (numeroBonSave !== numeroBon) {
+ await handleFormNumberError();
+ return;
+ }
+
+ confirmationMsg = "Confirmez-vous ce No de bon?";
+ confirmationMsgEng = "Do you confirm this number of prescription?";
+ } else {
+ // Mode paperless (sans gestion physique des bons)
+ numeroBon = $("#numeroBon").val();
+ confirmationMsg = "Confirmez-vous ce dossier?";
+ confirmationMsgEng = "Do you confirm this claim?";
+ }
+
+ // 3. Confirmation finale par l'utilisateur
+ const isConfirmed = await confirm_ebene_sweet(confirmationMsg, confirmationMsgEng);
+ if (!isConfirmed) return;
+
+ // 4. Envoi des données au serveur
+ try {
+ const donnees = {
+ numeroBon: numeroBon,
+ codeGestionBon: codeGestionBon
+ };
+
+ await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxinfosbonseancekinecso/attributionbontemporaire/",
+ type: 'post',
+ data: donnees
+ });
+
+ // 5. Affichage du résultat
+ afficher_facturation_seance_cso();
+ } catch (error) {
+ console.error("Erreur lors de l'enregistrement du bon:", error);
+ }
+}
+
+// Fonction helper pour gérer les erreurs de numéro de bon
+async function handleFormNumberError() {
+ await alert_ebene(
+ "Veuillez revoir le numéro de bon!",
+ "Please review the prescription number!"
+ );
+ // Désactivation du bouton et réinitialisation des messages
+ $("#btn_enreg").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+ $("#numeroBon").focus();
+}
+
+
+function afficher_facturation_seance_cso()
+{
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfacturatioseancecso/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#btn_close_pop_session").click();
+ $("#div_facturation_seance").html(data);
+ $("#btn_InitSession").hide();
+ $("#div_liste_seance").hide();
+
+ $("#quantiteSeance").focus();
+
+ },
+ complete: function(data) {
+ $("#numeroBonSeance_C").val($("#numeroBonSeance_info").val());
+ }
+ });
+}
+
+
+function ajaxinfosbonseancekinecso()
+{
+ badcodeGestionBon = $("#badcodeGestionBon").val();
+
+ if (badcodeGestionBon=="1")
+ {
+ v_msg="Veuillez revoir le type de gestion de bons!";
+ v_msgEng="Please review the type of forms management!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ numeroBon = $("#numeroBon").val();
+
+ if(isNaN(numeroBon))
+ {
+ v_msg="Veuillez revoir le num\u00e9ro de bon!";
+ v_msgEng="Please review the prescription number!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#btn_enreg").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+ if ($("#numeroBon").val()<="0")
+ {
+ v_msg="Veuillez saisir un No de bon!";
+ v_msgEng="Please enter a prescription number!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#btn_enreg_bon_kine").disable();
+ $("#msgErreur").html("");
+ $("#codeEtatBon").val("");
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+ donnees = "numeroBon="+numeroBon;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxinfosbonseancekinecso/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#infosbon").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+function ajaxmajquteseancecso()
+{
+ div_prix = $("#prixActe");
+ prixActe = div_prix.val();
+
+ prixBase = $("#prixBase").val();
+
+
+ if(prixActe==0)
+ {
+ v_msg="Veuillez revoir le tarif!";
+ v_msgEng="Please review rate!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ div_quantite = $("#quantiteSeance");
+ quantite = div_quantite.val();
+
+ if(quantite=="")
+ {
+ quantite = "0";
+ }
+
+ div_quantite.val(quantite);
+
+ quantite = parseInt(quantite);
+
+ if(quantite==0)
+ {
+ div_quantite.focus();
+ //$("#quantiteSeance").val("1");
+ v_msg="Veuillez saisir le nombre de s\u00e9ances!";
+ v_msgEng="Please enter the number of sessions!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ div_nbRestant = $("#nbRestant");
+ nbRestant = div_nbRestant.val();
+ nbRestant = parseInt(nbRestant);
+
+ if(quantite>nbRestant)
+ {
+ div_quantite.focus();
+ v_msg="Vous ne pouvez pas d\u00e9passer "+nbRestant+" s\u00e9ances!";
+ v_msgEng="Only "+nbRestant+" sessions are possible!";
+ alert_ebene(v_msg, v_msgEng);
+
+ div_quantite.val(0);
+
+ return;
+ }
+
+ $("#btn_enreg_seance").disable();
+
+ $("#div_facturation_seance").html('' + '
');
+
+ donnees = 'prixActe='+prixActe+'&quantite='+quantite+'&prixBase='+prixBase;
+
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfacturatioseancecso/modifierseancecso/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ // $("#infoseance").html(data);
+ },
+ complete: function() {
+ afficher_facturation_seance_cso();
+ }
+ });
+}
+
+
+
+function consulter_limite_avant_facturation_kinecso(idFacture)
+{
+ /*
+ if (idFacture<=0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturekinecso/"+idFacture+"/");
+ */
+}
+
+
+function consulter_limite_avant_facturation_kine(idFacture)
+{
+ /*
+ if (idFacture<=0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturekine/"+idFacture+"/");
+ */
+}
+
+function afficher_seance_kine()
+{
+ window.location.assign($("#racineWeb" ).val()+"Kine/");
+}
+
+// consulatation_ben
+
+function consultationbenlab()
+{
+ window.location.assign($("#racineWeb" ).val()+"Consultationbenlab/");
+}
+
+function consultationbensea()
+{
+ window.location.assign($("#racineWeb" ).val()+"Consultationbensea/");
+}
+
+function laboratoire()
+{
+ if (prestation_possible())
+ {
+ /* mis en commentaire le 28/11/2017
+
+ derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val();
+ if(derogation_finger_en_cours>0)
+ {
+ $("#okId" ).val("1");
+ }
+ else
+ {
+ finger_id = $("#finger_id_C" ).val();
+
+ if (finger_id==0)
+ {
+ v_msg="Veuillez proc\u00e9der à l\'enrôlement avant!";
+ v_msgEng="Please enroll before!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ okId=$("#okId" ).val();
+
+ if (okId!=1)
+ {
+ v_msg="Veuillez proc\u00e9der à l\'identification avant!";
+ v_msgEng="Please check identity before!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ }
+ */
+
+ window.location.assign($("#racineWeb" ).val()+"Laboratoire/");
+ }
+}
+
+
+function seancekine()
+{
+ if (prestation_possible())
+ {
+ /* mis en commentaire le 28/11/2017
+
+ derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val();
+ if(derogation_finger_en_cours>0)
+ {
+ $("#okId" ).val("1");
+ }
+ else
+ {
+ finger_id = $("#finger_id_C" ).val();
+
+ if (finger_id==0)
+ {
+ v_msg="Veuillez proc\u00e9der à l\'enrôlement avant!";
+ v_msgEng="Please enroll before!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ okId=$("#okId" ).val();
+
+ if (okId!=1)
+ {
+ v_msg="Veuillez proc\u00e9der à l\'identification avant!";
+ v_msgEng="Please check identity before!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ }
+ */
+
+ window.location.assign($("#racineWeb" ).val()+"Kine/");
+ }
+}
+
+function afficher_facture_cons_lab(idFacture, numeroBonExamen, codePrestataireLivraison)
+{
+ if (idFacture>"")
+ {
+ donnees = 'idFacture='+idFacture+'&numeroBonExamen='+numeroBonExamen+'&codePrestataireLivraison='+codePrestataireLivraison;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxcontextfacturelab/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ complete: function() {
+ consulter_facture_lab();
+ }
+ });
+ }
+}
+
+function consulter_facture_lab()
+{
+ window.location.assign($("#racineWeb" ).val()+"Laboratoirecons/");
+}
+
+function consulter_limite_avant_facturation_lab_cons()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelabcons/");
+ */
+}
+
+function afficher_facture_cons_lab_ben(idFacture, numeroBonExamen, codePrestataireLivraison)
+{
+ if (idFacture>"")
+ {
+ donnees = 'idFacture='+idFacture+'&numeroBonExamen='+numeroBonExamen+'&codePrestataireLivraison='+codePrestataireLivraison;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxcontextfacturelab/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ complete: function() {
+ consulter_facture_lab_ben();
+ }
+ });
+ }
+}
+
+function consulter_facture_lab_ben()
+{
+ window.location.assign($("#racineWeb" ).val()+"Laboratoireconsben/");
+}
+
+function consulter_limite_avant_facturation_lab_cons_ben()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfacturelabconsben/");
+ */
+}
+
+function listerdossiercons_lab()
+{
+ d1=$("#d1").val();
+ d2=$("#d2").val();
+
+ donnees = 'd1='+d1+'&d2='+d2;
+ donnees_sav = donnees;
+
+ $("#detail_reglement").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxconsultationlabentete/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#reglement").html(data);
+ },
+ complete: function() {
+ }
+ });
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxconsultationlab/",
+ type : 'post',
+ data: donnees_sav,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#detail_reglement").html(data);
+ $("#detail_reglement").css("padding-top", "0px");
+ },
+ complete: function() {
+ }
+ });
+}
+
+function lister_factures_lab_ben()
+{
+ d1=$("#d1").val();
+ d2=$("#d2").val();
+
+ donnees = 'd1='+d1+'&d2='+d2;
+
+ $("#div_dossiers").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxconsultationbenlab/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_dossiers").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consultationsea()
+{
+ window.location.assign($("#racineWeb" ).val()+"Consultationsea/");
+}
+
+function listerdossiercons_sea()
+{
+ d1=$("#d1").val();
+ d2=$("#d2").val();
+
+ donnees = 'd1='+d1+'&d2='+d2;
+ donnees_sav = donnees;
+
+ $("#detail_reglement").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxconsultationseaentete/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#reglement").html(data);
+ },
+ complete: function() {
+ }
+ });
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxconsultationsea/",
+ type : 'post',
+ data: donnees_sav,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#detail_reglement").html(data);
+ $("#detail_reglement").css("padding-top", "0px");
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consulter_facture_sea()
+{
+ window.location.assign($("#racineWeb" ).val()+"Kinecons/");
+}
+
+function consulter_limite_avant_facturation_sea_cons()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureseacons/");
+ */
+}
+
+function lister_factures_sea_ben()
+{
+ d1=$("#d1").val();
+ d2=$("#d2").val();
+
+ donnees = 'd1='+d1+'&d2='+d2;
+
+ $("#div_dossiers").html('' + '
');
+
+ $.ajax({
+ // url: $("#racineWeb").val()+"Ajaxconsultationbenlab/",
+ url: $("#racineWeb").val()+"Ajaxconsultationbensea/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_dossiers").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+function afficher_facture_cons_sea(idFacture, numeroBonKine, codePrestataireLivraison)
+{
+ if (idFacture>"")
+ {
+ donnees = 'idFacture='+idFacture+'&numeroBonKine='+numeroBonKine+'&codePrestataireLivraison='+codePrestataireLivraison;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxcontextfacturesea/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ complete: function() {
+ consulter_facture_sea();
+ }
+ });
+ }
+}
+
+
+function afficher_facture_cons_sea_ben(idFacture, numeroBonKine, codePrestataireLivraison)
+{
+ if (idFacture>"")
+ {
+ donnees = 'idFacture='+idFacture+'&numeroBonKine='+numeroBonKine+'&codePrestataireLivraison='+codePrestataireLivraison;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxcontextfacturesea/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ complete: function() {
+ consulter_facture_sea_ben();
+ }
+ });
+ }
+}
+
+function consulter_facture_sea_ben()
+{
+ window.location.assign($("#racineWeb" ).val()+"Kineconsben/");
+}
+
+function consulter_limite_avant_facturation_sea_cons_ben()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureseaconsben/");
+ */
+}
+
+function ctrlkeypress_numeroBon(ev)
+{
+ var keycode = (ev.keyCode ? ev.keyCode : ev.which);
+ if(keycode == '13')
+ {
+ $("#numeroBon").blur();
+ }
+}
+
+function verifier_feuille_maladie_dec_cons(numeroFeuilleMaladie, idFacture)
+{
+
+
+ $("#numeroFeuilleMaladie_C").val(numeroFeuilleMaladie);
+ numeroDecompte = $("#numeroDecompte").val();
+
+ // if (numeroFeuilleMaladie>"")
+ if (idFacture>"")
+ {
+ donnees = 'numeroFeuilleMaladie='+numeroFeuilleMaladie+'&numeroDecompte='+numeroDecompte+'&idFacture='+idFacture;
+
+ codeTypePrestataire = $("#codeTypePrestataire_C").val();
+
+ if(codeTypePrestataire=="CSO" || codeTypePrestataire=="LAB" || codeTypePrestataire=="SEA" || codeTypePrestataire=="DEN" || codeTypePrestataire=="POC" || codeTypePrestataire=="HPC" || codeTypePrestataire=="HPP" || codeTypePrestataire=="CME")
+ {
+
+ verifier_feuille_maladie_dec_cso_cons(donnees);
+ }
+ else
+ if(codeTypePrestataire=="PHA")
+ {
+ verifier_feuille_maladie_dec_pha_cons(donnees);
+ }
+ else
+ if(codeTypePrestataire=="OPT")
+ {
+ verifier_feuille_maladie_dec_opt_cons(donnees);
+ }
+ }
+}
+
+
+function imprimerbordereaudecompte()
+{
+ idReglement = $("#idReglement").val();
+
+ if (idReglement>"0")
+ {
+ var div_wait = $('#div_wait');
+ div_wait.html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaximprimerdemandereglement/imprimerbordereaudecompte",
+ type: 'POST',
+ success: function(data)
+ {
+ div_wait.html(data);
+ },
+ error : function(resultat, statut, erreur)
+ {
+ },
+ complete: function(data)
+ {
+ }
+ });
+ }
+}
+
+function verifier_feuille_maladie_dec_cso_cons(donnees)
+{
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxverifierfacturecons/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_verification_facture").html(data);
+ },
+ complete: function() {
+ $("#btn_pop").click();
+ }
+ });
+}
+
+function verifier_feuille_maladie_dec_pha_cons(donnees)
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxverifierfacturephacons/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_verification_facture").html(data);
+ },
+ complete: function() {
+ $("#btn_pop").click();
+ }
+ });
+}
+
+function verifier_feuille_maladie_dec_opt_cons(donnees)
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxverifierfactureoptcons/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_verification_facture").html(data);
+ },
+ complete: function() {
+ $("#btn_pop").click();
+ }
+ });
+}
+
+function limite_avant_facture_dec(idFacture)
+{
+ donnees = 'idFacture='+idFacture;
+ $.ajax({
+ url: $("#racineWeb").val()+"AjaxPlafondavantfacturecdec/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_limites").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+function demander_decompte()
+{
+ window.location.assign($("#racineWeb" ).val()+"Initdemandedecompte/");
+}
+
+function initierdemandedecompte()
+{
+ codeExercice=$("#codeExercice").val();
+ codeMois=$("#codeMois").val();
+
+ if (codeExercice<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner un exercice!";
+ v_msgEng="Please select an exercise!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeExercice").focus();
+
+ return;
+ }
+
+ if (codeMois<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une p\u00e9riode!";
+ v_msgEng="Please select a period!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeMois").focus();
+ return;
+ }
+
+ donnees = 'codeExercice='+codeExercice+'&codeMois='+codeMois;
+
+ // $("#div_dossiers").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdemandedecompte/initierdemandedecompte/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#inforegle").html(data);
+ },
+ complete: function() {
+ regle=$("#regle").val();
+
+ if(regle==-1)
+ {
+ v_msg="Problème lors de l\'initialisation!";
+ v_msgEng="Problem during initialization!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ else
+ {
+ afficher_demande_decompte();
+ }
+ }
+ });
+}
+
+function afficher_demande_decompte()
+{
+ $("#detail_demande_decompte").html('' + '
');
+ window.location.assign($("#racineWeb" ).val()+"Demandedecompte/");
+}
+
+
+function imprimerbordereaudemandedecompte()
+{
+ idDemandeDecompte = $("#idDemandeDecompte").val();
+
+ if (idDemandeDecompte>"0")
+ {
+ var div_wait = $('#div_wait');
+ div_wait.html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaximprimerdemandedecompte/imprimerdemandecompte",
+ type: 'POST',
+ success: function(data)
+ {
+ div_wait.html(data);
+ },
+ error : function(resultat, statut, erreur)
+ {
+ },
+ complete: function(data)
+ {
+ }
+ });
+ }
+}
+
+
+function rechargerdemandedecompte()
+{
+ $("#detail_demande_decompte").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdemandedecompte/rechargerdemandedecompte/",
+ type : 'post',
+ error: function(errorData) {
+ },
+ success: function(data) {
+ afficher_demande_decompte();
+ },
+ complete: function() {
+ }
+ });
+}
+
+function actualiser_decompte()
+{
+ $("#div_detail").html('' + '
');
+
+ window.location.assign($("#racineWeb" ).val()+"Decomptecons/");
+}
+
+function monture()
+{
+ $("#monture").val("1");
+
+ if (prestation_possible())
+ {
+ $("#okId" ).val("1");
+ window.location.assign($("#racineWeb" ).val()+"Monture/");
+
+ /* MAJ du 06/06/2019 => proposition de Pascal => les magasins d'optique n'ont pas de lecteurs d'empriente
+ modeSaisieFacture=$("#modeSaisieFacture").val();
+ if(modeSaisieFacture=="1")
+ {
+ $("#okId" ).val("1");
+ window.location.assign($("#racineWeb" ).val()+"Monture/");
+ return;
+ }
+
+ derogation_finger_en_cours=$("#derogation_finger_en_cours_C").val();
+ if(derogation_finger_en_cours>0)
+ {
+ $("#okId" ).val("1");
+ }
+ else
+ {
+ finger_id = $("#finger_id_C" ).val();
+
+ if (finger_id==0)
+ {
+ v_msg="Veuillez proc\u00e9der à l\'enrôlement avant!";
+ v_msgEng="Please enroll before!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ okId=$("#okId" ).val();
+
+ if (okId!=1)
+ {
+ v_msg="Veuillez proc\u00e9der à l\'identification avant!";
+ v_msgEng="Please check identity before!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ }
+
+ window.location.assign($("#racineWeb" ).val()+"Monture/");
+ */
+ }
+}
+
+function actualiser_monture()
+{
+ window.location.assign($("#racineWeb" ).val()+"Monture/");
+}
+
+async function valider_monture() {
+ // 1. Vérification si déjà facturé
+ const dejaFacture = $("#dejaFacture").val();
+ if (dejaFacture === "1") {
+ await alert_ebene("Déjà facturé!", "Already charged!");
+ return;
+ }
+
+ // 2. Vérification de l'autorisation préalable pour les montures
+ const ententePrealableMont = $("#ententePrealableMont").val();
+ const nbActesMonture = parseInt($("#nbActesMonture").val()) || 0;
+
+ if (nbActesMonture > 0 && ententePrealableMont != 1) {
+ await alert_ebene(
+ "Veuillez demander une autorisation!",
+ "Please ask for an authorization!"
+ );
+ return;
+ }
+
+ // 3. Validation du numéro de facture
+ const numeroFacture = $("#numeroFacture").val().trim();
+ if (!numeroFacture) {
+ await alert_ebene(
+ "Veuillez saisir le No de la facture!",
+ "Please enter the Invoice No!"
+ );
+ $("#numeroFacture").focus();
+ return;
+ }
+
+ // 4. Vérification du prix
+ const prixActe = parseFloat($("#prixActe").val()) || 0;
+ if (prixActe === 0) {
+ await alert_ebene("Rien à facturer!", "Nothing to bill!");
+ return;
+ }
+
+ // 5. Confirmation finale
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous cette livraison?",
+ "Do you confirm this delivery?"
+ );
+
+ if (isConfirmed) {
+ const user_id_0 = $("#user_id_C").val();
+ $("#okId").val("1"); // Marque comme validé
+ facturer_monture(user_id_0); // Lance le processus de facturation
+ }
+}
+
+function maj_monture_temp_monture(idOptique, monture)
+{
+ numeroFacture=$("#numeroFacture").val();
+
+ donnees = 'idOptique='+idOptique+"&monture="+monture+"&numeroFacture="+numeroFacture;
+
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmonture/majmonture/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_monture").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ alerter_depassement_limite();
+ }
+ });
+}
+
+function facturer_monture(user_id)
+{
+ dejaFacture=$("#dejaFacture").val();
+
+ if (dejaFacture=="1")
+ {
+ v_msg="D\u00e9jà factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ numeroFacture=$("#numeroFacture").val();
+
+ if (numeroFacture<=" ")
+ {
+ v_msg="Veuillez saisir le No de la facture!";
+ v_msgEng="Please enter the Invoice No!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#numeroFacture").focus();
+
+ return;
+ }
+
+ prixActe = $("#prixActe").val();
+ if (prixActe==0)
+ {
+ v_msg="Rien à facturer!";
+ v_msgEng="Nothing to bill!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ montantTm = $("#montantTm").val();
+ cout = $("#cout").val();
+
+ montantTm_f = $("#montantTm_f").val();
+ cout_f = $("#cout_f").val();
+
+ donnees = 'prixActe='+prixActe;
+ donnees += '&montantTm='+montantTm;
+ donnees += '&cout='+cout;
+ donnees += '&numeroFacture='+numeroFacture;
+
+
+ // numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
+ codePrestataire = $("#codePrestataire_C").val();
+
+ donnees_sav = 'codePrestataire='+codePrestataire+'&typeMail=mailoptique';
+
+ typeSms = "facturer_mont";
+
+ donnees_retour ="";
+
+ user_id_0 = $("#user_id_C").val();
+ user_id_substitut = "0";
+ if (user_id_0!=user_id)
+ {
+ user_id_substitut = user_id;
+ }
+
+ donnees += '&user_id_substitut='+user_id_substitut;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmonture/enregistrermonture/",
+ type: 'POST',
+ data: donnees,
+ success: function(data)
+ {
+ donnees_retour = data;
+ // KANE 17/03/2025 => ne pas envoyer de SMS d'alerte de facturation
+ // preparesms_adherent(typeSms);
+ },
+ error: function(data)
+ {
+
+ },
+ complete: function() {
+ // KANE 17/03/2025 => ne pas envoyer de mail d'alerte de facturation
+ // preparemail_adherent(typeSms);
+
+ v_msg="Facturation effectu\u00e9e avec succès!";
+ v_msgEng="Billing done successfully!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#div_monture").html(donnees_retour);
+ }
+ });
+}
+
+
+function requetes_prestaire()
+{
+ window.location.assign($("#racineWeb" ).val()+"Requetes/");
+}
+
+function ajaxenteterequete()
+{
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ donnees = 'codeRequete='+codeRequete;
+
+ v_url = $("#racineWeb").val()+"Ajaxrequeteentete"+codeRequete+"/";
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_ente_requete").html(data);
+ $(".datepicker" ).datepicker();
+ }
+ });
+}
+
+function requetes_feuilles_maladie()
+{
+ $('#div_export_a').html("");
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/";
+
+ // Ligne 1
+ codePrestataire = $("#codePrestataire").val();
+ dateConsultation1 = $("#dateConsultation1").val();
+ dateConsultation2 = $("#dateConsultation2").val();
+ numeroAdherent = $("#numeroAdherent").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire").val();
+
+ // Ligne 2
+ codeMedecin = $("#codeMedecin").val();
+
+ numeroBonConsultation1 = $("#numeroBonConsultation1").val();
+ numeroBonConsultation2 = $("#numeroBonConsultation2").val();
+
+ numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val();
+ numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val();
+
+ numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val();
+ numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val();
+
+ numeroBonOptique1 = $("#numeroBonOptique1").val();
+ numeroBonOptique2 = $("#numeroBonOptique2").val();
+
+ // Ligne 3
+ codeTypePrestataire = $("#codeTypePrestataire").val();
+ numeroDecompte1 = $("#numeroDecompte1").val();
+ numeroDecompte2 = $("#numeroDecompte2").val();
+ codeRaisonConsultation = $("#codeRaisonConsultation").val();
+ hospitalisation = $("#hospitalisation").val();
+ numeroChambre = $("#numeroChambre").val();
+ chirurgie = $("#chirurgie").val();
+ facture = $("#facture").val();
+
+ // Ligne 4
+ adherent = $("#adherent").val();
+ beneficiaire = $("#beneficiaire").val();
+
+ // FIN champs
+
+ // DEBUT convertir_en_entier
+ numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1);
+ numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2);
+
+ numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1);
+ numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2);
+
+ numeroBonOptique1 = convertir_en_entier(numeroBonOptique1);
+ numeroBonOptique2 = convertir_en_entier(numeroBonOptique2);
+
+ numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1);
+ numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2);
+ // FIN convertir_en_entier
+
+ // Ligne 1
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&dateConsultation1=' + dateConsultation1;
+ donnees += '&dateConsultation2=' + dateConsultation2;
+ donnees += '&numeroAdherent=' + numeroAdherent;
+ donnees += '&numeroBeneficiaire=' + numeroBeneficiaire;
+
+ // Ligne 2
+ donnees += '&codeMedecin=' + codeMedecin;
+
+ donnees += '&numeroBonConsultation1=' + numeroBonConsultation1;
+ donnees += '&numeroBonConsultation2=' + numeroBonConsultation2;
+
+ donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1;
+ donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2;
+
+ donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1;
+ donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2;
+
+ donnees += '&numeroBonOptique1=' + numeroBonOptique1;
+ donnees += '&numeroBonOptique2=' + numeroBonOptique2;
+
+ // Ligne 3
+ donnees += '&codeTypePrestataire=' + codeTypePrestataire;
+
+ donnees += '&numeroDecompte1=' + numeroDecompte1;
+ donnees += '&numeroDecompte2=' + numeroDecompte2;
+
+ donnees += '&codeRaisonConsultation=' + codeRaisonConsultation;
+ donnees += '&hospitalisation=' + hospitalisation;
+ donnees += '&numeroChambre=' + numeroChambre;
+ donnees += '&chirurgie=' + chirurgie;
+ donnees += '&facture=' + facture;
+
+ // Ligne 4
+ donnees += '&adherent=' + adherent;
+ donnees += '&beneficiaire=' + beneficiaire;
+
+ $("#div_detail_requete").html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ //$("#div_detail_requete").html(data);
+ },
+ complete: function() {
+ $("#div_detail_requete").html(donnees_retour);
+ $("#nbligne").val("Result : "+$("#nbligne_info").val());
+ }
+ });
+}
+
+function requetes_feuilles_maladie_export()
+{
+ $('#div_detail_requete').html('');
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/";
+
+ // Ligne 1
+ codePrestataire = $("#codePrestataire").val();
+ dateConsultation1 = $("#dateConsultation1").val();
+ dateConsultation2 = $("#dateConsultation2").val();
+ numeroAdherent = $("#numeroAdherent").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire").val();
+
+ // Ligne 2
+ codeMedecin = $("#codeMedecin").val();
+
+ numeroBonConsultation1 = $("#numeroBonConsultation1").val();
+ numeroBonConsultation2 = $("#numeroBonConsultation2").val();
+
+ numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val();
+ numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val();
+
+ numeroBonHospitalisation1 = $("#numeroBonHospitalisation1").val();
+ numeroBonHospitalisation2 = $("#numeroBonHospitalisation2").val();
+
+ numeroBonOptique1 = $("#numeroBonOptique1").val();
+ numeroBonOptique2 = $("#numeroBonOptique2").val();
+
+ // Ligne 3
+ codeTypePrestataire = $("#codeTypePrestataire").val();
+ numeroDecompte1 = $("#numeroDecompte1").val();
+ numeroDecompte2 = $("#numeroDecompte2").val();
+ codeRaisonConsultation = $("#codeRaisonConsultation").val();
+ hospitalisation = $("#hospitalisation").val();
+ numeroChambre = $("#numeroChambre").val();
+ chirurgie = $("#chirurgie").val();
+ facture = $("#facture").val();
+
+ // Ligne 4
+ adherent = $("#adherent").val();
+ beneficiaire = $("#beneficiaire").val();
+
+ // FIN champs
+
+ // DEBUT convertir_en_entier
+ numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1);
+ numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2);
+
+ numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1);
+ numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2);
+
+ numeroBonOptique1 = convertir_en_entier(numeroBonOptique1);
+ numeroBonOptique2 = convertir_en_entier(numeroBonOptique2);
+
+ numeroBonHospitalisation1 = convertir_en_entier(numeroBonHospitalisation1);
+ numeroBonHospitalisation2 = convertir_en_entier(numeroBonHospitalisation2);
+ // FIN convertir_en_entier
+
+ // Ligne 1
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&dateConsultation1=' + dateConsultation1;
+ donnees += '&dateConsultation2=' + dateConsultation2;
+ donnees += '&numeroAdherent=' + numeroAdherent;
+ donnees += '&numeroBeneficiaire=' + numeroBeneficiaire;
+
+ // Ligne 2
+ donnees += '&codeMedecin=' + codeMedecin;
+
+ donnees += '&numeroBonConsultation1=' + numeroBonConsultation1;
+ donnees += '&numeroBonConsultation2=' + numeroBonConsultation2;
+
+ donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1;
+ donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2;
+
+ donnees += '&numeroBonHospitalisation1=' + numeroBonHospitalisation1;
+ donnees += '&numeroBonHospitalisation2=' + numeroBonHospitalisation2;
+
+ donnees += '&numeroBonOptique1=' + numeroBonOptique1;
+ donnees += '&numeroBonOptique2=' + numeroBonOptique2;
+
+ // Ligne 3
+ donnees += '&codeTypePrestataire=' + codeTypePrestataire;
+
+ donnees += '&numeroDecompte1=' + numeroDecompte1;
+ donnees += '&numeroDecompte2=' + numeroDecompte2;
+
+ donnees += '&codeRaisonConsultation=' + codeRaisonConsultation;
+ donnees += '&hospitalisation=' + hospitalisation;
+ donnees += '&numeroChambre=' + numeroChambre;
+ donnees += '&chirurgie=' + chirurgie;
+ donnees += '&facture=' + facture;
+
+ // Ligne 4
+ donnees += '&adherent=' + adherent;
+ donnees += '&beneficiaire=' + beneficiaire;
+
+ var div_export = $('#div_detail_requete');
+ div_export.html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ // $('#div_detail_requete').html("");
+ // $('#div_export_a').html(data);
+ },
+ complete: function() {
+ $('#div_detail_requete').html("");
+ $('#div_export_a').html(donnees_retour);
+ }
+ });
+}
+
+
+function selectionner_medecin_requete(codeMedecin, nomMedecin, noOrdreMedecin)
+{
+ $("#codeMedecin").val(codeMedecin);
+ $("#nomMedecin").html(nomMedecin+" ( "+noOrdreMedecin+" )");
+ $("#close_pop").click();
+}
+
+function afficher_pop_recherche_medecin_requete()
+{
+
+ noOrdreMedecin = $("#noOrdreMedecin").val();
+ nomsearch = $("#nomsearch").val();
+
+ if(noOrdreMedecin+nomsearch<=" ")
+ return;
+
+ donnees = "valid=1&noOrdreMedecin="+noOrdreMedecin+"&nomsearch="+nomsearch;
+
+ $("#div_listemedecins").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlistemedecinsrequete/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_listemedecins").html(data);
+ }
+ });
+}
+
+function ctrlkeypress_medecin_requete(ev)
+{
+ var keycode = (ev.keyCode ? ev.keyCode : ev.which);
+ if(keycode == '13')
+ {
+ afficher_pop_recherche_medecin_requete();
+ }
+}
+
+function reinitialiser_medecin()
+{
+ $("#codeMedecin").val("");
+ $("#nomMedecin").html("Rechercher M\u00e9decin...");
+ $("#close_pop").click();
+}
+
+function requetes_factures()
+{
+
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/";
+ codePrestataire = $("#codePrestataire").val();
+ codeGarantie = $("#codeGarantie").val();
+ dateFacture1 = $("#dateFacture1").val();
+ dateFacture2 = $("#dateFacture2").val();
+
+ donnees += '&codePrestataire=' + codePrestataire;
+ donnees += '&codeGarantie='+codeGarantie;
+ donnees += '&dateFacture1=' + dateFacture1;
+ donnees += '&dateFacture2=' + dateFacture2;
+
+ $("#div_detail_requete").html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ //$("#div_detail_requete").html(data);
+ },
+ complete: function() {
+ $("#div_detail_requete").html(donnees_retour);
+ $("#nbligne").val("Result : "+$("#nbligne_info").val());
+ }
+ });
+}
+
+function requetes_factures_export()
+{
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/";
+
+ codePrestataire = $("#codePrestataire").val();
+ codeGarantie = $("#codeGarantie").val();
+ dateFacture1 = $("#dateFacture1").val();
+ dateFacture2 = $("#dateFacture2").val();
+
+ donnees += '&codePrestataire=' + codePrestataire;
+ donnees += '&codeGarantie='+codeGarantie;
+ donnees += '&dateFacture1=' + dateFacture1;
+ donnees += '&dateFacture2=' + dateFacture2;
+
+ var div_export = $('#div_detail_requete');
+ div_export.html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ // $('#div_detail_requete').html("");
+ // $('#div_export_a').html(data);
+ },
+ complete: function() {
+ $('#div_detail_requete').html("");
+ $('#div_export_a').html(donnees_retour);
+ }
+ });
+}
+
+function requetes_factures_pdf()
+{
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"pdf/";
+
+ codePrestataire = $("#codePrestataire").val();
+ codeGarantie = $("#codeGarantie").val();
+ dateFacture1 = $("#dateFacture1").val();
+ dateFacture2 = $("#dateFacture2").val();
+
+ donnees += '&codePrestataire=' + codePrestataire;
+ donnees += '&codeGarantie='+codeGarantie;
+ donnees += '&dateFacture1=' + dateFacture1;
+ donnees += '&dateFacture2=' + dateFacture2;
+
+ var div_export = $('#div_detail_requete');
+ div_export.html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ // $('#div_detail_requete').html("");
+ // $('#div_export_a').html(data);
+ },
+ complete: function() {
+ $('#div_detail_requete').html("");
+ $('#div_export_a').html(donnees_retour);
+ }
+ });
+}
+
+/*
+function requetes_factures()
+{
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/";
+
+ codePrestataire = $("#codePrestataire").val();
+ dateFacture1 = $("#dateFacture1").val();
+ dateFacture2 = $("#dateFacture2").val();
+
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&dateFacture1=' + dateFacture1;
+ donnees += '&dateFacture2=' + dateFacture2;
+
+ $("#div_detail_requete").html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ //$("#div_detail_requete").html(data);
+ },
+ complete: function() {
+ $("#div_detail_requete").html(donnees_retour);
+ $("#nbligne").val("Result : "+$("#nbligne_info").val());
+ }
+ });
+}
+
+function requetes_factures_export()
+{
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/";
+
+ codePrestataire = $("#codePrestataire").val();
+ dateFacture1 = $("#dateFacture1").val();
+ dateFacture2 = $("#dateFacture2").val();
+
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&dateFacture1=' + dateFacture1;
+ donnees += '&dateFacture2=' + dateFacture2;
+
+ var div_export = $('#div_detail_requete');
+ div_export.html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ // $('#div_detail_requete').html("");
+ // $('#div_export_a').html(data);
+ },
+ complete: function() {
+ $('#div_detail_requete').html("");
+ $('#div_export_a').html(donnees_retour);
+ }
+ });
+}
+
+function requetes_factures_pdf()
+{
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"pdf/";
+
+ codePrestataire = $("#codePrestataire").val();
+ dateFacture1 = $("#dateFacture1").val();
+ dateFacture2 = $("#dateFacture2").val();
+
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&dateFacture1=' + dateFacture1;
+ donnees += '&dateFacture2=' + dateFacture2;
+
+ var div_export = $('#div_detail_requete');
+ div_export.html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ // $('#div_detail_requete').html("");
+ // $('#div_export_a').html(data);
+ },
+ complete: function() {
+ $('#div_detail_requete').html("");
+ $('#div_export_a').html(donnees_retour);
+ }
+ });
+}
+*/
+function requetes_bonpoec()
+{
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/";
+
+ // Ligne 1
+ codePrestataire = $("#codePrestataire").val();
+ codeTypeBon = $("#codeTypeBon").val();
+ codeEtatBon = $("#codeEtatBon").val();
+
+ // Ligne 2
+ numeroAdherent = $("#numeroAdherent").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire").val();
+ numeroBon1 = $("#numeroBon1").val();
+ numeroBon2 = $("#numeroBon2").val();
+
+ // Ligne 4
+ adherent = $("#adherent").val();
+ beneficiaire = $("#beneficiaire").val();
+
+ // FIN champs
+
+ // DEBUT convertir_en_entier
+ numeroBon1 = convertir_en_entier(numeroBon1);
+ numeroBon2 = convertir_en_entier(numeroBon2);
+ // FIN convertir_en_entier
+
+ // Ligne 1
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&codeTypeBon=' + codeTypeBon;
+ donnees += '&codeEtatBon=' + codeEtatBon;
+
+ // Ligne 2
+ donnees += '&numeroAdherent=' + numeroAdherent;
+ donnees += '&numeroBeneficiaire=' + numeroBeneficiaire;
+ donnees += '&numeroBon1=' + numeroBon1;
+ donnees += '&numeroBon2=' + numeroBon2;
+
+ // Ligne 4
+ donnees += '&adherent=' + adherent;
+ donnees += '&beneficiaire=' + beneficiaire;
+
+ $("#div_detail_requete").html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ //$("#div_detail_requete").html(data);
+ },
+ complete: function() {
+ $("#div_detail_requete").html(donnees_retour);
+ $("#nbligne").val("Result : "+$("#nbligne_info").val());
+ }
+ });
+}
+
+function requetes_bonpoec_export()
+{
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/";
+
+ // Ligne 1
+ codePrestataire = $("#codePrestataire").val();
+ codeTypeBon = $("#codeTypeBon").val();
+ codeEtatBon = $("#codeEtatBon").val();
+
+ // Ligne 2
+ numeroAdherent = $("#numeroAdherent").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire").val();
+ numeroBon1 = $("#numeroBon1").val();
+ numeroBon2 = $("#numeroBon2").val();
+
+ // Ligne 3
+ adherent = $("#adherent").val();
+ beneficiaire = $("#beneficiaire").val();
+
+ // FIN champs
+
+ // DEBUT convertir_en_entier
+ numeroBon1 = convertir_en_entier(numeroBon1);
+ numeroBon2 = convertir_en_entier(numeroBon2);
+ // FIN convertir_en_entier
+
+ // Ligne 1
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&codeTypeBon=' + codeTypeBon;
+ donnees += '&codeEtatBon=' + codeEtatBon;
+
+ // Ligne 2
+ donnees += '&numeroAdherent=' + numeroAdherent;
+ donnees += '&numeroBeneficiaire=' + numeroBeneficiaire;
+ donnees += '&numeroBon1=' + numeroBon1;
+ donnees += '&numeroBon2=' + numeroBon2;
+
+ // Ligne 3
+ donnees += '&adherent=' + adherent;
+ donnees += '&beneficiaire=' + beneficiaire;
+
+ var div_export = $('#div_detail_requete');
+ div_export.html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ // $('#div_detail_requete').html("");
+ // $('#div_export_a').html(data);
+ },
+ complete: function() {
+ $('#div_detail_requete').html("");
+ $('#div_export_a').html(donnees_retour);
+ }
+ });
+}
+
+
+function requetes_prestationactes()
+{
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/";
+
+ codePrestataire = $("#codePrestataire").val();
+ datePrestation1 = $("#datePrestation1").val();
+ datePrestation2 = $("#datePrestation2").val();
+
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&datePrestation1=' + datePrestation1;
+ donnees += '&datePrestation2=' + datePrestation2;
+
+ $("#div_detail_requete").html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ //$("#div_detail_requete").html(data);
+ },
+ complete: function() {
+ $("#div_detail_requete").html(donnees_retour);
+ $("#nbligne").val("Result : "+$("#nbligne_info").val());
+ }
+ });
+}
+
+function requetes_prestationactes_export()
+{
+ $('#div_detail_requete').html('');
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/";
+
+ codePrestataire = $("#codePrestataire").val();
+ datePrestation1 = $("#datePrestation1").val();
+ datePrestation2 = $("#datePrestation2").val();
+
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&datePrestation1=' + datePrestation1;
+ donnees += '&datePrestation2=' + datePrestation2;
+
+ var div_export = $('#div_detail_requete');
+ div_export.html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ // $('#div_detail_requete').html("");
+ // $('#div_export_a').html(data);
+ },
+ complete: function() {
+ $('#div_detail_requete').html("");
+ $('#div_export_a').html(donnees_retour);
+ }
+ });
+}
+
+function requetes_pharmacie()
+{
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/";
+
+ // Ligne 1
+ codePrestataire = $("#codePrestataire").val();
+ dateLivraison1 = $("#dateLivraison1").val();
+ dateLivraison2 = $("#dateLivraison2").val();
+ numeroAdherent = $("#numeroAdherent").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire").val();
+
+ // Ligne 2
+ codeMedecin = $("#codeMedecin").val();
+
+ numeroBonConsultation1 = $("#numeroBonConsultation1").val();
+ numeroBonConsultation2 = $("#numeroBonConsultation2").val();
+
+ numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val();
+ numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val();
+
+ numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val();
+ numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val();
+
+ codePrestatairePrescription = $("#codePrestatairePrescription").val();
+
+ // Ligne 3
+ adherent = $("#adherent").val();
+ beneficiaire = $("#beneficiaire").val();
+
+ // Ligne 4
+ libelleMedicament = $("#libelleMedicament").val();
+
+ // FIN champs
+
+ // DEBUT convertir_en_entier
+ numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1);
+ numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2);
+
+ numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1);
+ numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2);
+
+ numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1);
+ numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2);
+ // FIN convertir_en_entier
+
+ // Ligne 1
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&dateLivraison1=' + dateLivraison1;
+ donnees += '&dateLivraison2=' + dateLivraison2;
+ donnees += '&numeroAdherent=' + numeroAdherent;
+ donnees += '&numeroBeneficiaire=' + numeroBeneficiaire;
+
+ // Ligne 2
+ donnees += '&codeMedecin=' + codeMedecin;
+
+ donnees += '&numeroBonConsultation1=' + numeroBonConsultation1;
+ donnees += '&numeroBonConsultation2=' + numeroBonConsultation2;
+
+ donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1;
+ donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2;
+
+ donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1;
+ donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2;
+
+ donnees += '&codePrestatairePrescription=' + codePrestatairePrescription;
+
+ // Ligne 3
+ donnees += '&adherent=' + adherent;
+ donnees += '&beneficiaire=' + beneficiaire;
+
+ // Ligne 4
+ donnees += '&libelleMedicament=' + libelleMedicament;
+
+ $("#div_detail_requete").html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ //$("#div_detail_requete").html(data);
+ },
+ complete: function() {
+ $("#div_detail_requete").html(donnees_retour);
+ $("#nbligne").val("Result : "+$("#nbligne_info").val());
+ }
+ });
+}
+
+function requetes_pharmacie_export()
+{
+ $('#div_detail_requete').html('');
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/";
+
+ // Ligne 1
+ codePrestataire = $("#codePrestataire").val();
+ dateLivraison1 = $("#dateLivraison1").val();
+ dateLivraison2 = $("#dateLivraison2").val();
+ numeroAdherent = $("#numeroAdherent").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire").val();
+
+ // Ligne 2
+ codeMedecin = $("#codeMedecin").val();
+
+ numeroBonConsultation1 = $("#numeroBonConsultation1").val();
+ numeroBonConsultation2 = $("#numeroBonConsultation2").val();
+
+ numeroBonOrdonnance1 = $("#numeroBonOrdonnance1").val();
+ numeroBonOrdonnance2 = $("#numeroBonOrdonnance2").val();
+
+ numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val();
+ numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val();
+
+ codePrestatairePrescription = $("#codePrestatairePrescription").val();
+
+ // Ligne 3
+ adherent = $("#adherent").val();
+ beneficiaire = $("#beneficiaire").val();
+
+ // Ligne 4
+ libelleMedicament = $("#libelleMedicament").val();
+
+ // FIN champs
+
+ // DEBUT convertir_en_entier
+ numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1);
+ numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2);
+
+ numeroBonOrdonnance1 = convertir_en_entier(numeroBonOrdonnance1);
+ numeroBonOrdonnance2 = convertir_en_entier(numeroBonOrdonnance2);
+
+ numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1);
+ numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2);
+ // FIN convertir_en_entier
+
+ // Ligne 1
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&dateLivraison1=' + dateLivraison1;
+ donnees += '&dateLivraison2=' + dateLivraison2;
+ donnees += '&numeroAdherent=' + numeroAdherent;
+ donnees += '&numeroBeneficiaire=' + numeroBeneficiaire;
+
+ // Ligne 2
+ donnees += '&codeMedecin=' + codeMedecin;
+
+ donnees += '&numeroBonConsultation1=' + numeroBonConsultation1;
+ donnees += '&numeroBonConsultation2=' + numeroBonConsultation2;
+
+ donnees += '&numeroBonOrdonnance1=' + numeroBonOrdonnance1;
+ donnees += '&numeroBonOrdonnance2=' + numeroBonOrdonnance2;
+
+ donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1;
+ donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2;
+
+ donnees += '&codePrestatairePrescription=' + codePrestatairePrescription;
+
+ // Ligne 3
+ donnees += '&adherent=' + adherent;
+ donnees += '&beneficiaire=' + beneficiaire;
+
+ // Ligne 4
+ donnees += '&libelleMedicament=' + libelleMedicament;
+
+ var div_export = $('#div_detail_requete');
+ div_export.html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ // $('#div_detail_requete').html("");
+ // $('#div_export_a').html(data);
+ },
+ complete: function() {
+ $('#div_detail_requete').html("");
+ $('#div_export_a').html(donnees_retour);
+ }
+ });
+}
+
+function requetes_optique()
+{
+ $('#div_export').html("");
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/";
+
+ // Ligne 1
+ codePrestataire = $("#codePrestataire").val();
+ dateLivraison1 = $("#dateLivraison1").val();
+ dateLivraison2 = $("#dateLivraison2").val();
+ numeroAdherent = $("#numeroAdherent").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire").val();
+
+ // Ligne 2
+ codeMedecin = $("#codeMedecin").val();
+
+ numeroBonConsultation1 = $("#numeroBonConsultation1").val();
+ numeroBonConsultation2 = $("#numeroBonConsultation2").val();
+
+ numeroBonOptique1 = $("#numeroBonOptique1").val();
+ numeroBonOptique2 = $("#numeroBonOptique2").val();
+
+ numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val();
+ numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val();
+
+
+ codePrestatairePrescription = $("#codePrestatairePrescription").val();
+
+ // Ligne 3
+ adherent = $("#adherent").val();
+ beneficiaire = $("#beneficiaire").val();
+
+ // Ligne 4
+ libelleOptique = $("#libelleOptique").val();
+
+ // FIN champs
+
+ // DEBUT convertir_en_entier
+ numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1);
+ numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2);
+
+ numeroBonOptique1 = convertir_en_entier(numeroBonOptique1);
+ numeroBonOptique2 = convertir_en_entier(numeroBonOptique2);
+
+ numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1);
+ numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2);
+ // FIN convertir_en_entier
+
+ // Ligne 1
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&dateLivraison1=' + dateLivraison1;
+ donnees += '&dateLivraison2=' + dateLivraison2;
+ donnees += '&numeroAdherent=' + numeroAdherent;
+ donnees += '&numeroBeneficiaire=' + numeroBeneficiaire;
+
+ // Ligne 2
+ donnees += '&codeMedecin=' + codeMedecin;
+
+ donnees += '&numeroBonConsultation1=' + numeroBonConsultation1;
+ donnees += '&numeroBonConsultation2=' + numeroBonConsultation2;
+
+ donnees += '&numeroBonOptique1=' + numeroBonOptique1;
+ donnees += '&numeroBonOptique2=' + numeroBonOptique2;
+
+ donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1;
+ donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2;
+
+ donnees += '&codePrestatairePrescription=' + codePrestatairePrescription;
+
+ // Ligne 3
+ donnees += '&adherent=' + adherent;
+ donnees += '&beneficiaire=' + beneficiaire;
+
+ // Ligne 4
+ donnees += '&libelleOptique=' + libelleOptique;
+
+ $("#div_detail_requete").html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ //$("#div_detail_requete").html(data);
+ },
+ complete: function() {
+ $("#div_detail_requete").html(donnees_retour);
+ $("#nbligne").val("Result : "+$("#nbligne_info").val());
+ }
+ });
+}
+
+function requetes_optique_export()
+{
+ $('#div_detail_requete').html('');
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/";
+
+ // Ligne 1
+ codePrestataire = $("#codePrestataire").val();
+ dateLivraison1 = $("#dateLivraison1").val();
+ dateLivraison2 = $("#dateLivraison2").val();
+ numeroAdherent = $("#numeroAdherent").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire").val();
+
+ // Ligne 2
+ codeMedecin = $("#codeMedecin").val();
+
+ numeroBonConsultation1 = $("#numeroBonConsultation1").val();
+ numeroBonConsultation2 = $("#numeroBonConsultation2").val();
+
+ numeroBonOptique1 = $("#numeroBonOptique1").val();
+ numeroBonOptique2 = $("#numeroBonOptique2").val();
+
+ numeroFeuilleMaladie1 = $("#numeroFeuilleMaladie1").val();
+ numeroFeuilleMaladie2 = $("#numeroFeuilleMaladie2").val();
+
+ codePrestatairePrescription = $("#codePrestatairePrescription").val();
+
+ // Ligne 3
+ adherent = $("#adherent").val();
+ beneficiaire = $("#beneficiaire").val();
+
+ // Ligne 4
+ libelleOptique = $("#libelleOptique").val();
+
+ // FIN champs
+
+ // DEBUT convertir_en_entier
+ numeroBonConsultation1 = convertir_en_entier(numeroBonConsultation1);
+ numeroBonConsultation2 = convertir_en_entier(numeroBonConsultation2);
+
+ numeroBonOptique1 = convertir_en_entier(numeroBonOptique1);
+ numeroBonOptique2 = convertir_en_entier(numeroBonOptique2);
+
+ numeroFeuilleMaladie1 = convertir_en_entier(numeroFeuilleMaladie1);
+ numeroFeuilleMaladie2 = convertir_en_entier(numeroFeuilleMaladie2);
+ // FIN convertir_en_entier
+
+ // Ligne 1
+ donnees += 'codePrestataire=' + codePrestataire;
+ donnees += '&dateLivraison1=' + dateLivraison1;
+ donnees += '&dateLivraison2=' + dateLivraison2;
+ donnees += '&numeroAdherent=' + numeroAdherent;
+ donnees += '&numeroBeneficiaire=' + numeroBeneficiaire;
+
+ // Ligne 2
+ donnees += '&codeMedecin=' + codeMedecin;
+
+ donnees += '&numeroBonConsultation1=' + numeroBonConsultation1;
+ donnees += '&numeroBonConsultation2=' + numeroBonConsultation2;
+
+ donnees += '&numeroBonOptique1=' + numeroBonOptique1;
+ donnees += '&numeroBonOptique2=' + numeroBonOptique2;
+
+ donnees += '&numeroFeuilleMaladie1=' + numeroFeuilleMaladie1;
+ donnees += '&numeroFeuilleMaladie2=' + numeroFeuilleMaladie2;
+
+ donnees += '&codePrestatairePrescription=' + codePrestatairePrescription;
+
+ // Ligne 3
+ donnees += '&adherent=' + adherent;
+ donnees += '&beneficiaire=' + beneficiaire;
+
+ // Ligne 4
+ donnees += '&libelleOptique=' + libelleOptique;
+
+ var div_export = $('#div_detail_requete');
+ div_export.html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ // $('#div_detail_requete').html("");
+ // $('#div_export_a').html(data);
+ },
+ complete: function() {
+ $('#div_detail_requete').html("");
+ $('#div_export_a').html(donnees_retour);
+ }
+ });
+}
+
+
+function requetes_assure()
+{
+ $('#div_export').html("");
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"/";
+
+ // Ligne 1
+ numeroAdherent = $("#numeroAdherent").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire").val();
+ adherent = $("#adherent").val();
+ beneficiaire = $("#beneficiaire").val();
+
+ // Ligne 2
+ numeroPolice = $("#numeroPolice").val();
+ codeProduit = $("#codeProduit").val();
+ codeEtatPolice = $("#codeEtatPolice").val();
+ codeLienParente = $("#codeLienParente").val();
+ codeEtatBeneficiaire = $("#codeEtatBeneficiaire").val();
+ sexe = $("#sexe").val();
+
+ // Ligne 3
+ numeroClient1 = $("#numeroClient1").val();
+ numeroClient2 = $("#numeroClient2").val();
+ telephonePortableAdherent = $("#telephonePortableAdherent").val();
+ emailAdherent = $("#emailAdherent").val();
+ decede = $("#decede").val();
+ nomClient = $("#nomClient").val();
+
+ // FIN champs
+
+ // DEBUT convertir_en_entier
+ numeroClient1 = convertir_en_entier(numeroClient1);
+ numeroClient2 = convertir_en_entier(numeroClient2);
+ // FIN convertir_en_entier
+
+ // Ligne 1
+ donnees += '&numeroAdherent=' + numeroAdherent;
+ donnees += '&numeroBeneficiaire=' + numeroBeneficiaire;
+ donnees += '&adherent=' + adherent;
+ donnees += '&beneficiaire=' + beneficiaire;
+
+ // Ligne 2
+ donnees += '&numeroPolice=' + numeroPolice;
+ donnees += '&codeProduit=' + codeProduit;
+ donnees += '&codeEtatPolice=' + codeEtatPolice;
+ donnees += '&codeLienParente=' + codeLienParente;
+ donnees += '&codeEtatBeneficiaire=' + codeEtatBeneficiaire;
+ donnees += '&sexe=' + sexe;
+
+ // Ligne 3
+ donnees += '&numeroClient1=' + numeroClient1;
+ donnees += '&numeroClient2=' + numeroClient2;
+ donnees += '&telephonePortableAdherent=' + telephonePortableAdherent;
+ donnees += '&emailAdherent=' + emailAdherent;
+ donnees += '&decede=' + decede;
+ donnees += '&nomClient=' + nomClient;
+
+ $("#div_detail_requete").html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ //$("#div_detail_requete").html(data);
+ },
+ complete: function() {
+ $("#div_detail_requete").html(donnees_retour);
+ $("#nbligne").val("Result : "+$("#nbligne_info").val());
+ }
+ });
+}
+
+function requetes_assure_export()
+{
+ $('#div_detail_requete').html('');
+ $('#div_export_a').html("");
+
+ donnees = "";
+ donnees_retour = "";
+
+ codeRequete=$("#codeRequete").val();
+
+ if (codeRequete<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner une requête!";
+ v_msgEng="Please select a query!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeRequete").focus();
+ return;
+ }
+
+ v_url = $("#racineWeb").val()+"Ajaxrequete"+codeRequete+"export/";
+
+ // Ligne 1
+ numeroAdherent = $("#numeroAdherent").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire").val();
+ adherent = $("#adherent").val();
+ beneficiaire = $("#beneficiaire").val();
+
+ // Ligne 2
+ numeroPolice = $("#numeroPolice").val();
+ codeProduit = $("#codeProduit").val();
+ codeEtatPolice = $("#codeEtatPolice").val();
+ codeLienParente = $("#codeLienParente").val();
+ codeEtatBeneficiaire = $("#codeEtatBeneficiaire").val();
+ sexe = $("#sexe").val();
+
+ // Ligne 3
+ numeroClient1 = $("#numeroClient1").val();
+ numeroClient2 = $("#numeroClient2").val();
+ telephonePortableAdherent = $("#telephonePortableAdherent").val();
+ emailAdherent = $("#emailAdherent").val();
+ decede = $("#decede").val();
+ nomClient = $("#nomClient").val();
+
+ // FIN champs
+
+ // DEBUT convertir_en_entier
+ numeroClient1 = convertir_en_entier(numeroClient1);
+ numeroClient2 = convertir_en_entier(numeroClient2);
+ // FIN convertir_en_entier
+
+ // Ligne 1
+ donnees += '&numeroAdherent=' + numeroAdherent;
+ donnees += '&numeroBeneficiaire=' + numeroBeneficiaire;
+ donnees += '&adherent=' + adherent;
+ donnees += '&beneficiaire=' + beneficiaire;
+
+ // Ligne 2
+ donnees += '&numeroPolice=' + numeroPolice;
+ donnees += '&codeProduit=' + codeProduit;
+ donnees += '&codeEtatPolice=' + codeEtatPolice;
+ donnees += '&codeLienParente=' + codeLienParente;
+ donnees += '&codeEtatBeneficiaire=' + codeEtatBeneficiaire;
+ donnees += '&sexe=' + sexe;
+
+ // Ligne 3
+ donnees += '&numeroClient1=' + numeroClient1;
+ donnees += '&numeroClient2=' + numeroClient2;
+ donnees += '&telephonePortableAdherent=' + telephonePortableAdherent;
+ donnees += '&emailAdherent=' + emailAdherent;
+ donnees += '&decede=' + decede;
+ donnees += '&nomClient=' + nomClient;
+
+ var div_export = $('#div_detail_requete');
+ div_export.html('' + '
');
+
+ $.ajax({
+ url: v_url,
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ // $('#div_detail_requete').html("");
+ // $('#div_export_a').html(data);
+ },
+ complete: function() {
+ $('#div_detail_requete').html("");
+ $('#div_export_a').html(donnees_retour);
+ }
+ });
+}
+
+function convertir_en_entier(valeur)
+{
+ if(isNaN(valeur))
+ {
+ valeur = "0";
+ }
+
+ if (valeur=="")
+ {
+ valeur="0";
+ }
+
+ valeur = parseInt(valeur);
+
+ return valeur;
+}
+
+function selectionactesmedicaux()
+{
+ hospitalisation = $("#hospitalisation").val();
+ gestionActe = $("#gestionActe").val();
+
+ affectionObligatoire=$("#affectionObligatoire").val();
+ codeAffection=$("#codeAffection").val();
+ modeSaisieFacture=$("#modeSaisieFacture").val();
+
+ facture=$("#facture").val();
+
+ if (facture==1)
+ {
+ v_msg="D\u00e9jà factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ contestation = $("#contestation").val();
+ if(facture == "0" && contestation == "1"){
+ v_msg="Dossier médical contesté !";
+ v_msgEng="Medical records contested!";
+
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ if (affectionObligatoire=="1" && codeAffection=="990" && modeSaisieFacture!="1")
+ {
+ v_msg="Diagnostique exig\u00e9!";
+ v_msgEng="Diagnosis required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#libelleAffection").focus();
+ $("#btn_pop_affection").click();
+
+ return;
+ }
+
+
+ if (hospitalisation=="1" && gestionActe=="0")
+ {
+ v_msg="Non autoris\u00e9 car la p\u00e9riode d'hospitalisation est en cours.";
+ v_msgEng="Not authorized because the period of hospitalization is in progress.";
+
+ alert_ebene_callback(v_msg, v_msgEng, function() {
+ window.location.assign($("#racineWeb").val()+"Feuillemaladie/");
+ });
+
+ return;
+ }
+
+
+ actVisible=$("#actVisible").val();
+ if (actVisible!="1")
+ {
+ v_msg="Non autoris\u00e9 car l'utilisateur n'a pas les droits requis. Veuillez contacter l'assureur!";
+ v_msgEng="Not authorized because the user does not have the required rights. Please contact the insurer!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ modeSaisieFacture=$("#modeSaisieFacture").val();
+
+ bonCaduc=$("#bonCaduc").val();
+
+ if (bonCaduc==1 && modeSaisieFacture!="1")
+ {
+ v_msg="Bon caduc!";
+ v_msgEng="Obsolete!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ facture=$("#facture").val();
+
+ if (facture==1)
+ {
+ v_msg="D\u00e9jà factur\u00e9!";
+ v_msgEng="Already charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Selectactesmedicaux/");
+}
+
+function ajaxactespossibles_selection()
+{
+ codeFamilleActe=$("#codeFamilleActe").val();
+
+ donnees = 'codeFamilleActe='+codeFamilleActe;
+
+ $("#listeacte").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxselectactesmedicaux/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+
+ $("#totam_donnees").html(data);
+ //$("#listeacte").html(data);
+ appliquerDataTable();
+
+ },
+ complete: function(){
+ majgestionacte();
+ }
+ });
+}
+/*
+function ajaxactespossibles_selection()
+{
+ codeFamilleActe=$("#codeFamilleActe").val();
+
+ donnees = 'codeFamilleActe='+codeFamilleActe;
+
+ $("#listeacte").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxactespossiblesselection/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+
+ $("#listeacte").html(data);
+ appliquerDataTable();
+
+ },
+ complete: function() {
+
+ }
+ });
+}
+*/
+function ajaxactespossibles_miseenobservation()
+{
+ codeFamilleActe=$("#codeFamilleActe").val();
+
+ donnees = 'codeFamilleActe='+codeFamilleActe;
+
+ $("#listeacte").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxselectactesmedicauxobservation/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#totam_donnees").html(data);
+ //$("#listeacte").html(data);
+ appliquerDataTable();
+ },
+ complete: function() {
+ }
+ });
+}
+
+/**
+ * Fonction pour ajouter un acte médical lors d'une hospitalisation
+ * Gère les cas avec ou sans entente préalable et met à jour l'interface
+ * @param {string} codeActe - Code de l'acte médical
+ * @param {number} prixBase - Prix de base de l'acte
+ * @param {number} prixActe - Prix facturé de l'acte
+ * @param {number} montantTm - Montant total pris en charge
+ * @param {number} aRembourser - Montant à rembourser
+ * @param {number} depassement - Montant du dépassement
+ * @param {string} ententePrealable - Statut de l'entente préalable (0/1/2)
+ * @param {string} plafond - Indicateur si l'acte est au plafond (0/1)
+ */
+async function ajouter_un_acte_selection_hospitalisation(codeActe, prixBase, prixActe, montantTm, aRembourser, depassement, ententePrealable, plafond) {
+ // 1. Initialisation des variables
+ let donnee_a_afficher = "";
+ const codeFamilleActe = "FA100"; // Code famille acte fixe pour hospitalisation
+
+ // 2. Récupération des données du formulaire
+ const plafondHospitalisation = $("#plafondHospitalisation").val().replace(/ /g, "");
+ const totalHospitalisation = $("#totalHospitalisation").val().replace(/ /g, "");
+ const modeSaisieFacture = $("#modeSaisieFacture").val();
+ const nbreChambre = $('#nbreChambre').val();
+ const nbreActeEntentePrealable = $('#nbreActeEntentePrealable').val();
+
+ // 3. Vérification des ententes préalables en cours
+ if (parseInt(nbreActeEntentePrealable) > 0) {
+ const v_msg = "Une demande d'accord préalable a déjà été envoyée à l'assureur. Merci de patienter qu'il vous donne sa réponse avant de poursuivre!";
+ const v_msgEng = "A request for prior agreement has already been sent to the insurer. Please wait for him to give you his answer before continuing!";
+
+ await alert_ebene(v_msg, v_msgEng);
+ faireDefileMessage(v_msg, v_msgEng);
+
+ // Planification d'une nouvelle tentative après délai
+ window.setTimeout(attribution_chambre, 25000);
+ return;
+ }
+
+ // 4. Validation de la sélection d'acte
+ if (!codeActe || codeActe.trim() <= " ") {
+ await alert_ebene(
+ "Veuillez sélectionner un acte!",
+ "Please select an act!"
+ );
+ return;
+ }
+
+ // 5. Notification si acte plafond (non modifiable)
+ if (plafond === "1") {
+ await alert_ebene(
+ "Le prix de cet acte est le plafond qui sera pris en charge par l'assureur, par conséquent, en le sélectionnant vous ne pourrez pas modifier sa quantité.",
+ "The price of this act is the ceiling that will be borne by the insurer, therefore, by selecting it you will not be able to change its quantity."
+ );
+ }
+
+ // 6. Confirmation utilisateur
+ const isConfirmed = await confirm_ebene_sweet(
+ "Confirmez-vous cet acte?",
+ "Do you confirm this act?"
+ );
+
+ if (!isConfirmed) return;
+
+ // 7. Préparation des données pour l'API
+ if (ententePrealable === "1") {
+ ententePrealable = "2"; // Passage en mode "demande envoyée"
+ }
+
+ const donnees = {
+ codeFamilleActe: codeFamilleActe,
+ codeActe: codeActe,
+ ententePrealable: ententePrealable,
+ prixActe: prixActe,
+ montantTm: montantTm,
+ aRembourser: aRembourser,
+ prixBase: prixBase,
+ depassement: depassement
+ };
+
+ const numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
+
+ // 8. Vérification des délais de carence
+ info_fin_delaicarence(codeActe);
+
+ // 9. Affichage du loader pendant le traitement
+ $("#listeacte").html('' + '
');
+
+ // 10. Envoi de la requête AJAX
+ try {
+ const response = await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxselectactesmedicauxhospitalisation/enregistreractemedical/",
+ type: 'post',
+ data: donnees
+ });
+
+ donnee_a_afficher = response;
+
+ // 11. Mise à jour de l'interface
+ $("#totam_donnees").html(donnee_a_afficher);
+ appliquerDataTable();
+
+ // 12. Gestion de l'affichage des prolongations
+ cach();
+ const nbreProlongation = parseInt($("#nbreProlongation").val()) || 0;
+
+ if (nbreProlongation > 0) {
+ for (let pas = 1; pas <= nbreProlongation; pas++) {
+ cachLigneTab(pas);
+ }
+ }
+
+ // 13. Affichage du plafond d'hospitalisation
+ afficherPlafondHospitalisation();
+
+ } catch (error) {
+ console.error("Erreur lors de l'ajout de l'acte d'hospitalisation:", error);
+ }
+}
+
+
+
+/**
+ * Valide la sélection d'un acte médical avec vérification des prérequis
+ * et gestion des ententes préalables si nécessaire.
+ */
+async function valider_selection_acte() {
+ // 1. Récupération des valeurs du formulaire
+ const motifActe = $("#motifActe").val().trim();
+ const nbEntentePrealable = parseInt($("#nbEntentePrealable").val()) || 0;
+
+ // 2. Validation des données obligatoires
+ if (nbEntentePrealable > 0 && !motifActe) {
+ await alert_ebene(
+ "Le renseignement clinique est obligatoire pour que votre demande soit envoyée à l'assureur.",
+ "Clinical information is mandatory for your claim to be sent to the insurer."
+ );
+ $("#motifActe").focus(); // Focus sur le champ manquant
+ return;
+ }
+
+ // 3. Messages de confirmation multilingues
+ const messages = {
+ confirmation: {
+ fr: "Confirmez-vous cette saisie?",
+ en: "Do you confirm this situation?"
+ },
+ success: {
+ fr: "Demande accord préalable envoyée!",
+ en: "Request prior agreement sent!"
+ }
+ };
+
+ // 4. Demande de confirmation à l'utilisateur
+ const isConfirmed = await confirm_ebene_sweet(
+ messages.confirmation.fr,
+ messages.confirmation.en
+ );
+
+ if (!isConfirmed) return;
+
+ // 5. Traitement après confirmation
+ if (nbEntentePrealable > 0) {
+ await alert_ebene(messages.success.fr, messages.success.en);
+ }
+
+ // 6. Mise à jour de l'interface
+ feuillemaladie();
+}
+
+
+/**
+ * Valide une mise en observation médicale avec gestion des ententes préalables
+ * - Vérifie le motif saisi
+ * - Gère l'envoi des demandes d'autorisation
+ * - Met à jour l'interface après validation
+ */
+async function valider_miseenobservation() {
+ // 1. Récupération des données du formulaire
+ const motif = $("#motif").val().trim();
+ const modeSaisieFacture = $("#modeSaisieFacture").val();
+ const numeroEntentePrealable = $("#numeroEntentePrealable").val();
+
+ // 2. Validation du champ obligatoire
+ if (!motif) {
+ await alert_ebene(
+ "Veuillez saisir le motif!",
+ "Please enter the motif!"
+ );
+ $("#motif").focus();
+ return;
+ }
+
+ // 3. Détermination du type d'entente préalable
+ const ententePrealable = numeroEntentePrealable === "0" ? "2" : "1";
+
+
+ // 4. Messages multilingues
+ const messages = {
+ confirmation: {
+ fr: "Confirmez-vous cette saisie?",
+ en: "Do you confirm this situation?"
+ },
+ success: {
+ fr: "Demande accord préalable envoyée!",
+ en: "Request prior agreement sent!"
+ }
+ };
+
+ // 5. Préparation des données pour l'API
+ const donnees = { motif: motif };
+
+ // 6. Confirmation utilisateur
+ const isConfirmed = await confirm_ebene_sweet(
+ messages.confirmation.fr,
+ messages.confirmation.en
+ );
+
+ if (!isConfirmed) return;
+
+ // 7. Envoi de la requête AJAX
+ try {
+ await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxselectactesmedicauxobservation/validermiseenobservation/",
+ type: 'POST',
+ data: donnees
+ });
+
+
+ } catch (error) {
+ console.error("Erreur lors de la validation:", error);
+ } finally {
+ // 8. Mise à jour de l'interface dans tous les cas
+ feuillemaladie();
+ }
+}
+
+
+
+/**
+ * Supprime un acte médical d'hospitalisation après confirmation
+ * @param {string} idPrestationactes - ID de la prestation à supprimer
+ * @param {string} codeTypePrestation - Code du type de prestation
+ */
+async function supprimer_acte_medical_hospitalisation(idPrestationactes, codeTypePrestation) {
+ // 1. Préparation des données pour la requête AJAX
+ const donnees = {
+ idPrestationactes: idPrestationactes,
+ codeTypePrestation: codeTypePrestation
+ };
+
+ // 2. Messages multilingues
+ const messages = {
+ confirmation: {
+ fr: "Confirmez-vous cette suppression?",
+ en: "Do you confirm this deletion?"
+ },
+ loading: {
+ fr: "Veuillez patienter...",
+ en: "Please wait..."
+ }
+ };
+
+ // 3. Récupération de la langue courante
+ const codeLangue = $("#codeLangue").val();
+
+ // 4. Demande de confirmation à l'utilisateur
+ const isConfirmed = await confirm_ebene_sweet(
+ messages.confirmation.fr,
+ messages.confirmation.en
+ );
+
+ if (!isConfirmed) return;
+
+ // 5. Affichage du loader pendant le traitement
+ $("#div_prestations").html('' + '
');
+
+ // 6. Envoi de la requête de suppression
+ try {
+ await $.ajax({
+ url: $("#racineWeb").val() + "Ajaxselectactesmedicauxhospitalisation/supprimeracte/",
+ type: 'POST',
+ data: donnees
+ });
+ } catch (error) {
+ console.error("Erreur lors de la suppression:", error);
+ } finally {
+ // 7. Rafraîchissement de la liste des actes
+ ajaxactespossibles_selection_hospitalisation();
+ }
+}
+
+function prestations_hospitalisation(){
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxprestationshospitalisation/",
+ type: 'POST',
+ success: function(data) {
+ $("#totam_donnees").html(data);
+ appliquerDataTable();
+
+ cach();
+
+ var nbreProlongation = parseInt($("#nbreProlongation").val());
+
+ if(nbreProlongation > "0"){
+ for (let pas = 1; pas <= nbreProlongation; pas++) {
+ cachLigneTab(pas);
+ }
+ }
+
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ afficherPlafondHospitalisation();
+ }
+ });
+
+
+}
+
+
+
+function selectionner_acte_possibles_select(codeFamilleActe, codeActe, familleActe, libelleActe)
+{
+ if(libelleActe<=" ")
+ return;
+
+ $("#codeFamilleActe").val(codeFamilleActe);
+ $("#libelleActe").val(libelleActe);
+
+ ajaxactespossibles_selection();
+
+ $("#close_pop_acte").click();
+}
+
+function afficher_pop_recherche_actes_possibles_select()
+{
+ libelleActeSearch = $("#libelleActeSearch").val();
+
+ if(libelleActeSearch<=" ")
+ {
+ return;
+ }
+
+ donnees = "valid=1&libelleActeSearch="+libelleActeSearch;
+
+ $("#div_liste_actes_possibles").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlisteactespossiblesselect/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_liste_actes_possibles").html(data);
+ }
+ });
+}
+
+function ctrlkeypress_actes_possibles_select(ev)
+{
+ var keycode = (ev.keyCode ? ev.keyCode : ev.which);
+ if(keycode == '13')
+ {
+ afficher_pop_recherche_actes_possibles_select();
+ }
+}
+
+function selectionexamens()
+{
+ actVisible=$("#actVisible").val();
+
+ // if (actVisible!="1" && modeSaisieFacture!="1")
+ if (actVisible!="1")
+ {
+ v_msg="Non autoris\u00e9e!";
+ v_msgEng="Not allowed!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Selectexaemens/");
+}
+
+function ajaxexamenpossibles_selection()
+{
+ codeFamilleActe=$("#codeFamilleActe").val();
+
+ donnees = 'codeFamilleActe='+codeFamilleActe;
+
+ $("#listeacte").html('' + '
');
+
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxexamenspossiblesselection/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#listeacte").html(data);
+ appliquerDataTable();
+ },
+ complete: function() {
+ }
+ });
+}
+
+function ajouter_un_examen_selection(codeActe, prixActe, montantTm, aRembourser, ententePrealable)
+{
+ donnee_a_affciher = "";
+
+ codeFamilleActe=$("#codeFamilleActe").val();
+
+ donnees=""
+ donnees_sav="";
+
+ if (codeActe<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner 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;
+ }
+
+ if(ententePrealable==1)
+ {
+ ententePrealable = "2";
+ }
+
+ donnees = 'codeFamilleActe='+codeFamilleActe+'&codeActe='+codeActe+'&ententePrealable='+ententePrealable;
+ donnees += '&prixActe='+prixActe+'&montantTm='+montantTm+'&aRembourser='+aRembourser;
+
+ numeroFeuilleMaladie=$("#numeroFeuilleMaladie_C").val();
+
+ donnees_sav = 'codeActe='+codeActe+'&numeroFeuilleMaladie='+numeroFeuilleMaladie+'&typeMail=mailententeprealable';
+
+ typeSms="ententeprealable";
+
+ $("#listeacte").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxselectexamens/ajouterexamenprescription/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData)
+ {
+ },
+ success: function(data) {
+ // $('#div_test_gabarit').html(data);
+ if(ententePrealable=="2")
+ {
+ preparesms(typeSms);
+
+ v_msg="Demande accord prealable envoy\u00e9e!";
+ 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 retirerexamen_lab_selection(idExamen)
+{
+
+ donnee_a_affciher = "";
+
+ codeFamilleActe=$("#codeFamilleActe").val();
+
+ donnees = 'codeFamilleActe='+codeFamilleActe+'&idExamen='+idExamen;
+
+ $("#listeacte").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxselectexamens/retirerexamen/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ donnee_a_affciher = data;
+ alerter_depassement_limite();
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ $("#totam_donnees").html(donnee_a_affciher);
+ }
+ });
+}
+
+/**
+ * Valide la sélection d'examen après confirmation de l'utilisateur
+ * Affiche le laboratoire CSO si l'utilisateur confirme
+ */
+async function valider_selection_examen() {
+ // Messages de confirmation en français et anglais
+ const v_msg = "Confirmez-vous cette saisie?";
+ const v_msgEng = "Do you confirm this situation?";
+
+ // Appel de la fonction de confirmation unifiée avec gestion multilingue
+ const isConfirmed = await confirm_ebene_sweet(v_msg, v_msgEng);
+
+ // Si l'utilisateur a confirmé, on affiche le laboratoire CSO
+ if (isConfirmed) {
+ afficher_laboratoire_cso();
+ }
+ // Sinon, on ne fait rien (le return est implicite)
+}
+
+function selectionexamens_lab()
+{
+ window.location.assign($("#racineWeb" ).val()+"Selectexaemenslab/");
+}
+
+/**
+ * Valide la sélection d'examen pour le laboratoire après confirmation utilisateur
+ * Actualise l'affichage du laboratoire si l'utilisateur confirme
+ */
+async function valider_selection_examen_lab() {
+ // Messages de confirmation multilingues
+ const v_msg = "Confirmez-vous cette saisie?";
+ const v_msgEng = "Do you confirm this situation?";
+
+ // Appel de la confirmation unifiée (gestion automatique de la langue)
+ const confirmation = await confirm_ebene_sweet(v_msg, v_msgEng);
+
+ // Si confirmation, on actualise le laboratoire
+ if (confirmation) {
+ actualiser_laboratoire();
+ }
+ // Pas d'action si annulation (comportement par défaut)
+}
+
+function afficher_examensmedicaux()
+{
+ window.location.assign($("#racineWeb" ).val()+"Examensmedicaux/");
+}
+
+function selectionexamens_cso()
+{
+ window.location.assign($("#racineWeb" ).val()+"Selectexaemenscso/");
+}
+
+/**
+ * Valide la sélection d'examen CSO après confirmation de l'utilisateur
+ * Affiche les examens médicaux si l'utilisateur confirme l'action
+ * Ne fait rien si l'utilisateur annule l'opération
+ */
+async function valider_selection_examen_cso() {
+ // Définition des messages de confirmation (français/anglais)
+ const messageConfirmationFR = "Confirmez-vous cette saisie?";
+ const messageConfirmationEN = "Do you confirm this situation?";
+
+ // Appel du service de confirmation unifié avec gestion automatique de la langue
+ const utilisateurConfirme = await confirm_ebene_sweet(messageConfirmationFR, messageConfirmationEN);
+
+ // Exécution de l'action seulement si confirmation positive
+ if (utilisateurConfirme) {
+ afficher_examensmedicaux();
+ }
+}
+
+function prescrire_verre_opt()
+{
+// Ajout à la prescription
+ /*
+ nbActesVerres = $("#nbActesVerres").val();
+
+ if (nbActesVerres>0)
+ {
+ v_msg="Veuillez s\u00e9lectionner un verre!";
+ v_msgEng="Please select a glass!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeOptique").focus();
+ return;
+ }
+ */
+
+ codePrestatairePrescription = $("#codePrestatairePrescription").val();
+ codeActeOptique = $("#codeActeOptique").val();
+
+ if (codeActeOptique<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner un acte!";
+ v_msgEng="Please select an act!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#codeActeOptique").focus();
+ return;
+ }
+
+ donnees = 'codeActeOptique='+codeActeOptique;
+ donnees += '&codePrestatairePrescription=' + codePrestatairePrescription;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailopticien/ajouterverreprescription/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#btn_close_pop_verre").click();
+ // $("#livraison").html(data);
+ },
+ complete: function() {
+ // alerter_depassement_limite();
+ actualiser_opticien();
+ }
+ });
+
+ //}
+
+// Fin Ajout à la prescription
+}
+
+// Fonction de validation d’un décompte par le prestataire
+function validerdecompte_prestataire() {
+ // Récupération et conversion de l’état du décompte
+ let regle = parseInt($("#regle").val());
+
+ // Vérifications d'état empêchant la validation
+ if (regle === 1) {
+ alert_ebene("Déjà payé!", "Already paid!");
+ return;
+ }
+
+ if (regle === 0) {
+ alert_ebene("Veuillez attendre la 1ère validation de l'assureur!", "Please wait for the first validation of the insurer!");
+ return;
+ }
+
+ if (regle === 3) {
+ alert_ebene("Déjà validé!", "Already validated!");
+ return;
+ }
+
+ if (regle === 8) {
+ alert_ebene("Pas besoin de validation prestataire!", "Provider validation not needed!");
+ return;
+ }
+
+ if (regle === 9) {
+ alert_ebene("En attente de paiement!", "Waiting for payment!");
+ return;
+ }
+
+ // Vérifie si le montant à valider est supérieur à zéro
+ if ($("#montantApayer").val() <= "0") {
+ alert_ebene("Rien à valider!", "Nothing to validate!");
+ return;
+ }
+
+ // Si le décompte est en attente de validation prestataire
+ if (regle === 2) {
+ const v_msg = "Confirmez-vous la validation ?";
+ const v_msgEng = "Do you confirm the validation?";
+
+ // Affichage du SweetAlert de confirmation, puis exécution AJAX si confirmé
+ confirm_ebene_sweet(v_msg, v_msgEng).then(function (isConfirmed) {
+ if (!isConfirmed) return;
+
+ $.ajax({
+ url: $("#racineWeb").val() + "Ajaxdecompte/validerdecompteprestataire",
+ type: 'post',
+ error: function (errorData) {
+ // Gestion d'erreur possible ici
+ },
+ success: function (data) {
+ // Affiche message de succès
+ alert_ebene("Décompte validé avec succès!", "Validated successfully!");
+ },
+ complete: function () {
+ // Mise à jour de l’interface
+ afficher_decompte();
+ }
+ });
+ });
+ }
+}
+
+
+function retourdecompte()
+{
+ idSaisieDecompte = $("#idSaisieDecompte").val();
+ lienPrestation_C = $("#lienPrestation_C").val();
+ lienProduction_C = $("#lienProduction_C").val();
+
+ v_url = lienProduction_C+"/Connexiondecompte/"+idSaisieDecompte;
+
+ if (idSaisieDecompte>"")
+ {
+ window.location.assign(v_url);
+ }
+}
+
+function enregistrer_nv_medicament()
+{
+ libelleMedicament = $("#libelleMedicament").val();
+
+ if (libelleMedicament<=" ")
+ {
+ v_msg="Veuillez saisir le nom!";
+ v_msgEng="Please enter the name!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#libelleMedicament").focus();
+ return;
+ }
+
+ prixMedicament=$("#prixMedicament").val();
+ prixMedicament=prixMedicament.replace(",",".");
+ $("#prixMedicament").val(prixMedicament);
+
+ if(isNaN(prixMedicament))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#prixMedicament").val("0");
+ $("#prixMedicament").focus();
+ return;
+ }
+
+ if(prixMedicament==0)
+ {
+ $("#prixMedicament").focus();
+ v_msg="Veuillez saisir le prix!";
+ v_msgEng="Please enter the price!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ qteMedicament=$("#qteMedicament").val();
+ qteMedicament=qteMedicament.replace(",",".");
+ $("#qteMedicament").val(qteMedicament);
+
+ if(isNaN(qteMedicament))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#qteMedicament").val("0");
+ $("#qteMedicament").focus();
+ return;
+ }
+
+ if(qteMedicament==0)
+ {
+ $("#qteMedicament").focus();
+ v_msg="Veuillez saisir la quantit\u00e9!";
+ v_msgEng="Please enter the quantity!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ donnees = 'libelleMedicament='+libelleMedicament+'&prixMedicament='+prixMedicament+'&qteMedicament='+qteMedicament;
+
+ typeSms="ententeprealablepha";
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlistemedicamentspha/creermedicament/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ // $("#medicaments").html(data);
+ // alert("error => "+data);
+ // $("#div_new_medicament_test").html(data);
+
+ $("#btn_close_pop_new_med").click();
+ $("#btn_close_pop_medicament").click();
+ },
+ error: function(data) {
+ alert("error => "+data);
+ $("#div_new_medicament_test").html(data);
+ },
+ complete: function() {
+ actualiser_saisie_pharmacien();
+ }
+ });
+}
+
+function demander_accord_pha(idMedicament)
+{
+ donnees = 'idMedicament='+idMedicament;
+
+ typeSms="ententeprealablepha";
+
+ donnees_sav = 'idMedicament='+idMedicament+'&typeMail=mailententeprealablepha';
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailpharmacien/demanderaccordpha/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ preparesms(typeSms);
+
+ v_msg="Demande accord prealable envoy\u00e9e!";
+ v_msgEng="Request prior agreement sent!";
+ alert_ebene(v_msg, v_msgEng);
+
+ // raffraichir affichage
+ $("#livraison").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ mettremailattente(donnees_sav);
+ }
+ });
+}
+
+function controle_longeur_passe(controle)
+{
+ longueur = controle.value.length;
+
+ if(longueur==0)
+ {
+ return false;
+ }
+
+ if(longueur<6)
+ {
+ v_msg="6 caractères minimum exig\u00e9!";
+ v_msgEng="6 characters minmum required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ controle.value="";
+ controle.focus();
+ return false;
+ }
+}
+
+
+function facture_sans_bon()
+{
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+
+ if (numeroBeneficiaire<="0")
+ {
+ v_msg="Veuillez s\u00e9lectionner un b\u00e9n\u00e9ficiaire!";
+ v_msgEng="Please select an insured person!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb").val()+"Facturesansboncso/");
+}
+
+function nouvelle_sans_bon()
+{
+ window.location.assign($("#racineWeb").val()+"Facturesansboncso/");
+}
+
+// js_facture_san_sbon
+function enregistrerfacture_sans_bon_temp(v_initialiser)
+{
+ dateFacture=$("#dateFacture").val();
+ debutMoisDecompte = $("#debutMoisDecompte").val();
+
+ codeMedecin = $("#codeMedecin").val();
+ // medecinManquant = $("#medecinManquant").val();
+ medecinManquant = "";
+
+ if (codeMedecin<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner un m\u00e9decin!";
+ v_msgEng="Please select a doctor!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#nomMedecin").focus();
+ return;
+ }
+
+ if (codeMedecin=="ZZZZ" && medecinManquant<=" ")
+ {
+ v_msg="Veuillez saisir le nom du m\u00e9decin non enregistr\u00e9!";
+ v_msgEng="Please enter the name of the non-registered doctor!";
+ alert_ebene(v_msg, v_msgEng);
+
+ // $("#medecinManquant").focus();
+ return;
+ }
+
+ numeroBon = $("#numeroBon").val();
+
+ if (numeroBon<=" ")
+ {
+ v_msg="Veuillez saisir le No de Bons!";
+ v_msgEng="Please enter the first number of form!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#numeroBon").focus();
+ return;
+ }
+
+
+ if (dateFacture<=" ")
+ {
+ v_msg="Veuillez saisir la date de la facture!";
+ v_msgEng="Please enter the date of the invoice!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#dateFacture").focus();
+ return;
+ }
+
+
+ // v\u00e9rifier que le gars est couvert
+ // modifi\u00e9 le 09/07/2019
+ $("#dateFactureReelle").val(dateFacture);
+ if (prestation_possible_assureur())
+ {
+ observations = $("#observations").val();
+ hospitalisation = $("#hospitalisation").val();
+ tm = $("#tmFacture").val();
+
+ donnees = 'observations='+observations+'&dateFacture='+dateFacture+'&hospitalisation='+hospitalisation+'&tm='+tm+'&numeroBon='+numeroBon+'&medecinManquant='+medecinManquant+'&codeMedecin='+codeMedecin;
+ donnees += '&initialiserprestation='+v_initialiser;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailfacturesansboncso/enregistrerfacturetemp/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_facture").html(data);
+ $(".datepicker" ).datepicker();
+ },
+ complete: function() {
+ alerter_depassement_limite_sans_bon();
+ }
+ });
+ }
+}
+
+// Fonction pour enregistrer une facture sans bon de consultation
+function enregistrerfacture_sans_bon()
+{
+ // Enregistrement temporaire (étape préliminaire)
+ enregistrerfacture_sans_bon_temp("0");
+
+ // const medecinManquant = $("#medecinManquant").val();
+ const medecinManquant = "";
+
+ // Vérification du champ médecin
+ if (medecinManquant <= " ") {
+ alert_ebene("Veuillez saisir le Médecin!", "Please select a doctor!");
+ // $("#medecinManquant").focus();
+ return;
+ }
+
+ const dateFacture = $("#dateFacture").val();
+
+ // Vérification de la date de la facture
+ if (dateFacture <= " ") {
+ alert_ebene("Veuillez saisir la date de la facture!", "Please enter the date of the invoice");
+ $("#dateFacture").focus();
+ return;
+ }
+
+ const prixActe = $("#prixActe").val();
+
+ // Vérification qu’il y a bien un montant à enregistrer
+ if (prixActe == 0) {
+ alert_ebene("Rien à enregistrer!", "Nothing to save!");
+ return;
+ }
+
+ // Stocke la date réelle pour traitement backend
+ $("#dateFactureReelle").val(dateFacture);
+
+ // Vérifie que la prestation est possible pour l'assureur
+ if (prestation_possible_assureur()) {
+
+ // Texte de confirmation
+ const msgFr = "Confirmez-vous cette facture ?";
+ const msgEn = "Do you confirm this invoice?";
+
+ // Affiche une boîte de confirmation multilingue via SweetAlert
+ confirm_ebene_sweet(msgFr, msgEn, () => {
+ // Envoie de la requête AJAX en cas de confirmation
+ $.ajax({
+ url: $("#racineWeb").val() + "Ajaxdetailfacturesansboncso/validerfacturesansbon/",
+ error: function (errorData) {
+ // Gérer les erreurs ici si nécessaire
+ },
+ success: function (data) {
+ // Réinitialisation des composants si besoin
+ $(".datepicker").datepicker();
+ },
+ complete: function () {
+ // Message de succès multilingue
+ alert_ebene("Validation effectuée avec succès!", "Validation done successfully!");
+
+ // Rafraîchissement des données du bénéficiaire
+ afficher_beneficiaire_id();
+ }
+ });
+ });
+ }
+}
+
+
+function ajax_maj_tm_facture(tm, controle)
+{
+ donnees = 'tm='+tm;
+
+ tm=tm.replace(",",".");
+ controle.value=tm;
+
+ if(controle_numerique(controle))
+ {
+ // enregistrerfacture_sans_bon_temp();
+ enregistrerfacture_sans_bon_temp("0");
+ }
+}
+
+function ajax_maj_prix_acte(idPrestation, valeurActe, controle)
+{
+ donnees = 'idPrestation='+idPrestation+"&valeurActe="+valeurActe;
+
+ valeurActe=valeurActe.replace(",",".");
+ controle.value=valeurActe;
+
+ if(controle_numerique(controle))
+ {
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailfacturesansboncso/majprix/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture").html(data);
+ $(".datepicker" ).datepicker();
+ },
+ error: function(data) {
+ },
+ complete: function(data) {
+ alerter_depassement_limite_sans_bon();
+ }
+ });
+ }
+}
+
+
+function valider_facture_sans_bon_temp()
+{
+ enregistrerfacture_sans_bon_temp("1");
+}
+
+function alerter_depassement_limite_sans_bon()
+{
+ fraisExclu=$("#fraisExclu").val();
+ fraisExclu = parseInt(fraisExclu);
+
+ if (fraisExclu>0)
+ {
+ v_msg="Attention ! D\u00e9passement de limite";
+ v_msgEng="Warning ! Overflow";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+}
+
+function consulter_limite_avant_facturation_classique()
+{
+ /*
+ idFacture=$("#idFacture_C").val();
+
+ if (idFacture==0)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Plafondavantfactureclassique/");
+ */
+}
+
+function pop_messagerie()
+{
+ // alert('Hello');
+ nbMessagesNonLus = $("#timer").val();
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessagerieliste/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_messagerie").html(data);
+ },
+ complete: function() {
+ $("#btn_pop_messagerie").click();
+ }
+ });
+}
+
+function marquer_message_comme_lu(idMessagerie, controle)
+{
+ donnees = 'idMessagerie='+idMessagerie;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessagerieliste/marquercommelu/",
+ type: 'POST',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ },
+ complete: function() {
+ controle.parentElement.removeChild(controle);
+ }
+ });
+}
+
+
+function envoyer_messagerie(textMessage, idParent)
+{
+ donnees = 'textMessage='+textMessage+"&idParent="+idParent;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessagerie/creermessage/",
+ type: 'POST',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function repondre_message(idMessagerie, idParent, controle)
+{
+ donnees = 'idMessagerie='+idMessagerie+'&idParent='+idParent;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessageriereponse/",
+ type: 'POST',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_messagerie_reponse").html(data);
+ },
+ complete: function() {
+ repondu = $("#repondu").val();
+ if(repondu=="1")
+ {
+ v_msg="D\u00e9jà r\u00e9pondu!";
+ v_msgEng="Already answered!";
+ alert_ebene(v_msg, v_msgEng);
+
+ controle.parentElement.removeChild(controle);
+ return;
+ }
+ else
+ {$("#btn_pop_messagerie_reponse").click();
+ }
+ }
+ });
+}
+
+function gerer_messagerie()
+{
+ window.location.assign($("#racineWeb").val()+"Messagerie/");
+}
+
+function afficher_lite_messagerie()
+{
+ donnees = "";
+ donnees_retour = "";
+
+ date1 = $("#date1").val();
+ date2 = $("#date2").val();
+
+ messageLu = $("#messageLu").val();
+ textMessage = $("#textMessage").val();
+
+ donnees += 'date1=' + date1;
+ donnees += '&date2=' + date2;
+ donnees += '&messageLu=' + messageLu;
+ donnees += '&textMessage=' + textMessage;
+
+ $("#div_messagerie_gestion").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlistemessagerie/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ },
+ complete: function() {
+ $("#div_messagerie_gestion").html(donnees_retour);
+ $("#nbligne").val("Lignes : "+$("#nbligne_info").val());
+ }
+ });
+}
+
+
+function enregistrer_repondre_message()
+{
+ idMessagerie = $("#idMessagerie").val();
+ idParent = $("#idParentReponse").val();
+
+ textMessage = $("#textMessageReponse").val();
+ textMessage = textMessage.trim();
+
+ if (textMessage<=" ")
+ {
+ v_msg="Veuillez saisir la r\u00e9ponse!";
+ v_msgEng="Please enter the answer!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#textMessageReponse").focus();
+ return;
+ }
+
+ donnees = 'idMessagerie='+idMessagerie+"&idParent="+idParent+"&textMessage="+textMessage;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessagerie/repondremessage/",
+ type: 'POST',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ },
+ complete: function() {
+ $("#btn_pop_messagerie_reponse_quit").click();
+ }
+ });
+}
+
+function historique_message(idParent)
+{
+ donnees = 'idParent='+idParent;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessageriehistorique/",
+ type: 'POST',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_messagerie_historique").html(data);
+ },
+ complete: function() {
+ $("#btn_pop_messagerie_historique").click();
+ }
+ });
+}
+
+function initiermessage()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessagerienew/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_messagerie_new").html(data);
+ },
+ complete: function() {
+ $("#btn_pop_messagerie_new").click();
+ }
+ });
+}
+
+function enregistrer_new_message()
+{
+ textMessage = $("#textMessageNew").val();
+ textMessage = textMessage.trim();
+
+ if (textMessage<=" ")
+ {
+ v_msg="Veuillez saisir le message!";
+ v_msgEng="Please enter the message!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#textMessageNew").focus();
+ return;
+ }
+
+ donnees = 'textMessage='+textMessage+"&idParent=0";
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessagerie/creermessage/",
+ type: 'POST',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ },
+ complete: function() {
+ $("#btn_pop_messagerie_new_quit").click();
+ }
+ });
+}
+
+function consultation_assureur()
+{
+ dateFactureReelle = $("#dateFactureReelle").val();
+
+ if (dateFactureReelle<=" ")
+ {
+ v_msg="Veuillez saisir la date de la consultation!";
+ v_msgEng="Please enter the date of the consultation!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#dateFactureReelle").focus();
+ return;
+ }
+
+ if (prestation_possible_assureur())
+ {
+ $("#okId" ).val("1");
+
+ ajax_context_datefacture_reelle(dateFactureReelle);
+ }
+}
+
+function prestation_possible_assureur()
+{
+ enVigueur = $("#enVigueur_C").val();
+ codeEtatBeneficiaire = $("#codeEtatBeneficiaire_C").val();
+ etatbeneficiaire = $("#etatbeneficiaire_C").val();
+ college_couvert = $("#college_couvert_C").val();
+ derogation_en_cours = $("#derogation_en_cours_C").val();
+ derogation_finger_en_cours = $("#derogation_finger_en_cours_C").val();
+
+ datejour = $("#datejour_C").val();
+
+ dateSortieBeneficiaire = $("#dateSortieBeneficiaire_C").val();
+ var tdd = new Date(dateSortieBeneficiaire);
+ dtd = Math.round(Date.parse(tdd)/(1000*3600*24));
+
+
+ dateFactureReelle = $("#dateFactureReelle").val();
+ dateEffetPolice = $("#dateEffetPolice_C").val();
+ dateEcheancePolice = $("#dateEcheancePolice_C").val();
+ dateEntreeBeneficiaire = $("#dateEntreeBeneficiaire_C").val();
+
+ libelledebutMoisDecompte = $("#debutMoisDecompte").val();
+ debutMoisDecompte = $("#debutMoisDecompte").datepicker("getDate");
+ var tddebut = new Date(debutMoisDecompte);
+ dddebut = Math.round(Date.parse(tddebut)/(1000*3600*24));
+
+ CalculerFinMoisDecompte();
+
+ libellefinMoisDecompte = $("#finMoisDecompte").val();
+ finMoisDecompte = $("#finMoisDecompte").datepicker("getDate");
+ var tfin = new Date(finMoisDecompte);
+ ddfin = Math.round(Date.parse(tfin)/(1000*3600*24));
+
+ var td0 = new Date(dateEntreeBeneficiaire);
+ var td1 = $("#dateFactureReelle").datepicker("getDate");
+ var td2 = new Date(dateEcheancePolice);
+ var tdj = new Date(datejour);
+
+ dt0=Math.round(Date.parse(td0)/(1000*3600*24));
+ dt1=Math.round(Date.parse(td1)/(1000*3600*24));
+ dt2=Math.round(Date.parse(td2)/(1000*3600*24));
+ dtj=Math.round(Date.parse(tdj)/(1000*3600*24));
+
+ if ( (dt1ddfin) )
+ {
+
+ v_msg="Attention! date hors du mois! => "+libelledebutMoisDecompte+" - "+libellefinMoisDecompte;
+ v_msgEng="Warning! date out of the month!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return false;
+
+ //dt1 = dddebut;
+ }
+
+
+ if(dateSortieBeneficiaire>"2000-01-01")
+ {
+ if (dt1>dtd)
+ {
+ v_msg="Attention! cette personne n'est pas couverte à cette date!";
+ v_msgEng="Warning! This person is not valid on this date!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return false;
+ }
+ }
+ else
+ {
+ // A d\u00e9sactiv\u00e9 peut-être pour RADIANT
+ if (enVigueur!="1")
+ {
+ v_msg="Attention! cette personne n'est pas en vigueur";
+ v_msgEng="Warning! This person is not in force";
+ alert_ebene(v_msg, v_msgEng);
+
+ return false;
+ }
+
+ if (codeEtatBeneficiaire!="V")
+ {
+ v_msg="Attention! "+etatbeneficiaire;
+ v_msgEng="Warning! "+etatbeneficiaire;
+ alert_ebene(v_msg, v_msgEng);
+
+ return false;
+ }
+
+ // Fin d\u00e9sactivation peut-être pour RADIANT
+
+ if (college_couvert<1 && derogation_en_cours<1)
+ {
+ v_msg="Attention! Cette personne n\'a pas accès à ce centre";
+ v_msgEng="Warning! This person does not have access to this center";
+ alert_ebene(v_msg, v_msgEng);
+
+ return false;
+ }
+
+ if (dt1>dtj)
+ {
+ v_msg="Attention! Revoir la date!";
+ v_msgEng="Warning! Review the date!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return false;
+ }
+
+ if (dt1>dt2 || dt1"2000-01-01")
+ {
+ v_msg="Attention! personne d\u00e9c\u00e9d\u00e9e!";
+ v_msgEng="Warning! Deceased!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return false;
+ }
+ }
+ return true;
+}
+
+function ajax_context_datefacture_reelle(dateFactureReelle)
+{
+ donnees = 'dateFactureReelle='+dateFactureReelle;
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdatefacturerelle/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ complete: function() {
+ aller_a_la_consultatio();
+ }
+ });
+}
+
+function aller_a_la_consultatio()
+{
+ window.location.assign($("#racineWeb" ).val()+"Consultation/");
+}
+
+function ajax_maj_qte_examen_lab(idExamen, quantite, controle)
+{
+ quantite=quantite.replace(",",".");
+ controle.value=quantite;
+
+ if(controle_numerique(controle))
+ {
+ if(quantite==0)
+ {
+ controle.focus();
+ v_msg="Veuillez saisir la quantit\u00e9!";
+ v_msgEng="Please enter the quantity!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ donnees = 'idExamen='+idExamen+"&quantite="+quantite;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetaillaboratoire/majquantiteexam/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#livraison").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ //alerter_depassement_limite();
+ controle.focus();
+ }
+ });
+ }
+}
+
+function ajax_maj_qte_examen_lab_select(idExamen, quantite, controle)
+{
+ donnee_a_affciher = "";
+
+ quantite=quantite.replace(",",".");
+ controle.value=quantite;
+
+ if(controle_numerique(controle))
+ {
+ if(quantite==0)
+ {
+ controle.focus();
+ v_msg="Veuillez saisir la quantit\u00e9!";
+ v_msgEng="Please enter the quantity!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ donnees = 'idExamen='+idExamen+"&quantite="+quantite;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxselectexamens/majquantiteexam/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ // $("#livraison").html(data);
+ donnee_a_affciher = data;
+ alerter_depassement_limite();
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ $("#totam_donnees").html(donnee_a_affciher);
+ controle.focus();
+ }
+ });
+ }
+}
+
+function ajax_maj_qte_examen_cso(idExamen, quantite, controle)
+{
+ donnee_a_affciher = "";
+
+ quantite=quantite.replace(",",".");
+ controle.value=quantite;
+
+ if(controle_numerique(controle))
+ {
+ if(quantite==0)
+ {
+ controle.focus();
+ v_msg="Veuillez saisir la quantit\u00e9!";
+ v_msgEng="Please enter the quantity!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ donnees = 'idExamen='+idExamen+"&quantite="+quantite;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailexamen/majquantiteexam/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#livraison").html(data);
+ controle.focus();
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+ }
+}
+
+function actualiser_saisie_pharmacien()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailpharmacien/",
+ // type : 'post',
+ // data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#livraison").html(data);
+ raffraichier_detail_prescription();
+ },
+ complete: function() {
+ alerter_depassement_limite();
+ }
+ });
+}
+
+function lister_ged()
+{
+ d1 = $("#d1").val();
+ d2 = $("#d2").val();
+ nomOrigine = $("#nomOrigine").val();
+
+ donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine;
+
+ $("#div_ged").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlisteged/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_ged").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+function ctrlkeypress_lister_ged(ev)
+{
+ var keycode = (ev.keyCode ? ev.keyCode : ev.which);
+ if(keycode == '13')
+ {
+ lister_ged();;
+ }
+}
+
+function check_ged(idGed, cheminFichier, controle)
+{
+ donnees = "idGed="+idGed+"&cheminFichier="+cheminFichier;
+
+ // var cible_ged = $('#cible_ged');
+ var ctrl_btn_ged = $("#btn_ged"+idGed);
+ var ctrl_mess_not_found= $("#mess_not_found"+idGed);
+ var ctrl_check = $("#ctrl_check"+idGed);
+
+ // document.getElementById('bouton_'+id).innerHTML='Afficher le texte';
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxged/verifierexistancefichier/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+
+ donnees_retour = data;
+
+ if(donnees_retour=="1")
+ {
+ ctrl_btn_ged.show();
+ }
+ else
+ {
+ ctrl_mess_not_found.html("Not found");
+ }
+ },
+ complete: function()
+ {
+ controle.style.display = 'none';
+ ctrl_check.show();
+ }
+ });
+}
+
+function lister_ged_adherent()
+{
+ d1 = $("#d1").val();
+ d2 = $("#d2").val();
+ nomOrigine = $("#nomOrigine").val();
+
+ donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine;
+
+ $("#div_ged").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlistegedadherent/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_ged").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+function lister_ged_beneficiaire_prest()
+{
+ d1 = $("#d1").val();
+ d2 = $("#d2").val();
+ nomOrigine = $("#nomOrigine").val();
+
+ donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine;
+
+ $("#div_ged").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlistegedbeneficiaireprest/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_ged").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+
+function lister_ged_feuille_maladie()
+{
+ d1 = $("#d1").val();
+ d2 = $("#d2").val();
+ nomOrigine = $("#nomOrigine").val();
+
+ donnees = 'd1='+d1+'&d2='+d2+'&nomOrigine='+nomOrigine;
+
+ $("#div_ged").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlistegedfeuillemaladie/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_ged").html(data);
+ },
+ complete: function() {
+ }
+ });
+}
+
+function pop_ged_pharmacie()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlistegedpharmacie/",
+ error: function(errorData) {
+ },
+ success: function(data)
+ {
+ $("#div_ged").html(data);
+ },
+ complete: function() {
+ $("#btn_pop_ged_pharmacie").click();
+ }
+ });
+}
+
+function save_enroleur(user_id)
+{
+ if (user_id>"")
+ {
+ donnees = 'user_id='+user_id;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxcontextbeneficiaire/saveenroleur/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ complete: function() {
+ }
+ });
+ }
+}
+
+
+/* ACTIVATION POPUP
+function imprimer_liste_assures()
+{
+ $('#div_export_assures').html('');
+
+ $("#btn_liste_assures").click();
+ popalertmessagerie
+}
+*/
+
+function pop_dernier_messagerie()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessagerieliste/derniermessage/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_dernier_messagerie").html(data);
+ },
+ complete: function() {
+ $("#btn_pop_dernier_messagerie").click();
+ }
+ });
+}
+
+function marquer_dernier_message_comme_lu(idMessagerie, controle)
+{
+ donnees = 'idMessagerie='+idMessagerie;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessagerieliste/marquercommelu/",
+ type: 'POST',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ },
+ complete: function() {
+ // controle.parentElement.removeChild(controle);
+ $("#btn_close_pop_dernier_messagerie").click();
+ }
+ });
+}
+
+function isNumeric(num){
+ return !isNaN(num)
+}
+
+/**
+ * Supprime un consommable après confirmation de l'utilisateur
+ * @param {number} idConsommable - L'identifiant du consommable à supprimer
+ */
+async function retirer_consommable(idConsommable) {
+ // Préparation des données pour la requête AJAX
+ const donnees = `idConsommable=${idConsommable}`;
+ const url = `${$("#racineWeb").val()}Ajaxlisteconsommables/retirerconsommable/`;
+
+ // Messages de confirmation multilingues
+ const messages = {
+ fr: "Confirmez-vous cette suppression?",
+ en: "Do you Confirm this deletion?"
+ };
+
+ // Demande de confirmation à l'utilisateur
+ const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
+
+ if (!confirmation) return; // Arrêt si l'utilisateur annule
+
+ // Exécution de la suppression via AJAX
+ try {
+ await $.ajax({
+ url: url,
+ type: 'POST',
+ data: donnees
+ });
+ } catch (error) {
+ console.error("Erreur lors de la suppression", error);
+ } finally {
+ // Actualisation de l'affichage dans tous les cas
+ afficher_consommable();
+ }
+}
+
+/**
+ * Supprime tous les consommables après confirmation de l'utilisateur
+ * - Affiche une boîte de dialogue de confirmation
+ * - Envoie une requête AJAX pour la suppression globale
+ * - Rafraîchit l'affichage des consommables après opération
+ */
+async function retirer_consommable_tous() {
+ // Configuration des messages
+ const messages = {
+ fr: "Confirmez-vous cette suppression?",
+ en: "Do you Confirm this deletion?"
+ };
+
+ // Construction de l'URL
+ const url = `${$("#racineWeb").val()}Ajaxlisteconsommables/retirerconsommabletous/`;
+
+ // Demande de confirmation
+ const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
+ if (!confirmation) return;
+
+ // Exécution de la suppression
+ try {
+ await $.ajax({
+ url: url,
+ type: 'POST'
+ });
+ } catch (error) {
+ console.error("Erreur lors de la suppression globale", error);
+ } finally {
+ afficher_consommable(); // Rafraîchissement de l'affichage
+ }
+}
+
+/**
+ * Valide les consommables après vérification et confirmation
+ * - Vérifie d'abord si les consommables sont facturables
+ * - Demande confirmation avant validation finale
+ * - Exécute la fonction feuillemaladie() après confirmation
+ */
+async function valider_consommables() {
+ // Vérification préalable de la facturation
+ const facturerConsommable = $("#facturerConsommable").val();
+
+ if (facturerConsommable !== "1") {
+ // Message d'erreur si non facturable
+ const msgErreurFR = "Consommables non facturés!";
+ const msgErreurEN = "Consumables not invoiced!";
+ alert_ebene(msgErreurFR, msgErreurEN);
+ return;
+ }
+
+ // Messages de confirmation
+ const msgConfirmationFR = "Confirmez-vous cette saisie?";
+ const msgConfirmationEN = "Do you confirm this situation?";
+
+ // Demande de confirmation
+ const confirmation = await confirm_ebene_sweet(msgConfirmationFR, msgConfirmationEN);
+
+ // Exécution si confirmé
+ if (confirmation) {
+ feuillemaladie();
+ }
+}
+
+function imprimerdecompteprestataireaccord()
+{
+ regle=$("#regle").val();
+
+ if( (regle!=1) && (regle!=9) )
+ {
+ v_msg="Pas encore valid\u00e9 par l\'asssureur";
+ v_msgEng="Not yet validates by insurer!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ idReglement = $("#idReglement").val();
+
+ if (idReglement>"0")
+ {
+ var div_wait = $('#div_wait');
+ div_wait.html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaximprimerdemandereglement/imprimerdecompteprestataireaccord",
+ type: 'POST',
+ success: function(data)
+ {
+ div_wait.html(data);
+ },
+ error : function(resultat, statut, erreur)
+ {
+ },
+ complete: function(data)
+ {
+ }
+ });
+ }
+}
+
+
+function consulter_une_factures()
+{
+ window.location.assign($("#racineWeb" ).val()+"Factureconsprestataire/");
+}
+
+function ctrlkeypressfacture(ev)
+{
+ var keycode = (ev.keyCode ? ev.keyCode : ev.which);
+ if(keycode == '13')
+ {
+ $("#idFacture").blur();
+ }
+}
+
+function chercher_facture(idFacture)
+{
+
+ $("#div_facture_detail").html('');
+
+ $("#div_consulter_facture").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_consulter_facture").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consulterfacturefeuillemaladie()
+{
+ idFacture = $("#idFacture").val();
+
+ $("#div_facture_detail").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/feuillemaladie/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture_detail").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consulterfactureprestationactes()
+{
+ idFacture = $("#idFacture").val();
+
+ $("#div_facture_detail").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/prestationactes/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture_detail").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consulterfacturemedicaments()
+{
+ idFacture = $("#idFacture").val();
+
+ $("#div_facture_detail").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/medicaments/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture_detail").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consulter_facture_pop(idFacture)
+{
+
+ $("#div_facture_detail").html('');
+
+ $("#div_consulter_facture_pop").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconspop/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_consulter_facture_pop").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ $('#btn_pop_consulter_facture').click();
+ }
+ });
+}
+
+function consulterfacturefeuillemaladie_pop()
+{
+ idFacture = $("#idFacture").val();
+
+ $("#div_facture_detail").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconspop/feuillemaladie/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture_detail").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consulterfactureprestationactes_pop()
+{
+ idFacture = $("#idFacture").val();
+
+ $("#div_facture_detail").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconspop/prestationactes/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture_detail").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consulterfacturemedicaments_pop()
+{
+ idFacture = $("#idFacture").val();
+
+ $("#div_facture_detail").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconspop/medicaments/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture_detail").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consulterfactureverres_pop()
+{
+ idFacture = $("#idFacture").val();
+
+ $("#div_facture_detail").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconspop/verres/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture_detail").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function consulterfactureged_pop()
+{
+ idFacture = $("#idFacture").val();
+
+ $("#div_facture_detail").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconspop/geds/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture_detail").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function reafficher_ged_facture(idFacture)
+{
+ if (idFacture>"0")
+ {
+ donnees = 'idFacture='+idFacture;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxgedfacture/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_ged").html(data);
+ },
+ complete: function() {
+ }
+ });
+ }
+}
+
+function valider_ged_facture()
+{
+ idFacture = $("#idFactureGed").val();
+ v_url = $("#racineWeb").val()+"Ajaxgedfacture/chargerged";
+
+ donnees = "";
+
+ donnees = new FormData($("#ajax_form_upload")[0]);
+
+ $.ajax({
+ type: "POST",
+ url: v_url,
+ data: donnees,
+ contentType: false,
+ cache: false,
+ processData :false,
+
+ success: function(message){
+ alert_ebene(message);
+ },
+ error: function(errorData){
+ },
+ complete: function() {
+ // reafficher_ged_facture(idFacture);
+ }
+ });
+}
+
+function consulterfactureged()
+{
+ idFacture = $("#idFacture").val();
+
+ $("#div_facture_detail").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/geds/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture_detail").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function enregistrer_nv_verres()
+{
+ libelleOptique = $("#libelleOptique").val();
+
+ if (libelleOptique<=" ")
+ {
+ v_msg="Veuillez saisir le nom!";
+ v_msgEng="Please enter the name!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#libelleOptique").focus();
+ return;
+ }
+
+ prixVerre=$("#prixVerre").val();
+ prixVerre=prixVerre.replace(",",".");
+ $("#prixVerre").val(prixVerre);
+
+ if(isNaN(prixVerre))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#prixVerre").val("0");
+ $("#prixVerre").focus();
+ return;
+ }
+
+ if(prixVerre==0)
+ {
+ $("#prixVerre").focus();
+ v_msg="Veuillez saisir le prix!";
+ v_msgEng="Please enter the price!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ donnees = 'libelleOptique='+libelleOptique+'&prixVerre='+prixVerre;
+
+ // typeSms="ententeprealableopt";
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailopticien/creerverre/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+
+ $("#btn_close_pop_new_verre").click();
+ $("#btn_close_pop_verre").click();
+
+ // $("#div_test_gabarit").html(data);
+
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ actualiser_opticien();
+ }
+ });
+}
+
+
+function actualiser_reponse_opt(){
+
+ const nomForm = $("#nomForm").val();
+
+ if (nomForm == "frmopticien") {
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailopticien/reponseopt/",
+ type : 'post',
+ error: function(errorData)
+ {
+ },
+ success: function(data)
+ {
+ // Mise à jour du contenu de la div reponse
+ $("#div_reponse").html(data);
+ },
+ complete: function() {
+
+ }
+ });
+ }
+}
+
+function modifier_prix_opt(idDetailOptique)
+{
+ opticien();
+
+ codeReponseEntentePrealable = $("#codeReponseEntentePrealable").val();
+
+
+ demander_accord_opt(idDetailOptique, codeReponseEntentePrealable);
+}
+
+
+/**
+ * Gère la demande d'accord pour un acte optique
+ * @param {number} idDetailOptique - ID de l'acte optique
+ * @param {string} codeReponseEntentePrealable - Statut de l'entente préalable
+ */
+async function demander_accord_opt(idDetailOptique, codeReponseEntentePrealable) {
+ // Récupération des données du formulaire
+ const idDemandeAccord = $("#idDemandeAccord").val();
+ const cout = $("#cout").val();
+ let donnees = `idDetailOptique=${idDetailOptique}`;
+
+ // Vérification du prix saisi
+ if (cout === "0") {
+ alert_ebene("Veuillez saisir le prix!", "Please enter the price!");
+ $("#valeurActe").focus();
+ return;
+ }
+
+ // Définition des messages selon le contexte
+ const messages = codeReponseEntentePrealable === "2"
+ ? {
+ fr: "Souhaitez-vous vraiment modifier votre prix?",
+ en: "Are you sure you want to change your price?"
+ }
+ : {
+ fr: "Confirmez-vous le prix?",
+ en: "Do you confirm the price?"
+ };
+
+ // Affichage de la confirmation
+ const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
+
+ // Gestion de la réponse
+ if (confirmation) {
+ await traiterConfirmation(idDetailOptique, idDemandeAccord, codeReponseEntentePrealable);
+ } else {
+ await traiterAnnulation(idDetailOptique, idDemandeAccord);
+ }
+}
+
+/**
+ * Traite le cas de confirmation
+ */
+async function traiterConfirmation(idDetailOptique, idDemandeAccord, codeReponse) {
+ const donnees = `idDetailOptique=${idDetailOptique}`;
+ const racineWeb = $("#racineWeb").val();
+
+ afficherChargement();
+
+ if (idDemandeAccord === "0" && codeReponse === "") {
+ // Nouvelle demande d'accord
+ const data = await envoyerRequete(`${racineWeb}Ajaxdetailopticien/demanderaccordopt/`, donnees);
+ alert_ebene("Demande accord préalable envoyée!", "Request prior agreement sent!");
+ $("#livraison").html(data);
+ } else if (codeReponse === "2") {
+ // Modification de prix
+ const data = await envoyerRequete(`${racineWeb}Ajaxdetailopticien/supprimedemande/`, donnees);
+ $("#livraison").html(data);
+ opticien();
+ } else {
+ // Cas par défaut
+ const data = await envoyerRequete(`${racineWeb}Ajaxdetailopticien/`, "");
+ $("#livraison").html(data);
+ if ($('#btn-demande-accord').val() === 'Modifier votre prix') {
+ $('#btn-demande-accord').val('');
+ }
+ }
+}
+
+/**
+ * Traite le cas d'annulation
+ */
+async function traiterAnnulation(idDetailOptique, idDemandeAccord) {
+ afficherChargement();
+ const data = await envoyerRequete(`${$("#racineWeb").val()}Ajaxdetailopticien/`, "");
+ $("#livraison").html(data);
+ if ($('#btn-demande-accord').val() === 'Modifier votre prix') {
+ $('#btn-demande-accord').val('');
+ }
+}
+
+/**
+ * Affiche le message de chargement
+ */
+function afficherChargement() {
+ $("#livraison").html('' + '
');
+}
+
+/**
+ * Envoie une requête AJAX
+ */
+async function envoyerRequete(url, donnees) {
+ try {
+ const response = await $.ajax({
+ url: url,
+ type: 'POST',
+ data: donnees
+ });
+ return response;
+ } catch (error) {
+ console.error("Erreur AJAX", error);
+ throw error;
+ }
+}
+
+function demander_accord_mont(idOptique)
+{
+
+ prixPrestataire = $("#prixPrestataire").val();
+
+ prixPrestataire=prixPrestataire.replace(",",".");
+ $("#prixPrestataire").val(prixPrestataire);
+
+ if(isNaN(prixPrestataire))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#prixPrestataire").val("0");
+ $("#prixPrestataire").focus();
+ return;
+ }
+
+ if(prixPrestataire==0)
+ {
+ $("#prixPrestataire").focus();
+
+ v_msg="Veuillez saisir le prix!";
+ v_msgEng="Please enter the price!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ donnees = 'idOptique='+idOptique+'&prixPrestataire='+prixPrestataire;
+
+ typeSms="ententeprealablemont";
+
+ donnees_sav = donnees+'&typeMail=mailententeprealablemont';
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmonture/demanderaccordmont/",
+
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ preparesms(typeSms);
+
+ v_msg="Demande accord prealable envoy\u00e9e!";
+ v_msgEng="Request prior agreement sent!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#div_monture").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ mettremailattente(donnees_sav);
+ }
+ });
+}
+
+// 06/04/2019
+/**
+ * Change la langue de l'application après confirmation utilisateur
+ * - Affiche une boîte de dialogue de confirmation
+ * - Envoie une requête au serveur pour enregistrer le changement
+ * - Redirige vers la page de déconnexion après confirmation
+ */
+async function changer_langue() {
+ // Messages de confirmation multilingues
+ const messages = {
+ fr: "Confirmez-vous le changement de langue?",
+ en: "Do you confirm the language change?",
+ confirmText: {
+ fr: "Oui",
+ en: "Yes"
+ },
+ cancelText: {
+ fr: "Non",
+ en: "No"
+ }
+ };
+
+ // Demande de confirmation
+ const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
+ if (!confirmation) return;
+
+ // Envoi de la requête AJAX
+ try {
+ await $.ajax({
+ url: `${$("#racineWeb").val()}Ajaxchangerlangue/changerlangue/`,
+ type: 'POST'
+ });
+
+ // Redirection après succès
+ window.location.assign(`${$("#racineWeb").val()}Connexion/deconnecter/`);
+
+ } catch (error) {
+ console.error("Erreur lors du changement de langue", error);
+ }
+}
+
+function envoyersms(p_destinataires, p_message, creation_message)
+{
+
+
+ if(creation_message=="1")
+ {
+ envoyer_messagerie(p_message, "0");
+ }
+
+ envoismsactif = $("#envoismsactif").val();
+ if(envoismsactif=="0")
+ {
+ return;
+ }
+
+ if(p_destinataires.length<5)
+ {
+ /*
+ v_msg="SMS => Pas de destintaire!";
+ v_msgEng="SMS => No recipient!";
+
+ alert_ebene(v_msg, v_msgEng);
+ */
+
+ return;
+ }
+
+ fournisseurSms = $("#fournisseurSms").val();
+
+ if (fournisseurSms<=" ")
+ {
+ v_msg="Fournisseur de SMS non d\u00e9fini!";
+ v_msgEng="SMS provider not defined!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ if(fournisseurSms=="esicia")
+ {
+ ajouter_sms_attente(p_destinataires, p_message);
+ return;
+ }
+ else
+ if(fournisseurSms=="blive")
+ {
+ ajouter_sms_attente(p_destinataires, p_message);
+ return;
+ }
+ else
+ if(fournisseurSms=="hooza")
+ {
+ ajouter_sms_attente(p_destinataires, p_message);
+ return;
+ }
+ else
+ if(fournisseurSms=="noah")
+ {
+ ajouter_sms_attente(p_destinataires, p_message);
+ return;
+ }
+ else
+ if(fournisseurSms=="emisms")
+ {
+ ajouter_sms_attente(p_destinataires, p_message);
+ return;
+ }
+ else
+ if(fournisseurSms=="nerhysms")
+ {
+ ajouter_sms_attente(p_destinataires, p_message);
+ return;
+ }
+ else
+ if(fournisseurSms=="ovh")
+ {
+ ajouter_sms_attente(p_destinataires, p_message);
+ return;
+ }
+ else
+ {
+ v_msg=fournisseurSms+" => Fournisseur de SMS inconnu!";
+ v_msgEng=fournisseurSms+" => Unknown SMS Provider!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+}
+
+function preparesms_adherent(typeSms)
+{
+ envoismsactif = $("#envoismsactif").val();
+ if(envoismsactif=="0")
+ {
+ return;
+ }
+
+ smsAssure = $("#smsAssure").val();
+ if(smsAssure=="0")
+ {
+ return;
+ }
+
+ smsmParFacture = $("#smsmParFacture").val();
+
+ if(smsmParFacture=="0")
+ {
+ return;
+ }
+
+ codeLangueAdherent = $("#codeLangueAdherent").val();
+
+ p_destinataires = "";
+ p_message = "";
+ creation_message = "0";
+
+ devise = $("#devise_C").val();
+
+
+ if (typeSms=="facturer_cso")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+ numeroBonConsultation = $("#numeroBonConsultation_C").val();
+
+ p_destinataires = $("#telephonePortableAdherent_C").val();
+
+ p_message = $("#prestataire_C").val()+" ";
+ p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ /*
+ p_message +="Bon consultation No : "+numeroBonConsultation+" ";
+ p_message +="Consommations : "+cout_f+" "+devise;
+ */
+ p_message += (codeLangueAdherent=="en_US") ? "Consultation form No :" : "Bon consultation No : ";
+ p_message += numeroBonConsultation+" ";
+
+ p_message += (codeLangueAdherent=="en_US") ? "Consumptions : " : "Consommations : ";
+ p_message += cout_f+" "+devise;
+
+ p_message +=" TM : "+montantTm_f+" "+devise;
+ }
+
+ if (typeSms=="facturer_pha")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+ numeroBonOrdonnance = $("#numeroBonOrdonnance_C").val();
+
+ p_destinataires = $("#telephonePortableAdherent_C").val();
+
+ p_message = $("#prestataire_C").val()+" ";
+ p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ p_message += (codeLangueAdherent=="en_US") ? "Prescription No : " : "Ordonnance No : ";
+ p_message += numeroBonOrdonnance+" ";
+
+ p_message += (codeLangueAdherent=="en_US") ? "Pharmacy Consumptions : " : "Consommations Pharmacie : ";
+ p_message += cout_f+" "+devise;
+
+ p_message +=" TM : "+montantTm+" "+devise;
+
+ }
+
+ if (typeSms=="facturer_lab")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+ numeroBonExamen = $("#numeroBonExamen_C").val();
+
+ p_destinataires = $("#telephonePortableAdherent_C").val();
+
+ p_message = $("#prestataire_C").val()+" ";
+ p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ p_message += (codeLangueAdherent=="en_US") ? "Exam form No : " : "Bon Examens No : ";
+ p_message += numeroBonExamen+" ";
+
+ p_message += (codeLangueAdherent=="en_US") ? "Laboratory consumptions : " : "Consommations Labo : ";
+ p_message += cout_f+" "+devise;
+
+ p_message +=" TM : "+montantTm_f+" "+devise;
+ }
+
+ if (typeSms=="facturer_opt")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+ numeroBonOptique = $("#numeroBonOptique_C").val();
+
+ p_destinataires = $("#telephonePortableAdherent_C").val();
+
+ p_message = $("#prestataire_C").val()+" ";
+ p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ p_message += (codeLangueAdherent=="en_US") ? "Optical foem No : " : "Bon Optique No : ";
+ p_message += numeroBonOptique+" ";
+
+ p_message += (codeLangueAdherent=="en_US") ? "Optical consumptions : " : "Consommations Optiques : ";
+ p_message += cout_f+" "+devise;
+
+ p_message +=" TM : "+montantTm_f+" "+devise;
+ }
+
+ if (typeSms=="facturer_mont")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+
+ p_destinataires = $("#telephonePortableAdherent_C").val();
+
+ p_message = $("#prestataire_C").val()+" ";
+ p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ p_message += (codeLangueAdherent=="en_US") ? "Optical frames Consumptions : " : "Consommations Montures : ";
+ p_message += cout_f+" "+devise;
+
+ p_message +=" TM : "+montantTm_f+" "+devise;
+ }
+
+ if (typeSms=="facturer_sea")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+ numeroBonKine = $("#numeroBonKine_C").val();
+
+ p_destinataires = $("#telephonePortableAdherent_C").val();
+
+ p_message = $("#prestataire_C").val()+" ";
+ p_message +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ p_message += (codeLangueAdherent=="en_US") ? "KINE form No : " : "Bon KINE No : ";
+ p_message += numeroBonKine+" ";
+
+ p_message += (codeLangueAdherent=="en_US") ? "KINE Consumptions : " : "Consommations KINE : ";
+ p_message += cout_f+" "+devise;
+
+ p_message +=" TM : "+montantTm_f+" "+devise;
+ }
+
+ envoyersms(p_destinataires, p_message, creation_message);
+}
+
+function ajouter_sms_attente(p_destinataires, p_message)
+{
+ donnees = "destinataires="+p_destinataires+"&message="+p_message;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxsmsattente/ajouter/",
+ type: 'POST',
+ data: donnees,
+ success: function(data)
+ {
+ },
+ error: function(errdata)
+ {
+ },
+ complete: function()
+ {
+ }
+ });
+}
+
+function ajouter_sms_attente_singleton(p_destinataires, p_message)
+{
+ donnees = "destinataires="+p_destinataires+"&message="+p_message;
+
+ var addr = p_destinataires.split(",");
+
+ addr.forEach(function(element)
+ {
+ p_dest = element;
+
+ if(p_dest.length>4)
+ {
+ donnees = "destinataires="+p_dest+"&message="+p_message;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxsmsattente/ajouter/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+ }
+ else
+ {
+ v_msg=p_dest+" => Mauvais format!";
+ v_msgEng=p_dest+" => wrong phone format!";
+ alert_ebene(v_msg, v_msgEng);
+ }
+ });
+}
+
+function tester_disponibiliter_sms()
+{
+ p_message = "";
+
+ fournisseurSms = $("#fournisseurSms").val();
+
+ if (fournisseurSms<=" ")
+ {
+ v_msg="Fournisseur de SMS non d\u00e9fini!";
+ v_msgEng="SMS provider not defined!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ if(fournisseurSms=="esicia")
+ {
+ p_message = "Fournisseur : esicia ";
+ }
+ else
+ if(fournisseurSms=="blive")
+ {
+ p_message = "Fournisseur : blive ";
+ }
+ else
+ if(fournisseurSms=="hooza")
+ {
+ p_message = "Fournisseur : hooza ";
+ }
+ else
+ if(fournisseurSms=="ovh")
+ {
+ p_message = "Fournisseur : hooza ";
+ }
+ else
+ {
+ v_msg=fournisseurSms+" => Fournisseur de SMS inconnu!";
+ v_msgEng=fournisseurSms+" => Unknown SMS Provider!";
+ alert_ebene(v_msg, v_msgEng);
+ return;
+ }
+
+ p_destinataires = "25761198584";
+ // p_destinataires = "25761198584,25761198584";
+
+ donnees = "destinataires="+p_destinataires+"&message="+p_message+"&fournisseurSms="+fournisseurSms;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxtesterdisponiblitesms/envoyerlesms/",
+ type: 'POST',
+ data: donnees,
+ success: function(data)
+ {
+ $('#div_test_gabarit').html(data);
+ },
+ error: function(errdata)
+ {
+ },
+ complete: function()
+ {
+ }
+ });
+}
+
+function ajouter_destinataire_sms_adherent(p_destinataires)
+{
+ envoismsactif = $("#envoismsactif").val();
+ if(envoismsactif=="0")
+ {
+ return p_destinataires;
+ }
+
+ smsAssure = $("#smsAssure").val();
+ if(smsAssure=="0")
+ {
+ return p_destinataires;
+ }
+
+ tel_adh = $("#telephonePortableAdherent_C").val();
+
+ if(tel_adh.length>4)
+ {
+ return p_destinataires+","+tel_adh;
+ }
+
+ return p_destinataires;
+}
+
+function tester_ajouter_destinataire_sms_adherent()
+{
+ p_destinataires = "22506802339";
+}
+
+function preparemail_adherent(typeSms)
+{
+ emailParFacture = $("#emailParFacture").val();
+
+ if(emailParFacture=="0")
+ {
+ return;
+ }
+
+ emailAdherent = $("#emailAdherent_C").val();
+
+ if(emailAdherent.length<5)
+ {
+ return;
+ }
+
+ codeLangueAdherent = $("#codeLangueAdherent").val();
+
+ p_objet_email_adh = (codeLangueAdherent=="en_US") ? "ALERT CONSUMPTION" : "ALERT CONSOMMATIONS";
+
+ p_messageemail_adh = "";
+
+ devise = $("#devise_C").val();
+
+ cout = parseInt(cout);
+ cout = cout.toLocaleString();
+
+ if (typeSms=="facturer_cso")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+ numeroBonConsultation = $("#numeroBonConsultation_C").val();
+
+ p_messageemail_adh = $("#prestataire_C").val()+" ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="Patient : "+patient+" ("+numeroBeneficiaire+")";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "Consultation form No : " : "Bon consultation No : ";
+ p_messageemail_adh += numeroBonConsultation;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "Consumptions : " : "Consommations : ";
+ p_messageemail_adh += cout_f+" "+devise;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="TM : "+montantTm_f+" "+devise;
+ }
+
+ if (typeSms=="facturer_pha")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+ numeroBonOrdonnance = $("#numeroBonOrdonnance_C").val();
+
+ p_messageemail_adh = $("#prestataire_C").val()+" ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "Prescription No : " : "Ordonnance No : ";
+ p_messageemail_adh += numeroBonOrdonnance;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "Pharmacy Consumptions : " : "Consommations Pharmacie : ";
+ p_messageemail_adh += cout_f+" "+devise;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="TM : "+montantTm+" "+devise;
+
+ }
+
+ if (typeSms=="facturer_lab")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+ numeroBonExamen = $("#numeroBonExamen_C").val();
+
+ p_messageemail_adh = $("#prestataire_C").val()+" ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "Exam form No : " : "Bon Examens No : ";
+ p_messageemail_adh += numeroBonExamen;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "Laboratory consumptions : " : "Consommations Labo : ";
+ p_messageemail_adh += cout_f+" "+devise;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="TM : "+montantTm_f+" "+devise;
+ }
+
+ if (typeSms=="facturer_opt")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+ numeroBonOptique = $("#numeroBonOptique_C").val();
+
+ p_messageemail_adh = $("#prestataire_C").val()+" ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "Optical form No : " : "Bon Optique No : ";
+ p_messageemail_adh += numeroBonOptique;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "Optical consumptions : " : "Consommations Optiques : ";
+ p_messageemail_adh += cout_f+" "+devise;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="TM : "+montantTm_f+" "+devise;
+ }
+
+ if (typeSms=="facturer_mont")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+
+ p_messageemail_adh = $("#prestataire_C").val()+" ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "Optical frames Consumptions : " : "Consommations Montures : ";
+ p_messageemail_adh += cout_f+" "+devise;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="TM : "+montantTm_f+" "+devise;
+ }
+
+ if (typeSms=="facturer_sea")
+ {
+ patient = $("#beneficiaire_C").val();
+ numeroBeneficiaire = $("#numeroBeneficiaire_C" ).val();
+ numeroBonKine = $("#numeroBonKine_C").val();
+
+ p_messageemail_adh = $("#prestataire_C").val()+" ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="Patient : "+patient+" ("+numeroBeneficiaire+") ";
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "KINE form No : " : "Bon KINE No : ";
+ p_messageemail_adh += numeroBonKine;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh += (codeLangueAdherent=="en_US") ? "KINE Consumptions : " : "Consommations KINE : ";
+ p_messageemail_adh += cout_f+" "+devise;
+
+ p_messageemail_adh +="\n\n";
+
+ p_messageemail_adh +="TM : "+montantTm_f+" "+devise;
+ }
+
+ ajouter_mail_attente(emailAdherent, p_objet_email_adh, p_messageemail_adh);
+}
+
+function ajouter_mail_attente(emailAdherent, p_objet_email_adh, p_messageemail_adh)
+{
+ donnees = "email="+emailAdherent+"&objet="+p_objet_email_adh+"&message="+p_messageemail_adh;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxsmailadhattente/ajouter/",
+ type: 'POST',
+ data: donnees,
+ success: function(data)
+ {
+ },
+ error: function(errdata)
+ {
+ },
+ complete: function()
+ {
+ }
+ });
+}
+
+function verifiertentativeidentitification(user_id)
+{
+ /*
+ donnees = 'user_id='+user_id;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxenvoimaildivers/verifiertentativeidentitification/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData)
+ {
+ },
+ success: function(data)
+ {
+ },
+ complete: function() {
+ }
+ });
+ */
+}
+
+function afficherbon_vide()
+{
+ $("#div_bonpecs").html("");
+
+ codeLangue = $("#codeLangue").val();
+ if(codeLangue=="en_US")
+ {
+ $("#nbligne").val("Number of lines displayed : 0");
+ }
+ else
+ {
+ $("#nbligne").val("Nombre de bons affich\u00e9s : 0");
+ }
+
+ codeTypeBon=$("#codeTypeBon").val();
+
+ if (codeTypeBon<=" ")
+ {
+ v_msg="Veuillez s\u00e9lectionner un type de bon!";
+ v_msgEng="Please select a form type!";
+ alert_ebene(v_msg, v_msgEng);
+ $("#codeTypeBon").focus();
+ return;
+ }
+
+ $("#div_bonpecs").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxafficherbons/vide/",
+ error: function(errorData)
+ {
+ },
+ success: function(data)
+ {
+ $("#div_bonpecs").html(data);
+ },
+ complete: function()
+ {
+ }
+ });
+}
+
+function demander_accord_pha_cso(idMedicament)
+{
+ donnees = 'idMedicament='+idMedicament;
+
+ typeSms="ententeprealablepha";
+
+ donnees_sav = 'idMedicament='+idMedicament+'&typeMail=mailententeprealablepha';
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailpharmacie/demanderaccordpha/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ preparesms(typeSms);
+
+ v_msg="Demande accord prealable envoy\u00e9e!";
+ v_msgEng="Request prior agreement sent!";
+ alert_ebene(v_msg, v_msgEng);
+
+ // raffraichir affichage
+ $("#livraison").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ mettremailattente(donnees_sav);
+ }
+ });
+}
+
+function desactiver_click_droit()
+{
+ if (document.addEventListener) {
+ document.addEventListener('contextmenu', function (e) {
+ e.preventDefault();
+ }, false);
+ } else {
+ document.attachEvent('oncontextmenu', function () {
+ window.event.returnValue = false;
+ });
+ }
+}
+
+/**
+ * Enregistre une nouvelle note après validation
+ * - Vérifie que la note n'est pas vide
+ * - Demande confirmation à l'utilisateur
+ * - Envoie la note au serveur via AJAX
+ * - Rafraîchit l'affichage des notes et ferme le popup
+ */
+async function enregistrer_new_notes() {
+ // Récupération et nettoyage de la note
+ let notesNew = $("#notesNew").val().trim();
+
+ // Validation de la saisie
+ if (!notesNew || notesNew <= " ") {
+ alert_ebene("Veuillez saisir la note!", "Please enter the note!");
+ $("#notesNew").focus();
+ return;
+ }
+
+ // Préparation des données
+ const donnees = `notesNew=${encodeURIComponent(notesNew)}`;
+ const url = `${$("#racineWeb").val()}Ajaxnotesfeuillemaladie/creernote/`;
+
+ // Demande de confirmation
+ const confirmation = await confirm_ebene_sweet(
+ "Confirmez-vous cette note?",
+ "Do you confirm this note?"
+ );
+
+ if (!confirmation) return;
+
+ // Envoi de la note au serveur
+ try {
+ await $.ajax({
+ url: url,
+ type: 'POST',
+ data: donnees
+ });
+
+ // Fermeture du popup et rafraîchissement
+ $("#btn_pop_note_new_quit").click();
+ afficher_notes_feuille();
+
+ } catch (error) {
+ console.error("Erreur lors de l'enregistrement", error);
+ }
+}
+
+function afficher_notes_feuille()
+{
+ $("#div_notes").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxnotesfeuillemaladie/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ },
+ complete: function() {
+ $("#div_notes").html(donnees_retour);
+ }
+ });
+}
+
+function initiernotesfeuille()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxnotesfeuillemaladie/nouvellenote/",
+ error: function(errorData) {
+ },
+ success: function(data)
+ {
+ $("#div_note_new").html(data);
+ },
+ complete: function() {
+ $("#btn_pop_note_new").click();
+ }
+ });
+}
+
+function click_btn_add_drug()
+{
+ hospitalisation = $("#hospitalisation_C").val();
+ miseEnObservation = $("#miseEnObservation_C").val();
+
+ nbMedicamentMax = parseInt($("#nbMedicamentMax").val());
+ nbMedicamentSaisie = parseInt($("#nbMedicamentSaisie").val());
+
+ if (nbMedicamentSaisie>=nbMedicamentMax && (hospitalisation!="1"||hospitalisation!="1"))
+ {
+ v_msg="Attention! Maximum de m\u00e9dicaments atteint!";
+ v_msgEng="Warning! Maximum drugs reached!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+ $("#btn_add_drug").click();
+}
+
+
+/*
+function imprimer_feuille_maladie()
+{
+
+ facture=$("#facture").val();
+
+ if (facture!=1)
+ {
+ v_msg="Pas encore factur\u00e9e!";
+ v_msgEng="Not yet charged!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+
+
+ // $("#div_notes").html('' + '
');
+
+ donnees_retour = "";
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaximprimerfeuillemaladie/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ },
+ complete: function() {
+ $("#div_export_a").html(donnees_retour);
+ $("#btn_imprimer_feuille_maladie").click();
+ }
+ });
+}
+*/
+
+function imprimer_feuille_maladie()
+{
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaximprimerbonprescrition/",
+ success: function(data)
+ {
+ $("#div_export_a").html(data);
+ $("#btn_imprimer_bon").click();
+ },
+ error : function(resultat, statut, erreur)
+ {
+ },
+ complete: function(data)
+ {
+
+ }
+ });
+
+}
+
+
+
+function controle_numerique_new(idControle, oldValue)
+{
+ controle = document.getElementById(idControle);
+
+ valeur = controle.value;
+
+ if(isNaN(valeur))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ controle.value=oldValue;
+ controle.focus();
+ return false;
+ }
+
+ return true;
+}
+
+function reinitrechercherbonordonnance()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxchangerordonnance/reinit/",
+ type: 'POST',
+ // data: donnees,
+ success: function(data) {
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ window.location.assign($("#racineWeb" ).val()+"Pharmacien/");
+ }
+ });
+}
+
+function reinit_chercher_ordonnance_opt()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxchangerordonnanceopt/reinit/",
+ type: 'POST',
+ // data: donnees,
+ success: function(data) {
+ // window.location.assign($("#racineWeb" ).val()+"Opticien/");
+ },
+ error: function(data) {
+ },
+ complete: function()
+ {
+ window.location.assign($("#racineWeb" ).val()+"Opticien/");
+ }
+ });
+}
+
+//
+
+function reinitrechercherbonkine()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxchangerordonnancesea/reinit/",
+ type: 'POST',
+ // data: donnees,
+ success: function(data) {
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ window.location.assign($("#racineWeb" ).val()+"Kine/");
+ }
+ });
+}
+
+function supprimer_espace_string(p_mot)
+{
+ p_mot = p_mot.trim();
+ p_mot = p_mot.replace(" ", "");
+ return p_mot;
+}
+
+function notesfeuillemaladie()
+{
+ actVisible=$("#actVisible").val();
+
+ if (actVisible!="1")
+ {
+ v_msg="Non autoris\u00e9e!";
+ v_msgEng="Not allowed!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Notesfeuillemaladie/");
+}
+
+
+function raffraichier_gabarit()
+{
+ // Intercepteur AJAX global
+ $(document).ajaxError(function(event, xhr, settings, error) {
+ if (xhr.status === 500) {
+ const errorMatch = xhr.responseText.match(/Warning: (.+?) in (.+?) on line (\d+)/);
+ if (errorMatch) {
+ // alert(`Erreur PHP: ${errorMatch[1]}\nFichier: ${errorMatch[2]}\nLigne: ${errorMatch[3
+ window.location.assign($("#racineWeb" ).val()+"Connexion/deconnecter/");
+ }
+ }
+ });
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxgabarit/",
+ success: function(data)
+ {
+ $("#div_ajaxgabarit").html(data);
+
+ fusionConsOrd = $("#fusionConsOrd").val();
+ vue = $("#vue").val();
+
+ if(fusionConsOrd != "1" && vue !="Connexion"){
+
+ window.location.assign($("#racineWeb" ).val()+"Connexion/deconnecter/");
+ }
+ },
+ error: function(errorData)
+ {
+ },
+ complete: function()
+ {
+ $(".datepicker" ).datepicker();
+
+ raffraichier_messagerie();
+ actualiser_contestation();
+ actualiser_avis_hospitalisation();
+ actualiser_reponse_opt();
+ }
+ });
+}
+
+function connexion_cookie()
+{
+ msgErreur=$("#msgErreur").val();
+
+ donnees = 'msgErreur='+msgErreur;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxconnexioncookie/",
+ type: 'POST',
+ data: donnees,
+ success: function(data)
+ {
+ $("#div_ajaxconnexion").html(data);
+ $(".selectpicker").selectpicker();
+ },
+ error: function(errorData)
+ {
+ },
+ complete: function()
+ {
+ var login = document.getElementById("login").value;
+ if (login>" ")
+ {
+ $("#mdp").focus();
+ }
+ else
+ {
+ $("#codeSociete").focus();
+ }
+ }
+ });
+}
+
+function ajaxaffectionspossibles()
+{
+ codeTypeAffection=$("#codeTypeAffection").val();
+
+ donnees = 'codeTypeAffection='+codeTypeAffection;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxaffectionspossibles/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#listeaffections").html(data);
+ }
+ });
+}
+
+
+/**
+ * Enregistre une nouvelle affection médicale après validation
+ * - Vérifie si l'affection n'a pas déjà été saisie
+ * - Demande confirmation à l'utilisateur
+ * - Envoie les données au serveur via AJAX
+ * - Ferme le popup et rafraîchit l'affichage
+ */
+async function enregistreraffection() {
+ // Récupération des valeurs du formulaire
+ const codeAffection = $("#codeAffectionPop").val();
+ const codeAffectionOld = $("#codeAffection").val();
+ const affectionObligatoire = $("#affectionObligatoire").val();
+ const hospitalisation = $("#hospitalisation").val();
+
+ // Vérification de doublon
+ if (codeAffection === codeAffectionOld) {
+ alert_ebene("Déjà saisi!", "Already done!");
+ $("#codeAffectionPop").focus();
+ return;
+ }
+
+ // Demande de confirmation
+ const confirmation = await confirm_ebene_sweet(
+ "Confirmez-vous cette affection?",
+ "Do you confirm this affection?"
+ );
+
+ if (!confirmation) return;
+
+ // Préparation des données
+ const donnees = `codeAffection=${encodeURIComponent(codeAffection)}`;
+ const url = `${$("#racineWeb").val()}Ajaxenregistreraffection/enregistreraffection/`;
+
+ // Envoi des données
+ try {
+ await $.ajax({
+ url: url,
+ type: 'POST',
+ data: donnees
+ });
+
+ // Fermeture du popup et rafraîchissement
+ $("#close_pop_affection").click();
+ feuillemaladie();
+
+ } catch (error) {
+ console.error("Erreur lors de l'enregistrement", error);
+ }
+}
+
+function diagnosticsfeuillemaladie()
+{
+ /*
+ actVisible=$("#actVisible").val();
+
+ if (actVisible!="1")
+ {
+ v_msg="Non autoris\u00e9!";
+ v_msgEng="Not allowed!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ */
+
+ window.location.assign($("#racineWeb" ).val()+"Diagnosticscons/");
+}
+
+function afficher_diagnostics_feuille()
+{
+ $("#div_dianostics").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdiagnosticscons/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ },
+ complete: function() {
+ $("#div_dianostics").html(donnees_retour);
+ }
+ });
+}
+
+
+function imprimer_ecarts_decompte()
+{
+ var div_export = $('#div_export_ecart_decompte');
+
+ div_export.html('' + '
');
+
+ $("#btn_imprimer_ecart_decompte").click();
+
+ // alert("Ajaximprimerecartdecompte");
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaximprimerecartdecompte/",
+ type: 'POST',
+ success: function(data)
+ {
+ div_export.html(data);
+ },
+ error : function(resultat, statut, erreur)
+ {
+ },
+ complete: function(data)
+ {
+ // $("#btn_imprimer_ecart_decompte").click();
+ }
+ });
+
+}
+
+function afficher_ecarts_facture_cons()
+{
+ $("#div_ecart_decompte").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxecartdecomptecons/ecartfacture/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ },
+ complete: function() {
+ $("#div_ecart_decompte").html(donnees_retour);
+ }
+ });
+}
+
+function ecarts_facture_non_saisies_cons()
+{
+ $("#div_ecart_decompte").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxecartdecomptecons/ecartnonsaisi/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ },
+ complete: function() {
+ $("#div_ecart_decompte").html(donnees_retour);
+ }
+ });
+}
+
+function initvidermessagerie()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxvidermessagerie/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_vider_messagerie").html(data);
+ },
+ complete: function() {
+ $("#btn_pop_vider_messagerie").click();
+ $(".datepicker" ).datepicker();
+ }
+ });
+}
+
+/**
+ * Vide la messagerie des messages antérieurs à une date donnée
+ * - Demande confirmation avec la date limite affichée
+ * - Affiche un indicateur de chargement pendant l'opération
+ * - Notifie du succès de l'opération
+ * - Rafraîchit l'affichage de la messagerie
+ */
+async function vidermessagerie() {
+ // Récupération de la date limite
+ const dateLimite = $("#dateLimite").val();
+
+ // Messages dynamiques avec la date
+ const messages = {
+ fr: `Confirmez-vous le vidage de tous les messages générés avant le ${dateLimite} ?`,
+ en: `Do you confirm the emptying of all messages generated before the ${dateLimite} ?`,
+ success: {
+ fr: "Vidage effectué avec succès!",
+ en: "Emptying done successfully!"
+ }
+ };
+
+ // Demande de confirmation
+ const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
+ if (!confirmation) return;
+
+ // Affichage du loader
+ afficherLoader("#btn_pop_vider_messagerie");
+
+ try {
+ // Envoi de la requête
+ await $.ajax({
+ url: `${$("#racineWeb").val()}Ajaxvidermessagerie/vidermessagerie/`,
+ type: 'POST',
+ data: `dateLimite=${dateLimite}`
+ });
+
+ // Notification et rafraîchissement
+ alert_ebene(messages.success.fr, messages.success.en);
+ $("#btn_pop_vider_messagerie_quit").click();
+ gerer_messagerie();
+
+ } catch (error) {
+ console.error("Erreur lors du vidage", error);
+ }
+}
+
+/**
+ * Affiche l'animation de chargement
+ */
+function afficherLoader(selector) {
+ $(selector).html('' + '
');
+}
+
+function afficher_contacts_assureur()
+{
+ window.location.assign($("#racineWeb" ).val()+"Infossassureur/");
+}
+
+function ajaxdelaicarencecaisonconsultation()
+{
+ codeRaisonConsultation=$("#codeRaisonConsultation").val();
+
+ donnees = 'codeRaisonConsultation='+codeRaisonConsultation;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdelaicarencecaisonconsultation/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#infodelaicarence").html(data);
+ },
+ complete: function() {
+ $("#delaiCarenceRaisonconsultation").val( $("#delaiCarenceRaisonconsultation_info").val());
+ $("#appliquerDelaiCarence").val( $("#appliquerDelaiCarence_info").val());
+ }
+ });
+}
+
+function CalculerFinMoisDecompte()
+{
+ var typdate = $("#debutMoisDecompte").datepicker("getDate");
+ typdate.addMonths(1);
+ $("#finMoisDecompte").datepicker( "setDate", typdate );
+}
+
+function reposmedical()
+{
+ actVisible=$("#actVisible").val();
+
+ if (actVisible!="1")
+ {
+ v_msg="Non autoris\u00e9e!";
+ v_msgEng="Not allowed!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Reposmedical/");
+}
+
+function afficher_repos_medical()
+{
+ $("#div_notes").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxreposmedical/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ },
+ complete: function() {
+ $("#div_notes").html(donnees_retour);
+ }
+ });
+}
+
+function initier_repos_medical()
+{
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxreposmedical/nouveaureposmedical/",
+ error: function(errorData) {
+ },
+ success: function(data)
+ {
+ $("#div_note_new").html(data);
+ },
+ complete: function() {
+ $("#btn_pop_note_new").click();
+ }
+ });
+}
+
+/**
+ * Enregistre un nouveau repos médical après validation
+ * - Vérifie que la note n'est pas vide
+ * - Valide la durée du repos (nombre positif)
+ * - Demande confirmation à l'utilisateur
+ * - Envoie les données au serveur via AJAX
+ * - Ferme le popup et rafraîchit l'affichage
+ */
+async function enregistrer_new_repos_medical() {
+ // Récupération et validation de la note
+ const notesNew = $("#notesNew").val().trim();
+ if (!notesNew || notesNew <= " ") {
+ alert_ebene("Veuillez saisir la note!", "Please enter the note!");
+ $("#notesNew").focus();
+ return;
+ }
+
+ // Validation de la durée
+ const nbJour = $("#nbJour").val();
+ if (isNaN(nbJour) || nbJour <= "0") {
+ alert_ebene("Veuillez revoir la durée!", "Please review the duration!");
+ $("#nbJour").focus();
+ return;
+ }
+
+ // Préparation des données
+ const donnees = `notesNew=${encodeURIComponent(notesNew)}&nbJour=${nbJour}`;
+ const url = `${$("#racineWeb").val()}Ajaxreposmedical/creerreposmedical/`;
+
+ // Demande de confirmation
+ const confirmation = await confirm_ebene_sweet(
+ "Confirmez-vous ce repos médical?",
+ "Do you confirm this medical rest?"
+ );
+
+ if (!confirmation) return;
+
+ // Envoi des données
+ try {
+ await $.ajax({
+ url: url,
+ type: 'POST',
+ data: donnees
+ });
+
+ // Fermeture du popup et rafraîchissement
+ $("#btn_pop_note_new_quit").click();
+ afficher_repos_medical();
+
+ } catch (error) {
+ console.error("Erreur lors de l'enregistrement", error);
+ }
+}
+
+/**
+ * Supprime une affection médicale après confirmation
+ * @param {number} idAffection - L'identifiant de l'affection à supprimer
+ */
+async function supprimer_affections(idAffection) {
+ // Messages de confirmation multilingues
+ const messages = {
+ fr: "Confirmez-vous cette suppression?",
+ en: "Do you confirm this deletion?"
+ };
+
+ // Demande de confirmation
+ const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
+ if (!confirmation) return;
+
+ // Configuration de la requête
+ const url = `${$("#racineWeb").val()}Ajaxenregistreraffection/supprimeraffection/`;
+ const donnees = `idAffection=${idAffection}`;
+
+ // Exécution de la suppression
+ try {
+ await $.ajax({
+ url: url,
+ type: 'POST',
+ data: donnees
+ });
+
+ // Fermeture du popup et rafraîchissement
+ $("#close_pop_affection").click();
+ feuillemaladie();
+
+ } catch (error) {
+ console.error("Erreur lors de la suppression", error);
+ }
+}
+
+function anteceentsmedicaux()
+{
+ estMedecin=$("#estMedecin").val();
+
+ if (estMedecin!="1")
+ {
+ v_msg="Non autoris\u00e9!";
+ v_msgEng="Not allowed!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Anteceentsmedicaux/");
+}
+
+function diagnosticsbeneficiaire()
+{
+ estMedecin=$("#estMedecin").val();
+
+ if (estMedecin!="1")
+ {
+ v_msg="Non autoris\u00e9!";
+ v_msgEng="Not allowed!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Diagnosticsconsbeneficiaire/");
+}
+
+function notesbeneficiaire()
+{
+ estMedecin=$("#estMedecin").val();
+
+ if (estMedecin!="1")
+ {
+ v_msg="Non autoris\u00e9!";
+ v_msgEng="Not allowed!";
+ alert_ebene(v_msg, v_msgEng);
+
+ return;
+ }
+ window.location.assign($("#racineWeb" ).val()+"Notesbeneficiaire/");
+}
+
+function afficher_diagnostics_beneficiaire()
+{
+ $("#div_dianostics").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdiagnosticsbeneficiaire/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ },
+ complete: function() {
+ $("#div_dianostics").html(donnees_retour);
+ }
+ });
+}
+
+function afficher_notes_beneficiaire()
+{
+ $("#div_notes").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxnotesbeneficiaire/",
+ error: function(errorData) {
+ },
+ success: function(data) {
+ donnees_retour = data;
+ },
+ complete: function() {
+ $("#div_notes").html(donnees_retour);
+ }
+ });
+}
+
+function test_online()
+{
+ if(navigator.onLine)
+ {
+ $("#test_connexion").css('background-color', 'green');
+ v_msg="Connexion OK!";
+ v_msgEng="Connection OK";
+ alert_ebene(v_msg, v_msgEng);
+
+ }
+ else
+ {
+ $("#test_connexion").css('background-color', 'red');
+ v_msg="Problème de Connexion!";
+ v_msgEng="Connection Problem!";
+ alert_ebene(v_msg, v_msgEng);
+ }
+ return;
+}
+
+function raffraichier_messagerie()
+{
+ deconnexion='0';
+ if($('#nomForm').val()=="feuillemaladie"){
+ numeroFeuilleMaladie = $("#numeroFeuilleMaladie_C").val();
+ if (numeroFeuilleMaladie > "0") {
+ afficheReponseAvis();
+ }
+ }
+
+ if(navigator.onLine)
+ {
+ $("#test_connexion").css('background-color', 'green');
+ c_html = "";
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxmessagerie/",
+ success: function(data) {
+ c_html = data;
+ },
+ error: function(errorData) {
+ },
+ complete: function() {
+ $("#nbMessagesNonLus").html(c_html);
+ msgNonLus=$("#msgNonLus").val();
+
+ $("#span_notification").text(msgNonLus);
+
+ if(msgNonLus>0)
+ {
+ pop_dernier_messagerie();
+ }
+
+ // Ajout du 27/10/2024 => déconnecter si session expirée
+ deconnexion=$("#deconnexion").val();
+
+ // alert("deconnexion => "+deconnexion);
+
+ if(deconnexion=='1')
+ {
+ window.location.assign($("#racineWeb" ).val()+"Connexion/deconnecter/");
+ }
+
+ }
+ });
+ }
+ else
+ {
+ $("#test_connexion").css('background-color', 'red');
+ return;
+ }
+}
+
+
+function consulterfactureverres()
+{
+ idFacture = $("#idFacture").val();
+
+ $("#div_facture_detail").html('' + '
');
+
+ donnees = 'idFacture='+idFacture;
+
+ if(isNaN(idFacture))
+ {
+ v_msg="Valeur num\u00e9rique exig\u00e9e!";
+ v_msgEng="Numeric value required!";
+ alert_ebene(v_msg, v_msgEng);
+
+ $("#idFacture").val("0");
+ $("#idFacture").focus();
+ return;
+ }
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxfactureconsprestataire/verres/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ $("#div_facture_detail").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function() {
+ }
+ });
+}
+
+function init_remplacer_medicament(idMedicament)
+{
+ donnees = 'idMedicament='+idMedicament;
+
+ // alert(donnees);
+ // return;
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailprescription/initremplacement/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ },
+ error: function(data) {
+ },
+ complete: function()
+ {
+ $("#btn_remplacer_medicament").click();
+ }
+ });
+}
+
+function consulter_remplacer_medicament()
+{
+ $("#div_liste_medicaments_remplaces").html('' + '
');
+
+ $('#btn_medicaments_remplaces').click();
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxdetailprescription/consulterremplacement/",
+ type: 'POST',
+ success: function(data) {
+ $("#div_liste_medicaments_remplaces").html(data);
+ },
+ error: function(data) {
+ },
+ complete: function()
+ {
+ // $('#btn_medicaments_remplaces').click();
+ }
+ });
+}
+
+function ctrlkeypress_medicament_remplacement(ev)
+{
+ var keycode = (ev.keyCode ? ev.keyCode : ev.which);
+ if(keycode == '13')
+ {
+ afficher_pop_recherche_medicament_remplacement();
+ }
+}
+
+function afficher_pop_recherche_medicament_remplacement()
+{
+ nomsearch = $("#nomsearchrempl").val();
+
+ if (nomsearch > " ")
+ {
+ donnees = "valid=1&nomsearch="+nomsearch;
+
+ // alert(donnees);
+ // return;
+
+ $("#div_listemedicament_rempl").html('' + '
');
+
+ $.ajax({
+ url: $("#racineWeb").val()+"Ajaxlistemedicaments/remplacement/",
+ type : 'post',
+ data: donnees,
+ error: function(errorData) {
+ },
+ success: function(data) {
+ $("#div_listemedicament_rempl").html(data);
+ }
+ });
+ }
+}
+
+function selectionner_medicament_pop_rempl(codeMedicament, libelleMedicament)
+{
+ $("#codeMedicament_pop_rempl").val(codeMedicament);
+ $("#libelleMedicament_pop_rempl").val(libelleMedicament);
+}
+
+/**
+ * Remplace un médicament dans une prescription
+ * - Vérifie qu'un médicament a été sélectionné
+ * - Demande confirmation avec le nom du médicament
+ * - Envoie la requête de remplacement au serveur
+ * - Rafraîchit l'affichage de la prescription
+ */
+async function remplacer_medicament() {
+ // Récupération des valeurs du formulaire
+ const codeMedicamentNouv = $("#codeMedicament_pop_rempl").val();
+ const libelleMedicamentNouv = $("#libelleMedicament_pop_rempl").val();
+
+ // Validation de la sélection
+ if (!codeMedicamentNouv || codeMedicamentNouv.trim() <= " ") {
+ alert_ebene("Veuillez sélectionner un médicament!", "Please select a medicine/drug!");
+ return;
+ }
+
+ // Préparation des messages dynamiques
+ const messages = {
+ fr: `Prescrire : ${libelleMedicamentNouv}?`,
+ en: `Prescribe : ${libelleMedicamentNouv}?`
+ };
+
+ // Demande de confirmation
+ const confirmation = await confirm_ebene_sweet(messages.fr, messages.en);
+ if (!confirmation) return;
+
+ // Configuration de la requête
+ const url = `${$("#racineWeb").val()}Ajaxdetailprescription/remplacermedicament/`;
+ const donnees = `codeMedicamentNouv=${encodeURIComponent(codeMedicamentNouv)}`;
+
+ // Envoi de la requête
+ try {
+ await $.ajax({
+ url: url,
+ type: 'POST',
+ data: donnees
+ });
+
+ // Rafraîchissement de l'affichage
+ prescription_medicament();
+
+ } catch (error) {
+ console.error("Erreur lors du remplacement du médicament", error);
+ }
+}
+
+var formatCurrency = function(num){
+ var str = num.toString().replace("", ""), parts = false, output = [], i = 1, formatted = null;
+ if(str.indexOf(".") > 0) {
+ parts = str.split(".");
+ str = parts[0];
+ }
+ str = str.split("").reverse();
+ for(var j = 0, len = str.length; j < len; j++) {
+ if(str[j] != " ") {
+ output.push(str[j]);
+ if(i%3 == 0 && j < (len - 1)) {
+ output.push(" ");
+ }
+ i++;
+ }
+ }
+ formatted = output.reverse().join("");
+ return(formatted + ((parts) ? "." + parts[1].substr(0, 2) : ""));
+};
+
+$(function() {
+ // Initialisation des composants
+ appliquerDataTable();
+ dataTableSpeciale();
+ afficheGaranties();
+ afficherficheconsultation();
+ afficheDivPlafond();
+
+ // Variables globales
+ const nomForm = $('#nomForm').val();
+ const racineWeb = $("#racineWeb").val();
+
+ // Rafraîchir les notifications toutes les 10 secondes
+ setInterval(raffraichier_messagerie, 10000);
+
+ // Gestion des différents formulaires
+ const formHandlers = {
+
\ No newline at end of file