Checkpoint: Correction du bug : signatures manquantes dans les feuilles de présence PDF
🐛 Problème identifié : - Le code utilisait `dateInfo.ordre` (1, 2, 3...) pour chercher les présences - Mais les présences sont indexées par `dateFormationId` (ID réel de la date en base) - Résultat : aucune correspondance trouvée, signatures non affichées ✅ Corrections apportées : - Ajout du champ `id` dans l'interface `FeuillePresenceInfo` (exportService.ts) - Modification de la logique de recherche : `dateInfo.ordre` → `dateInfo.id` (ligne 228) - Ajout de l'ID dans le mapping des dates (routers.ts, ligne 1178) - Déploiement sur VPS (98.71.216.234) - Application redémarrée avec PM2 📋 Fonctionnement corrigé : - Les dates incluent maintenant leur ID réel de la base de données - La recherche des présences utilise cet ID pour la correspondance - Les signatures sont chargées et affichées dans les bonnes colonnes du PDF 🔍 Test requis : - Exporter une feuille de présence pour une séquence avec signatures - Vérifier que les signatures apparaissent dans le PDF généré
This commit is contained in:
@@ -41,7 +41,7 @@ interface ApprenantPresence {
|
||||
interface FeuillePresenceInfo {
|
||||
formationNom: string;
|
||||
sequenceNom: string;
|
||||
dates: Array<{ dateDebut: Date; dateFin: Date; ordre: number }>;
|
||||
dates: Array<{ id: number; dateDebut: Date; dateFin: Date; ordre: number }>;
|
||||
lieu: string;
|
||||
publicCible: string;
|
||||
formateur?: string;
|
||||
@@ -224,8 +224,8 @@ export function generateFeuillePresence(feuilleInfo: FeuillePresenceInfo): Buffe
|
||||
|
||||
// Tableau de présence avec signatures matin et après-midi
|
||||
const tableData = feuilleInfo.apprenants.map(i => {
|
||||
// Trouver les présences pour cette date
|
||||
const presenceMatin = i.presences?.find(p => p.dateFormationId === dateInfo.ordre);
|
||||
// Trouver les présences pour cette date (utiliser l'ID de la date, pas l'ordre)
|
||||
const presenceMatin = i.presences?.find(p => p.dateFormationId === dateInfo.id);
|
||||
|
||||
return [
|
||||
i.nom,
|
||||
|
||||
@@ -1175,6 +1175,7 @@ export const appRouter = router({
|
||||
formationNom: formation.nom,
|
||||
sequenceNom: sequence.nom,
|
||||
dates: dates.map(d => ({
|
||||
id: d.id,
|
||||
dateDebut: new Date(d.dateDebut),
|
||||
dateFin: new Date(d.dateFin),
|
||||
ordre: d.ordre,
|
||||
|
||||
11
todo.md
11
todo.md
@@ -1363,3 +1363,14 @@
|
||||
- [x] Redémarrer l'application avec PM2
|
||||
- [x] Vérifier que l'application fonctionne correctement
|
||||
- [ ] Tester l'export PDF avec signatures sur production (test utilisateur requis)
|
||||
|
||||
## Bug - Signatures manquantes dans PDF
|
||||
|
||||
- [x] Analyser pourquoi les signatures n'apparaissent pas dans le PDF généré
|
||||
- [x] Vérifier la logique de correspondance entre présences et dates
|
||||
- [x] Problème identifié : utilisation de dateInfo.ordre au lieu de dateInfo.id
|
||||
- [x] Corriger le code (exportService.ts et routers.ts)
|
||||
- [x] Ajouter l'ID de la date dans l'interface FeuillePresenceInfo
|
||||
- [x] Corriger la logique de recherche des présences
|
||||
- [x] Déployer sur VPS
|
||||
- [ ] Tester la génération PDF avec signatures (test utilisateur requis)
|
||||
|
||||
Reference in New Issue
Block a user