|
|
|
|
@@ -22,10 +22,10 @@ Route::middleware('auth')->group(function () {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 單位管理 - 需要商品權限
|
|
|
|
|
Route::middleware('permission:products.create|products.edit')->group(function () {
|
|
|
|
|
Route::post('/units', [UnitController::class, 'store'])->name('units.store');
|
|
|
|
|
Route::put('/units/{unit}', [UnitController::class, 'update'])->name('units.update');
|
|
|
|
|
Route::delete('/units/{unit}', [UnitController::class, 'destroy'])->name('units.destroy');
|
|
|
|
|
Route::middleware('permission:products.view')->group(function () {
|
|
|
|
|
Route::post('/units', [UnitController::class, 'store'])->middleware('permission:products.create')->name('units.store');
|
|
|
|
|
Route::put('/units/{unit}', [UnitController::class, 'update'])->middleware('permission:products.edit')->name('units.update');
|
|
|
|
|
Route::delete('/units/{unit}', [UnitController::class, 'destroy'])->middleware('permission:products.delete')->name('units.destroy');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 商品管理
|
|
|
|
|
@@ -75,37 +75,34 @@ Route::middleware('auth')->group(function () {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 庫存盤點 (Stock Counting) - Global
|
|
|
|
|
Route::middleware('permission:inventory.view')->group(function () {
|
|
|
|
|
Route::get('/inventory/count-docs', [CountDocController::class, 'index'])->name('inventory.count.index');
|
|
|
|
|
Route::get('/inventory/count-docs/{doc}', [CountDocController::class, 'show'])->name('inventory.count.show');
|
|
|
|
|
|
|
|
|
|
Route::middleware('permission:inventory.adjust')->group(function () {
|
|
|
|
|
Route::post('/inventory/count-docs', [CountDocController::class, 'store'])->name('inventory.count.store');
|
|
|
|
|
Route::put('/inventory/count-docs/{doc}', [CountDocController::class, 'update'])->name('inventory.count.update');
|
|
|
|
|
Route::delete('/inventory/count-docs/{doc}', [CountDocController::class, 'destroy'])->name('inventory.count.destroy');
|
|
|
|
|
Route::put('/inventory/count-docs/{doc}/reopen', [CountDocController::class, 'reopen'])->name('inventory.count.reopen');
|
|
|
|
|
});
|
|
|
|
|
Route::get('/inventory/count-docs/{doc}/print', [CountDocController::class, 'print'])->name('inventory.count.print');
|
|
|
|
|
Route::middleware('permission:inventory_count.view')->group(function () {
|
|
|
|
|
Route::get('/inventory/count-docs', [CountDocController::class, 'index'])->name('inventory.count.index');
|
|
|
|
|
Route::get('/inventory/count-docs/{doc}', [CountDocController::class, 'show'])->name('inventory.count.show');
|
|
|
|
|
Route::get('/inventory/count-docs/{doc}/print', [CountDocController::class, 'print'])->name('inventory.count.print');
|
|
|
|
|
});
|
|
|
|
|
Route::post('/inventory/count-docs', [CountDocController::class, 'store'])->middleware('permission:inventory_count.create')->name('inventory.count.store');
|
|
|
|
|
Route::put('/inventory/count-docs/{doc}', [CountDocController::class, 'update'])->middleware('permission:inventory_count.edit')->name('inventory.count.update');
|
|
|
|
|
Route::delete('/inventory/count-docs/{doc}', [CountDocController::class, 'destroy'])->middleware('permission:inventory_count.delete')->name('inventory.count.destroy');
|
|
|
|
|
Route::put('/inventory/count-docs/{doc}/reopen', [CountDocController::class, 'reopen'])->middleware('permission:inventory_count.edit')->name('inventory.count.reopen');
|
|
|
|
|
|
|
|
|
|
// 庫存盤調 (Stock Adjustment) - Global
|
|
|
|
|
Route::middleware('permission:inventory.adjust')->group(function () {
|
|
|
|
|
Route::get('/inventory/adjust-docs', [AdjustDocController::class, 'index'])->name('inventory.adjust.index');
|
|
|
|
|
Route::get('/inventory/adjust-docs/get-pending-counts', [AdjustDocController::class, 'getPendingCounts'])->name('inventory.adjust.pending-counts');
|
|
|
|
|
Route::get('/inventory/adjust-docs/{doc}', [AdjustDocController::class, 'show'])->name('inventory.adjust.show');
|
|
|
|
|
Route::post('/inventory/adjust-docs', [AdjustDocController::class, 'store'])->name('inventory.adjust.store');
|
|
|
|
|
Route::put('/inventory/adjust-docs/{doc}', [AdjustDocController::class, 'update'])->name('inventory.adjust.update');
|
|
|
|
|
Route::delete('/inventory/adjust-docs/{doc}', [AdjustDocController::class, 'destroy'])->name('inventory.adjust.destroy');
|
|
|
|
|
Route::middleware('permission:inventory_adjust.view')->group(function () {
|
|
|
|
|
Route::get('/inventory/adjust-docs', [AdjustDocController::class, 'index'])->name('inventory.adjust.index');
|
|
|
|
|
Route::get('/inventory/adjust-docs/get-pending-counts', [AdjustDocController::class, 'getPendingCounts'])->name('inventory.adjust.pending-counts');
|
|
|
|
|
Route::get('/inventory/adjust-docs/{doc}', [AdjustDocController::class, 'show'])->name('inventory.adjust.show');
|
|
|
|
|
});
|
|
|
|
|
Route::post('/inventory/adjust-docs', [AdjustDocController::class, 'store'])->middleware('permission:inventory_adjust.create')->name('inventory.adjust.store');
|
|
|
|
|
Route::put('/inventory/adjust-docs/{doc}', [AdjustDocController::class, 'update'])->middleware('permission:inventory_adjust.edit')->name('inventory.adjust.update');
|
|
|
|
|
Route::delete('/inventory/adjust-docs/{doc}', [AdjustDocController::class, 'destroy'])->middleware('permission:inventory_adjust.delete')->name('inventory.adjust.destroy');
|
|
|
|
|
|
|
|
|
|
// 撥補單/調撥單 (Transfer Order) - Global
|
|
|
|
|
Route::middleware('permission:inventory.transfer')->group(function () {
|
|
|
|
|
Route::middleware('permission:inventory_transfer.view')->group(function () {
|
|
|
|
|
Route::get('/inventory/transfer-orders', [TransferOrderController::class, 'index'])->name('inventory.transfer.index');
|
|
|
|
|
Route::get('/inventory/transfer-orders/{order}', [TransferOrderController::class, 'show'])->name('inventory.transfer.show');
|
|
|
|
|
Route::post('/inventory/transfer-orders', [TransferOrderController::class, 'store'])->name('inventory.transfer.store');
|
|
|
|
|
Route::put('/inventory/transfer-orders/{order}', [TransferOrderController::class, 'update'])->name('inventory.transfer.update');
|
|
|
|
|
Route::delete('/inventory/transfer-orders/{order}', [TransferOrderController::class, 'destroy'])->name('inventory.transfer.destroy');
|
|
|
|
|
});
|
|
|
|
|
Route::post('/inventory/transfer-orders', [TransferOrderController::class, 'store'])->middleware('permission:inventory_transfer.create')->name('inventory.transfer.store');
|
|
|
|
|
Route::put('/inventory/transfer-orders/{order}', [TransferOrderController::class, 'update'])->middleware('permission:inventory_transfer.edit')->name('inventory.transfer.update');
|
|
|
|
|
Route::delete('/inventory/transfer-orders/{order}', [TransferOrderController::class, 'destroy'])->middleware('permission:inventory_transfer.delete')->name('inventory.transfer.destroy');
|
|
|
|
|
Route::get('/api/warehouses/{warehouse}/inventories', [TransferOrderController::class, 'getWarehouseInventories'])
|
|
|
|
|
->middleware('permission:inventory.view')
|
|
|
|
|
->name('api.warehouses.inventories');
|
|
|
|
|
|