46da71ff18
Warenwirtschaft: Doku — Stand-Datum 16.07., Testleitfaden gestrafft
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 07:39:19 +00:00
7198b66334
Warenwirtschaft: Hinweise-Doku §1 Überblick auf Stand 06.07. gebracht
...
§2/§3 waren bereits aktuell; nachgezogen: Stand-Datum (+ Verweis auf den
neuen Leitfaden), „Bereits nutzbar" um Lagerort-Bausteine, INCI-Felder,
Chargen-Erkennung, neue Produktions-Maske/Produktionsergebnis und
Rohstoffbestand-Umschalter/Chargen-Summierung ergänzt; AP-24-Vermerk
(„Umsetzung folgt") auf umgesetzt korrigiert.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:26:52 +00:00
db0bf04642
Warenwirtschaft: Testleitfaden — Klickwege als Links
...
„Wo:"-Angaben verlinken jetzt direkt auf die jeweiligen Seiten
(relative URLs, funktionieren im gerenderten Leitfaden unter
Einstellungen → Leitfaden); docs/-Archivkopie synchron gehalten.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:17:31 +00:00
522373dae4
Warenwirtschaft: Menüpunkt „Leitfaden" (Einstellungen) rendert testleitfaden.md
...
- Route admin/inventory/guide (superadmin) + NoticeController::guide()
- NoticeController auf gemeinsamen Markdown-Renderer umgestellt
(Titel/Untertitel parametrisiert, View wiederverwendet)
- Sidenav: „Leitfaden" unter Einstellungen neben „Hinweise"
- resources/docs/testleitfaden.md eingecheckt; Tests ergänzt
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:14:42 +00:00
99a6c92e6c
Warenwirtschaft: AP-28 Neue Produktions-Maske + Produktionsergebnis
...
- production_outputs (Migration inkl. idempotentem Backfill): eine Produktion
kann mehrere Output-Produkte erzeugen (z. B. 40x50 ml + 50x5 ml)
- ProductStockService bucht je Output-Produkt (idempotenter Diff, append-only);
die geplante Stückzahl bucht nichts mehr, entfernte Outputs werden rückgebucht
- ProductionService store/update mit outputs[] (leer = Fallback auf Planung
inkl. suggestedBatchNumber — Backfill-Semantik, Alt-Aufrufer stabil)
- Maske: INCI-Liste (Alternativname/Qualität/Anteil/Gramm/Regal), Chargen-
Erfassung nach Rezeptur-Phasen mit Notiz + Status-Ampel, Produktionsergebnis-
Repeater mit Chargen-Nr.-Vorbelegung (Präfix + ttmmjj), Planungs-Hinweis
- Show: Produktionsergebnis-Karte; Index: Ergebnis-Spalte
- Hinweise-Doku + Plan V6.0 §6 fortgeschrieben (nächster Schritt: AP-13)
Tests: ProductionOutputTest (8 neu); Suite 201 grün, 731 Assertionen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 14:02:54 +00:00
7a5b5e0f7b
Warenwirtschaft: AP-27 Wareneingang gleiche Charge zusammenführen
...
- Chargen-Existenz-Check beim Buchen (JSON-Endpoint batch-check): Hinweis
„Charge bereits im Haus" + Vorbelegung MHD/Qualität aus dem letzten Eingang
- Rohstoffbestand-Detail: Chargen je batch_number summiert
(InventoryService::chargeGroupsForIngredient), Einkäufe als Unterzeilen
- Produktion: Charge-Dropdown je Charge mit Summen-Rest (batches im
Recipe-Payload), Verbrauch wird per expandBatchLines FEFO auf die
Einzel-Einkäufe der Charge verteilt; Service-API bleibt je stock_entry
- Jeder Einkauf bleibt eigener stock_entry (Preis/Datum/Audit)
- Hinweise-Doku + Plan V6.0 §6 fortgeschrieben
Tests: StockEntryChargeMergeTest (7 neu); Suite 193 grün, 698 Assertions
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 13:36:19 +00:00
97d420c98a
Warenwirtschaft: AP-23 Rezeptur-Phasen (Hersteller-Rezeptur)
...
- Tabelle recipe_phases + product_ingredients.recipe_phase_id (nullable,
rueckwaertskompatibel: Bestandsrezepturen bleiben phasenlos)
- Produktformular: Hersteller-Rezeptur in Phasen-Bloecke gegliedert
(Name, Notiz, Rohstoffe je Phase, Drag&Drop auch zwischen Phasen,
"+ Neue Phase", 100%-Summe global ueber alle Phasen)
- Repository: Phasen-Persistierung (Auto-Name Phase A/B..., einzelner
unbenannter Block bleibt phasenlos), copy() uebernimmt Phasenstruktur
- Produktions-Sollmengen rechnen unveraendert ueber alle Zeilen
- Blade-Fix: inline @php() + @php-Block im selben Template paarten sich
falsch (Raw-Block verschluckte halbes Formular) - auf Block-Form vereinheitlicht
- Hinweise-Doku fortgeschrieben
Tests: RecipePhaseTest (6 gruen), volle Suite 178 gruen, 649 Assertions
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 12:02:39 +00:00
ea36067831
Warenwirtschaft: AP-20 Rohstoffbestand-Filter + Kein-Rohstoffbestand-Flag
...
- ingredients.exclude_from_stock (Checkbox im INCI-Formular, z. B. Allergene):
erscheint nie im Rohstoffbestand und nicht im Kritisch-Badge
- Rohstoffbestand-Uebersicht: Umschalter "Alle" / "Nur aus Herstellerrezepturen"
(?scope=recipe, nutzt scopeUsedInActiveRecipes aus AP-21)
- Fix: AP-21-Migrationen hatten identischen Timestamp (add_storage lief vor
create_storage und scheiterte auf MySQL am FK) - umbenannt auf 120753,
Teilreste bereinigt, Migrationen sauber ausgefuehrt
- Hinweise-Doku fortgeschrieben
Tests: RawMaterialStockTest +2 (volle Suite 172 gruen, 624 Assertions)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 11:42:55 +00:00
d05df498d3
Warenwirtschaft: AP-21 INCI-Erweiterungen
...
- Lagerort-Stammdaten Raum/Regal/Fach (storage_rooms/shelves/slots) mit CRUD
auf Einstellungen -> Allgemein (SettingCrudController-Kinder, ein gemeinsamer
StoreStorageSegmentRequest, generische Partials setting-list-card/-segment-form)
- Ingredient: alt_name (Handelsname), Lagerort-FKs + storageLabel(),
scopeUsedInActiveRecipes()
- INCI-Formular: Lieferanten-Repeater mit Shop-URL je Lieferant (leer = Mail),
Alternativname, drei Lagerort-Dropdowns
- INCI-Liste: Filter "nur aktive (in Rezeptur aktiver Produkte)" + Spalte
Alternativer Name
- Rohstoffbestand-Detail: Bestellweg pro INCI-Lieferant (Pivot-URL statt
order_method-Fallback), Kopf zeigt Alternativname + Lagerort
- Hinweise-Doku fortgeschrieben inkl. Chargen-Format-Entscheid ttmmjj (AP-24)
Tests: StorageSettingsTest, IngredientActiveRecipeFilterTest,
IngredientOrderFieldsTest (Repeater-Format), RawMaterialStockTest erweitert
(volle Suite 170 gruen, 613 Assertions)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 11:36:28 +00:00
e53201f229
Warenwirtschaft: Anforderungsrunde 12.06. — Plan V5.0 + AP-26/AP-25/AP-22
...
Neue Anforderungen (docs/) interpretiert und als Entwicklungsplan V5.0
(AP-20 bis AP-28) aufgenommen; erste drei Pakete umgesetzt:
AP-26 Ausschuss-Gründe konfigurierbar:
- Stammdaten-Tabelle disposal_reasons + CRUD unter Einstellungen → Allgemein
- StockDisposalController liest aktive DB-Gründe statt hartkodierter Liste
- Seeder übernimmt die bisherigen 6 Gründe idempotent
AP-25 Lieferbestand — Datum statt Tage:
- "Nicht vorrätig" wird über Datepicker "Wieder lieferbar ab" gepflegt;
Resttage-Hinweis zählt täglich automatisch herunter
- Interne Bestellliste wieder kaufbar: Hinweis erscheint zusätzlich zu
den Mengen-Buttons (VP entscheidet selbst)
AP-22 Produktbestand-Erweiterungen:
- Default-Sortierung nach Dringlichkeit, Status-Kopf toggelt
- Alle vier Status-Kacheln als Filter klickbar
- Neue Spalte "Verbrauch/Monat" (Ø Abgänge der letzten 6 Monate)
- Produkt-Flag "Im Produktbestand anzeigen" (products.show_in_product_stock)
Tests: 77 grün (DisposalReasonSettings 8, ProductOutOfStock 8,
ProductStock 13 + Regression). Hinweise-Doku + Plan-Protokoll fortgeschrieben;
nächster Schritt laut Plan: AP-21 (INCI-Erweiterungen).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 16:28:45 +00:00
3ee2d756e9
Warenwirtschaft: AP-09 bis AP-13 (Produktbestand, Set-Produkte, Ausschuss, Konzepte)
...
- AP-09 Produktbestand inkl. Bewegungshistorie (product_stock_movements, ProductStockService)
- AP-10 Rohstoffbestand-Ansicht je Lager (RawMaterialStockController)
- AP-11 Bestandsschwellen / Out-of-Stock-Handling fuer Produkte und Shop
- AP-12 Ausgang/Ausschuss (stock_disposals, StockDisposalController, InventoryService)
- Set-Produkte (product_set_items) inkl. Aufloesung
- Produktentwicklung & Hinweise-Verwaltung (Notices)
- AP-13 Entwicklungskonzept Shop-Bestandsabzug im Plan dokumentiert
- Feature-Tests fuer neue Module + aktualisierter Entwicklungsplan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-03 11:04:22 +00:00