187 lines
8.3 KiB
PHP
187 lines
8.3 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Api\ExpediceController;
|
|
use App\Http\Controllers\Api\FloorLayoutController;
|
|
use App\Http\Controllers\Api\StockBatchController;
|
|
use App\Http\Controllers\Api\StockSectionController;
|
|
use App\Http\Controllers\Api\ScannerController;
|
|
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 App\Http\Controllers\Api\StockPositionController;
|
|
use App\Http\Controllers\Api\StockRoomController;
|
|
use App\Http\Controllers\Api\StockLineController;
|
|
use App\Http\Controllers\Api\StockRackController;
|
|
use App\Http\Controllers\Api\StockShelfController;
|
|
use App\Http\Controllers\StorageController;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Route;
|
|
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
|
|
|
|
Route::get('/user', function (Request $request) {
|
|
return $request->user();
|
|
})->middleware('auth:sanctum');
|
|
|
|
|
|
Route::middleware([EnsureFrontendRequestsAreStateful::class, 'auth:sanctum'])->group(function () {
|
|
|
|
// Route::group(['middleware' => ['role:admin']], function () {
|
|
// Stock Entry endpoints
|
|
Route::get('/stockData/options', [StockEntryController::class, 'getOptions']);
|
|
Route::get('/stockData/manufacturers', [StockEntryController::class, 'getManufacturers']);
|
|
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::get('stockBatches/{id}', [StockBatchController::class, 'getBatch']);
|
|
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']);
|
|
|
|
|
|
Route::get('/batchListWMS', [ExpediceController::class, 'batchListWMS']);
|
|
Route::post('/expediceListWMS', [ExpediceController::class, 'expediceListWMS']);
|
|
Route::get('/expediceListWMS/getImage', [ExpediceController::class, 'getProductImage']);
|
|
|
|
|
|
Route::post('/storage/setup', [StorageController::class, 'setup']);
|
|
|
|
Route::post('/pda/barcodeScan', [ScannerController::class, 'barcodeScan']);
|
|
Route::post('/pda/batchBarcodePrint', [ScannerController::class, 'batchBarcodePrint']);
|
|
|
|
|
|
|
|
|
|
Route::post('/pdaView/countStock', [StockEntryController::class, 'countStock']);
|
|
Route::post('/pdaView/setStockSection', [StockSectionController::class, 'setSection']);
|
|
Route::post('/pdaView/storeStock', [StockSectionController::class, 'storeStock']);
|
|
Route::post('/pdaView/setBatchSection', [StockSectionController::class, 'setSectionForBatch']);
|
|
|
|
|
|
|
|
Route::get('/pdaView/getStockPosition/{id}', [StockPositionController::class, 'getPosition']);
|
|
Route::post('/pdaView/moveStockSection', [StockSectionController::class, 'movePosition']);
|
|
Route::post('/pdaView/changeCount', [StockSectionController::class, 'changeCount']);
|
|
|
|
|
|
|
|
Route::put('/stockPositions/{id}', [StockPositionController::class, 'update']);
|
|
Route::get('/stockPositions/{id}', [StockPositionController::class, 'getPosition']);
|
|
Route::get('/stockSections/{id}', [StockSectionController::class, 'getSection']);
|
|
Route::post('/stockSections', [StockSectionController::class, 'store']);
|
|
Route::put('/stockSections/{id}', [StockSectionController::class, 'update']);
|
|
Route::delete('/stockSections/{id}', [StockSectionController::class, 'destroy']);
|
|
|
|
|
|
|
|
//stock rooms
|
|
|
|
Route::post('/stock-rooms', [StockRoomController::class, 'store']);
|
|
Route::get('/stock-rooms/{room}', [StockRoomController::class, 'show']);
|
|
Route::put('/stock-rooms/{room}', [StockRoomController::class, 'update']);
|
|
Route::delete('/stock-rooms/{room}', [StockRoomController::class, 'destroy']);
|
|
|
|
// Lines
|
|
Route::post ('/stock-lines', [StockLineController::class, 'store']);
|
|
Route::put ('/stock-lines/{line}', [StockLineController::class, 'update']);
|
|
Route::delete ('/stock-lines/{line}', [StockLineController::class, 'destroy']);
|
|
|
|
// Racks
|
|
Route::get ('/stock-racks/{rack}', [StockRackController::class, 'show']);
|
|
Route::post ('/stock-racks', [StockRackController::class, 'store']);
|
|
Route::put ('/stock-racks/{rack}', [StockRackController::class, 'update']);
|
|
Route::delete ('/stock-racks/{rack}', [StockRackController::class, 'destroy']);
|
|
|
|
// Shelves
|
|
Route::post ('/stock-shelves', [StockShelfController::class, 'store']);
|
|
Route::put ('/stock-shelves/{shelf}',[StockShelfController::class, 'update']);
|
|
Route::delete ('/stock-shelves/{shelf}',[StockShelfController::class, 'destroy']);
|
|
|
|
// Positions
|
|
Route::post ('/stock-positions', [StockPositionController::class,'store']);
|
|
Route::put ('/stock-positions/{pos}',[StockPositionController::class,'updateBasic']);
|
|
Route::delete ('/stock-positions/{pos}',[StockPositionController::class,'destroy']);
|
|
|
|
|
|
|
|
Route::get('/rooms', [StockRoomController::class, 'getList']);
|
|
Route::get('/floor-layouts', [FloorLayoutController::class, 'index']);
|
|
Route::get('/floor-layouts/{room_id}', [FloorLayoutController::class, 'show']);
|
|
Route::post('/floor-layouts/update', [FloorLayoutController::class, 'update']);
|
|
Route::post('/floor-layouts/create', [FloorLayoutController::class, 'create']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|