fix: allow bulk sync overwrite to process already-synced biometric records and respect active filters
This commit is contained in:
@@ -163,8 +163,20 @@ class BiometricAttendanceController extends Controller
|
||||
|
||||
$overwrite = $request->boolean('overwrite', false);
|
||||
|
||||
// Fetch all pending records
|
||||
$pendingRecords = \App\Models\BiometricAttendance::where('sync_status', 'pending')->get();
|
||||
$query = \App\Models\BiometricAttendance::query();
|
||||
|
||||
if (!$overwrite) {
|
||||
$query->where('sync_status', 'pending');
|
||||
}
|
||||
|
||||
if ($request->has('start_date') && !empty($request->start_date)) {
|
||||
$query->whereDate('punch_time', '>=', $request->start_date);
|
||||
}
|
||||
if ($request->has('end_date') && !empty($request->end_date)) {
|
||||
$query->whereDate('punch_time', '<=', $request->end_date);
|
||||
}
|
||||
|
||||
$pendingRecords = $query->get();
|
||||
|
||||
$groupedAttendances = $pendingRecords->groupBy(function ($item) {
|
||||
return $item->biometric_emp_id . '_' . $item->punch_time->format('Y-m-d');
|
||||
|
||||
Reference in New Issue
Block a user