Checkpoint: Améliorations de la gestion des attestations :
- Affichage de la date de début dans l'en-tête de chaque séquence - Bouton d'envoi groupé par séquence - Filtre séquences terminées/à venir
This commit is contained in:
@@ -159,6 +159,18 @@ export async function getApprenantsWithAttestationStatus(formationId: number) {
|
||||
const db = await getDb();
|
||||
if (!db) return [];
|
||||
|
||||
// Récupérer les premières dates de chaque séquence
|
||||
const premieresDates = await db
|
||||
.select({
|
||||
sequenceId: datesFormation.sequenceId,
|
||||
premiereDate: sql<Date>`MIN(${datesFormation.date})`,
|
||||
})
|
||||
.from(datesFormation)
|
||||
.groupBy(datesFormation.sequenceId);
|
||||
|
||||
// Créer un map pour accès rapide
|
||||
const datesMap = new Map(premieresDates.map(d => [d.sequenceId, d.premiereDate]));
|
||||
|
||||
const results = await db
|
||||
.select({
|
||||
// Apprenant
|
||||
@@ -205,6 +217,7 @@ export async function getApprenantsWithAttestationStatus(formationId: number) {
|
||||
sequence: {
|
||||
id: r.sequenceId,
|
||||
nom: r.sequenceNom,
|
||||
premiereDate: datesMap.get(r.sequenceId) || null,
|
||||
},
|
||||
attestation: r.attestationId ? {
|
||||
id: r.attestationId,
|
||||
|
||||
Reference in New Issue
Block a user