From b27d40aa92b526380f638fc334e263b83df91c74 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Mon, 21 Aug 2023 11:40:26 +0200 Subject: [PATCH] Migrate abwertung qualid correctly --- wgmaster/migrate.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/wgmaster/migrate.py b/wgmaster/migrate.py index c73c5af..2c4714f 100755 --- a/wgmaster/migrate.py +++ b/wgmaster/migrate.py @@ -1340,7 +1340,6 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None: mgnr = delivery_dict[linrs[0]]['MGNR'] znr = delivery_dict[linrs[0]]['ZNR'] - glob_waage = set(delivery_dict[linr]['Waagentext'] for linr in linrs if delivery_dict[linr]['Waagentext']) zwstid = lsnr[8] @@ -1395,6 +1394,12 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None: updated_varieties[line] += 1 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)') + kgnr, rdnr = None, None if d['GNR']: gem = GEM_MAP.get(d['GNR'], []) @@ -1410,15 +1415,17 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None: elif kgnr not in [kg[0] for gem in GEM_MAP.values() for kg in gem]: warning_delivery(lsnr, mgnr, 'KGNr.', kgnr) kgnr = None - hkid = lookup_hkid(kgnr, qualid) + handwiegung = d['Handwiegung'] or False waage = list(glob_waage)[0] if len(glob_waage) == 1 else d['Waagentext'] scale_id, weighing_id = None, None if waage: waage = re.split(r' +', waage) scale_id = waage[1] weighing_id = f'{date}/{waage[3]}' + elif len(glob_waage) == 0 and not handwiegung: + handwiegung = True comment: Optional[str] = d['Anmerkung'] acid = d['Säure'] @@ -1440,7 +1447,7 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None: gerebelt = True if WG == 'MATZEN' else d['Gerebelt'] or False f_part.row( date.year, snr, dpnr, sortid, int(d['Gewicht']), kmw, qualid, hkid, kgnr, rdnr, - gerebelt, d['Handwiegung'] or False, d['Spaetlese-Ueberpruefung'] or False, + gerebelt, handwiegung, d['Spaetlese-Ueberpruefung'] or False, hand, lesemaschine, d['Temperatur'], acid, scale_id, weighing_id, comment ) for attrid in attributes: