@extends('layouts.app') @section('title', 'Element 13: Maritime Security') @section('content')

Element 13: Maritime Security

Manage maritime security protocols and ISPS Code compliance

Maritime Security Dashboard

@php $complianceRate = $complianceRecords->count() > 0 ? round(($complianceRecords->where('compliance_status', 'compliant')->count() / $complianceRecords->count()) * 100) : 0; @endphp

{{ $complianceRate }}%

ISPS Code compliance

{{ $riskAssessments->whereIn('status', ['identified', 'under_assessment'])->count() }}

Active security risks

@php $drillsThisYear = $drills->where('status', 'completed')->filter(function($drill) { return $drill->scheduled_date && $drill->scheduled_date->year == date('Y'); })->count(); @endphp

{{ $drillsThisYear }}

Drills completed this year

@php $completedDrills = $drills->where('status', 'completed'); $ispsCompliantRate = $completedDrills->count() > 0 ? round(($completedDrills->where('isps_compliant', true)->count() / $completedDrills->count()) * 100) : 0; @endphp

{{ $ispsCompliantRate }}%

Drills ISPS compliant

Security Risk Assessment Distribution

@php $riskCounts = [ 'Extreme' => $riskAssessments->where('risk_rating', 'Extreme')->count(), 'High' => $riskAssessments->where('risk_rating', 'High')->count(), 'Medium' => $riskAssessments->where('risk_rating', 'Medium')->count(), 'Low' => $riskAssessments->where('risk_rating', 'Low')->count(), ]; $maxRisk = max(array_merge($riskCounts, [1])); @endphp
@foreach($riskCounts as $rating => $count)
{{ $rating }} Risk {{ $count }} assessments
@endforeach

ISPS Code Compliance Status

@php $statusCounts = [ 'compliant' => $complianceRecords->where('compliance_status', 'compliant')->count(), 'partial_compliance' => $complianceRecords->where('compliance_status', 'partial_compliance')->count(), 'under_review' => $complianceRecords->where('compliance_status', 'under_review')->count(), 'non_compliant' => $complianceRecords->where('compliance_status', 'non_compliant')->count(), ]; $maxStatus = max(array_merge($statusCounts, [1])); @endphp
@foreach($statusCounts as $status => $count)
{{ str_replace('_', ' ', ucfirst($status)) }} {{ $count }}
@endforeach

Security & Confidentiality Notice

Confidential Security Records

All maritime security records are classified as confidential. Access is restricted to authorized personnel only. Unauthorized disclosure may compromise vessel security and violate ISPS Code requirements.

Confidentiality Levels

@php $confidentialityCounts = [ 'classified' => $complianceRecords->where('confidentiality_level', 'classified')->count(), 'restricted' => $complianceRecords->where('confidentiality_level', 'restricted')->count(), 'internal' => $complianceRecords->where('confidentiality_level', 'internal')->count(), 'public' => $complianceRecords->where('confidentiality_level', 'public')->count(), ]; @endphp @foreach($confidentialityCounts as $level => $count)
{{ $level }}
{{ $count }} records
@endforeach
All security records are protected and maintained in accordance with confidentiality requirements

ISPS Code Compliance Records

@forelse($complianceRecords as $record) @empty @endforelse
Record Number Compliance Area Type Status Assessment Date Assessed By Confidentiality
{{ $record->record_number }} {{ $record->compliance_area }} {{ str_replace('_', ' ', ucwords($record->compliance_type)) }} {{ str_replace('_', ' ', ucfirst($record->compliance_status)) }} {{ $record->assessment_date ? $record->assessment_date->format('d M Y') : 'N/A' }} {{ $record->assessed_by }}
{{ ucfirst($record->confidentiality_level) }}
No compliance records found

Security Risk Assessments (Manage & Mitigate)

@forelse($riskAssessments as $assessment) @empty @endforelse
Assessment Number Threat Description Threat Type Likelihood Consequence Risk Rating Status Responsible Officer
{{ $assessment->assessment_number }} {{ Str::limit($assessment->threat_description, 40) }} {{ str_replace('_', ' ', ucwords($assessment->threat_type)) }} {{ str_replace('_', ' ', ucfirst($assessment->likelihood)) }} {{ ucfirst($assessment->consequence) }} {{ $assessment->risk_rating }} {{ str_replace('_', ' ', ucfirst($assessment->status)) }} {{ $assessment->responsible_officer }}
No risk assessments found

Security Drills (Conduct & Evaluate)

@forelse($drills as $drill) @empty @endforelse
Drill Number Title Drill Type Scheduled Date Coordinator Status Performance ISPS Compliant
{{ $drill->drill_number }} {{ Str::limit($drill->drill_title, 40) }} {{ str_replace('_', ' ', ucwords($drill->drill_type)) }} {{ $drill->scheduled_date ? $drill->scheduled_date->format('d M Y H:i') : 'N/A' }} {{ $drill->drill_coordinator }} {{ ucfirst($drill->status) }} @if($drill->performance_rating) {{ str_replace('_', ' ', ucfirst($drill->performance_rating)) }} @else Not rated @endif
@if($drill->isps_compliant) @endif {{ $drill->isps_compliant ? 'Yes' : 'No' }}
No security drills found
@endsection