Checkpoint: Correction de l'erreur SQL MIN() vide dans la récupération de la première date des séquences - remplacé par post-traitement JavaScript
This commit is contained in:
@@ -159,17 +159,21 @@ export async function getApprenantsWithAttestationStatus(formationId: number) {
|
|||||||
const db = await getDb();
|
const db = await getDb();
|
||||||
if (!db) return [];
|
if (!db) return [];
|
||||||
|
|
||||||
// Récupérer les premières dates de chaque séquence
|
// Récupérer toutes les dates de formation
|
||||||
const premieresDates = await db
|
const toutesLesDates = await db
|
||||||
.select({
|
.select({
|
||||||
sequenceId: datesFormation.sequenceId,
|
sequenceId: datesFormation.sequenceId,
|
||||||
premiereDate: sql<Date>`MIN(${datesFormation.date})`,
|
date: datesFormation.date,
|
||||||
})
|
})
|
||||||
.from(datesFormation)
|
.from(datesFormation);
|
||||||
.groupBy(datesFormation.sequenceId);
|
|
||||||
|
|
||||||
// Créer un map pour accès rapide
|
// Calculer la première date de chaque séquence en JavaScript
|
||||||
const datesMap = new Map(premieresDates.map(d => [d.sequenceId, d.premiereDate]));
|
const datesMap = new Map<number, Date>();
|
||||||
|
toutesLesDates.forEach(({ sequenceId, date }) => {
|
||||||
|
if (!datesMap.has(sequenceId) || date < datesMap.get(sequenceId)!) {
|
||||||
|
datesMap.set(sequenceId, date);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const results = await db
|
const results = await db
|
||||||
.select({
|
.select({
|
||||||
|
|||||||
7
todo.md
7
todo.md
@@ -1293,4 +1293,9 @@
|
|||||||
- [x] Afficher la date de début dans l'en-tête de chaque séquence (ex: "Groupe A - 15/01/2026")
|
- [x] Afficher la date de début dans l'en-tête de chaque séquence (ex: "Groupe A - 15/01/2026")
|
||||||
- [x] Ajouter un bouton "Envoyer toutes les attestations de cette séquence" dans l'en-tête
|
- [x] Ajouter un bouton "Envoyer toutes les attestations de cette séquence" dans l'en-tête
|
||||||
- [x] Créer un filtre "Séquences terminées / à venir"
|
- [x] Créer un filtre "Séquences terminées / à venir"
|
||||||
- [ ] Déployer sur le VPS
|
- [x] Déployer sur le VPS
|
||||||
|
|
||||||
|
## Corriger l'erreur SQL MIN() vide dans la récupération de la première date
|
||||||
|
|
||||||
|
- [x] Corriger la requête SQL dans gestionAttestationsDb.ts (remplacé par post-traitement JS)
|
||||||
|
- [x] Déployer la correction sur le VPS
|
||||||
|
|||||||
Reference in New Issue
Block a user