Migrate abwertung qualid correctly

This commit is contained in:
2023-08-21 11:40:26 +02:00
parent b955d2c0d1
commit b27d40aa92

View File

@ -1340,7 +1340,6 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None:
mgnr = delivery_dict[linrs[0]]['MGNR'] mgnr = delivery_dict[linrs[0]]['MGNR']
znr = delivery_dict[linrs[0]]['ZNR'] znr = delivery_dict[linrs[0]]['ZNR']
glob_waage = set(delivery_dict[linr]['Waagentext'] for linr in linrs if delivery_dict[linr]['Waagentext']) glob_waage = set(delivery_dict[linr]['Waagentext'] for linr in linrs if delivery_dict[linr]['Waagentext'])
zwstid = lsnr[8] zwstid = lsnr[8]
@ -1395,6 +1394,12 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None:
updated_varieties[line] += 1 updated_varieties[line] += 1
qualid = QUAL_MAP[d['QSNR']] 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 kgnr, rdnr = None, None
if d['GNR']: if d['GNR']:
gem = GEM_MAP.get(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]: elif kgnr not in [kg[0] for gem in GEM_MAP.values() for kg in gem]:
warning_delivery(lsnr, mgnr, 'KGNr.', kgnr) warning_delivery(lsnr, mgnr, 'KGNr.', kgnr)
kgnr = None kgnr = None
hkid = lookup_hkid(kgnr, qualid) hkid = lookup_hkid(kgnr, qualid)
handwiegung = d['Handwiegung'] or False
waage = list(glob_waage)[0] if len(glob_waage) == 1 else d['Waagentext'] waage = list(glob_waage)[0] if len(glob_waage) == 1 else d['Waagentext']
scale_id, weighing_id = None, None scale_id, weighing_id = None, None
if waage: if waage:
waage = re.split(r' +', waage) waage = re.split(r' +', waage)
scale_id = waage[1] scale_id = waage[1]
weighing_id = f'{date}/{waage[3]}' weighing_id = f'{date}/{waage[3]}'
elif len(glob_waage) == 0 and not handwiegung:
handwiegung = True
comment: Optional[str] = d['Anmerkung'] comment: Optional[str] = d['Anmerkung']
acid = d['Säure'] 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 gerebelt = True if WG == 'MATZEN' else d['Gerebelt'] or False
f_part.row( f_part.row(
date.year, snr, dpnr, sortid, int(d['Gewicht']), kmw, qualid, hkid, kgnr, rdnr, 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 hand, lesemaschine, d['Temperatur'], acid, scale_id, weighing_id, comment
) )
for attrid in attributes: for attrid in attributes: