Update check working
This commit is contained in:
parent
73edecf341
commit
be6d7be79e
|
|
@ -263,8 +263,7 @@ class TrackingController extends Controller
|
||||||
$startDate = $request->input('fromDate');
|
$startDate = $request->input('fromDate');
|
||||||
$endDate = $request->input('toDate');
|
$endDate = $request->input('toDate');
|
||||||
|
|
||||||
$trackingData = Tracking::where('user_id', $userID)
|
$trackingData = Tracking::where('user_id', $userID);
|
||||||
->where('status', 'check in');
|
|
||||||
|
|
||||||
if ($startDate && $endDate) {
|
if ($startDate && $endDate) {
|
||||||
$trackingData->whereBetween(
|
$trackingData->whereBetween(
|
||||||
|
|
@ -290,11 +289,11 @@ class TrackingController extends Controller
|
||||||
$lateMorning = 0;
|
$lateMorning = 0;
|
||||||
$onTimeAfternoon = 0;
|
$onTimeAfternoon = 0;
|
||||||
$lateAfternoon = 0;
|
$lateAfternoon = 0;
|
||||||
$datesChecked = [];
|
$valueTracking = $trackingData->get();
|
||||||
|
|
||||||
$trackingData->get()->groupBy(function ($record) {
|
$trackingData->get()->groupBy(function ($record) {
|
||||||
return Carbon::parse($record->time_string)->toDateString();
|
return Carbon::parse($record->time_string)->toDateString();
|
||||||
})->each(function ($records, $date) use (&$onTimeMorning, &$lateMorning, &$onTimeAfternoon, &$lateAfternoon, &$datesChecked) {
|
})->each(function ($records, $date) use ($trackingData, &$onTimeMorning, &$lateMorning, &$onTimeAfternoon, &$lateAfternoon, &$datesChecked) {
|
||||||
$morningCheck = $records->filter(function ($record) {
|
$morningCheck = $records->filter(function ($record) {
|
||||||
return Carbon::parse($record->time_string)->hour < 12;
|
return Carbon::parse($record->time_string)->hour < 12;
|
||||||
})->sortBy('time_string')->first();
|
})->sortBy('time_string')->first();
|
||||||
|
|
@ -305,6 +304,12 @@ class TrackingController extends Controller
|
||||||
|
|
||||||
$morningTime = Carbon::parse($date)->setTime(7, 40, 0);
|
$morningTime = Carbon::parse($date)->setTime(7, 40, 0);
|
||||||
$afternoonTime = Carbon::parse($date)->setTime(13, 10, 0);
|
$afternoonTime = Carbon::parse($date)->setTime(13, 10, 0);
|
||||||
|
$checkOutAfternoonTime = Carbon::parse($date)->setTime(15, 00, 0);
|
||||||
|
$checkOutAfternoon = $trackingData->where(
|
||||||
|
DB::raw("STR_TO_DATE(time_string, '%Y-%m-%d %H:%i:%s')"),
|
||||||
|
'<=',
|
||||||
|
$date . ' 23:59:59'
|
||||||
|
)->where("status", "check out")->first();
|
||||||
|
|
||||||
if ($morningCheck) {
|
if ($morningCheck) {
|
||||||
$checkInTime = Carbon::parse($morningCheck->time_string);
|
$checkInTime = Carbon::parse($morningCheck->time_string);
|
||||||
|
|
@ -323,8 +328,10 @@ class TrackingController extends Controller
|
||||||
$lateAfternoon++;
|
$lateAfternoon++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Default to on time if no afternoon check-in
|
// check if not check-in afternoon but has check out
|
||||||
$onTimeAfternoon++;
|
if ($checkOutAfternoon && $checkOutAfternoonTime->lessThanOrEqualTo(Carbon::parse($checkOutAfternoon->time_string))) {
|
||||||
|
$onTimeAfternoon++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -333,7 +340,7 @@ class TrackingController extends Controller
|
||||||
'late_morning' => $lateMorning,
|
'late_morning' => $lateMorning,
|
||||||
'on_time_afternoon' => $onTimeAfternoon,
|
'on_time_afternoon' => $onTimeAfternoon,
|
||||||
'late_afternoon' => $lateAfternoon,
|
'late_afternoon' => $lateAfternoon,
|
||||||
'value' => $trackingData->get()
|
'value' => $valueTracking
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue