@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')

@if ($koRows->count() > 0)
Organizacja - procesy kompletne / procesy do uzupełnienia
Procesy Wszystkie
{{ $sumaProcesow }}
{{ number_format($sumaWszystkiePercent, 1, ',', ' ') }}%
Procesy kompletne
{{ $sumaKompletne }}
{{ number_format($sumaKompletnePercent, 1, ',', ' ') }}%
Procesy do uzupełnienia
{{ $sumaDoPoprawy }}
{{ number_format($sumaDoPoprawyPercent, 1, ',', ' ') }}%
@foreach ($koRows as $index => $row) @endforeach
Lp KO Nazwa wydziału Procesy Wszystkie Procesy kompletne Procesy do uzupełnienia % do uzupełnienia
{{ $index + 1 }} {{ $row['ko_short'] }} {{ $row['ko_name'] }} {{ $row['total'] }} {{ $row['complete'] }} {{ $row['to_fix'] }} {{ number_format($row['to_fix_percent'], 1, ',', ' ') }}%
- - Podsumowanie {{ $sumaProcesow }} {{ $sumaKompletne }} {{ $sumaDoPoprawy }} {{ number_format($sumaDoPoprawyPercent, 1, ',', ' ') }}%
@else
Brak danych do prezentacji.
@endif
@endsection @section('navbar') @include('sites.odo._navbar_odo') Statystyki JO - Procesy @endsection @section('menu') @include('sites.odo.menu_odo') @endsection @push('scripts') @if ($koRows->count() > 0) @endif @endpush