gruene-seele/app/Http/Requests/Inventory
Kevin Adametz abd202a02e Warenwirtschaft: AP-43 — Produktion zwischenspeichern (Entwurf) + „abschließen"
Der Speicher-Button heißt jetzt „Produktion abschließen"; daneben gibt es
„Zwischenspeichern (Entwurf)". Ein Entwurf sichert den Stand ohne Pflichtfeld-
und ohne Bestandsprüfung und bucht KEINEN Bestand (Roh-/Produkt-/Verpackung).
Erst „abschließen" prüft vollständig und bucht.

- Migration: productions.status (default 'completed'; Bestand ist bereits gebucht).
- Production-Model: STATUS_DRAFT/COMPLETED, isDraft(), scopeBooked().
- InventoryService: Entwürfe fallen aus allen Verbrauchs-/Bestandsjoins heraus
  (status != draft an den 4 productions-Joins).
- ProductionService store()/updateProduction() bekommen $draft: Entwurf
  überspringt Rezeptur-/Mengen-/Bestandsprüfung + Buchungen, sichert nur
  vollständige Chargen-Zeilen (filterCompleteLines) und die angegebenen Outputs.
  Ein abgeschlossene Produktion kann NICHT zurück in den Entwurf (sonst
  verwaisen die Buchungen) — Guard wirft ValidationException.
- StoreProductionRequest: save_mode=draft => nur Kopfdaten Pflicht, Chargen/
  Ergebnis optional; validatedPayload filtert unvollständige Zeilen/Outputs.
- Controller: Entwurf löst Chargen tolerant auf (nicht auflösbare Chargen werden
  übersprungen, Entwurf ist immer speicherbar) und leitet zur Bearbeitung zurück.
- Views: create/edit „abschließen" + „Zwischenspeichern"-Button (nur solange
  Entwurf); Entwurf-Badge in Liste + Bearbeiten-Kopf.

Tests: 5 neue (kein Produktbestand, kein Rohstoffverbrauch, Abschluss bucht,
Rück-Entwurf verboten, HTTP-Entwurf ohne Ergebnis ok / Abschluss erzwingt
Ergebnis). Migration auf Dev-/Live-DB. Suite 336 grün.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-28 09:59:42 +00:00
..
ReceiveStockEntryRequest.php Warenwirtschaft: N-6 — Punkt mit 1-2 Nachkommastellen = Dezimaltrenner (Kundenentscheid 15.07.2026) 2026-07-15 13:25:35 +00:00
StoreDeliveryTimeRequest.php Warenwirtschaft: AP-00 bis AP-08 + aktualisierter Entwicklungsplan 2026-06-02 16:30:42 +00:00
StoreDisposalReasonRequest.php Warenwirtschaft: Anforderungsrunde 12.06. — Plan V5.0 + AP-26/AP-25/AP-22 2026-06-12 16:28:45 +00:00
StoreLocationRequest.php April 2026 waren Wirtschaft Feedback 2026-04-10 17:14:38 +02:00
StoreMaterialQualityRequest.php April 2026 waren Wirtschaft Feedback 2026-04-10 17:14:38 +02:00
StorePackagingItemRequest.php Warenwirtschaft: AP-51 — Lagerplatz-Felder für Produkte & Verpackung 2026-08-28 09:46:40 +00:00
StorePackagingMaterialRequest.php April 2026 waren Wirtschaft Feedback 2026-04-10 17:14:38 +02:00
StoreProductionRequest.php Warenwirtschaft: AP-43 — Produktion zwischenspeichern (Entwurf) + „abschließen" 2026-08-28 09:59:42 +00:00
StoreProductStockMovementRequest.php Warenwirtschaft: AP-09 bis AP-13 (Produktbestand, Set-Produkte, Ausschuss, Konzepte) 2026-06-03 11:04:22 +00:00
StoreStockDisposalRequest.php Warenwirtschaft: N-6 — Punkt mit 1-2 Nachkommastellen = Dezimaltrenner (Kundenentscheid 15.07.2026) 2026-07-15 13:25:35 +00:00
StoreStockEntryRequest.php Warenwirtschaft: AP-42 — Rohstoff-Dichte (g/ml) für ml-Erfassung im Wareneingang 2026-08-28 09:05:07 +00:00
StoreStockMovementReasonRequest.php Warenwirtschaft: AP-48 — Produktbestand-Buchungsgründe pflegbar, getrennt Ein/Aus 2026-08-28 09:22:32 +00:00
StoreStorageSegmentRequest.php Warenwirtschaft: AP-21 INCI-Erweiterungen 2026-07-06 11:36:28 +00:00
StoreSupplierCategoryRequest.php April 2026 waren Wirtschaft Feedback 2026-04-10 17:14:38 +02:00
StoreSupplierRequest.php Warenwirtschaft: OPT-9 AuthZ/CSRF-Härtung (Audit M-2, M-3, M-6, M-7, M-10) 2026-07-15 12:55:11 +00:00
StoreTaxRateRequest.php Warenwirtschaft: AP-00 bis AP-08 + aktualisierter Entwicklungsplan 2026-06-02 16:30:42 +00:00
UpdatePackagingItemRequest.php Warenwirtschaft: AP-51 — Lagerplatz-Felder für Produkte & Verpackung 2026-08-28 09:46:40 +00:00
UpdateStockEntryRequest.php Warenwirtschaft: AP-42 — Rohstoff-Dichte (g/ml) für ml-Erfassung im Wareneingang 2026-08-28 09:05:07 +00:00
UpdateSupplierRequest.php Warenwirtschaft: OPT-9 AuthZ/CSRF-Härtung (Audit M-2, M-3, M-6, M-7, M-10) 2026-07-15 12:55:11 +00:00