@extends('layouts.site') @php $i = 0; $wybrany_proces_id = null; // dane dla menu procesów (lewa kolumna) //$function_id = 2; $function_id = session()->get('function_id'); $get_permision = new my_GetPermission(); $permision_range = $get_permision->my_range($function_id); $pracownik_id = Auth::user()->pracownik_id; $dzial_pracownika_id = my_EmployeeDepartments($pracownik_id); // dane dla całej organizacji $dzialy = DB::table('sw020_komorki_organizacyjne') ->select('id', 'nazwa_pelna', 'nazwa_skrot') ->orderBy('nazwa_skrot', 'asc') ->get(); $procesyByKo = DB::table('sw010_proces') ->select('wlasciciel_procesu_komorka_id', DB::raw('COUNT(*) as total')) ->groupBy('wlasciciel_procesu_komorka_id') ->pluck('total', 'wlasciciel_procesu_komorka_id'); $kompletneByKo = DB::table('v011_rejestr_czynnosci') ->select('wlasciciel_procesu_komorka_id', DB::raw('COUNT(*) as complete_total')) ->groupBy('wlasciciel_procesu_komorka_id') ->pluck('complete_total', 'wlasciciel_procesu_komorka_id'); $koRows = collect(); foreach ($dzialy as $dzial) { $total = (int) ($procesyByKo[$dzial->id] ?? 0); if ($total < 1) { continue; } $complete = (int) ($kompletneByKo[$dzial->id] ?? 0); $toFix = max($total - $complete, 0); $percentToFix = $total > 0 ? round(($toFix / $total) * 100, 1) : 0; $koRows->push([ 'id' => $dzial->id, 'ko_short' => $dzial->nazwa_skrot, 'ko_name' => $dzial->nazwa_pelna, 'total' => $total, 'complete' => $complete, 'to_fix' => $toFix, 'to_fix_percent' => $percentToFix, ]); } $koRows = $koRows->sortByDesc('to_fix')->values(); $sumaProcesow = (int) $koRows->sum('total'); $sumaKompletne = (int) $koRows->sum('complete'); $sumaDoPoprawy = (int) $koRows->sum('to_fix'); $sumaWszystkiePercent = $sumaProcesow > 0 ? 100 : 0; $sumaKompletnePercent = $sumaProcesow > 0 ? round(($sumaKompletne / $sumaProcesow) * 100, 1) : 0; $sumaDoPoprawyPercent = $sumaProcesow > 0 ? round(($sumaDoPoprawy / $sumaProcesow) * 100, 1) : 0; @endphp @section('title', 'Wykres Procesów KO') @section('procesy') @include('sites.odo.procesy.m_odo_procesy_lista_menu') @endsection @section('content')