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']);