lsa-planer

LSA-Planer Professional – Planungssoftware für Lichtsignalanlagen nach RiLSA 2015 und § 45 StVO. EUPL-1.2.

/ src services export wegherkunft.ts

2,2 KB Rohdatei
src/services/export/wegherkunft.ts — 44 Zeilen
1 import { WEGHERKUNFT_LABELS, type Conflict } from '@/domain/model/project';
2 import * as fmt from '@/ui/format';
3
4 /**
5 * Vermerk fuer eine aus dem Lageplan vermessene Beziehung, deren Zeitpunkt der
6 * Uebernahme nicht ueberliefert ist.
7 *
8 * NEU (Fassung 5.11.0): Dieser Zustand ist beim Einlesen ausdruecklich
9 * vorgesehen - `parseWegnachweis` in src/domain/model/schema.ts sammelt bei
10 * unlesbarem oder fehlendem Zeitstempel nur eine Warnung und laesst den
11 * Nachweis stehen. Im Programm selbst kann er nicht entstehen
12 * (`wegnachweisAusLageplan` setzt immer einen Zeitpunkt), beim Oeffnen einer
13 * fremd erzeugten .lsap sehr wohl.
14 *
15 * Zuvor stand dort die blanke Beschriftung, waehrend der Erlaeuterungsabsatz
16 * unter der Tabelle (src/services/export/pdf.ts) unbedingt zusagt, die Angabe
17 * nenne den Zeitpunkt der Uebernahme. Ein Pruefer konnte nicht unterscheiden,
18 * ob der Zeitpunkt nie ueberliefert wurde oder ob der Druck ihn verschluckt
19 * hat - und genau gegen diesen Zeitpunkt soll er `lageplan.bild.geladenAm`
20 * halten. Behauptet werden darf nur, was bekannt ist; also sagt die Zelle
21 * selbst, was hier nicht bekannt ist.
22 */
23 const OHNE_ZEITPUNKT = 'Zeitpunkt nicht überliefert';
24
25 /**
26 * Herkunft der Raeum- und Einfahrwege einer Beziehung, mit dem Zeitpunkt der
27 * Uebernahme - oder mit dem Vermerk, dass er nicht ueberliefert ist.
28 *
29 * Steht hier und nicht in pdf.ts, weil beide Ausgabewege dieselbe Angabe
30 * fuehren muessen. Zuvor gab es sie nur im PDF; die Tabelle "Zwischenzeiten mit
31 * Rechenweg" wies den Herkunftsnachweis der sicherheitsrelevanten Masse nicht
32 * aus, obwohl sie das Gegenstueck zur PDF-Seite mit den Rechenwegen ist.
33 *
34 * Die Benennung kommt aus dem Modell und ist dieselbe wie am Bildschirm. Eine
35 * eigene Formulierung fuer das Papier liefe beim naechsten Wortwechsel
36 * auseinander - und dann stuende in der Unterlage etwas anderes als in der
37 * Anwendung, aus der sie stammt.
38 */
39 export function wegherkunftZelle(conflict: Conflict): string {
40 const { herkunft, uebernommenAm } = conflict.wegnachweis;
41 if (herkunft !== 'lageplan') return WEGHERKUNFT_LABELS[herkunft];
42 const zusatz = uebernommenAm === null ? OHNE_ZEITPUNKT : fmt.dateTime(uebernommenAm);
43 return `${WEGHERKUNFT_LABELS[herkunft]} (${zusatz})`;
44 }