Doku: README um Lieferungen + Kundenunterschrift erweitert

- Features-Liste: Lieferschein-Vorschau, Vollbild-Querformat-Signatur, GPS,
  Auto-Validate/Close der Expedition
- API-Liste: /shipments.php (order_id list, detail, pdf, confirm)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Eddy 2026-05-28 07:58:06 +02:00
parent 9e5b531ae5
commit 0e019d40b7

View file

@ -38,6 +38,17 @@ Mobile Progressive Web App für die Baustellen-Doku — Foto-Upload, Sprachnotiz
- ✅ Bericht finalisieren → PDF-Vorschau - ✅ Bericht finalisieren → PDF-Vorschau
- ✅ PDF-Download - ✅ PDF-Download
**Lieferungen + Kundenunterschrift**
- ✅ Lieferungen-Liste pro Auftrag mit Status + Signed-Badge
- ✅ Lieferschein-PDF inline (PDF.js, alle Seiten)
- ✅ Vollbild-Querformat-Unterschrift mit HiDPI-Canvas, transparent (kein Hintergrund)
- ✅ Trimmt Canvas automatisch auf bemalte Fläche
- ✅ Name des Unterzeichners aus Kundendaten vorausgefüllt
- ✅ GPS-Koordinaten (optional, timeout 3s)
- ✅ Unterschrift wird via ODT-Hook in das Lieferschein-PDF gestempelt
- ✅ Expedition wird nach Unterschrift automatisch validiert + geschlossen
- ✅ Signed-PDF direkt nach Bestätigung als Vorschau
**Materialliste** **Materialliste**
- ✅ Material pro Auftrag erfassen (Label, Menge, Einheit, Notiz) - ✅ Material pro Auftrag erfassen (Label, Menge, Einheit, Notiz)
- ✅ Material löschen - ✅ Material löschen
@ -114,6 +125,12 @@ Die App spricht die Bericht-API unter `/custom/bericht/api/`:
- `POST /materials.php?element_type=X&element_id=Y` — Material hinzufügen - `POST /materials.php?element_type=X&element_id=Y` — Material hinzufügen
- `POST /materials.php?id=X&delete=1` — Material löschen - `POST /materials.php?id=X&delete=1` — Material löschen
**Lieferungen**
- `GET /shipments.php?order_id=X` — Lieferungen zu einem Auftrag
- `GET /shipments.php?id=X` — Lieferung-Detail (inkl. bericht_id falls Unterschrift vorhanden)
- `GET /shipments.php?id=X&action=pdf[&variant=auto|signed|unsigned]` — Lieferschein-PDF
- `POST /shipments.php?id=X&action=confirm` — Kunden-Unterschrift einstempeln (FormData mit signature_png, signer_name, gps_lat, gps_lon, signed_at). Backend setzt signed_status=1 und schließt die Expedition
**Medien** **Medien**
- `GET /photo.php?relpath=X&jwt=Y` — Foto abrufen (mit Thumbnail: `&size=thumb`) - `GET /photo.php?relpath=X&jwt=Y` — Foto abrufen (mit Thumbnail: `&size=thumb`)
- `POST /delete_photo.php` — Foto löschen - `POST /delete_photo.php` — Foto löschen