Jeep identifiee aussi par sa fin de trajet juste avant le branchement (soir sans charge)

This commit is contained in:
Tallagrand Thierry
2026-10-05 23:42:14 +02:00
parent 8f526bdcd6
commit 5e88ce5720
4 changed files with 61 additions and 16 deletions

View File

@@ -29,12 +29,12 @@ try {
VALUES ('2026-10-04T14:56:00Z','2026-10-04T14:56:30Z',true,'JEEP',true,0.05,0.1)`);
await c.query(`INSERT INTO evenement (genre, source, resume, detail) VALUES ('vehicule','test','avant',$1)`,
[JSON.stringify({ origine: 'airtria', label: 'JEEP', sessions: ['2026-10-04T14:56:00.000Z', '2026-10-04T14:56:55.447Z'] })]);
await fn(sql, c, st('ZERO', '2026-10-04T15:16:50.000Z'));
await fn(sql, c, st('ZERO', '2026-10-04T15:10:00.000Z')); // avant la coupe reelle de 17:16 (session JEEP 16:56-17:16)
const s = (await c.query(`SELECT debut, vehicule, vehicule_sur FROM session_charge WHERE debut BETWEEN '2026-10-04T14:50Z' AND '2026-10-04T16:00Z' ORDER BY debut`)).rows;
eq('session terminee avant la correction garde JEEP', s[0].vehicule, 'JEEP');
eq('session en cours a 17:16 passe ZERO, confirmee', [s[1].vehicule, s[1].vehicule_sur], ['ZERO', true]);
eq('session en cours a 17:10 passe ZERO, confirmee', [s[1].vehicule, s[1].vehicule_sur], ['ZERO', true]);
const e = (await c.query(`SELECT label, applique_depuis FROM etiquette_branchement WHERE branchement = '2026-10-04T14:55:45.120Z'`)).rows[0];
eq('etiquette du branchement = ZERO depuis 17:16:50', [e.label, e.applique_depuis?.toISOString()], ['ZERO', '2026-10-04T15:16:50.000Z']);
eq('etiquette du branchement = ZERO depuis 17:10', [e.label, e.applique_depuis?.toISOString()], ['ZERO', '2026-10-04T15:10:00.000Z']);
eq('journal de correction', journal.some(r => r.startsWith('Etiquette corrigee par le proprietaire : JEEP -> ZERO')), true);
eq('pas de refus', journal.some(r => r.includes('REFUSEE')), false);
// Une contradiction NON humaine reste refusee.