Detaillierter Projektplan mit Teilplänen und Fragenliste
- docs/projektplan.md neu gegliedert: Arbeitsweise mit Freigaben, Zuständigkeiten, Meilensteine mit Abnahmekriterien, Arbeitspakete mit Status, Zeitplan, Entscheidungen - docs/plaene/: Teilplan je Arbeitspaket (detailliert für AP0, AP1, AP2, AP3, AP5, AP11, AP13; grob für AP4, AP6–AP10, AP12, Optionen) und Vorlage - docs/fragen.md: alle offenen Fragen mit Status, Empfänger und betroffenem Teilplan - CLAUDE.md: Umsetzung nur nach freigegebenem Teilplan Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
6aac8b0a16
commit
2143f4e955
@@ -0,0 +1,85 @@
|
||||
# AP5 – GAEB-Import und PDF-Anzeige
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Status | detailliert, wartet auf Freigabe |
|
||||
| Aufwand | 1,25 PW |
|
||||
| Zeitraum | KW 41 (Test), KW 43–45 |
|
||||
| Meilenstein | M1 (LV-Baum), M2 (PDF, Nachträge) |
|
||||
| Freigabe | offen |
|
||||
|
||||
## Ziel
|
||||
|
||||
LVs und Nachtrags-LVs werden aus X86-Dateien eingelesen: Positionen, Vorbemerkungen und Gliederung.
|
||||
Jede Position lässt sich im zugehörigen PDF an der richtigen Stelle anzeigen.
|
||||
|
||||
## Umfang
|
||||
|
||||
**Enthalten:**
|
||||
- GAEB DA XML (X86) für Vertrags-LVs und Nachtrags-LVs
|
||||
- LV-Baum, PDF-Anzeige mit Markierung, Zuordnung von OZ zur PDF-Seite
|
||||
- Nachtrag ohne X86 über Texterkennung mit Bestätigung durch den Bearbeiter
|
||||
|
||||
**Nicht enthalten:**
|
||||
- D86 (GAEB 90), nur falls A5 es erfordert
|
||||
- Kalkulationen und Preisnachweise (Phase 2)
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- AP1 Schritt 1.10 (Upload)
|
||||
- A3 (Vorbemerkungen in X86?), A5 (Nachtrags-LV immer als X86?), A18 (anonymisierte Beispiele)
|
||||
|
||||
## Entscheidungen
|
||||
|
||||
| Nr. | Frage | Vorschlag | Entschieden |
|
||||
|---|---|---|---|
|
||||
| E5.1 | Parser: eigene Umsetzung oder Bibliothek? | Nach Schritt 5.1; voraussichtlich eigene Umsetzung mit `XMLReader` (wenige gepflegte PHP-Bibliotheken) | offen |
|
||||
| E5.2 | PDF-Anzeige | pdf.js (`pdfjs-dist`) lokal über Vite gebündelt, kein CDN | offen |
|
||||
| E5.3 | Seitenzuordnung | PDF-Text je Seite lokal mit poppler (`pdftotext`), OZ suchen; Sail-Image um poppler-utils ergänzen | offen |
|
||||
|
||||
## Schritte
|
||||
|
||||
- [ ] **5.1** GAEB-Test (KW 41):
|
||||
- Öffentliche Beispieldateien suchen und deren Lizenz prüfen; dazu eine selbst erzeugte
|
||||
X86-Datei nach DA XML 3.3 mit Titeln, Positionen und Vorbemerkungen
|
||||
- Struktur auswerten, Bibliotheken prüfen
|
||||
|
||||
→ `docs/tests/gaeb-test.md` mit Vorschlag zu E5.1
|
||||
- [ ] **5.2** Datenmodell `lv_elemente`:
|
||||
- Felder: LV, übergeordnetes Element, Typ (Bereich, Titel, Position, Vorbemerkung, Hinweistext),
|
||||
OZ, Kurztext, Langtext, Menge, Einheit, EP, GP, Sortierung, PDF-Seite
|
||||
- Migration und Tests
|
||||
- [ ] **5.3** Parser und Import-Job X86 → `lv_elemente`:
|
||||
- Importstatus und Fehlerbericht
|
||||
- Erneuter Import ersetzt den alten Stand nachvollziehbar
|
||||
- [ ] **5.4** LV-Ansicht:
|
||||
- Baum mit Titeln, Positionen und Vorbemerkungen
|
||||
- Langtext aufklappbar, Suche im LV
|
||||
- [ ] **5.5** Seitenzuordnung (E5.3): je Element die PDF-Seite ermitteln, Abweichungen protokollieren
|
||||
- [ ] **5.6** PDF-Anzeige (E5.2):
|
||||
- Seite, Zoom, Sprung zur Position, Markierung der Stelle
|
||||
- Auslieferung nur über die Rechteprüfung
|
||||
- [ ] **5.7** Nachtrags-Import:
|
||||
- Nachtrags-LV als X86 → `nachtragspositionen`
|
||||
- Nur PDF → Dokumentdienst (AP3) → erkannte Positionen; der Bearbeiter bestätigt sie
|
||||
- [ ] **5.8** Anpassen nach den echten Beispielen (A18), sobald sie da sind
|
||||
|
||||
## Abnahmekriterien
|
||||
|
||||
- Ein Beispiel-LV wird vollständig eingelesen: Anzahl der Positionen und Summen stimmen mit der Datei überein.
|
||||
- Ein Klick auf eine Position zeigt im PDF die richtige Seite mit Markierung.
|
||||
- Ein Nachtrags-LV ergibt die Nachtragspositionen.
|
||||
|
||||
## Tests
|
||||
|
||||
- Parser mit erfundenen Beispieldateien: Gliederung, Langtexte, Sonderfälle wie fehlende Menge
|
||||
oder Pauschalposition
|
||||
- Import-Job mit Fehlerfall
|
||||
- Seitenzuordnung
|
||||
- Rechteprüfung der PDF-Auslieferung
|
||||
|
||||
## Risiken
|
||||
|
||||
- Erweiterungen des Kalkulationsprogramms in der X86. Echte Beispiele früh anfordern (A18);
|
||||
unbekannte Elemente protokollieren statt abbrechen.
|
||||
- Gescannte PDFs ohne Textebene: dann keine Seitenzuordnung, Hinweis anzeigen.
|
||||
Reference in New Issue
Block a user