Warenwirtschaft: N-01/N-03/N-05 — Entwurfsmenge ohne Charge, Snapshot-Signatur je Produkt, Alt-Ausschuss in Chargenverfügbarkeit
- N-01: Ist-Menge ohne gewählte Charge bleibt im Entwurf erhalten (Filter in Request und Service, formBatchKey liefert '' für chargenlose Zeilen). - N-03: outputSignature summiert Stückzahlen je Produkt — ein Chargensplit ersetzt den historischen Verpackungs-Snapshot nicht mehr. - N-05: Ausschuss ohne Chargenbezug (Altbestand) wird für die Verfügbarkeit je Standort FEFO auf die Chargen angerechnet (applyUnboundDisposals, lesend); Chargen-Ausschussprüfung nutzt dieselbe Verfügbarkeit. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
520d4e2deb
commit
313c6277ce
8 changed files with 138 additions and 23 deletions
|
|
@ -113,8 +113,8 @@ class StockDisposalController extends Controller
|
|||
|
||||
if (! empty($data['stock_entry_id'])) {
|
||||
$entry = StockEntry::query()->lockForUpdate()->findOrFail((int) $data['stock_entry_id']);
|
||||
$consumed = $productionService->consumedByStockEntry([$entry->id])[$entry->id] ?? 0.0;
|
||||
$remaining = round((float) $entry->received_quantity - $consumed, 2);
|
||||
$available = $productionService->availableStockEntriesForIngredient($ingredientId, (int) $entry->location_id)->firstWhere('id', $entry->id);
|
||||
$remaining = $available !== null ? round((float) $available->getAttribute('remaining_quantity'), 2) : 0.0;
|
||||
} else {
|
||||
// Alle Eingänge des Rohstoffs am Standort sperren, dann Standortrest neu berechnen.
|
||||
StockEntry::query()->lockForUpdate()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue