Gainup

@section('tittle') {{"ORGANOGRAM"}}@endsection
@extends('LifeAtGainup.Navbar.nav') @section('content') @php ini_set('memory_limit','2048M'); $orgdata = Session::get('ornogramdata'); $employees = $orgdata['data'] ?? []; // ---- Build lookup map (Emplno → employee) ---- $empMap = []; foreach ($employees as $e) $empMap[$e['Emplno']] = $e; // ---- Top-level (reporting_to missing or not in map) ---- $topLevel = collect($employees)->filter(fn($e) => empty($e['reporting_to']) || !isset($empMap[$e['reporting_to']]))->values(); // ---- Helper to render a node (uses NO_Of_Reporting_Can for caret) ---- function renderNode($emp, $map, $lvl = 1) { $subCnt = (int)($emp['NO_Of_Reporting_Can'] ?? 0); $hasSubs = $subCnt > 0; $cls = $lvl == 1 ? 'org1' : ($lvl == 2 ? 'org' : 'org3'); $notice = ($emp['Notice'] ?? 'N') === 'Y' ? 'color:yellow;' : ''; $caretCls = $hasSubs ? 'caret' : ''; $disp = $hasSubs ? $emp['C_Name'].' - ('.$subCnt.')' : $emp['C_Name']; $html = "
  • "; $html .= ""; $html .= "{$disp}"; $html .= ""; if ($hasSubs) { $html .= ""; } $html .= "
  • "; return $html; } @endphp

    ORGANOGRAM

      @foreach($topLevel as $root) {!! renderNode($root, $empMap) !!} @endforeach
    @endsection