longevity: verifica misure fuori range in scheda cliente, link a crea accesso

Scheda cliente ([code].astro): sezione "Misure da verificare" da
misureDaVerificare (id, range) al posto di misureFuoriRange (nessun id,
nessuna azione); ogni riga ha due form verso /api/longevity/gestionale/verifica
(conferma/scarta), messaggio dopo la decisione, e link "Crea accesso al
referto" quando il cliente non ha ancora un accesso.

gestionale.ts: rimossa misureFuoriRange (e il tipo MisuraFuoriRange), sostituita
ovunque da misureDaVerificare (misure.ts), l'unica con id e range utile alle
azioni. accesso.astro: link "Torna alla scheda" in tutti gli stati.

Refs #7
Refs #8

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-26 13:11:38 +00:00
parent 6cbb205064
commit 2c9a74f849
5 changed files with 67 additions and 37 deletions
@@ -132,27 +132,3 @@ export function sessioniDi(db: Database.Database, code: string): SessioneElenco[
};
});
}
export type MisuraFuoriRange = {
test_id: string;
etichetta: string;
valore: number | null;
unita: string | null;
data: string;
};
/** Le misure di un cliente marcate fuori dal range di plausibilità del registro
* (`misure.fuori_range = 1`, scritto da `registraMisure`): quelle che oggi non contano per
* nessun calcolo (`misureValideAlla` le esclude) ma restano da mostrare e, un domani,
* confermare (#7). Più recente prima. */
export function misureFuoriRange(db: Database.Database, code: string): MisuraFuoriRange[] {
return db.prepare(
`SELECT m.test_id AS test_id, r.etichetta AS etichetta, m.valore_num AS valore,
m.unita AS unita, s.data AS data
FROM misure m
JOIN sessioni s ON s.id = m.sessione_id
JOIN registro_test r ON r.test_id = m.test_id
WHERE m.client_code = ? AND m.fuori_range = 1
ORDER BY s.data DESC, s.id DESC, m.id DESC`
).all(code) as MisuraFuoriRange[];
}