dert
This commit is contained in:
parent
e0332cacff
commit
e04157324e
|
|
@ -9,7 +9,6 @@ class ControleurAjaxinsererbaremeactelienparente extends Controleur {
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->garantie = new Garantiesbaremepriseencharge();
|
$this->garantie = new Garantiesbaremepriseencharge();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
|
|
|
||||||
420
Js/fonctions.js
420
Js/fonctions.js
|
|
@ -62811,148 +62811,154 @@ function intit_saisie_actebareme()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function actualiser_bareme_acte_lienparente()
|
/**
|
||||||
{
|
* Actualise l'historique des règles spécifiques combinant Acte et Lien de Parenté
|
||||||
codeGarantie = $("#codeGarantie").val();
|
*/
|
||||||
idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val();
|
function actualiser_bareme_acte_lienparente() {
|
||||||
|
// 1. Paramètres d'environnement
|
||||||
|
const racineWeb = $("#racineWeb").val();
|
||||||
|
const codeLangue = $("#codeLangue").val();
|
||||||
donnees = 'codeGarantie='+codeGarantie;
|
const $conteneur = $('#div_actes_lienparente');
|
||||||
donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge;
|
|
||||||
|
const donnees = {
|
||||||
$.ajax({
|
codeGarantie: $("#codeGarantie").val(),
|
||||||
url: $("#racineWeb").val()+"Ajaxinsererbaremeactelienparente/",
|
idBaremePriseEnCharge: $("#idBaremePriseEnCharge").val()
|
||||||
type : 'post',
|
};
|
||||||
data: donnees,
|
|
||||||
error: function(errorData){
|
// 2. Feedback visuel de chargement
|
||||||
//alert("Erreur : "+errorData);
|
$conteneur.html(`
|
||||||
},
|
<div class="text-center py-4">
|
||||||
success: function(data) {
|
<div class="spinner-border spinner-border-sm text-info" role="status"></div>
|
||||||
//alert("Success : "+data);
|
<span class="ms-2 small text-muted text-uppercase fw-bold">
|
||||||
$('#div_actes_lienparente').html(data);
|
${(codeLangue === "en_US") ? "Updating Relationship-Act history..." : "Mise à jour de l'historique Acte/Parenté..."}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
},
|
`);
|
||||||
complete: function() {
|
|
||||||
|
// 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()
|
/**
|
||||||
{
|
* Insère une règle spécifique combinant un Acte et un Lien de Parenté
|
||||||
codeGarantie = $("#codeGarantie").val();
|
*/
|
||||||
idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val();
|
function inserer_bareme_acte_lienparente() {
|
||||||
|
// 1. Environnement et constantes
|
||||||
codeActeLienParente = $("#codeActeLienParente").val();
|
const racineWeb = $("#racineWeb").val();
|
||||||
|
const codeLangue = $("#codeLangue").val();
|
||||||
dateEffetActeLienParente = $("#dateEffetActeLienParente").val();
|
const $divHistorique = $("#div_actes_lienparente");
|
||||||
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);
|
|
||||||
|
|
||||||
$("#codeActeLienParente").focus();
|
// 2. Collecte et nettoyage des données (Objet JSON)
|
||||||
return;
|
const donnees = {
|
||||||
|
codeGarantie: $("#codeGarantie").val(),
|
||||||
}
|
idBaremePriseEnCharge: $("#idBaremePriseEnCharge").val(),
|
||||||
|
codeActeLienParente: $("#codeActeLienParente").val(),
|
||||||
if(dateEffetActeLienParente <= " "){
|
dateEffetActeLienParente: $("#dateEffetActeLienParente").val(),
|
||||||
|
codeLienParenteActeLienParente: $("#codeLienParenteActeLienParente").val(),
|
||||||
v_msg="Veuillez entrer une date d'effet!";
|
|
||||||
v_msgEng="Please enter an effective date!";
|
// Plafonds (Nettoyage de tous les types d'espaces)
|
||||||
alert_ebene(v_msg, v_msgEng);
|
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();
|
// 3. Validations de saisie avec alertes bilingues
|
||||||
return;
|
if (!donnees.codeActeLienParente || donnees.codeActeLienParente.trim() === "") {
|
||||||
|
alert_ebene("Veuillez sélectionner un acte !", "Please select an act!");
|
||||||
}
|
$("#codeActeLienParente").focus();
|
||||||
|
return;
|
||||||
if(codeLienParenteActeLienParente <= " "){
|
}
|
||||||
|
|
||||||
v_msg="Veuillez entrer le lien de parenté!";
|
|
||||||
v_msgEng="Please enter the relationship!";
|
|
||||||
alert_ebene(v_msg, v_msgEng);
|
|
||||||
|
|
||||||
$("#codeLienParenteActeLienParente").focus();
|
if (!donnees.dateEffetActeLienParente || donnees.dateEffetActeLienParente.trim() === "") {
|
||||||
return;
|
alert_ebene("Veuillez entrer une date d'effet !", "Please enter an effective date!");
|
||||||
|
$("#dateEffetActeLienParente").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);
|
|
||||||
|
|
||||||
$("#actifActeLienParente").focus();
|
if (!donnees.codeLienParenteActeLienParente || donnees.codeLienParenteActeLienParente.trim() === "") {
|
||||||
return;
|
alert_ebene("Veuillez entrer le lien de parenté !", "Please enter the relationship!");
|
||||||
|
$("#codeLienParenteActeLienParente").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>');
|
|
||||||
|
if (!donnees.actifActeLienParente || donnees.actifActeLienParente.trim() === "") {
|
||||||
|
alert_ebene("Veuillez indiquer le statut !", "Please indicate the status!");
|
||||||
donnees = 'codeGarantie='+codeGarantie;
|
$("#actifActeLienParente").focus();
|
||||||
donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge;
|
return;
|
||||||
donnees += '&codeActeLienParente='+codeActeLienParente;
|
}
|
||||||
donnees += '&dateEffetActeLienParente='+dateEffetActeLienParente;
|
|
||||||
donnees += '&codeLienParenteActeLienParente='+codeLienParenteActeLienParente;
|
// 4. Feedback visuel (Loader SaaS)
|
||||||
donnees += '&forfaitPlafondActeLienParente='+forfaitPlafondActeLienParente;
|
const loadingMsg = (codeLangue === "en_US") ? "Deploying Relationship-Act Rule..." : "Déploiement de la règle Acte/Parenté...";
|
||||||
donnees += '&codePeriodicitePlafondActeLienParente='+codePeriodicitePlafondActeLienParente;
|
$divHistorique.html(`
|
||||||
donnees += '&nbreTransactionActeLienParente='+nbreTransactionActeLienParente;
|
<div class="d-flex flex-column align-items-center justify-content-center p-5 text-info">
|
||||||
donnees += '&codePeriodiciteActeLienParente='+codePeriodiciteActeLienParente;
|
<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}
|
||||||
donnees += '&codeTypeRemboursementActeLienParente='+codeTypeRemboursementActeLienParente;
|
</div>
|
||||||
donnees += '&delaiCarenceActeLienParente='+delaiCarenceActeLienParente;
|
</div>
|
||||||
donnees += '&ticketModerateurActeLienParente='+ticketModerateurActeLienParente;
|
`);
|
||||||
donnees += '&ageMinimumActeLienParente='+ageMinimumActeLienParente;
|
|
||||||
donnees += '&ageMaximumActeLienParente='+ageMaximumActeLienParente;
|
// 5. Envoi AJAX
|
||||||
donnees += '&actifActeLienParente='+actifActeLienParente;
|
$.ajax({
|
||||||
|
url: racineWeb + "Ajaxinsererbaremeactelienparente/ajouter/",
|
||||||
donnees += '&forfaitTmActeLienParente='+forfaitTmActeLienParente;
|
type: 'post',
|
||||||
|
data: donnees,
|
||||||
|
success: function(response) {
|
||||||
$.ajax({
|
// Réinitialisation du formulaire
|
||||||
url: $("#racineWeb").val()+"Ajaxinsererbaremeactelienparente/ajouter/",
|
if (typeof intit_saisie_actebareme_lienparente === 'function') {
|
||||||
type : 'post',
|
intit_saisie_actebareme_lienparente();
|
||||||
data: donnees,
|
}
|
||||||
error: function(errorData){
|
// Actualisation de l'historique
|
||||||
//alert("Erreur : "+errorData);
|
if (typeof actualiser_bareme_acte_lienparente === 'function') {
|
||||||
},
|
actualiser_bareme_acte_lienparente();
|
||||||
success: function(data) {
|
}
|
||||||
//alert("Success : "+data);
|
},
|
||||||
intit_saisie_actebareme_lienparente();
|
error: function(xhr) {
|
||||||
actualiser_bareme_acte_lienparente();
|
$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>
|
||||||
complete: function() {
|
${(codeLangue === "en_US") ? "Error during specialized insertion." : "Erreur lors de l'insertion spécialisée."}
|
||||||
afficheNombreLigneBareme('actesbaremepriseenchargelienparente');
|
</div>
|
||||||
}
|
`);
|
||||||
});
|
},
|
||||||
|
complete: function() {
|
||||||
|
// Mise à jour du compteur de lignes (Badge)
|
||||||
|
if (typeof afficheNombreLigneBareme === 'function') {
|
||||||
|
afficheNombreLigneBareme('actesbaremepriseenchargelienparente');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function intit_saisie_actebareme_lienparente()
|
function intit_saisie_actebareme_lienparente()
|
||||||
{
|
{
|
||||||
$("#codeActeLienParente").selectpicker('val', '');
|
$("#codeActeLienParente").selectpicker('val', '');
|
||||||
|
|
@ -63168,76 +63174,82 @@ function validiteDateEffetActeBareme() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function validiteDateEffetActeBaremeLienParente(){
|
/**
|
||||||
|
* Contrôle la validité chronologique de la date d'effet pour un acte et un lien de parenté spécifiques
|
||||||
var codeGarantie = $("#codeGarantie").val();
|
*/
|
||||||
var idBaremePriseEnCharge = $("#idBaremePriseEnCharge").val();
|
function validiteDateEffetActeBaremeLienParente() {
|
||||||
var codeActeLienParente = $("#codeActeLienParente").val();
|
// 1. Récupération des paramètres
|
||||||
|
const racineWeb = $("#racineWeb").val();
|
||||||
var dateEffetActeLienParente = $("#dateEffetActeLienParente").val();
|
const dateEffetSaisieStr = $("#dateEffetActeLienParente").val();
|
||||||
var codeLienParenteActeLienParente = $("#codeLienParenteActeLienParente").val();
|
const dateJourSystemeStr = $("#datejour_C").val(); // Format YYYY-MM-DD attendu
|
||||||
|
|
||||||
var datejour = $("#datejour_C").val();
|
const donneesControle = {
|
||||||
|
codeGarantie: $("#codeGarantie").val(),
|
||||||
var str = dateEffetActeLienParente.split('/');
|
idBaremePriseEnCharge: $("#idBaremePriseEnCharge").val(),
|
||||||
var effet = str[2]+'-'+str[1]+'-'+str[0];
|
codeActeLienParente: $("#codeActeLienParente").val(),
|
||||||
|
codeLienParenteActeLienParente: $("#codeLienParenteActeLienParente").val()
|
||||||
donnees = 'codeGarantie='+codeGarantie;
|
};
|
||||||
donnees += '&idBaremePriseEnCharge='+idBaremePriseEnCharge;
|
|
||||||
donnees += '&codeActeLienParente='+codeActeLienParente;
|
// Validation immédiate : Données obligatoires
|
||||||
donnees += '&codeLienParenteActeLienParente='+codeLienParenteActeLienParente;
|
if (!donneesControle.codeActeLienParente) {
|
||||||
|
alert_ebene("Veuillez sélectionner un acte !", "Please select an act !");
|
||||||
//alert(donnees);
|
return;
|
||||||
//return;
|
}
|
||||||
|
if (!donneesControle.codeLienParenteActeLienParente) {
|
||||||
$.ajax({
|
alert_ebene("Veuillez sélectionner un lien de parenté !", "Please select a relationship !");
|
||||||
url: $("#racineWeb").val()+"Ajaxinsererbaremeactelienparente/controle/",
|
return;
|
||||||
type : 'post',
|
}
|
||||||
data: donnees,
|
if (!dateEffetSaisieStr || dateEffetSaisieStr.trim() === "") {
|
||||||
error: function(errorData){
|
alert_ebene("Veuillez entrer une date d'effet !", "Please enter an effective date !");
|
||||||
//alert("Erreur : "+errorData);
|
$("#dateEffetActeLienParente").focus();
|
||||||
},
|
return;
|
||||||
success: function(data) {
|
}
|
||||||
//alert("Success : "+data);
|
|
||||||
$('#div_maxdateeffetactebaremelienparente').html(data);
|
// 2. Conversion des dates pour comparaison
|
||||||
|
const parts = dateEffetSaisieStr.split('/');
|
||||||
var tdj = new Date(datejour);
|
const dateEffetSaisie = new Date(parts[2], parts[1] - 1, parts[0]);
|
||||||
var tde = new Date(effet);
|
const dateJourSysteme = new Date(dateJourSystemeStr);
|
||||||
|
|
||||||
maxDateEffetActeBaremeLienParente = $("#maxDateEffetActeBaremeLienParente").val();
|
// 3. Appel AJAX de contrôle
|
||||||
|
$.ajax({
|
||||||
|
url: racineWeb + "Ajaxinsererbaremeactelienparente/controle/",
|
||||||
dte=Math.round(Date.parse(tde)/(1000*3600*24));
|
type: 'post',
|
||||||
dtj=Math.round(Date.parse(tdj)/(1000*3600*24));
|
data: donneesControle,
|
||||||
|
success: function(data) {
|
||||||
if((dte < dtj) && (maxDateEffetActeBaremeLienParente!=undefined || maxDateEffetActeBaremeLienParente!='')){
|
// Injection du champ hidden maxDateEffetActeBaremeLienParente retourné par le serveur
|
||||||
var tdm = new Date(maxDateEffetActeBaremeLienParente);
|
$('#div_maxdateeffetactebaremelienparente').html(data);
|
||||||
dtm = Math.round(Date.parse(tdm)/(1000*3600*24));
|
|
||||||
|
const maxDateBaseStr = $("#maxDateEffetActeBaremeLienParente").val();
|
||||||
if(dte < dtm){
|
|
||||||
|
// Calcul des timestamps (en jours)
|
||||||
v_msg="Date d'effet invalide!";
|
const dte = Math.round(dateEffetSaisie.getTime() / (1000 * 3600 * 24));
|
||||||
v_msgEng="Invalid effective date!";
|
const dtj = Math.round(dateJourSysteme.getTime() / (1000 * 3600 * 24));
|
||||||
alert_ebene(v_msg, v_msgEng);
|
|
||||||
|
// 4. Logique de validation chronologique
|
||||||
$("#dateEffetActeLienParente").val('');
|
// On vérifie si la date est valide par rapport à l'historique existant
|
||||||
$("#dateEffetActeLienParente").focus();
|
if (dte < dtj && maxDateBaseStr) {
|
||||||
return;
|
const maxDateBase = new Date(maxDateBaseStr);
|
||||||
}else{
|
const dtm = Math.round(maxDateBase.getTime() / (1000 * 3600 * 24));
|
||||||
inserer_bareme_acte_lienparente();
|
|
||||||
}
|
if (dte < dtm) {
|
||||||
}else{
|
alert_ebene(
|
||||||
|
"Date d'effet invalide ! Elle ne peut être antérieure à la dernière modification pour ce couple Acte/Parenté.",
|
||||||
inserer_bareme_acte_lienparente();
|
"Invalid effective date ! It cannot be earlier than the last modification for this Act/Relationship pair."
|
||||||
}
|
);
|
||||||
|
$("#dateEffetActeLienParente").val('').focus();
|
||||||
},
|
return;
|
||||||
complete: function() {
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
// 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
|
//30-03-2023
|
||||||
|
|
|
||||||
|
|
@ -888,16 +888,10 @@ class Garantiesbaremepriseencharge extends Modele {
|
||||||
//20-02-2023
|
//20-02-2023
|
||||||
public function getActesGarantieBaremeLienParenteInitial($idBaremePriseEnCharge,$codeGarantie)
|
public function getActesGarantieBaremeLienParenteInitial($idBaremePriseEnCharge,$codeGarantie)
|
||||||
{
|
{
|
||||||
|
$sql = "CALL sp_get_actes_garantie_bareme_lien_parente_initial(?, ?);";
|
||||||
$sql = "SELECT a.*, b.libelle, b.libelleEng
|
|
||||||
FROM actesbaremeinitiallienparente a
|
$resultat = $this->executerRequete($sql, array($idBaremePriseEnCharge, $codeGarantie));
|
||||||
JOIN p_acte b ON (a.codeActe=b.codeActe)
|
|
||||||
WHERE a.codeGarantie = ?
|
|
||||||
AND a.idBaremePriseEnCharge = ?
|
|
||||||
ORDER BY codeLienParente, b.libelle, a.dateEffet DESC, a.id DESC;";
|
|
||||||
$resultat = $this->executerRequete($sql, array($codeGarantie,$idBaremePriseEnCharge));
|
|
||||||
|
|
||||||
|
|
||||||
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
<th colspan="2" class="bg-light border-bottom text-center"><?= _("TM / Forfait") ?></th>
|
<th colspan="2" class="bg-light border-bottom text-center"><?= _("TM / Forfait") ?></th>
|
||||||
<th colspan="2" class="bg-light border-bottom text-center"><?= _("Âges") ?></th>
|
<th colspan="2" class="bg-light border-bottom text-center"><?= _("Âges") ?></th>
|
||||||
<th rowspan="2" class="text-center"><?= _("Actif") ?></th>
|
<th rowspan="2" class="text-center"><?= _("Actif") ?></th>
|
||||||
<th rowspan="2" class="bg-white text-center"><?= _("Supprimé") ?></th>
|
<th rowspan="2" class="bg-white text-center"><?= _("Supprimer") ?></th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="text-center small bg-light-subtle" style="font-size: 0.7rem;">
|
<tr class="text-center small bg-light-subtle" style="font-size: 0.7rem;">
|
||||||
<th class="border-start"><?= _("Plafond") ?></th>
|
<th class="border-start"><?= _("Plafond") ?></th>
|
||||||
|
|
|
||||||
|
|
@ -1,104 +1,101 @@
|
||||||
<?php
|
<?php
|
||||||
$adminProd = $_SESSION['adminProd'];
|
$adminProd = $_SESSION['adminProd'];
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?php if(count($acteslienparente) > "0"): ?>
|
<?php if(count($acteslienparente) > 0): ?>
|
||||||
<table class="table table-striped table-bordered table-hover table-condensed table-responsive " style="font-size:9pt;" >
|
<div class="table-responsive shadow-sm rounded border">
|
||||||
<thead>
|
<table class="table table-sm table-hover align-middle mb-0 text-nowrap">
|
||||||
<!--
|
<thead class="table-light">
|
||||||
<tr >
|
<tr class="text-center small fw-bold text-uppercase">
|
||||||
<th colspan="14" style='text-align:center; font-size:10pt; font-weight: bold; border: 2px solid #939597;'> <?= _("LIGNES PARAMETREES SUR ACTE LIEN PARENTE") ?> </th>
|
<th rowspan="2" class="border-end bg-white text-center" style="min-width: 150px;"><?= _("Acte") ?></th>
|
||||||
</tr>
|
<th rowspan="2" class="border-end text-center"><?= _("Effet") ?></th>
|
||||||
-->
|
<th rowspan="2" class="border-end text-center"><?= _("Lien") ?></th>
|
||||||
<tr>
|
<th colspan="4" class="bg-info bg-opacity-10 text-info border-bottom border-info text-center"><?= _("Limites & Plafonds") ?></th>
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Libellé") ?> </th>
|
<th rowspan="2" class="border-start text-center"><?= _("Remboursement") ?></th>
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Effet") ?> </th>
|
<th rowspan="2" class="text-center"><?= _("Carence") ?></th>
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Lien Parenté") ?> </th>
|
<th colspan="2" class="bg-light border-bottom text-center"><?= _("TM / Forfait") ?></th>
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Plafond") ?> </th>
|
<th colspan="2" class="bg-light border-bottom text-center"><?= _("Âges") ?></th>
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Périodicité") ?> </th>
|
<th rowspan="2" class="text-center"><?= _("Actif") ?></th>
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Nb Transac") ?> </th>
|
<th rowspan="2" class="bg-white text-center"><?= _("Supprimer") ?></th>
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Périodicité") ?> </th>
|
</tr>
|
||||||
|
<tr class="text-center small bg-light-subtle" style="font-size: 0.7rem;">
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Remboursement") ?> </th>
|
<th class="border-start"><?= _("Plafond") ?></th>
|
||||||
|
<th><?= _("Fréq. Plafond") ?></th>
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Carence") ?> </th>
|
<th><?= _("Quota") ?></th>
|
||||||
<th colspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("TM") ?> </th>
|
<th class="border-end"><?= _("Fréq. Quota") ?></th>
|
||||||
<th colspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Age") ?> </th>
|
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Actif") ?> </th>
|
<th class="border-start"><?= _("Taux %") ?></th>
|
||||||
<th rowspan="2" style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Suppr") ?> </th>
|
<th class="border-end"><?= _("Montant") ?></th>
|
||||||
</tr>
|
|
||||||
<tr>
|
<th><?= _("Min") ?></th>
|
||||||
<th style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Taux") ?> </th>
|
<th class="border-end"><?= _("Max") ?></th>
|
||||||
<th style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Forfait") ?> </th>
|
</tr>
|
||||||
|
</thead>
|
||||||
<th style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Min") ?> </th>
|
|
||||||
<th style='text-align:center; border: 2px solid #939597; background-color: #dff2ff; color: #6A645A;'> <?= _("Max") ?> </th>
|
<tbody>
|
||||||
</tr>
|
<?php foreach ($acteslienparente as $v):
|
||||||
</thead>
|
$idActe = $this->nettoyer($v['id']);
|
||||||
<tbody>
|
$supprime = $v['supprime'];
|
||||||
<tbody>
|
$libelle = est_anglophone() ? $this->nettoyer($v['libelleEng']) : $this->nettoyer($v['libelle']);
|
||||||
<?php foreach ($acteslienparente as $v):
|
$isActif = ($this->nettoyer($v['actif']) == "1");
|
||||||
$idActe = $this->nettoyer($v['id']);
|
|
||||||
|
|
||||||
|
$plafond = ($this->nettoyer($v['forfaitPlafond'])=="9999999999") ? _("Illimité"): format_N($this->nettoyer($v['forfaitPlafond']));
|
||||||
$supprime = $v['supprime'];
|
$transac = ($this->nettoyer($v['nbreTransaction'])=="999") ? _("Illimité"): format_N($this->nettoyer($v['nbreTransaction']));
|
||||||
|
|
||||||
$libelle = $this->nettoyer($v['libelle']);
|
$lienparente = est_anglophone() ? $this->nettoyer($v['lienparenteEng']) : $this->nettoyer($v['lienparente']);
|
||||||
|
$periodicitePlafond = est_anglophone() ? $this->nettoyer($v['periodicitePlafondEng']) : $this->nettoyer($v['periodicitePlafond']);
|
||||||
if (est_anglophone())
|
$periodicite = est_anglophone() ? $this->nettoyer($v['periodiciteEng']) : $this->nettoyer($v['periodicite']);
|
||||||
{
|
?>
|
||||||
$libelle = $this->nettoyer($v['libelleEng']);
|
|
||||||
}
|
<tr class="<?= ($supprime == '1') ? 'table-danger opacity-50' : ''; ?>">
|
||||||
|
<td class="ps-3 fw-bold text-dark small border-end"><?= $libelle ?></td>
|
||||||
if($this->nettoyer($v['codeObservation'])=="VD"){
|
<td class="text-center text-nowrap"><?= dateLang($this->nettoyer($v['dateEffet']), $_SESSION['lang']); ?></td>
|
||||||
$codeObservation = "";
|
<td class="text-center border-end">
|
||||||
}else{
|
<span class="badge bg-secondary bg-opacity-10 text-secondary border px-2"><?= $this->nettoyer($v['codeLienParente']);?></span>
|
||||||
$codeObservation = $this->nettoyer($v['codeObservation']);
|
</td>
|
||||||
}
|
|
||||||
|
<td class="text-center fw-bold text-info border-start"><?= $plafond;?></td>
|
||||||
if($this->nettoyer($v['actif'])=="1"){
|
<td class="text-center text-muted small"><?= $periodicitePlafond;?></td>
|
||||||
$actif = "Oui";
|
<td class="text-center fw-bold"><?= $transac;?></td>
|
||||||
}else{
|
<td class="text-center text-muted small border-end"><?= $periodicite; ?></td>
|
||||||
$actif = "Non";
|
|
||||||
}
|
<td class="text-center fw-bold text-primary border-start"><?= $this->nettoyer($v['codeTypeRemboursement']); ?></td>
|
||||||
?>
|
<td class="text-center"><?= $this->nettoyer($v['delaiCarenceActe']);?> m</td>
|
||||||
<?php if($supprime=='1'): ?>
|
<td class="text-center fw-bold"><?= intval($this->nettoyer($v['ticketModerateur']));?>%</td>
|
||||||
<tr valign="top" style="text-decoration: line-through red;">
|
<td class="text-center border-end"><?= format_N($this->nettoyer($v['forfaitTm']));?></td>
|
||||||
<?php else: ?>
|
|
||||||
<tr valign="top">
|
<td class="text-center small"><?= $this->nettoyer($v['ageMinimum']);?></td>
|
||||||
<?php endif; ?>
|
<td class="text-center border-end small"><?= $this->nettoyer($v['ageMaximum']);?></td>
|
||||||
<td style='border: 2px solid #939597;'><?= $libelle ?></td>
|
<td class="text-center">
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= datefr($this->nettoyer($v['dateEffet'])); ?></td>
|
<i class="fas <?= $isActif ? 'fa-check-circle text-success' : 'fa-times-circle text-muted' ?>"></i>
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= $this->nettoyer($v['codeLienParente']);?></td>
|
</td>
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= format_N($this->nettoyer($v['forfaitPlafond']));?></td>
|
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= $this->nettoyer($v['codePeriodicitePlafond']);?></td>
|
<td class="text-center bg-white border-start">
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= $this->nettoyer($v['nbreTransaction']);?></td>
|
<?php if($supprime == '0'): ?>
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= $this->nettoyer($v['codePeriodicite']); ?></td>
|
<button type="button" class="btn btn-link text-danger p-0"
|
||||||
|
onclick="javascript:supprimer_baremeactelienparente('<?= $adminProd?>', <?= $idActe ?>);"
|
||||||
<td style='text-align:center; border: 2px solid #939597;'> <?= $this->nettoyer($v['codeTypeRemboursement']); ?></td>
|
title="<?= _("Supprimer") ?>">
|
||||||
|
<i class="fas fa-trash-alt"></i>
|
||||||
|
</button>
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= $this->nettoyer($v['delaiCarenceActe']);?></td>
|
<?php else: ?>
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= $this->nettoyer($v['ticketModerateur']);?></td>
|
<span class="badge bg-secondary text-uppercase" style="font-size: 0.6rem;"><?= _("OFF") ?></span>
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= format_N($this->nettoyer($v['forfaitTm']));?></td>
|
<?php endif; ?>
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= $this->nettoyer($v['ageMinimum']);?></td>
|
</td>
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= $this->nettoyer($v['ageMaximum']);?></td>
|
</tr>
|
||||||
<td style='text-align:center; border: 2px solid #939597;'><?= $actif;?></td>
|
<?php endforeach; ?>
|
||||||
<?php if($supprime=='0'): ?>
|
</tbody>
|
||||||
<td style='text-align:center; border: 2px solid #939597;'>
|
</table>
|
||||||
<button type="button" class="form-control btn btn-danger" onClick="javascript:supprimer_baremeactelienparente('<?= $adminProd?>',<?= $idActe ?>);">
|
|
||||||
<i class="fa fa-times" aria-hidden="true"></i>
|
|
||||||
</button>
|
|
||||||
</td>
|
|
||||||
<?php else: ?>
|
|
||||||
<td style='text-align:center; border: 2px solid #939597;'> </td>
|
|
||||||
<?php endif; ?>
|
|
||||||
</tr>
|
|
||||||
<?php endforeach; ?>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<?php else: ?>
|
|
||||||
<div class="col-12 alert alert-danger text-center">
|
|
||||||
<?= _("Aucune ligne insérée dans BAREME ACTE LIEN PARENTE") ?>
|
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
|
||||||
|
<?php else: ?>
|
||||||
|
<div class="alert alert-warning border-dashed text-center p-4 m-2">
|
||||||
|
<i class="fas fa-search-plus fa-2x mb-2 opacity-25 text-info"></i>
|
||||||
|
<p class="mb-0 fw-bold text-uppercase small"><?= _("Aucune règle Acte/Lien de parenté enregistrée.") ?></p>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.opacity-50 { text-decoration: line-through rgba(220, 53, 69, 0.4); }
|
||||||
|
.table-hover tbody tr:hover { background-color: rgba(13, 110, 253, 0.05) !important; }
|
||||||
|
.border-dashed { border: 2px dashed #dee2e6 !important; background: none; }
|
||||||
|
</style>
|
||||||
Loading…
Reference in New Issue
Block a user