@extends('layouts.app') @section('title','Org Chart') @section('page-title','Project Management — Org Chart') @section('content')
Organisational Hierarchy

Hillside Real Estates — Project Management Structure

All Staff
{{-- Legend --}}
CEO Project Manager Site Supervisor Foreman Artisan / Worker Subcontractor Stores / Inventory
{{-- CEO --}}
@if($ceo)
{{ $ceo->name }}
Chief Executive Officer
Hillside Real Estates
@else
Chief Executive Officer
Hillside Real Estates
@endif
{{-- PM row --}} @foreach($projects as $project) @php $pm = $project->staff->where('hierarchy_level','project_manager')->first(); $supervisors = $project->staff->where('hierarchy_level','site_supervisor'); $foremen = $project->staff->where('hierarchy_level','foreman'); $artisans = $project->staff->where('hierarchy_level','artisan'); $projectSubs = $subcontractors[$project->id] ?? collect(); @endphp
{{ $project->name }} — {{ $project->location }}
{{-- Project Manager --}}
@if($pm)
Project Manager
{{ $pm->name }}
{{ $pm->role }}
@if($pm->phone)
{{ $pm->phone }}
@endif
Reports to CEO
@else
Project Manager
Vacant
+ Assign
@endif
{{-- Connector + Stores branch beside PM --}} @if($stores->count() > 0)
Stores & Inventory
@foreach($stores as $s)
{{ $s->name }}
{{ $s->role }}
@if($s->phone)
{{ $s->phone }}
@endif
Reports to PM
@endforeach
@else
@endif {{-- Site Supervisor --}}
@forelse($supervisors as $sv)
Site Supervisor
{{ $sv->name }}
{{ $sv->role }}
@if($sv->phone)
{{ $sv->phone }}
@endif
Reports to Project Manager
@empty
Site Supervisor
Vacant
+ Assign
@endforelse
{{-- Foreman + Subcontractors branch --}}
{{-- LEFT: Foreman → Artisans --}} @if($foremen->count() > 0 || $artisans->count() > 0)
@foreach($foremen as $fm)
Foreman
{{ $fm->name }}
{{ $fm->role }}
@if($fm->phone)
{{ $fm->phone }}
@endif
Reports to Site Supervisor
@endforeach @if($artisans->count() > 0)
Artisans & Workers
@foreach($artisans as $art)
{{ $art->name }}
{{ $art->role }}
@if($art->daily_rate)
GH₵ {{ number_format($art->daily_rate,2) }}/day
@endif
@endforeach
All artisans report to Foreman
@endif
@endif {{-- DIVIDER --}} @if($projectSubs->count() > 0)
{{-- RIGHT: Subcontractors --}}
Subcontractors
@foreach($projectSubs as $sc)
{{ $sc->name }}
{{ $sc->trade }}
@if($sc->phone)
{{ $sc->phone }}
@endif @php $bal = $sc->agreed_amount - $sc->amount_paid; @endphp
{{ $bal > 0 ? 'Bal: GH₵ '.number_format($bal,2) : '✓ Fully paid' }}
@endforeach
All subcontractors report to Site Supervisor
@endif
{{-- /branch-wrap --}} @endforeach
{{-- /org-wrap --}} {{-- Reporting Rules Table --}}
Reporting Lines Summary
@if($ceo)@endif @foreach($projects as $project) @foreach($project->staff->where('hierarchy_level','project_manager') as $s) @endforeach @foreach($stores as $s) @endforeach @foreach($project->staff->where('hierarchy_level','site_supervisor') as $s) @endforeach @foreach($project->staff->where('hierarchy_level','foreman') as $s) @endforeach @endforeach
NameTitleReports ToSupervises
{{ $ceo->name }}Chief Executive Officer— BoardAll Departments
{{ $s->name }}Project ManagerCEOSite Supervisor, Stores
{{ $s->name }}{{ $s->role }}Project ManagerStock & Inventory
{{ $s->name }}Site SupervisorProject ManagerForeman, Subcontractors
{{ $s->name }}ForemanSite SupervisorAll Artisans & Workers
{{-- /card --}} @endsection