Files
BauIN/docs/plaene/AP05-gaeb-pdf.md
ChristophandClaude Opus 5.5 2143f4e955 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>
2026-10-05 08:47:05 +02:00

3.3 KiB
Raw Permalink Blame History

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.