Mitarbeiter

Stammdaten, Qualifikationen und tägliche Arbeitszeiten

@if(session('success'))
{{ session('success') }}
@endif @if($errors->any())
Bitte Eingaben prüfen: {{ implode(' · ', $errors->all()) }}
@endif
@forelse($employees as $employee)@empty@endforelse
NameWochenstundenUrlaubstage/JahrQualifikationenStatus
{{ $employee->first_name }} {{ $employee->last_name }}{{ number_format($employee->weekly_hours,2,',','.') }} h{{ $employee->vacation_days }}{{ implode(', ',json_decode($employee->qualifications??'[]',true)?:[]) ?: '–' }}{{ $employee->active?'Aktiv':'Inaktiv' }}
Noch keine Mitarbeiter erfasst. Bestehende Kalendertermine bleiben erhalten.

Urlaub und Arbeitszeitkonto

Sollstunden laut regelmäßigem Wochenplan. Stundenbilanz nur für erfasste Arbeitstage; Urlaubstage werden nicht als Minusstunden gewertet, da nur erfasste Arbeitstage verglichen werden. Feiertage werden noch nicht automatisch berücksichtigt.

@foreach($employees as $employee) @php($s=$summary[$employee->id])
{{ $employee->first_name }} {{ $employee->last_name }} · Stundenbilanz: {{ $s['balance'] >= 0 ? '+' : '−' }}{{ number_format(abs($s['balance'])/60,2,',','.') }} h · Urlaub: {{ $s['remaining'] }} Tage übrig

Arbeitszeit erfassen

@csrf

Gleiches Datum erneut speichern überschreibt den bisherigen Eintrag. Erfasst: {{ number_format($s['worked']/60,2,',','.') }} h · Soll für erfasste Tage: {{ number_format($s['target']/60,2,',','.') }} h.

@forelse($attendance->get($employee->id,collect()) as $entry) @empty@endforelse
DatumVonBisPause
{{ \Carbon\Carbon::parse($entry->work_date)->format('d.m.Y') }}{{ substr($entry->start_time,0,5) }}{{ substr($entry->end_time,0,5) }}{{ $entry->break_minutes }} Min.
@csrf @method('DELETE')
Noch keine Arbeitszeiten erfasst.

Urlaub verwalten

Jahresanspruch: {{ $employee->vacation_days }} Tage · Genehmigt im laufenden Jahr: {{ $s['used'] }} Tage · Verbleibend: {{ $s['remaining'] }} Tage. Gezählt werden Tage mit hinterlegter regelmäßiger Arbeitszeit; Feiertage werden noch nicht herausgerechnet.

@csrf
@forelse($vacations->get($employee->id,collect()) as $v) @empty@endforelse
VonBisStatus
{{ \Carbon\Carbon::parse($v->start_date)->format('d.m.Y') }}{{ \Carbon\Carbon::parse($v->end_date)->format('d.m.Y') }}{{ $v->status==='approved'?'Genehmigt':'Geplant' }}
@csrf @method('DELETE')
Noch kein Urlaub erfasst.
@endforeach