fix(rc): decoupler detection impact modal des modulateurs
This commit is contained in:
parent
f57855d143
commit
a8d0e69585
|
|
@ -82,26 +82,36 @@ window.initSubmenuForm = initSubmenuForm;// Module IIFE pour éviter la pollutio
|
|||
const data = await response.json();
|
||||
if (data.valid) {
|
||||
modRCActRCC = data.objRetourne;
|
||||
} else {
|
||||
console.warn('Modulateur activiteRCC indisponible');
|
||||
}
|
||||
const response2 = await fetch('/rc/modulo/marchandiseRC');
|
||||
const data2 = await response2.json();
|
||||
if (data2.valid) {
|
||||
modRCMar = data2.objRetourne;
|
||||
} else {
|
||||
console.warn('Modulateur marchandiseRC indisponible');
|
||||
}
|
||||
const response3 = await fetch('/rc/modulo/zoneRC');
|
||||
const data3 = await response3.json();
|
||||
if (data3.valid) {
|
||||
modRCZone = data3.objRetourne;
|
||||
} else {
|
||||
console.warn('Modulateur zoneRC indisponible');
|
||||
}
|
||||
const response4 = await fetch('/rc/modulo/activiteComplRC');
|
||||
const data4 = await response4.json();
|
||||
if (data4.valid) {
|
||||
modRCActCompl = data4.objRetourne;
|
||||
} else {
|
||||
console.warn('Modulateur activiteComplRC indisponible');
|
||||
}
|
||||
const response5 = await fetch('/rc/modulo/garAdditionelRC');
|
||||
const data5 = await response5.json();
|
||||
if (data5.valid) {
|
||||
modRCGarAdd = data5.objRetourne;
|
||||
} else {
|
||||
console.warn('Modulateur garAdditionelRC indisponible');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Erreur lors du chargement des modulateurs:', error);
|
||||
|
|
@ -178,8 +188,6 @@ window.initSubmenuForm = initSubmenuForm;// Module IIFE pour éviter la pollutio
|
|||
}
|
||||
|
||||
function checkActivityImpact(activityData) {
|
||||
if (!modRCActRCC) return false;
|
||||
|
||||
const activities = ['checkVoiturier', 'checkCommissionnaire', 'checkDemenageur', 'checkLogistique', 'checkAutocariste', 'checkAutres'];
|
||||
for (let act of activities) {
|
||||
if (activityData[act] !== tarifOriginalData[act]) return true;
|
||||
|
|
@ -192,8 +200,6 @@ window.initSubmenuForm = initSubmenuForm;// Module IIFE pour éviter la pollutio
|
|||
}
|
||||
|
||||
function checkMarchandiseImpact(marchandiseData) {
|
||||
if (!modRCMar) return false;
|
||||
|
||||
const normalizeArray = (arr) => {
|
||||
if (!arr) return [];
|
||||
const normalized = Array.isArray(arr) ? arr : (typeof arr === 'string' ? JSON.parse(arr) : []);
|
||||
|
|
@ -213,7 +219,6 @@ window.initSubmenuForm = initSubmenuForm;// Module IIFE pour éviter la pollutio
|
|||
function getMaxZoneCoefficient(zones) {
|
||||
let maxRCC = 1;
|
||||
let maxRCE = 1;
|
||||
if (!modRCZone) return { maxRCC, maxRCE };
|
||||
|
||||
const zoneLabels = [
|
||||
"France Métropolitaine et pays limitrophes",
|
||||
|
|
@ -227,13 +232,21 @@ window.initSubmenuForm = initSubmenuForm;// Module IIFE pour éviter la pollutio
|
|||
for (let i = 1; i <= 6; i++) {
|
||||
if (zones[`zone${i}`]) {
|
||||
const zoneKey = zoneLabels[i - 1];
|
||||
if (modRCZone[zoneKey]) {
|
||||
if (modRCZone && modRCZone[zoneKey]) {
|
||||
if (typeof modRCZone[zoneKey].modRCC === "number") {
|
||||
maxRCC = Math.max(maxRCC, modRCZone[zoneKey].modRCC);
|
||||
} else {
|
||||
maxRCC = Math.max(maxRCC, i);
|
||||
}
|
||||
if (typeof modRCZone[zoneKey].modRCE === "number") {
|
||||
maxRCE = Math.max(maxRCE, modRCZone[zoneKey].modRCE);
|
||||
} else {
|
||||
maxRCE = Math.max(maxRCE, i);
|
||||
}
|
||||
} else {
|
||||
// Fallback sans modulateur: on considère la zone la plus "forte" sélectionnée.
|
||||
maxRCC = Math.max(maxRCC, i);
|
||||
maxRCE = Math.max(maxRCE, i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -242,15 +255,12 @@ window.initSubmenuForm = initSubmenuForm;// Module IIFE pour éviter la pollutio
|
|||
}
|
||||
|
||||
function checkZoneImpact(zoneData) {
|
||||
if (!modRCZone) return false;
|
||||
const originalMax = getMaxZoneCoefficient(tarifOriginalData);
|
||||
const currentMax = getMaxZoneCoefficient(zoneData);
|
||||
return originalMax.maxRCC !== currentMax.maxRCC || originalMax.maxRCE !== currentMax.maxRCE;
|
||||
}
|
||||
|
||||
function checkActiviteComplImpact(activiteComplData) {
|
||||
if (!modRCActCompl) return false;
|
||||
|
||||
const activiteKeys = ['activitesVoiturier', 'activitesCommissionnaire', 'activitesDemenageur', 'activitesLogistique'];
|
||||
for (let key of activiteKeys) {
|
||||
const original = Array.isArray(tarifOriginalData[key]) ? tarifOriginalData[key] : (tarifOriginalData[key] ? JSON.parse(tarifOriginalData[key]) : []);
|
||||
|
|
@ -1247,8 +1257,6 @@ window.initSubmenuForm = initSubmenuForm;// Module IIFE pour éviter la pollutio
|
|||
}
|
||||
|
||||
function checkGarantieRCCImpact(garantieData) {
|
||||
if (!modRCActCompl && !modRCGarAdd) return false;
|
||||
|
||||
const garantiesImpactantes = ['contenant-confie', 'tppc'];
|
||||
const originalGaranties = tarifOriginalData?.garantiesRCC || [];
|
||||
const currentGaranties = garantieData || [];
|
||||
|
|
|
|||
Loading…
Reference in New Issue