@extends('layouts.app') @section('title', 'Element 3: Recruitment, Management and Wellbeing of Vessel Personnel') @section('content')
Crew recruitment, rotation, qualifications, wellbeing monitoring, training records, and STCW compliance
{{ $crew->count() }}
Total crew members
{{ $activeCrew }}
Active crew members
{{ $rotationDue }}
Rotation due (30 days)
{{ $stcwRate }}%
STCW compliance rate
{{ $totalQualifications }}
Total qualifications defined
{{ $trainingDrills->count() }}
Training drills recorded
{{ $wellbeingChecks->count() }}
Wellbeing checks completed
{{ $highFatigue }}
High fatigue alerts
{{ $stcwCrew->count() }}
STCW Compliant Crew
{{ $nonCompliantCrew->count() }}
Non-Compliant Crew
{{ $stcwQualifications }}
STCW Certifications
| Crew Member | Rank | Vessel | Total Qualifications | STCW Status |
|---|---|---|---|---|
| {{ $member->name }} | {{ $member->rank }} | {{ $member->vessel ?? 'Unassigned' }} | {{ $member->qualifications->count() }} | Requires STCW Certification |
All crew members with qualifications are STCW compliant
@endifCompliance: All crew data handling complies with maritime privacy regulations and GDPR where applicable
| Rank/Position | Required Qualification | Type | STCW | Mandatory | Valid Period |
|---|---|---|---|---|---|
| {{ $requirement->rank }} | {{ $requirement->qualification_name }} | {{ $requirement->qualification_type }} | @if($requirement->is_stcw) STCW @else N/A @endif | @if($requirement->is_mandatory) Required @else Optional @endif | {{ $requirement->validity_years }} years |
No qualification requirements defined yet
@endif{{ $member->name }}
{{ $member->rank }} - {{ $member->vessel ?? 'Unassigned' }}
{{ $member->contract_end->format('M d, Y') }}
{{ $member->contract_end->diffForHumans() }}
No upcoming rotations in the next 90 days
@endif| Name | Rank | Vessel | Contract Period | Status | Actions |
|---|---|---|---|---|---|
| {{ $member->name }} | {{ $member->rank }} | {{ $member->vessel ?? 'Unassigned' }} | @if($member->contract_start && $member->contract_end) {{ $member->contract_start->format('M d, Y') }} - {{ $member->contract_end->format('M d, Y') }} @else N/A @endif | {{ ucfirst(str_replace('_', ' ', $member->status)) }} |
|
| No crew members found | |||||
{{ $lowFatigue }}
Low Fatigue (1-3)
{{ $moderateFatigue }}
Moderate Fatigue (4-6)
{{ $highFatigue }}
High Fatigue (7-10)
{{ number_format($avgFatigue, 1) }}
Average Fatigue Level
| Date | Crew Member | Fatigue Level | Sleep Hours | Health Status | Action Required |
|---|---|---|---|---|---|
| {{ $check->check_date->format('M d, Y') }} | {{ $check->crew->name }} |
{{ $check->fatigue_level }}/10
|
{{ $check->sleep_hours ?? 'N/A' }} hrs | {{ ucfirst($check->health_status ?? 'Good') }} | @if($check->fatigue_level >= 7) Rest Required @else Normal @endif |
| No wellbeing checks recorded yet | |||||
{{ $safetyDrills }}
Safety Drills
{{ $emergencyDrills }}
Emergency Drills
{{ $technicalTraining }}
Technical Training
{{ round($avgParticipation) }}
Avg. Participants
| Date | Training/Drill Name | Type | Participants | Duration | Conducted By | Status |
|---|---|---|---|---|---|---|
| {{ $drill->drill_date->format('M d, Y') }} | {{ $drill->drill_name }} | {{ $drill->drill_type }} | {{ $drill->participants_count ?? 'N/A' }} | {{ $drill->duration_minutes ?? 'N/A' }} min | {{ $drill->conducted_by }} | {{ ucfirst($drill->completion_status) }} |
| No training or drills recorded yet | ||||||
{{ $member->rank }}
No crew members found
@endif