dert
This commit is contained in:
420
Js/fonctions.js
420
Js/fonctions.js
@@ -62811,148 +62811,154 @@ function intit_saisie_actebareme()
|
||||
}
|
||||
|
||||
|
||||
function actualiser_bareme_acte_lienparente()
|
||||
{
|
||||
codeGarantie = $("#codeGarantie").val();
|
||||
idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val();
|
||||
|
||||
|
||||
|
||||
donnees = 'codeGarantie='+codeGarantie;
|
||||
donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge;
|
||||
|
||||
$.ajax({
|
||||
url: $("#racineWeb").val()+"Ajaxinsererbaremeactelienparente/",
|
||||
type : 'post',
|
||||
data: donnees,
|
||||
error: function(errorData){
|
||||
//alert("Erreur : "+errorData);
|
||||
},
|
||||
success: function(data) {
|
||||
//alert("Success : "+data);
|
||||
$('#div_actes_lienparente').html(data);
|
||||
|
||||
|
||||
},
|
||||
complete: function() {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Actualise l'historique des règles spécifiques combinant Acte et Lien de Parenté
|
||||
*/
|
||||
function actualiser_bareme_acte_lienparente() {
|
||||
// 1. Paramètres d'environnement
|
||||
const racineWeb = $("#racineWeb").val();
|
||||
const codeLangue = $("#codeLangue").val();
|
||||
const $conteneur = $('#div_actes_lienparente');
|
||||
|
||||
const donnees = {
|
||||
codeGarantie: $("#codeGarantie").val(),
|
||||
idBaremePriseEnCharge: $("#idBaremePriseEnCharge").val()
|
||||
};
|
||||
|
||||
// 2. Feedback visuel de chargement
|
||||
$conteneur.html(`
|
||||
<div class="text-center py-4">
|
||||
<div class="spinner-border spinner-border-sm text-info" role="status"></div>
|
||||
<span class="ms-2 small text-muted text-uppercase fw-bold">
|
||||
${(codeLangue === "en_US") ? "Updating Relationship-Act history..." : "Mise à jour de l'historique Acte/Parenté..."}
|
||||
</span>
|
||||
</div>
|
||||
`);
|
||||
|
||||
// 3. Appel AJAX
|
||||
$.ajax({
|
||||
url: racineWeb + "Ajaxinsererbaremeactelienparente/",
|
||||
type: 'post',
|
||||
data: donnees,
|
||||
success: function(data) {
|
||||
// Affichage fluide des données
|
||||
$conteneur.hide().html(data).fadeIn(250);
|
||||
},
|
||||
error: function(xhr) {
|
||||
$conteneur.html(`
|
||||
<div class="alert alert-warning border-0 small shadow-sm m-2">
|
||||
<i class="fas fa-exclamation-triangle me-2 text-warning"></i>
|
||||
${(codeLangue === "en_US") ? "Could not refresh specialized history." : "Impossible d'actualiser l'historique spécialisé."}
|
||||
</div>
|
||||
`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function inserer_bareme_acte_lienparente()
|
||||
{
|
||||
codeGarantie = $("#codeGarantie").val();
|
||||
idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val();
|
||||
|
||||
codeActeLienParente = $("#codeActeLienParente").val();
|
||||
|
||||
dateEffetActeLienParente = $("#dateEffetActeLienParente").val();
|
||||
codeLienParenteActeLienParente = $("#codeLienParenteActeLienParente").val();
|
||||
forfaitPlafondActeLienParente = $("#forfaitPlafondActeLienParente").val();
|
||||
codePeriodicitePlafondActeLienParente = $("#codePeriodicitePlafondActeLienParente").val();
|
||||
nbreTransactionActeLienParente = $("#nbreTransactionActeLienParente").val();
|
||||
codePeriodiciteActeLienParente = $("#codePeriodiciteActeLienParente").val();
|
||||
codeTypeRemboursementActeLienParente = $("#codeTypeRemboursementActeLienParente").val();
|
||||
delaiCarenceActeLienParente = $("#delaiCarenceActeLienParente").val();
|
||||
ticketModerateurActeLienParente = $("#ticketModerateurActeLienParente").val();
|
||||
ageMinimumActeLienParente = $("#ageMinimumActeLienParente").val();
|
||||
ageMaximumActeLienParente = $("#ageMaximumActeLienParente").val();
|
||||
actifActeLienParente = $("#actifActeLienParente").val();
|
||||
|
||||
forfaitTmActeLienParente = $("#forfaitTmActeLienParente").val();
|
||||
|
||||
forfaitPlafondActeLienParente = forfaitPlafondActeLienParente.replace(/ /g,"");
|
||||
forfaitTmActeLienParente = forfaitTmActeLienParente.replace(/ /g,"");
|
||||
|
||||
if(codeActeLienParente <=" "){
|
||||
|
||||
v_msg="Veuillez entrer un acte!";
|
||||
v_msgEng="Please enter an act!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
/**
|
||||
* Insère une règle spécifique combinant un Acte et un Lien de Parenté
|
||||
*/
|
||||
function inserer_bareme_acte_lienparente() {
|
||||
// 1. Environnement et constantes
|
||||
const racineWeb = $("#racineWeb").val();
|
||||
const codeLangue = $("#codeLangue").val();
|
||||
const $divHistorique = $("#div_actes_lienparente");
|
||||
|
||||
$("#codeActeLienParente").focus();
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
if(dateEffetActeLienParente <= " "){
|
||||
|
||||
v_msg="Veuillez entrer une date d'effet!";
|
||||
v_msgEng="Please enter an effective date!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
// 2. Collecte et nettoyage des données (Objet JSON)
|
||||
const donnees = {
|
||||
codeGarantie: $("#codeGarantie").val(),
|
||||
idBaremePriseEnCharge: $("#idBaremePriseEnCharge").val(),
|
||||
codeActeLienParente: $("#codeActeLienParente").val(),
|
||||
dateEffetActeLienParente: $("#dateEffetActeLienParente").val(),
|
||||
codeLienParenteActeLienParente: $("#codeLienParenteActeLienParente").val(),
|
||||
|
||||
// Plafonds (Nettoyage de tous les types d'espaces)
|
||||
forfaitPlafondActeLienParente: $("#forfaitPlafondActeLienParente").val().replace(/\s/g, ""),
|
||||
codePeriodicitePlafondActeLienParente: $("#codePeriodicitePlafondActeLienParente").val(),
|
||||
nbreTransactionActeLienParente: $("#nbreTransactionActeLienParente").val(),
|
||||
codePeriodiciteActeLienParente: $("#codePeriodiciteActeLienParente").val(),
|
||||
|
||||
// Remboursement & Calculs
|
||||
codeTypeRemboursementActeLienParente: $("#codeTypeRemboursementActeLienParente").val(),
|
||||
delaiCarenceActeLienParente: $("#delaiCarenceActeLienParente").val(),
|
||||
ticketModerateurActeLienParente: $("#ticketModerateurActeLienParente").val(),
|
||||
forfaitTmActeLienParente: $("#forfaitTmActeLienParente").val().replace(/\s/g, ""),
|
||||
|
||||
// Critères
|
||||
ageMinimumActeLienParente: $("#ageMinimumActeLienParente").val(),
|
||||
ageMaximumActeLienParente: $("#ageMaximumActeLienParente").val(),
|
||||
actifActeLienParente: $("#actifActeLienParente").val()
|
||||
};
|
||||
|
||||
$("#dateEffetActeLienParente").focus();
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
if(codeLienParenteActeLienParente <= " "){
|
||||
|
||||
v_msg="Veuillez entrer le lien de parenté!";
|
||||
v_msgEng="Please enter the relationship!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
// 3. Validations de saisie avec alertes bilingues
|
||||
if (!donnees.codeActeLienParente || donnees.codeActeLienParente.trim() === "") {
|
||||
alert_ebene("Veuillez sélectionner un acte !", "Please select an act!");
|
||||
$("#codeActeLienParente").focus();
|
||||
return;
|
||||
}
|
||||
|
||||
$("#codeLienParenteActeLienParente").focus();
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
if(actifActeLienParente <= " "){
|
||||
|
||||
v_msg="Veuillez indiquer le statut de cet barème!";
|
||||
v_msgEng="Please indicate the status of this scale!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
if (!donnees.dateEffetActeLienParente || donnees.dateEffetActeLienParente.trim() === "") {
|
||||
alert_ebene("Veuillez entrer une date d'effet !", "Please enter an effective date!");
|
||||
$("#dateEffetActeLienParente").focus();
|
||||
return;
|
||||
}
|
||||
|
||||
$("#actifActeLienParente").focus();
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
$("#div_actes_lienparente").html('<div style="padding-top:80px; text-align:center; font-size:14px; color: #0088cf; "><span><i class="fa fa-spinner fa-spin fa-5x" >' + '</span></div>');
|
||||
|
||||
|
||||
donnees = 'codeGarantie='+codeGarantie;
|
||||
donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge;
|
||||
donnees += '&codeActeLienParente='+codeActeLienParente;
|
||||
donnees += '&dateEffetActeLienParente='+dateEffetActeLienParente;
|
||||
donnees += '&codeLienParenteActeLienParente='+codeLienParenteActeLienParente;
|
||||
donnees += '&forfaitPlafondActeLienParente='+forfaitPlafondActeLienParente;
|
||||
donnees += '&codePeriodicitePlafondActeLienParente='+codePeriodicitePlafondActeLienParente;
|
||||
donnees += '&nbreTransactionActeLienParente='+nbreTransactionActeLienParente;
|
||||
donnees += '&codePeriodiciteActeLienParente='+codePeriodiciteActeLienParente;
|
||||
|
||||
|
||||
donnees += '&codeTypeRemboursementActeLienParente='+codeTypeRemboursementActeLienParente;
|
||||
donnees += '&delaiCarenceActeLienParente='+delaiCarenceActeLienParente;
|
||||
donnees += '&ticketModerateurActeLienParente='+ticketModerateurActeLienParente;
|
||||
donnees += '&ageMinimumActeLienParente='+ageMinimumActeLienParente;
|
||||
donnees += '&ageMaximumActeLienParente='+ageMaximumActeLienParente;
|
||||
donnees += '&actifActeLienParente='+actifActeLienParente;
|
||||
|
||||
donnees += '&forfaitTmActeLienParente='+forfaitTmActeLienParente;
|
||||
|
||||
|
||||
$.ajax({
|
||||
url: $("#racineWeb").val()+"Ajaxinsererbaremeactelienparente/ajouter/",
|
||||
type : 'post',
|
||||
data: donnees,
|
||||
error: function(errorData){
|
||||
//alert("Erreur : "+errorData);
|
||||
},
|
||||
success: function(data) {
|
||||
//alert("Success : "+data);
|
||||
intit_saisie_actebareme_lienparente();
|
||||
actualiser_bareme_acte_lienparente();
|
||||
|
||||
},
|
||||
complete: function() {
|
||||
afficheNombreLigneBareme('actesbaremepriseenchargelienparente');
|
||||
}
|
||||
});
|
||||
if (!donnees.codeLienParenteActeLienParente || donnees.codeLienParenteActeLienParente.trim() === "") {
|
||||
alert_ebene("Veuillez entrer le lien de parenté !", "Please enter the relationship!");
|
||||
$("#codeLienParenteActeLienParente").focus();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!donnees.actifActeLienParente || donnees.actifActeLienParente.trim() === "") {
|
||||
alert_ebene("Veuillez indiquer le statut !", "Please indicate the status!");
|
||||
$("#actifActeLienParente").focus();
|
||||
return;
|
||||
}
|
||||
|
||||
// 4. Feedback visuel (Loader SaaS)
|
||||
const loadingMsg = (codeLangue === "en_US") ? "Deploying Relationship-Act Rule..." : "Déploiement de la règle Acte/Parenté...";
|
||||
$divHistorique.html(`
|
||||
<div class="d-flex flex-column align-items-center justify-content-center p-5 text-info">
|
||||
<div class="spinner-border" role="status" style="width: 3rem; height: 3rem;"></div>
|
||||
<div class="mt-3 fw-bold text-uppercase small animate__animated animate__pulse animate__infinite">
|
||||
${loadingMsg}
|
||||
</div>
|
||||
</div>
|
||||
`);
|
||||
|
||||
// 5. Envoi AJAX
|
||||
$.ajax({
|
||||
url: racineWeb + "Ajaxinsererbaremeactelienparente/ajouter/",
|
||||
type: 'post',
|
||||
data: donnees,
|
||||
success: function(response) {
|
||||
// Réinitialisation du formulaire
|
||||
if (typeof intit_saisie_actebareme_lienparente === 'function') {
|
||||
intit_saisie_actebareme_lienparente();
|
||||
}
|
||||
// Actualisation de l'historique
|
||||
if (typeof actualiser_bareme_acte_lienparente === 'function') {
|
||||
actualiser_bareme_acte_lienparente();
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
$divHistorique.html(`
|
||||
<div class="alert alert-danger border-0 shadow-sm d-flex align-items-center">
|
||||
<i class="fas fa-exclamation-circle me-2"></i>
|
||||
${(codeLangue === "en_US") ? "Error during specialized insertion." : "Erreur lors de l'insertion spécialisée."}
|
||||
</div>
|
||||
`);
|
||||
},
|
||||
complete: function() {
|
||||
// Mise à jour du compteur de lignes (Badge)
|
||||
if (typeof afficheNombreLigneBareme === 'function') {
|
||||
afficheNombreLigneBareme('actesbaremepriseenchargelienparente');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function intit_saisie_actebareme_lienparente()
|
||||
{
|
||||
$("#codeActeLienParente").selectpicker('val', '');
|
||||
@@ -63168,76 +63174,82 @@ function validiteDateEffetActeBareme() {
|
||||
}
|
||||
|
||||
|
||||
function validiteDateEffetActeBaremeLienParente(){
|
||||
|
||||
var codeGarantie = $("#codeGarantie").val();
|
||||
var idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val();
|
||||
var codeActeLienParente = $("#codeActeLienParente").val();
|
||||
|
||||
var dateEffetActeLienParente = $("#dateEffetActeLienParente").val();
|
||||
var codeLienParenteActeLienParente = $("#codeLienParenteActeLienParente").val();
|
||||
|
||||
var datejour = $("#datejour_C").val();
|
||||
|
||||
var str = dateEffetActeLienParente.split('/');
|
||||
var effet = str[2]+'-'+str[1]+'-'+str[0];
|
||||
|
||||
donnees = 'codeGarantie='+codeGarantie;
|
||||
donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge;
|
||||
donnees += '&codeActeLienParente='+codeActeLienParente;
|
||||
donnees += '&codeLienParenteActeLienParente='+codeLienParenteActeLienParente;
|
||||
|
||||
//alert(donnees);
|
||||
//return;
|
||||
|
||||
$.ajax({
|
||||
url: $("#racineWeb").val()+"Ajaxinsererbaremeactelienparente/controle/",
|
||||
type : 'post',
|
||||
data: donnees,
|
||||
error: function(errorData){
|
||||
//alert("Erreur : "+errorData);
|
||||
},
|
||||
success: function(data) {
|
||||
//alert("Success : "+data);
|
||||
$('#div_maxdateeffetactebaremelienparente').html(data);
|
||||
|
||||
var tdj = new Date(datejour);
|
||||
var tde = new Date(effet);
|
||||
|
||||
maxDateEffetActeBaremeLienParente = $("#maxDateEffetActeBaremeLienParente").val();
|
||||
|
||||
|
||||
dte=Math.round(Date.parse(tde)/(1000*3600*24));
|
||||
dtj=Math.round(Date.parse(tdj)/(1000*3600*24));
|
||||
|
||||
if((dte < dtj) && (maxDateEffetActeBaremeLienParente!=undefined || maxDateEffetActeBaremeLienParente!='')){
|
||||
var tdm = new Date(maxDateEffetActeBaremeLienParente);
|
||||
dtm = Math.round(Date.parse(tdm)/(1000*3600*24));
|
||||
|
||||
if(dte < dtm){
|
||||
|
||||
v_msg="Date d'effet invalide!";
|
||||
v_msgEng="Invalid effective date!";
|
||||
alert_ebene(v_msg, v_msgEng);
|
||||
|
||||
$("#dateEffetActeLienParente").val('');
|
||||
$("#dateEffetActeLienParente").focus();
|
||||
return;
|
||||
}else{
|
||||
inserer_bareme_acte_lienparente();
|
||||
}
|
||||
}else{
|
||||
|
||||
inserer_bareme_acte_lienparente();
|
||||
}
|
||||
|
||||
},
|
||||
complete: function() {
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Contrôle la validité chronologique de la date d'effet pour un acte et un lien de parenté spécifiques
|
||||
*/
|
||||
function validiteDateEffetActeBaremeLienParente() {
|
||||
// 1. Récupération des paramètres
|
||||
const racineWeb = $("#racineWeb").val();
|
||||
const dateEffetSaisieStr = $("#dateEffetActeLienParente").val();
|
||||
const dateJourSystemeStr = $("#datejour_C").val(); // Format YYYY-MM-DD attendu
|
||||
|
||||
const donneesControle = {
|
||||
codeGarantie: $("#codeGarantie").val(),
|
||||
idBaremePriseEnCharge: $("#idBaremePriseEnCharge").val(),
|
||||
codeActeLienParente: $("#codeActeLienParente").val(),
|
||||
codeLienParenteActeLienParente: $("#codeLienParenteActeLienParente").val()
|
||||
};
|
||||
|
||||
// Validation immédiate : Données obligatoires
|
||||
if (!donneesControle.codeActeLienParente) {
|
||||
alert_ebene("Veuillez sélectionner un acte !", "Please select an act !");
|
||||
return;
|
||||
}
|
||||
if (!donneesControle.codeLienParenteActeLienParente) {
|
||||
alert_ebene("Veuillez sélectionner un lien de parenté !", "Please select a relationship !");
|
||||
return;
|
||||
}
|
||||
if (!dateEffetSaisieStr || dateEffetSaisieStr.trim() === "") {
|
||||
alert_ebene("Veuillez entrer une date d'effet !", "Please enter an effective date !");
|
||||
$("#dateEffetActeLienParente").focus();
|
||||
return;
|
||||
}
|
||||
|
||||
// 2. Conversion des dates pour comparaison
|
||||
const parts = dateEffetSaisieStr.split('/');
|
||||
const dateEffetSaisie = new Date(parts[2], parts[1] - 1, parts[0]);
|
||||
const dateJourSysteme = new Date(dateJourSystemeStr);
|
||||
|
||||
// 3. Appel AJAX de contrôle
|
||||
$.ajax({
|
||||
url: racineWeb + "Ajaxinsererbaremeactelienparente/controle/",
|
||||
type: 'post',
|
||||
data: donneesControle,
|
||||
success: function(data) {
|
||||
// Injection du champ hidden maxDateEffetActeBaremeLienParente retourné par le serveur
|
||||
$('#div_maxdateeffetactebaremelienparente').html(data);
|
||||
|
||||
const maxDateBaseStr = $("#maxDateEffetActeBaremeLienParente").val();
|
||||
|
||||
// Calcul des timestamps (en jours)
|
||||
const dte = Math.round(dateEffetSaisie.getTime() / (1000 * 3600 * 24));
|
||||
const dtj = Math.round(dateJourSysteme.getTime() / (1000 * 3600 * 24));
|
||||
|
||||
// 4. Logique de validation chronologique
|
||||
// On vérifie si la date est valide par rapport à l'historique existant
|
||||
if (dte < dtj && maxDateBaseStr) {
|
||||
const maxDateBase = new Date(maxDateBaseStr);
|
||||
const dtm = Math.round(maxDateBase.getTime() / (1000 * 3600 * 24));
|
||||
|
||||
if (dte < dtm) {
|
||||
alert_ebene(
|
||||
"Date d'effet invalide ! Elle ne peut être antérieure à la dernière modification pour ce couple Acte/Parenté.",
|
||||
"Invalid effective date ! It cannot be earlier than the last modification for this Act/Relationship pair."
|
||||
);
|
||||
$("#dateEffetActeLienParente").val('').focus();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// 5. Validation réussie : Appel de l'insertion
|
||||
if (typeof inserer_bareme_acte_lienparente === 'function') {
|
||||
inserer_bareme_acte_lienparente();
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
alert_ebene("Erreur lors de la vérification de validité.", "Error during validity check.");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//30-03-2023
|
||||
|
||||
Reference in New Issue
Block a user