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