@extends('layouts.employee') @section('title', 'Patrol Report - ' . $schedule->duty_number) @section('content')
{{-- Header --}}

Patrol Report

{{ $schedule->route->name }} (Duty #{{ $schedule->duty_number }})

{{-- Stats Cards --}}

Total Tickets

{{ $totalTickets }}

Good Status

{{ $goodTickets }}

Bad Status

{{ $badTickets }}

{{-- Deployment Info --}}

Deployment Details

Scheduled Date

{{ $schedule->scheduled_date->format('M d, Y') }}

Scheduled Window

{{ $schedule->from_time->format('H:i') }} - {{ $schedule->to_time->format('H:i') }}

Actual Start/End

{{ $schedule->job_started_at ? $schedule->job_started_at->format('H:i') : '-' }} / {{ $schedule->job_ended_at ? $schedule->job_ended_at->format('H:i') : '-' }}

Total Duration

@if($schedule->job_started_at && $schedule->job_ended_at) {{ number_format($schedule->job_started_at->diffInSeconds($schedule->job_ended_at) / 3600, 2) }} hours @else - @endif

Assigned Support

@foreach($schedule->employees as $emp)
{{ substr($emp->first_name, 0, 1) }}
@endforeach
{{-- Visit Timeline --}}

Visit Timeline

{{ $schedule->jobSites->where('status', '!=', 'pending')->count() }} Successful Visits
@forelse($schedule->jobSites->where('status', '!=', 'pending')->sortBy('checked_in_at') as $visit) @empty @endforelse
Site Name Check In Check Out Duration Tickets
{{ $visit->site->name }} {{ $visit->checked_in_at ? $visit->checked_in_at->format('H:i') : '-' }} {{ $visit->checked_out_at ? $visit->checked_out_at->format('H:i') : '-' }} @if($visit->checked_in_at && $visit->checked_out_at) {{ $visit->checked_in_at->diffInMinutes($visit->checked_out_at) }}m @else - @endif @if($visit->issueTickets->count() > 0) {{ $visit->issueTickets->count() }} Issues @else @endif
No visits recorded yet for this patrol job.
{{-- Detailed Tickets --}} @if($ticketsBySite->isNotEmpty())

Detailed Issue Tickets

@foreach($ticketsBySite as $siteId => $tickets) @php $site = $tickets->first()->site; @endphp

{{ $site->name }}

{{ $tickets->count() }} Tickets
@foreach($tickets as $ticket)
Ticket #{{ $ticket->ticket_number }}

{{ $ticket->description }}

{{ $ticket->status }}
{{ $ticket->created_at->format('M d, Y H:i') }} {{ $ticket->latitude }}, {{ $ticket->longitude }}
@if($ticket->images && count($ticket->images) > 0)
@foreach($ticket->images as $image) @endforeach
@endif
@endforeach
@endforeach
@endif
This report was automatically generated on {{ now()->format('Y-m-d H:i') }} by the Crimson Vanguard Intelligence System.
@endsection