Checkpoint: Intégration complète des signatures tactiles (matin et après-midi) dans les feuilles de présence PDF. Correction du bug apres-midi vs apres_midi. Logs de debug retirés. Déployé sur VPS.
This commit is contained in:
@@ -34,6 +34,7 @@ interface ApprenantPresence {
|
||||
fonction: string | null;
|
||||
presences?: Array<{
|
||||
dateFormationId: number;
|
||||
periode: 'matin' | 'apres_midi';
|
||||
signatureUrl: string | null;
|
||||
}>;
|
||||
}
|
||||
@@ -225,7 +226,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 (utiliser l'ID de la date, pas l'ordre)
|
||||
const presenceMatin = i.presences?.find(p => p.dateFormationId === dateInfo.id);
|
||||
const presenceMatin = i.presences?.find(p => p.dateFormationId === dateInfo.id && p.periode === 'matin');
|
||||
const presenceApresMidi = i.presences?.find(p => p.dateFormationId === dateInfo.id && p.periode === 'apres_midi');
|
||||
|
||||
return [
|
||||
i.nom,
|
||||
@@ -233,7 +235,7 @@ export function generateFeuillePresence(feuilleInfo: FeuillePresenceInfo): Buffe
|
||||
i.codeEtablissement || '',
|
||||
i.fonction === 'directeur' ? 'Directeur' : i.fonction === 'chef_service' ? 'Chef de service' : 'Autre',
|
||||
presenceMatin?.signatureUrl || '', // Signature matin (sera remplacée par l'image)
|
||||
'', // Signature après-midi (pour l'instant vide, sera implémenté si nécessaire)
|
||||
presenceApresMidi?.signatureUrl || '', // Signature après-midi (sera remplacée par l'image)
|
||||
];
|
||||
});
|
||||
|
||||
@@ -262,6 +264,7 @@ export function generateFeuillePresence(feuilleInfo: FeuillePresenceInfo): Buffe
|
||||
// Insérer les images de signatures dans les colonnes 4 et 5
|
||||
if (data.section === 'body' && (data.column.index === 4 || data.column.index === 5)) {
|
||||
const signatureUrl = data.cell.raw as string;
|
||||
|
||||
if (signatureUrl && signatureUrl.startsWith('/uploads/signatures/')) {
|
||||
try {
|
||||
// Construire le chemin absolu vers le fichier de signature
|
||||
@@ -282,7 +285,7 @@ export function generateFeuillePresence(feuilleInfo: FeuillePresenceInfo): Buffe
|
||||
doc.addImage(signatureBase64, 'PNG', cellX, cellY, cellWidth, cellHeight);
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn('Erreur lors du chargement de la signature:', error);
|
||||
console.error('Erreur lors du chargement de la signature:', error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user