Warenwirtschaft: AP-24 Chargen-Nr.-Praefix auf Produktebene

- products.batch_prefix (z. B. TP1) mit Eingabefeld in der Warenwirtschaft-Card
- Product::suggestedBatchNumber(): Praefix + Produktionsdatum ttmmjj
  (TP1 + 15.06.26 => TP1150626), Vorbelegung in der Produktion folgt mit AP-28
- Repository trimmt, leeres Praefix => null

Tests: BatchPrefixTest (6 gruen), volle Suite 184 gruen, 657 Assertions

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-06 12:09:41 +00:00
parent 97d420c98a
commit 209ea467eb
6 changed files with 136 additions and 4 deletions

View file

@ -1105,6 +1105,12 @@
<p class="text-muted small mb-0">{{ __('Abwählen für Positionen ohne Lagerführung (z. B. Abrechnung Druckkosten, Logo-Etiketten).') }}</p>
</div>
<div class="form-group col-sm-6 px-0">
<label class="form-label" for="batch_prefix">{{ __('Chargen-Nr.-Präfix') }}</label>
{{ Form::text('batch_prefix', old('batch_prefix', $product->batch_prefix), ['placeholder' => __('z. B. TP1'), 'class' => 'form-control', 'id' => 'batch_prefix', 'maxlength' => 20]) }}
<small class="text-muted">{{ __('Kategorie-Kürzel + Produkt-Nr. (z. B. TP1). Die Produktion schlägt daraus Präfix + Produktionsdatum vor: TP1 → Charge TP1150626 (15.06.26). Der Vorschlag bleibt editierbar.') }}</small>
</div>
<p class="text-muted small mb-2">{{ __('Produktbestand-Schwellwerte (Stück). Bei Erreichen wird das Produkt im Produktbestand farblich markiert.') }}</p>
<div class="form-row">
<div class="form-group col-sm-6">