vat_wms/routes/api.php
2025-06-02 07:36:24 +02:00

98 lines
3.9 KiB
PHP

<?php
use App\Http\Controllers\Api\StockBatchController;
use App\Http\Controllers\Api\StockEntryController;
use App\Http\Controllers\Api\StockHandleExpediceController;
use App\Http\Controllers\Api\SupplierController;
use App\Http\Controllers\Api\StockEntryStatusController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::get('/user', function (Request $request) {
return $request->user();
})->middleware('auth:sanctum');
// Stock Entry endpoints
Route::get('/stockData/options', [StockEntryController::class, 'getOptions']);
Route::get('/stockData/options/items', [StockEntryController::class, 'getItems']);
Route::get('stockData', [StockEntryController::class, 'index']);
Route::get('stockData/audit/{id}', [StockEntryController::class, 'audit']);
Route::get('stockDataOnTheWay', [StockEntryController::class, 'fetchOnTheWay']);
Route::post('stockData', [StockEntryController::class, 'addData']);
Route::put('stockData/{id}', [StockEntryController::class, 'updateData']);
Route::get('stockBatches', [StockBatchController::class, 'index']);
Route::post('stockBatches', [StockBatchController::class, 'addData']);
Route::put('stockBatches/{id}', [StockBatchController::class, 'updateData']);
Route::get('stockBatches/{id}/entries', [StockBatchController::class, 'getEntries']);
Route::put('stockBatches/{id}/entries', [StockBatchController::class, 'addEntries']);
Route::get('/stockBatches/options', [StockBatchController::class, 'getOptions']);
// Additional stock management endpoints
Route::get('/stock-positions', [StockEntryController::class, 'getStockPositions']);
Route::get('/physical-items', [StockEntryController::class, 'getPhysicalItems']);
// Batch operations
Route::post('/stock-entries/batch-update', [StockEntryController::class, 'batchUpdate']);
Route::post('/stock-entries/batch-delete', [StockEntryController::class, 'batchDelete']);
Route::get('/stockStatusList', [StockEntryController::class, 'getStatusList']);
// barcode scanner methods
Route::post('stockActions/itemPickup', [StockEntryController::class, 'itemPickup']);
Route::post('expediceActions/itemPickup', [StockHandleExpediceController::class, 'updateSectionCount']);
// expedice akce
// nacteni produktu - itemPickup,
// prepocitat (jen req, expedice zadava pocet na kontrolu),
// neni kde ma byt,
// je kdyz nema byt,
// scan produktu co se vratily
// status packed - tisk faktury
// pridat novou nahradu, poslat jiny ovladac nez je povoleno / poslat na zkousku
// vybrat jake lze dat baterky, model (zase na req)
// vybrat kolik se vejde do obalky, rating / volume
// skladnik akce
// prijde zbozi, vytiskne si X stitku s QR - nalepi na kazdou krabici + pripadne jeden "batch" stitek na palete
// vytvori batch u PC + zada vsechny produkty, ceny, ocekavane pocty
// naskenuje paletu, odveze na misto "k napocitani"
// ten kdo pocita, vezme krabici, naskenuje, vytahne obsah, prepocita, v systemu potvrdi pocet.
// krabice muze cekat tak, jak je, na naskladneni - az na skladovem miste lze odepisovat a brat (expedice)
// jakmile je potvrzen pocet, expedice z krabice muze brat i mimo skladove misto - na docasnem skladovem miste (tam budou jen napocitane produkty)
// bude fungovat stejne jako bezne skladove misto, ale bude u dominika nekde bokem. (nektere skladove mista budou oznacene, jako ze se z nich brat nesmi - napr "k napocitani")
// pri naskladnovani postupuju dvema zpusoby
// 1. naskenuju batch - vyberu produkt, naskladnim na urcite skladove misto (vyberu scanem), urcity pocet (vyberu cislem)
// 2. naskenuju skladove misto (kde lze uz odepisovat), zde pouze menim skladove misto - naskenuju puvodni, zmenit, vyberu nove, potvrdim scanem noveho
// dominik pri zpracovani batche uvidi docasne vazby (posilejte originaly dokud XYZ), tu musi zrusit pri naskladnovani
// rozbaleno produkty - prozkoumat
Route::post('/stockActions/{stockEntry}/status', [StockEntryStatusController::class, 'store']);