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. */ public function get_master(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); } $description = $item ? $item->description : ''; $uom = $item ? $item->uom : ''; $category = $item ? $item->category : ''; $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); } $output = [ "item_description" => $description ?? "", "uom" => $uom ?? "", "Part_Validation_1" => $stickerMaster?->laser_part_validation1 ?? "", "Part_Validation_2" => $stickerMaster?->laser_part_validation2 ?? "", "Part_Validation_3" => $stickerMaster?->laser_part_validation3 ?? "", "Part_Validation_4" => $stickerMaster?->laser_part_validation4 ?? "", "Part_Validation_5" => $stickerMaster?->laser_part_validation5 ?? "", ]; return response()->json($output, 200); } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { // } /** * Remove the specified resource from storage. */ public function destroy(string $id) { // } }