diff --git a/app/Http/Controllers/SapFileController.php b/app/Http/Controllers/SapFileController.php index c120c94..3454292 100644 --- a/app/Http/Controllers/SapFileController.php +++ b/app/Http/Controllers/SapFileController.php @@ -218,6 +218,7 @@ class SapFileController extends Controller $serialNumbers = []; $remainingRow = null; + $invalidSerials = []; foreach ($lines as $line) { $values = str_getcsv($line); @@ -231,16 +232,30 @@ class SapFileController extends Controller } // Collect serial number - $serialNumbers[] = $values[5] ?? null; + // $serialNumbers[] = $values[5] ?? null; + $serial = $values[5] ?? null; + $serialNumbers[] = $serial; + + if ($serial == null || strlen($serial) < 13) { + $invalidSerials[] = $serialNumbers; + } // Store remaining row only once - if ($remainingRow === null) { + if ($remainingRow == null) { $remainingRow = $values; unset($remainingRow[5]); // remove serial number $remainingRow = array_values($remainingRow); // reindex } } + if (!empty($invalidSerials)) { + return response()->json([ + 'status' => 'ERROR', + 'status_description' => 'Some serial numbers are invalid (less than 13 characters)', + 'invalid_serials' => $invalidSerials + ], 400); + } + return response()->json([ 'status' => 'SUCCESS', 'serial_numbers' => $serialNumbers,