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>
33 lines
2.2 KiB
SQL
33 lines
2.2 KiB
SQL
-- 0017_seed_real_services.sql
|
|
--
|
|
-- Ersetzt den Platzhalter-Seed aus 0016 durch die **echten** Lieferoptionen
|
|
-- aus dem Altsystem. Quelle: DOCUframe-Makro
|
|
-- `_SV/_DF_APP/_initDelivery.dfm` (gegengeprüft in `_getOptionColumnByKey.dfm`)
|
|
-- — 8 Optionen, 2 numerisch (Stückzahlen), 6 boolean. Im Makro gibt es keine
|
|
-- min/max-Werte; für die Stückzahlen setzen wir fachlich `min = 0`, kein max.
|
|
--
|
|
-- (Migration 0016 wurde bereits angewandt und bleibt unangetastet — daher die
|
|
-- Korrektur in einer eigenen Migration statt eines Edits.)
|
|
|
|
-- Platzhalter-Seeds entfernen. Erst etwaige Pro-Lieferung-Werte lösen
|
|
-- (FK ON DELETE RESTRICT), dann die Definitionen.
|
|
DELETE FROM delivery_services
|
|
WHERE service_id IN (
|
|
SELECT id FROM services
|
|
WHERE key IN ('podium_setup', 'old_appliance_taken', 'commissioning', 'floor')
|
|
);
|
|
DELETE FROM services
|
|
WHERE key IN ('podium_setup', 'old_appliance_taken', 'commissioning', 'floor');
|
|
|
|
-- Echte Optionen (deterministische UUIDs für stabile Seeds/Tests).
|
|
-- sort_order = Reihenfolge wie in der alten App (numerische zuerst).
|
|
INSERT INTO services (id, key, name, kind, min_value, max_value, sort_order) VALUES
|
|
('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa01', 'AMOUNT_OLD_DEVICES', 'Anzahl alter Geräte', 'numeric', 0, NULL, 1),
|
|
('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa02', 'AMOUNT_MOUNTED_DEVICES', 'Anzahl montierter Geräte', 'numeric', 0, NULL, 2),
|
|
('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa03', 'DEVICE_ALIGNED', 'Gerät ausgerichtet', 'boolean', NULL, NULL, 3),
|
|
('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa04', 'ON_PLATFORM', 'Auf Podest gestellt', 'boolean', NULL, NULL, 4),
|
|
('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa05', 'REVISIT_REQUIRED', 'Erneute Anfahrt notwendig', 'boolean', NULL, NULL, 5),
|
|
('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa06', 'TEST_RUN_COMPLETE', 'Testdurchlauf durchgeführt', 'boolean', NULL, NULL, 6),
|
|
('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa07', 'TIGHTNESS_TEST_DONE', 'Dichtigkeitstest durchgeführt','boolean', NULL, NULL, 7),
|
|
('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa08', 'TUBE_EXTENSION_REQUIRED', 'Schlaucherweiterung notwendig','boolean', NULL, NULL, 8);
|