Backend: gleiche Chargen (Artikel+MHD+Ort) werden zusammengefasst

Nach dem Umlagern/Aufteilen entstanden Dubletten: zwei Chargen desselben Artikels
mit gleichem MHD am gleichen Lagerort, obwohl das fuer den Nutzer eine Charge ist.
Neu: consolidate_lot_group fasst solche Chargen zusammen (Mengen addieren,
Bewegungen auf die aeltere Charge umhaengen, Rest loeschen) - aufgerufen nach
split, bulk-location und update_lot. Bestand und Historie bleiben unveraendert.
Beim Start raeumt consolidate_duplicate_lots einmalig bestehende Dubletten auf.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-30 08:53:12 +02:00
parent 231d86895f
commit 05b54dc7ac
3 changed files with 108 additions and 5 deletions

View File

@@ -35,6 +35,7 @@ from .seed import (
ensure_first_admin,
)
from .services.group_codes import backfill as backfill_group_codes
from .services.stock import consolidate_duplicate_lots
settings = get_settings()
@@ -221,6 +222,9 @@ async def lifespan(app: FastAPI):
ensure_first_admin(db)
# Codes bestehender Gruppen-Zuordnungen nachziehen.
backfill_group_codes(db)
# Bereits vorhandene Dubletten (gleicher Artikel + MHD + Lagerort)
# einmalig zusammenfassen ab jetzt geschieht das beim Umlagern selbst.
consolidate_duplicate_lots(db)
finally:
db.close()
yield