tarif-rc/tarif-rc/FICHIERS_MODIFIES.md

5.5 KiB

Fichiers modifiés

Ce fichier liste tous les fichiers qui ont été modifiés dans le cadre de l'implémentation de la fonctionnalité de pré-remplissage et de détection d'impact sur le tarif pour la page Projet RC.

Fichiers modifiés

1. /public/js/projet-form-rc.js

Modifications principales :

Pré-remplissage depuis le Tarif

  • Ajout de la fonction prefillFromTarif() pour pré-remplir les données du projet depuis le tarif (activités, marchandises, zones, activités complémentaires, type de cotisation, CA, RCE, Protection Juridique, garanties RCC)
  • Modification de populateFormData() pour appeler prefillFromTarif() si un tarif existe
  • Ajout du pré-remplissage automatique de "Inclure les autres RC" si des extensions RCE sont présentes

Détection d'impact sur le tarif

  • Ajout des variables globales pour les modulateurs (modRCActRCC, modRCMar, modRCZone, modRCActCompl, modRCGarAdd)
  • Ajout de la fonction loadModulateurs() pour charger les modulateurs depuis l'API
  • Ajout de la fonction saveOriginalTarifData() pour sauvegarder l'état initial du tarif
  • Ajout de la fonction checkTarifImpact() pour détecter si une modification impacte le tarif
  • Ajout des fonctions de détection d'impact spécifiques :
    • checkActivityImpact() : détecte les modifications d'activités principales
    • checkMarchandiseImpact() : détecte les modifications de marchandises
    • checkZoneImpact() : détecte les modifications de zones géographiques (compare les coefficients maximums)
    • checkActiviteComplImpact() : détecte les modifications d'activités complémentaires
    • checkGarantieRCCImpact() : détecte les modifications de garanties RCC impactantes
  • Ajout des fonctions de récupération des données actuelles :
    • getCurrentActivityData() : récupère les activités principales actuelles
    • getCurrentMarchandiseData() : récupère les marchandises actuelles
    • getCurrentZoneData() : récupère les zones géographiques actuelles (prend en compte les zones désactivées)
    • getCurrentGarantieRCCData() : récupère les garanties RCC actuelles
    • getCurrentActiviteComplData() : récupère les activités complémentaires actuelles

Modal d'avertissement

  • Ajout de la fonction showTarifImpactModal() pour afficher le modal d'avertissement avec restauration intelligente des valeurs
  • Le modal permet de restaurer la valeur originale sans recharger la page
  • Ajout d'un flag isRestoringValue pour éviter les boucles infinies lors de la restauration

Écouteurs d'événements

  • Ajout de la fonction setupTarifImpactListeners() pour configurer les écouteurs d'événements sur tous les champs impactant le tarif :
    • Sélecteur d'activités
    • Sélecteur de marchandises
    • Cases à cocher des zones géographiques
    • Sélecteur de garanties RCC
    • Boutons radio de type de cotisation
    • Cases à cocher d'activités complémentaires
    • Champs de saisie des capitaux d'activités (avec MutationObserver pour les champs dynamiques)
    • Champ CA (Chiffre d'affaires)
    • Switch Protection Juridique

Sauvegarde des données

  • Modification de handleSubmitForm() et saveProjetRC() pour :
    • Mettre à jour le projetRC existant au lieu de toujours en créer un nouveau
    • Envoyer les grilles Ad Valorem comme arrays directement (sans JSON.stringify) car PocketBase les parse automatiquement
    • Sauvegarder correctement les zones même si elles sont désactivées
  • Amélioration de extractGrilleAdvalo() pour :
    • Gérer les tables cachées en les rendant temporairement visibles
    • Extraire toutes les valeurs correctement, y compris les valeurs vides
    • Restaurer correctement les styles après extraction

Chargement des données

  • Amélioration de populateGrAdvalo() pour :
    • Ajouter des logs de débogage
    • Vérifier que les données existent et sont valides avant de remplir le tableau
    • Gérer les erreurs de parsing
  • Amélioration de la logique de chargement des grilles Ad Valorem pour :
    • Vérifier que les données existent avant de les charger
    • Gérer les cas où les données sont vides ou invalides
    • Afficher des messages d'avertissement dans la console

Zones géographiques

  • Correction de la logique de chargement des zones pour prendre en compte les zones désactivées
  • Correction de la logique de sauvegarde pour inclure les zones désactivées (zone1 et zone2 quand zone2 ou zone3 sont sélectionnées)
  • Amélioration de getCurrentZoneData() pour retourner true pour zone1 et zone2 si elles sont désactivées

Protection Juridique et RCE

  • Ajout du pré-remplissage de Protection Juridique depuis tarif.checkPJ
  • Ajout du pré-remplissage des garanties RCC (contenant-confie, TPPC, ferroutage, etc.) depuis rc
  • Ajout de la vérification automatique de "Inclure les autres RC" si des extensions RCE sont présentes
  • Ajout de plusieurs vérifications avec setTimeout pour s'assurer que la case est cochée après tous les chargements

Date de modification

Date: 2025-01-27

Notes importantes

  • Les grilles Ad Valorem sont maintenant envoyées comme arrays directement (sans JSON.stringify) car PocketBase les parse automatiquement
  • Le modal d'avertissement se déclenche uniquement si une modification impacte réellement le tarif (par exemple, pour les zones, seulement si le coefficient maximum change)
  • Les zones désactivées (zone1/zone2 quand zone2/zone3 sont sélectionnées) sont maintenant correctement sauvegardées et chargées
  • La mise à jour du projetRC existant est maintenant gérée correctement au lieu de toujours créer un nouvel enregistrement