@extends('layouts.portal') @section('title', 'Will Creator Statistics') @section('page_title', 'Will Creator Statistics') @section('page_subtitle', 'Statistics on who created how many wills and performance metrics') @section('sidebar') @include('admin.partials.sidebar', ['active' => 'reports-creator-stats']) @endsection @section('content')

Will Creator Statistics

Statistics on who created how many wills and performance metrics

Filters

Clear
Will Creator Performance
@php $rank = 1; @endphp @foreach($creatorStats as $creator) @endforeach
Rank Creator Name Creator Type Role Email Wills Created Completed Wills Pending Wills Signed Wills Completion Rate First Will Date Last Will Date Actions
{{ $rank++ }} @if($creator->creator) {{ $creator->creator->full_name ?? $creator->creator->name }} @else System/Unknown @endif {{ ucfirst($creator->creator_type ?? 'N/A') }} @if($creator->creator) {{ ucfirst($creator->creator->role ?? 'N/A') }} @else System @endif @if($creator->creator) {{ $creator->creator->email }} @else N/A @endif {{ $creator->will_count }} @php $completedCount = \App\Models\Will::where('creator_type', $creator->creator_type) ->where('created_by', $creator->created_by) ->when(isset($filters['start_date']), function($query) use ($filters) { $query->whereDate('created_at', '>=', $filters['start_date']); }) ->when(isset($filters['end_date']), function($query) use ($filters) { $query->whereDate('created_at', '<=', $filters['end_date']); }) ->where('status', 'completed') ->count(); @endphp {{ $completedCount }} @php $pendingCount = \App\Models\Will::where('creator_type', $creator->creator_type) ->where('created_by', $creator->created_by) ->when(isset($filters['start_date']), function($query) use ($filters) { $query->whereDate('created_at', '>=', $filters['start_date']); }) ->when(isset($filters['end_date']), function($query) use ($filters) { $query->whereDate('created_at', '<=', $filters['end_date']); }) ->where('status', 'pending') ->count(); @endphp {{ $pendingCount }} @php $signedCount = \App\Models\Will::where('creator_type', $creator->creator_type) ->where('created_by', $creator->created_by) ->when(isset($filters['start_date']), function($query) use ($filters) { $query->whereDate('created_at', '>=', $filters['start_date']); }) ->when(isset($filters['end_date']), function($query) use ($filters) { $query->whereDate('created_at', '<=', $filters['end_date']); }) ->whereNotNull('signed_at') ->count(); @endphp {{ $signedCount }} @php $completionRate = $creator->will_count > 0 ? ($completedCount / $creator->will_count) * 100 : 0; @endphp
{{ number_format($completionRate, 1) }}%
@php $firstWill = \App\Models\Will::where('creator_type', $creator->creator_type) ->where('created_by', $creator->created_by) ->when(isset($filters['start_date']), function($query) use ($filters) { $query->whereDate('created_at', '>=', $filters['start_date']); }) ->when(isset($filters['end_date']), function($query) use ($filters) { $query->whereDate('created_at', '<=', $filters['end_date']); }) ->orderBy('created_at', 'asc') ->first(); @endphp {{ $firstWill?->created_at->format('M d, Y') ?? 'N/A' }} @php $lastWill = \App\Models\Will::where('creator_type', $creator->creator_type) ->where('created_by', $creator->created_by) ->when(isset($filters['start_date']), function($query) use ($filters) { $query->whereDate('created_at', '>=', $filters['start_date']); }) ->when(isset($filters['end_date']), function($query) use ($filters) { $query->whereDate('created_at', '<=', $filters['end_date']); }) ->orderBy('created_at', 'desc') ->first(); @endphp {{ $lastWill?->created_at->format('M d, Y') ?? 'N/A' }}
@if($creator->creator) @if($creator->creator->role === 'staff') @elseif($creator->creator->role === 'agent') @elseif($creator->creator->role === 'lawyer') @endif @endif
By Creator Type
@php $byType = $creatorStats->groupBy('creator_type'); @endphp @foreach($byType as $type => $creators)
{{ ucfirst($type) }} {{ $creators->sum('will_count') }} wills
@endforeach
Top Performers
@php $topPerformers = $creatorStats->take(5); @endphp @foreach($topPerformers as $index => $creator)
{{ $creator->creator?->first_name ?? 'System' }} {{ $creator->will_count }}
@endforeach
By Role
@php $byRole = $creatorStats->filter(function($creator) { return $creator->creator && $creator->creator->role; })->groupBy(function($creator) { return $creator->creator->role; }); @endphp @foreach($byRole as $role => $creators)
{{ ucfirst($role) }} {{ $creators->sum('will_count') }} wills
@endforeach
Statistics
Total Creators {{ $creatorStats->count() }}
Total Wills {{ $creatorStats->sum('will_count') }}
Avg Wills/Creator {{ number_format($creatorStats->sum('will_count') / max($creatorStats->count(), 1), 1) }}
@endsection @push('scripts') @endpush
@endsection