Merge pull request 'Added duration logic and validations in vehicle controller' (#587) from ranjith-dev into master
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Reviewed-on: #587
This commit was merged in pull request #587.
This commit is contained in:
@@ -72,7 +72,6 @@ class VehicleController extends Controller
|
|||||||
$duration = $item['duration'] ?? '';
|
$duration = $item['duration'] ?? '';
|
||||||
$type = $item['type'] ?? '';
|
$type = $item['type'] ?? '';
|
||||||
|
|
||||||
// vehicle number validation
|
|
||||||
if (!$vehicleNo) {
|
if (!$vehicleNo) {
|
||||||
|
|
||||||
$results[] = [
|
$results[] = [
|
||||||
@@ -83,8 +82,7 @@ class VehicleController extends Controller
|
|||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
elseif (strlen($vehicleNo) < 8) {
|
||||||
if (strlen($vehicleNo) < 8) {
|
|
||||||
|
|
||||||
$results[] = [
|
$results[] = [
|
||||||
'uuid' => $uuid,
|
'uuid' => $uuid,
|
||||||
@@ -94,9 +92,7 @@ class VehicleController extends Controller
|
|||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
elseif (!$entryTimeRaw) {
|
||||||
// entry time validation
|
|
||||||
if (!$entryTimeRaw) {
|
|
||||||
|
|
||||||
$results[] = [
|
$results[] = [
|
||||||
'uuid' => $uuid,
|
'uuid' => $uuid,
|
||||||
@@ -106,9 +102,7 @@ class VehicleController extends Controller
|
|||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
elseif (!$type) {
|
||||||
// type validation
|
|
||||||
if (!$type) {
|
|
||||||
|
|
||||||
$results[] = [
|
$results[] = [
|
||||||
'uuid' => $uuid,
|
'uuid' => $uuid,
|
||||||
@@ -118,16 +112,30 @@ class VehicleController extends Controller
|
|||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
elseif ($entryTimeRaw && !Carbon::hasFormat($entryTimeRaw, 'd/m/Y h:i:s A')) {
|
||||||
|
$results[] = [
|
||||||
|
'uuid' => $uuid,
|
||||||
|
'status_code' => 'ERROR',
|
||||||
|
'status_description' => "Invalid Entry time format $entryTimeRaw. Expected dd/mm/yyyy hh:mm:ss AM/PM"
|
||||||
|
];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if ($exitTimeRaw && !Carbon::hasFormat($exitTimeRaw, 'd/m/Y h:i:s A')) {
|
||||||
|
|
||||||
// duration validation
|
$results[] = [
|
||||||
if ($duration && !preg_match('/^\d{2}:\d{2}:\d{2}$/', $duration)) {
|
'uuid' => $uuid,
|
||||||
|
'status_code' => 'ERROR',
|
||||||
|
'status_description' => "Invalid Exit time format $exitTimeRaw. Expected dd/mm/yyyy hh:mm:ss AM/PM"
|
||||||
|
];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
elseif ($duration && !preg_match('/^\d{2}:\d{2}:\d{2}$/', $duration)) {
|
||||||
|
|
||||||
$results[] = [
|
$results[] = [
|
||||||
'uuid' => $uuid,
|
'uuid' => $uuid,
|
||||||
'status_code' => 'ERROR',
|
'status_code' => 'ERROR',
|
||||||
'status_description' => "Invalid duration format $duration"
|
'status_description' => "Invalid duration format $duration"
|
||||||
];
|
];
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -160,12 +168,32 @@ class VehicleController extends Controller
|
|||||||
: null;
|
: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
empty($duration) &&
|
||||||
|
!empty($entryTime) &&
|
||||||
|
!empty($exitTime)
|
||||||
|
) {
|
||||||
|
|
||||||
|
$totalSeconds = $entryTime->diffInSeconds($exitTime);
|
||||||
|
|
||||||
|
$hours = floor($totalSeconds / 3600);
|
||||||
|
$minutes = floor(($totalSeconds % 3600) / 60);
|
||||||
|
$seconds = $totalSeconds % 60;
|
||||||
|
|
||||||
|
$duration = sprintf(
|
||||||
|
'%02d:%02d:%02d',
|
||||||
|
$hours,
|
||||||
|
$minutes,
|
||||||
|
$seconds
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$record = VehicleEntry::updateOrInsert(
|
$record = VehicleEntry::updateOrInsert(
|
||||||
[
|
[
|
||||||
|
'plant_id' => $plantId,
|
||||||
'uuid' => $uuid
|
'uuid' => $uuid
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'plant_id' => $plantId,
|
|
||||||
'vehicle_number' => $vehicleNo,
|
'vehicle_number' => $vehicleNo,
|
||||||
'entry_time' => $entryTime,
|
'entry_time' => $entryTime,
|
||||||
'exit_time' => $exitTime ?? null,
|
'exit_time' => $exitTime ?? null,
|
||||||
|
|||||||
Reference in New Issue
Block a user