diff --git a/app/Http/Controllers/StickerMasterController.php b/app/Http/Controllers/StickerMasterController.php index 69d722a..d91d8cf 100644 --- a/app/Http/Controllers/StickerMasterController.php +++ b/app/Http/Controllers/StickerMasterController.php @@ -27,6 +27,126 @@ class StickerMasterController extends Controller // } + public function get_master_type(Request $request) + { + $expectedUser = env('API_AUTH_USER'); + $expectedPw = env('API_AUTH_PW'); + $header_auth = $request->header('Authorization'); + $expectedToken = $expectedUser . ':' . $expectedPw; + + if ("Bearer " . $expectedToken != $header_auth) + { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => 'Invalid authorization token!' + ], 403); + } + + $plantCode = $request->header('plant-code'); + $itemCode = $request->header('item-code'); + + if ($plantCode == null || $plantCode == '') + { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Plant code can't be empty!" + ], 400); + } + else if (Str::length($plantCode) < 4 || !is_numeric($plantCode) || !preg_match('/^[1-9]\d{3,}$/', $plantCode)) + { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Invalid plant code found!" + ], 400); + } + else if ($itemCode == null || $itemCode == '') + { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Item Code can't be empty!" + ], 400); + } + else if (Str::length($itemCode) < 6 || !ctype_alnum($itemCode)) + { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Invalid item code found!" + ], 400); + } + + $plant = Plant::where('code', $plantCode)->first(); + + if (!$plant) { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Plant not found!" + ], 400); + } + + $plantId = $plant->id; + + $item = Item::where('code', $itemCode)->first(); + + if (!$item) + { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Item Code not found in item table!" + ], 404); + } + + $item = Item::where('plant_id', $plantId)->where('code', $itemCode)->first(); + + if (!$item) + { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Item Code not found in item table for the plant : '$plant->name'!" + ], 404); + } + + $stickerMaster = StickerMaster::where('plant_id', $plantId)->where('item_id', $item->id)->first(); + + if (!$stickerMaster) + { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "Item Code not found in sticker master table for the plant : '$plant->name'!" + ], 404); + } + $serial_number_motor = $stickerMaster->serial_number_motor ?? null; + $serial_number_pump = $stickerMaster->serial_number_pump ?? null; + + if ($serial_number_motor != 1 && $serial_number_pump != 1) { + return response()->json([ + 'status_code' => 'ERROR', + 'status_description' => "The Item Code '$itemCode' does not have serial pump or serial motor selected!" + ], 400); + } + + $serialInfo = []; + + if ($serial_number_motor == 1 && $serial_number_pump == 1) + { + $serialInfo[] = 'Serial Pump'; + } + else + { + if ($serial_number_motor == 1) { + $serialInfo[] = 'Serial Motor'; + } + if ($serial_number_pump == 1) { + $serialInfo[] = 'Serial Pump'; + } + } + + $output = [ + 'status_code' => 'SUCCESS', + 'status_description' => implode(', ', $serialInfo), + ]; + return response()->json($output, 200); + } + /** * Display the specified resource. */ diff --git a/routes/api.php b/routes/api.php index 91e3724..f98d8ec 100644 --- a/routes/api.php +++ b/routes/api.php @@ -21,6 +21,7 @@ use App\Http\Controllers\ModuleProductionOrderDataController; use App\Http\Controllers\ObdController; use App\Http\Controllers\PalletController; use App\Http\Controllers\PlantController; +use App\Http\Controllers\ProductionStickerReprintController; use App\Http\Controllers\StickerMasterController; use App\Http\Controllers\TestingPanelController; use App\Http\Controllers\UserController; @@ -77,8 +78,12 @@ Route::get('machine/get-all-data', [MachineController::class, 'get_all_data']); Route::get('laser/item/get-master-data', [StickerMasterController::class, 'get_master']); +Route::get('sticker/get-master-type-data', [StickerMasterController::class, 'get_master_type']); + Route::get('/download-qr-pdf/{palletNo}', [PalletController::class, 'downloadQrPdf'])->name('download-qr-pdf'); +Route::get('/download-qr1-pdf/{palletNo}', [ProductionStickerReprintController::class, 'downloadQrPdf'])->name('download-qr1-pdf'); + //Production Dashboard Controller Route::get('get/module-name/data', [ModuleController::class, 'get_module']);