Migrate auszahlung kurven

This commit is contained in:
2023-08-23 16:57:38 +02:00
parent 1c88dfe6a5
commit 6d2a08bd94
2 changed files with 32 additions and 1 deletions

View File

@ -1550,6 +1550,28 @@ def migrate_payments(in_dir: str, out_dir: str) -> None:
if oe not in curves:
curves.append(oe)
azs[sortid][attrid][geb] = curves.index(oe)
for i, c in enumerate(curves):
n = {}
d = 0
for oe, p0, p1, p2 in zip(range(0, len(c) + 1), [0] + c, c, c[1:] + [c[len(c) - 1]]):
d1, d2 = round(p1 - p0, 4), round(p2 - p1, 4)
if d1 == d:
continue
d = d2
if p0 > 0:
n[f'{oe - 1}oe'] = p0
n[f'{oe}oe'] = p1
if c[len(c) - 1] > 0:
n[f'{len(c) - 1}oe'] = c[len(c) - 1]
keys = list(n.keys())
vals = list(n.values())
if len(n) >= 2 and vals[0] == vals[1]:
del n[keys[0]]
del n[keys[1]]
n = {keys[1]: vals[1], **n}
if len(n) == 1:
n = {'73oe': list(n.values())[0]}
curves[i] = n
azs['Kurven'] = curves
azq = data['AuszahlungSortenQualitätsstufe']
for q in qual_map.get(p['AZNR'], []):