espace-paie-odentas/SYNC_NOTES_AUTO_DECLARATION_STAFF.md

5.8 KiB

Synchronisation des notes : Auto-déclaration → Staff/Salariés

Problème résolu

Les notes saisies par les salariés dans le formulaire d'auto-déclaration n'étaient pas visibles dans la section "Notes" de la page staff/salaries.

Situation avant correction

  • Les notes étaient sauvegardées dans justificatifs_personnels (format JSON)
  • Les notes n'étaient PAS enregistrées dans le champ notes
  • Le staff ne pouvait pas voir ces notes dans l'interface staff/salaries

Conséquence : Les informations importantes communiquées par les salariés restaient invisibles pour le staff.

Solution appliquée

Modifications dans /app/api/auto-declaration/route.ts

La logique d'enregistrement des notes a été améliorée pour :

  1. Récupérer les notes existantes avant d'ajouter les nouvelles
  2. Ajouter la nouvelle note avec horodatage au champ notes visible par le staff
  3. Préserver l'historique dans justificatifs_personnels (format JSON)

Code modifié

if (updateData.notes) {
  // Récupérer les notes existantes pour les préserver
  const { data: currentSalarie } = await sb
    .from('salaries')
    .select('notes, justificatifs_personnels')
    .eq('id', tokenData.salarie_id)
    .single();
  
  // Préparer la nouvelle note avec horodatage
  const currentDate = new Date().toISOString().split('T')[0];
  const currentTime = new Date().toLocaleString('fr-FR');
  const newNote = `[${currentTime} - Auto-déclaration]\n${updateData.notes}`;
  
  // Ajouter aux notes existantes ou créer une nouvelle note
  if (currentSalarie?.notes) {
    dataToUpdate.notes = `${currentSalarie.notes}\n\n${newNote}`;
  } else {
    dataToUpdate.notes = newNote;
  }
  
  // Également ajouter aux justificatifs personnels (format JSON) pour historique
  const noteEntry = {
    date: currentDate,
    source: 'auto-declaration',
    notes: updateData.notes
  };
  
  dataToUpdate.justificatifs_personnels = JSON.stringify([noteEntry]);
}

Fonctionnement

1. Horodatage automatique

Chaque note de l'auto-déclaration est précédée de :

[17/10/2025 à 14:30:25 - Auto-déclaration]

2. Préservation des notes existantes

  • Si le salarié avait déjà des notes (ajoutées par le staff), elles sont conservées
  • La nouvelle note est ajoutée à la suite avec une double ligne de séparation (\n\n)

3. Double sauvegarde

  • Champ notes : Visible immédiatement par le staff sur staff/salaries
  • Champ justificatifs_personnels : Historique structuré au format JSON

Format des notes

Exemple avec première note

[17/10/2025 à 14:30:25 - Auto-déclaration]
Je suis disponible pour commencer le contrat dès le 20 octobre. 
J'ai déjà travaillé sur des productions similaires.

Exemple avec notes multiples

[15/10/2025 à 10:00:00 - Staff]
Candidat intéressant pour le projet XYZ

[17/10/2025 à 14:30:25 - Auto-déclaration]
Je suis disponible pour commencer le contrat dès le 20 octobre. 
J'ai déjà travaillé sur des productions similaires.

Avantages

Visibilité immédiate

  • Les notes des salariés apparaissent instantanément dans l'interface staff
  • Pas besoin de chercher dans les justificatifs personnels

Traçabilité

  • Horodatage précis de chaque note
  • Source clairement identifiée (Auto-déclaration vs Staff)
  • Historique complet préservé

Communication améliorée

  • Le staff peut voir les informations importantes des salariés
  • Facilite le suivi et la coordination
  • Évite les oublis ou pertes d'information

Interface utilisateur

Page auto-déclaration

Le salarié voit :

Section "Notes"
┌─────────────────────────────────────────────┐
│ Informations complémentaires               │
│ ┌─────────────────────────────────────────┐ │
│ │ [Zone de texte libre]                   │ │
│ │                                         │ │
│ │                                         │ │
│ └─────────────────────────────────────────┘ │
│ Utilisez ce champ libre si vous devez     │
│ mentionner toutes les informations        │
│ complémentaires.                          │
└─────────────────────────────────────────────┘

Page staff/salaries

Le staff voit la note dans le panneau latéral :

Section "Notes"
┌─────────────────────────────────────────────┐
│ [17/10/2025 à 14:30:25 - Auto-déclaration] │
│ Je suis disponible pour commencer le       │
│ contrat dès le 20 octobre.                 │
└─────────────────────────────────────────────┘

Tests recommandés

  1. Saisir une note sur l'auto-déclaration
  2. Vérifier qu'elle apparaît dans staff/salaries
  3. Vérifier l'horodatage et la source
  4. Ajouter une deuxième note et vérifier la concaténation
  5. Vérifier que les notes staff existantes sont préservées
  6. Tester avec un salarié sans note existante
  7. Tester avec un salarié ayant déjà des notes staff

Fichiers modifiés

  • /app/api/auto-declaration/route.ts - Logique d'enregistrement des notes

Rétrocompatibilité

  • Les anciennes notes (si existantes) sont préservées
  • Le format JSON dans justificatifs_personnels reste fonctionnel
  • Aucune migration de données nécessaire