Files
Holzleitner---Backend--aktu…/migrations/0019_item_unit_price.sql
Dennis Nemec 6a9b5872e1 Backend-Arbeitsstand: ERP-Sync, Lieferlebenszyklus, Reports + config.toml
Bringt das Backend vom initialen Skeleton auf den aktuellen Arbeitsstand
(Clean Architecture: domain → application → infrastructure → api).

Wesentliche Bereiche:
- ERP-Anbindung (MSSQL-Pull der Touren, Import-Scheduler, Rückschreiben)
- Lieferlebenszyklus: Scan/Hold/Cancel/Complete, Gutschriften, Notizen,
  Bild-Anhänge, Unterschriften, PDF-Lieferreport → DOCUframe
- Stammdaten: Kunden, Artikel, Lager, Zahlungsarten, Services
- Keycloak-JWT-Gate + Fahrer-Provisionierung via Admin-API
- Admin-API-Key-Gate (X-Admin-Api-Key) für Maschinen-Endpunkte

Jüngste Änderungen dieser Session:
- Belegspezifische Kontaktdaten: alle ERP-Adressen (Beleg-/Liefer-/
  Rechnungsadresse, Ansprechpartner, Kundenstamm) mit Telefon/Mobil/
  E-Mail werden gesynct (Migration 0029, MSSQL-Query, TourDetails)
- Konfiguration von .env (envy/dotenvy) auf config.toml (toml/serde)
  umgestellt; Vorlage config.example.toml, Pfad via HOLZLEITNER_CONFIG

Nicht im Repo (per .gitignore): config.toml (Secrets), data/ (Laufzeit-/
Kundendaten), demo.mp4, .claude/, variocontrol-ai/.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 17:52:58 +02:00

17 lines
734 B
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 0019_item_unit_price.sql
--
-- Preis pro Belegzeile/Artikel + Entfernen des statischen Liefer-Totals.
--
-- Hintergrund: Der Gesamt-/Warenwert einer Lieferung wird jetzt **aus den
-- Artikeln berechnet** (Σ Stückpreis × ausgelieferte Menge), nicht mehr als
-- statischer Betrag geführt. Ausgelieferte Menge = required - credited, d. h.
-- entfernte/teil-entfernte Positionen reduzieren den Wert automatisch. Damit
-- ist `deliveries.total_amount` (Migration 0018) überflüssig und wird wieder
-- entfernt — eine Quelle der Wahrheit (der Stückpreis).
ALTER TABLE deliveries DROP COLUMN total_amount;
ALTER TABLE delivery_items
ADD COLUMN unit_price DOUBLE PRECISION NOT NULL DEFAULT 0
CHECK (unit_price >= 0);