From f78ea8ffcc2855ed7e06d929c1e30089c4b436a4 Mon Sep 17 00:00:00 2001
From: Lorenz Stechauner <lorenz.stechauner@necronda.net>
Date: Thu, 19 Oct 2023 01:13:22 +0200
Subject: [PATCH] migrate: prepare for WKW

---
 wgmaster/migrate.py | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/wgmaster/migrate.py b/wgmaster/migrate.py
index 907c249..37b6477 100755
--- a/wgmaster/migrate.py
+++ b/wgmaster/migrate.py
@@ -315,6 +315,8 @@ def lookup_plz(plz: Optional[int], ort: Optional[str], address: Optional[str] =
         ort = 'DROSENDORF ALTSTADT'
     elif ort.upper() == 'KLEINWEIKERSDORF' and plz == 2033:
         plz = 2023
+    elif ort.upper() == 'NIEDERSCHLEINZ' and plz == 3721:
+        plz = 3714
 
     cur = DB_CNX.cursor()
     cur.execute("SELECT o.okz, p.dest, o.name FROM AT_plz_dest p JOIN AT_ort o ON o.okz = p.okz WHERE plz = ?", (plz,))
@@ -430,6 +432,8 @@ def lookup_gem_name(name: str) -> List[Tuple[int, int]]:
             gem_name = 'Röschitz'
         elif name.lower() == 'wilhelmsdorf':
             gem_name = 'Poysdorf'
+        elif name.lower() == 'nappersdorf-kammersdorf':
+            return [(9008, 31028), (9026, 31028), (9032, 31028), (9037, 31028), (9051, 31028), (9067, 31028)]
 
     cur = DB_CNX.cursor()
     cur.execute("SELECT k.kgnr, k.name, g.gkz, g.name "
@@ -1433,12 +1437,18 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None:
                         updated_varieties[line] = 0
                     updated_varieties[line] += 1
 
-                qualid = QUAL_MAP[d['QSNR']]
+                if d['QSNR'] is None:
+                    warning_delivery(lsnr, mgnr, 'qualid', 'UNSET')
+                    if d['Oechsle'] >= 86:
+                        qualid = 'KAB'
+                else:
+                    qualid = QUAL_MAP[d['QSNR']]
                 if qualid != 'WEI' and d['Abgewertet']:
                     if qualid == 'RSW':
                         qualid = 'WEI'
                     else:
                         warning_delivery(lsnr, mgnr, 'qualid', f'{qualid} (abgewertet)')
+                        qualid = 'WEI'
 
                 kgnr, rdnr = None, None
                 if d['GNR']:
@@ -1707,7 +1717,7 @@ def migrate_parameters(in_dir: str, out_dir: str) -> None:
     }
     tokens = {
         WG.MATZEN: ('WGM', 'WG Matzen'),
-        WG.WINZERKELLER: ('WKW', 'WKW')
+        WG.WINZERKELLER: ('WKW', 'Winzerkeller')
     }.get(CLIENT, (None, None))
 
     ort = params['MANDANTENORT'].title()
@@ -1735,6 +1745,7 @@ def migrate_parameters(in_dir: str, out_dir: str) -> None:
         'VAT_FLATRATE': '0.13',
         'DOCUMENT_SENDER': params.get('ABSENDERTEXT2', None),
         'TEXT_DELIVERYNOTE': params.get('LIEFERSCHEINTEXT', None).replace(' daß ', ' dass ').replace('obige Angaben maßgeblicher Veränderungen', 'maßgeblichen Veränderungen obiger Angaben'),
+        'TEXT_DELIVERYCONFIRMATION': params.get('ANLIEFTEXT', None),
     }
 
     with utils.csv_open(f'{out_dir}/client_parameter.csv') as f: