migrate.py: Fix invalid sortid in payment_variant bug
This commit is contained in:
@ -44,6 +44,7 @@ MEMBER_MAP: Optional[Dict[int, Dict[str, Any]]] = None
|
|||||||
GROSSLAGE_KG_MAP: Optional[Dict[int, int]] = None
|
GROSSLAGE_KG_MAP: Optional[Dict[int, int]] = None
|
||||||
DELIVERY_MAP: Optional[Dict[int, Tuple[int, int, int]]] = None
|
DELIVERY_MAP: Optional[Dict[int, Tuple[int, int, int]]] = None
|
||||||
MODIFIER_MAP: Optional[Dict[str, Dict]] = None
|
MODIFIER_MAP: Optional[Dict[str, Dict]] = None
|
||||||
|
SORT_MAP: Optional[Dict[str, str]] = None
|
||||||
PARAMETERS: Optional[Dict[str, str]] = None
|
PARAMETERS: Optional[Dict[str, str]] = None
|
||||||
|
|
||||||
AUSTRIA = 40
|
AUSTRIA = 40
|
||||||
@ -1331,8 +1332,8 @@ def fix_deliveries(deliveries: Iterable[Dict[str, Any]]) -> Iterable[Tuple[str,
|
|||||||
|
|
||||||
|
|
||||||
def migrate_deliveries(in_dir: str, out_dir: str) -> None:
|
def migrate_deliveries(in_dir: str, out_dir: str) -> None:
|
||||||
global DELIVERY_MAP, MODIFIER_MAP
|
global DELIVERY_MAP, MODIFIER_MAP, SORT_MAP
|
||||||
DELIVERY_MAP, MODIFIER_MAP = {}, {}
|
DELIVERY_MAP, MODIFIER_MAP, SORT_MAP = {}, {}, {}
|
||||||
|
|
||||||
modifiers = {
|
modifiers = {
|
||||||
m['ASNR']: m
|
m['ASNR']: m
|
||||||
@ -1438,6 +1439,7 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None:
|
|||||||
attributes.remove('F')
|
attributes.remove('F')
|
||||||
|
|
||||||
if d['SNR'] != sortid:
|
if d['SNR'] != sortid:
|
||||||
|
SORT_MAP[f'{d["SNR"]}/{d["SANR"] or ""}'] = f'{sortid}/{",".join(list(attributes)) or ""}'
|
||||||
line = f'{d["SNR"]}/{d["SANR"]} -> {sortid}/{",".join(list(attributes)) or None}'
|
line = f'{d["SNR"]}/{d["SANR"]} -> {sortid}/{",".join(list(attributes)) or None}'
|
||||||
if line not in updated_varieties:
|
if line not in updated_varieties:
|
||||||
updated_varieties[line] = 0
|
updated_varieties[line] = 0
|
||||||
@ -1643,7 +1645,7 @@ def migrate_payments(in_dir: str, out_dir: str) -> None:
|
|||||||
del s['ID']
|
del s['ID']
|
||||||
if s['Oechsle'] is None:
|
if s['Oechsle'] is None:
|
||||||
continue
|
continue
|
||||||
key = f'{s["SNR"].upper()}/{s["SANR"] or ""}'
|
key = SORT_MAP.get(f'{s["SNR"]}/{s["SANR"] or ""}', f'{s["SNR"].upper()}/{s["SANR"] or ""}')
|
||||||
azs[key] = azs.get(key, {'Gebunden': {}, 'NichtGebunden': {}})
|
azs[key] = azs.get(key, {'Gebunden': {}, 'NichtGebunden': {}})
|
||||||
azs[key]['Gebunden' if s['gebunden'] else 'NichtGebunden'][s['Oechsle']] = s['Betrag']
|
azs[key]['Gebunden' if s['gebunden'] else 'NichtGebunden'][s['Oechsle']] = s['Betrag']
|
||||||
curves = []
|
curves = []
|
||||||
@ -1697,7 +1699,7 @@ def migrate_payments(in_dir: str, out_dir: str) -> None:
|
|||||||
del q['AZNR']
|
del q['AZNR']
|
||||||
del q['ID']
|
del q['ID']
|
||||||
qualid = QUAL_MAP[q['QSNR']]
|
qualid = QUAL_MAP[q['QSNR']]
|
||||||
key = f'{q["SNR"].upper()}/{q["SANR"] or ""}'
|
key = SORT_MAP.get(f'{q["SNR"]}/{q["SANR"] or ""}', f'{q["SNR"].upper()}/{q["SANR"] or ""}')
|
||||||
azq[qualid] = azq.get(qualid, {})
|
azq[qualid] = azq.get(qualid, {})
|
||||||
azq[qualid][key] = q['Betrag']
|
azq[qualid][key] = q['Betrag']
|
||||||
for qualid, d1 in azq.items():
|
for qualid, d1 in azq.items():
|
||||||
|
Reference in New Issue
Block a user