Urenregistratie

Compact overzicht per maand.

@php($calculator=app(\App\ChronoLab\Services\WorkTimeCalculator::class)) @if(session('success'))
✓ {{session('success')}}
@endif @if($errors->any())
{{$errors->first()}}
@endif @if($users->count())
@endif
Totaal overuren
{{$calculator->formatMinutes($totalOvertimeMinutes,true)}}
Cumulatief over alle geregistreerde jaren
Totaal gewerkt
{{$calculator->formatMinutes((int)$entries->sum('worked_minutes'))}}
Cumulatief over alle geregistreerde jaren
@forelse($yearGroups as $year => $yearMonths) @php($isCurrentYear = (int) $year === (int) now()->year)
Jaar {{$year}} {{$yearMonths->count()}} maanden
@foreach($yearMonths as $month => $monthEntries) @php($monthKey = (string) $month) @php($date = preg_match('/^\d{4}-\d{2}$/', $monthKey) ? \Carbon\Carbon::create((int) substr($monthKey, 0, 4), (int) substr($monthKey, 5, 2), 1) : \Carbon\Carbon::parse($monthEntries->first()->work_date)->startOfMonth()) @php($isCurrentMonth = now()->format('Y-m') === $date->format('Y-m'))

{{$date->locale('nl')->translatedFormat('F Y')}}

{{$monthEntries->count()}} dagen
Gewerkt {{$calculator->formatMinutes($monthEntries->sum('worked_minutes'))}} @php($monthAdjustmentMinutes=(int)($adjustmentsByMonth[$month] ?? collect())->sum('minutes'))Overuren {{$calculator->formatMinutes($monthEntries->sum('balance_minutes')+$monthAdjustmentMinutes,true)}} PDF CSV @php($monthLockedCount = $monthEntries->whereNotNull('locked_at')->count()) @php($monthIsLocked = $monthEntries->isNotEmpty() && $monthLockedCount === $monthEntries->count()) @if(auth()->user()->chronolabCanManage())
@csrf
@endif
@foreach($monthEntries->sortByDesc('work_date') as $entry) @endforeach @if(isset($adjustmentsByMonth[$month]) && $adjustmentsByMonth[$month]->count()) @foreach($adjustmentsByMonth[$month] as $adjustment) @endforeach @endif
DATUM TIJD GEWERKT SALDO KLANTEN ACTIE
{{$entry->work_date->format('d-m-Y')}} @if($entry->status==='verlof') Vakantie @else {{ $entry->start_time ? substr($entry->start_time,0,5) : '—' }} – {{ $entry->end_time ? substr($entry->end_time,0,5) : '—' }} @if($entry->source==='moving_intelligence') MI @elseif($entry->source==='bulk_import') IMP @endif @endif {{$entry->status==='verlof'?'—':$calculator->formatMinutes($entry->worked_minutes)}} {{$calculator->formatMinutes($entry->balance_minutes,true)}} {{$entry->customers->pluck('name')->implode(' / ') ?: '—'}}
@if($entry->status!=='verlof')
@csrf @method('DELETE')
@endif @if(auth()->user()->chronolabCanManage())
@csrf
@endif
{{$adjustment->adjustment_date->format('d-m-Y')}}Administratieve mutatie—{{$calculator->formatMinutes($adjustment->minutes,true)}}{{ucfirst($adjustment->type)}} · {{$adjustment->description ?: '—'}}Administratie
@endforeach
@empty
Nog geen urenregistraties

Begin met een dag of importeer je bestaande urenstaat.

@endforelse