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>
This commit is contained in:
Kevin Adametz 2026-06-03 11:04:22 +00:00
parent 78679e0c55
commit 3ee2d756e9
63 changed files with 5968 additions and 901 deletions

View file

@ -2,9 +2,12 @@
namespace App\Providers;
use App\Services\InventoryService;
use App\Services\ProductStockService;
use Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
@ -18,6 +21,18 @@ class AppServiceProvider extends ServiceProvider
{
Schema::defaultStringLength(191);
URL::forceScheme('https');
View::composer('layouts.includes.layout-sidenav', function ($view): void {
$criticalIngredients = 0;
$criticalProducts = 0;
$user = auth()->user();
if ($user && $user->isCopyReader()) {
$criticalIngredients = app(InventoryService::class)->criticalIngredientCount();
$criticalProducts = app(ProductStockService::class)->criticalProductCount();
}
$view->with('criticalIngredientCount', $criticalIngredients);
$view->with('criticalProductCount', $criticalProducts);
});
}
/**