Le releve continu, et le code-barres dans le CSV plutot que l'adresse
Le suivi n'ecrivait que l'adresse du module, traduite a l'import par une table figee sur le pack ancien. Le cable ayant change de pack, tout releve fait maintenant aurait ete attribue aux mauvais modules. Le code-barres est desormais resolu au demarrage et ecrit dans le CSV ; la table ne sert plus qu'aux anciens fichiers. Le releve tourne sur le poste qui porte le cable serie - le port USB est la, pas sur le Synology - et n'ecrit qu'un CSV dans le depot partage. C'est le service d'historisation, cote Synology, qui le verse en base : le poste n'a donc aucun mot de passe a connaitre. Archive pour le constructeur : un dossier par code-barres, plus un manifeste en francais, anglais et chinois qui dit ou regarder en premier et signale que les CSV sont deja corriges de la derive d'horloge des BMS. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
@@ -152,9 +152,17 @@ function lireSuivi(f) {
|
||||
for (const l of lireTexte(f).trim().split('\n').slice(1)) {
|
||||
const c = l.split(',');
|
||||
if (c.length < 18) continue;
|
||||
const ad = parseInt(String(c[1]).replace(/\D/g, ''), 10);
|
||||
if (!Number.isFinite(ad)) continue;
|
||||
const mod = CARTE_SUIVI[ad] || `pack_ancien:${ad}`;
|
||||
// Depuis le 05/09 le suivi ecrit directement le code-barres. Les fichiers
|
||||
// anterieurs ne portent que `moduleN` : la table ci-dessus les traduit, et
|
||||
// elle ne vaut que pour la chaine du pack ancien, seule interrogee alors.
|
||||
const brut = String(c[1]);
|
||||
let mod;
|
||||
if (/^[A-Z]\d{6}[A-Z]\d+$/.test(brut)) mod = brut;
|
||||
else {
|
||||
const ad = parseInt(brut.replace(/\D/g, ''), 10);
|
||||
if (!Number.isFinite(ad)) continue;
|
||||
mod = CARTE_SUIVI[ad] || `pack_ancien:${ad}`;
|
||||
}
|
||||
modules.add(mod);
|
||||
const cour = c[2] === '' ? null : +c[2];
|
||||
for (let k = 0; k < 15; k++) {
|
||||
|
||||
Reference in New Issue
Block a user