Warenwirtschaft: AP-33a Bestell-Abwicklung — Nav „Bestellungen" + Fulfillment-Board
Neuer Nav-Punkt „Bestellungen" (Abwicklung + API-Bestellungen als Unterpunkte). Board für Versand-Mitarbeiter (copyreader): 4 Filter-Kacheln (heute eingegangen / zu konfektionieren / versandfertig / heute versendet), Packliste je Bestellung (Sets mit Komponenten), Dokumente (Rechnung/Lieferschein/Kombi-Download über eigene copyreader-Route, Erstellen ohne Mailversand; API-Bestellungen verlinken die externe Rechnung), Aktionen Konfektioniert/Versendet (nur vorwärts, Storno bleibt Verkäufe/admin). Versandfertig-Regel per Kundenentscheid: Rechnung sofort, Vorkasse nach Zahlungseingang, API immer (ShoppingOrder::isReadyToShip()). Statuswechsel-Logik in OrderStatusService extrahiert (Verkäufe-Modal + Board teilen Transaktion/Lock/Margin-Folgen/AP-13-Abzug). Kundenentscheid Punkt 3: Board-Statuswechsel setzt shipped_status_locked — die Bestell-Detailseiten ändern den Status dann nicht mehr automatisch (offen → in Bearbeitung). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
f1eb5fbc7f
commit
a367d851f6
9 changed files with 818 additions and 71 deletions
|
|
@ -256,11 +256,25 @@
|
|||
<div>{{ __('Ausgang / Ausschuss') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/inventory/api-orders*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin.inventory.api-orders.index') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-cloud-download"></i>
|
||||
<div>{{ __('API-Bestellungen') }}</div>
|
||||
<li class="sidenav-item @if (Request::is('admin/inventory/orders*', 'admin/inventory/api-orders*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-cart"></i>
|
||||
<div>{{ __('Bestellungen') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<li class="sidenav-item{{ Request::is('admin/inventory/orders*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin.inventory.orders.index') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-checkbox-outline"></i>
|
||||
<div>{{ __('Abwicklung') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/inventory/api-orders*') ? ' active' : '' }}">
|
||||
<a href="{{ route('admin.inventory.api-orders.index') }}" class="sidenav-link"><i
|
||||
class="sidenav-icon ion ion-md-cloud-download"></i>
|
||||
<div>{{ __('API-Bestellungen') }}</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="sidenav-item @if (Request::is('admin/inventory/productions*', 'admin/inventory/product-development*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue