Merge pull request 'Update check working' (#108) from that-fe into master
Reviewed-on: #108
This commit is contained in:
commit
5cfd78d2c0
|
|
@ -263,8 +263,7 @@ class TrackingController extends Controller
|
|||
$startDate = $request->input('fromDate');
|
||||
$endDate = $request->input('toDate');
|
||||
|
||||
$trackingData = Tracking::where('user_id', $userID)
|
||||
->where('status', 'check in');
|
||||
$trackingData = Tracking::where('user_id', $userID);
|
||||
|
||||
if ($startDate && $endDate) {
|
||||
$trackingData->whereBetween(
|
||||
|
|
@ -290,11 +289,11 @@ class TrackingController extends Controller
|
|||
$lateMorning = 0;
|
||||
$onTimeAfternoon = 0;
|
||||
$lateAfternoon = 0;
|
||||
$datesChecked = [];
|
||||
$valueTracking = $trackingData->get();
|
||||
|
||||
$trackingData->get()->groupBy(function ($record) {
|
||||
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) {
|
||||
return Carbon::parse($record->time_string)->hour < 12;
|
||||
})->sortBy('time_string')->first();
|
||||
|
|
@ -305,6 +304,12 @@ class TrackingController extends Controller
|
|||
|
||||
$morningTime = Carbon::parse($date)->setTime(7, 40, 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) {
|
||||
$checkInTime = Carbon::parse($morningCheck->time_string);
|
||||
|
|
@ -323,9 +328,11 @@ class TrackingController extends Controller
|
|||
$lateAfternoon++;
|
||||
}
|
||||
} else {
|
||||
// Default to on time if no afternoon check-in
|
||||
// check if not check-in afternoon but has check out
|
||||
if ($checkOutAfternoon && $checkOutAfternoonTime->lessThanOrEqualTo(Carbon::parse($checkOutAfternoon->time_string))) {
|
||||
$onTimeAfternoon++;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return AbstractController::ResultSuccess([
|
||||
|
|
@ -333,7 +340,7 @@ class TrackingController extends Controller
|
|||
'late_morning' => $lateMorning,
|
||||
'on_time_afternoon' => $onTimeAfternoon,
|
||||
'late_afternoon' => $lateAfternoon,
|
||||
'value' => $trackingData->get()
|
||||
'value' => $valueTracking
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue