fix(sync): Lieferadresse nicht mehr feldweise mischen, Adresszusatz statt Land

- Sync nimmt die Lieferadresse als Ganzes: mit eigener LieferAdressId
  alle Felder aus ihr, sonst alle aus der Belegadresse. Das bisherige
  COALESCE je Feld hat leere Felder mit Werten des Bestellers gefüllt
  (z. B. dessen Ortsteil an eine fremde Anschrift gehängt).
- ERP-Freitext `Adressen.Land` (praktisch Ortsteil/Etage/Hinweis) wird
  zum Adresszusatz `Address.addition`; `country` kommt jetzt aus dem
  Länderstamm (`LandID` → `Laender.Land`). Deutschland-Kürzel und reine
  Landnamen sind kein Zusatz.
- Migration 0034: `customers.address_addition`, `deliveries.snap_addition`;
  Bestandstext aus `country` wandert in den Zusatz.
- Lieferbericht und Beleg-Ansicht: Land nur außerhalb Deutschlands,
  Zusatz als eigene Zeile „Zusatz: …".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Dennis Nemec
2026-09-25 16:13:13 +02:00
parent af6d522290
commit c9d0ccfdef
11 changed files with 231 additions and 89 deletions

View File

@ -30,6 +30,8 @@ pub struct DeliveryReportData {
pub customer_name: String,
/// Lieferadresse (Snapshot am Beleg), einzeilig.
pub address: String,
/// Adresszusatz der Lieferadresse (Ortsteil, Etage, Hinweis).
pub address_addition: Option<String>,
/// Nur gesetzt, wenn Empfänger oder Lieferadresse vom Besteller
/// abweichen (ERP-`LieferAdressId`). Dann ist `customer_*` der Besteller
/// und `address` die abweichende Lieferadresse.
@ -60,6 +62,7 @@ pub struct ReportRecipient {
pub phones: Vec<String>,
/// Anschrift des Bestellers (Kundenstamm), einzeilig.
pub orderer_address: String,
pub orderer_address_addition: Option<String>,
pub orderer_phones: Vec<String>,
}