From 39803dfb829021ac232b13a6508e877789ddf897 Mon Sep 17 00:00:00 2001 From: Scarriffle Date: Thu, 30 Jul 2026 09:01:36 +0200 Subject: [PATCH] Backend: auch Einlagern bucht auf bestehende gleiche Charge dazu Damit gilt die Regel ueberall gleich: gleicher Artikel + MHD + Genauigkeit + Lagerort = eine Charge. Einlagern legt keine zweite Charge mehr an, sondern erhoeht die vorhandene; die Einlager-Bewegung bleibt als eigener Verlaufseintrag erhalten. Alle 177 Tests gruen. Co-Authored-By: Claude Opus 4.8 --- backend/app/services/stock.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/app/services/stock.py b/backend/app/services/stock.py index d570a1f..6ff587a 100644 --- a/backend/app/services/stock.py +++ b/backend/app/services/stock.py @@ -299,7 +299,13 @@ def check_in( note=note, ) ) - return lot + db.flush() + # Liegt am selben Ort schon eine Charge mit gleichem MHD, wird eingelagert = + # dazugebucht statt eine zweite Charge anzulegen. Die Bewegung bleibt als + # eigener Eintrag im Verlauf erhalten (nur auf die bestehende Charge bezogen). + return consolidate_lot_group( + db, product.id, lot.best_before, lot.best_before_precision, location_id + ) def consolidate_lot_group(