@extends('layouts.app') @section('title', '區間統計表') @push('styles') @endpush @section('content')
{{-- 控制區 --}}
{{-- 快捷按鈕 --}} 本月 上月 本季
@if(count($userStats) === 0)
此區間尚無工時記錄。
@else {{-- 類型篩選 --}} @php $bsSolid = ['primary'=>'#0d6efd','success'=>'#198754','warning'=>'#e0a800','danger'=>'#dc3545','info'=>'#06a3b7','secondary'=>'#6c757d','dark'=>'#343a40','light'=>'#6c757d']; $chipActiveTx = ['warning'=>'#fff','info'=>'#fff']; $bsLight = ['primary'=>'rgba(13,110,253,.15)','success'=>'rgba(25,135,84,.15)','warning'=>'rgba(255,193,7,.2)','danger'=>'rgba(220,53,69,.15)','info'=>'rgba(6,163,183,.15)','secondary'=>'rgba(108,117,125,.15)','dark'=>'rgba(52,58,64,.15)','light'=>'rgba(108,117,125,.1)']; @endphp
@foreach($projectTypes as $pt) @endforeach
{{-- 矩陣表格 --}}
區間工時矩陣 — {{ $startDate }} ~ {{ $endDate }}
@foreach($userStats as $uid => $stat) @endforeach @php $MAIN_TYPES = $projectTypes->pluck('label')->all(); @endphp @foreach($projectsByType as $type => $projects) @foreach($projects as $project) @php $rowTotal = $rowTotalMd = 0; foreach(array_keys($userStats) as $uid) { $rowTotal += $matrix[$project->id][$uid]['hours'] ?? 0; $rowTotalMd += $matrix[$project->id][$uid]['man_days'] ?? 0; } @endphp @foreach(array_keys($userStats) as $uid) @php $h = $matrix[$project->id][$uid]['hours'] ?? 0; $md = $matrix[$project->id][$uid]['man_days'] ?? 0; @endphp @endforeach @endforeach @endforeach {{-- 實際執行人天 --}} @foreach($userStats as $uid => $stat) @endforeach {{-- 應執行人天(區間標準) --}} @foreach($userStats as $uid => $stat) @endforeach {{-- 加班時數 --}} @foreach($userStats as $uid => $stat) @php $ot = max(0, $stat['total_hours'] - $rangeStandardHours); @endphp @endforeach
客戶 專案名稱 預計結案日 評估人天 {{ $stat['user']->name }}
{{ rtrim(rtrim(number_format($stat['total_hours'], 2), '0'), '.') }}小時
合計
{{ $type }}
{{ $project->client?->name ?? '—' }} @if($project->project_category === '產品') 產品 @elseif($project->project_category === '專案') 專案 @endif {{ $project->name }} {{ $project->end_date ? \Carbon\Carbon::parse($project->end_date)->format('Y-m-d') : '—' }} @if(!is_null($estimatedManDays[$project->project_id] ?? null)) {{ $estimatedManDays[$project->project_id] }}天 @else @endif @if($h > 0) {{ number_format($h, 1) }}小時 @else @endif {{ $rowTotal > 0 ? number_format($rowTotal, 1).'小時' : '—' }}
實際執行人天 {{ number_format($stat['total_man_days'], 1) }}天({{ rtrim(rtrim(number_format($stat['total_hours'], 2), '0'), '.') }}小時) {{ number_format($totals['man_days'], 1) }}天({{ rtrim(rtrim(number_format($totals['hours'], 2), '0'), '.') }}小時)
應執行人天(區間標準){{ $rangeStandardDays }}天{{ number_format($rangeStandardHours, 1) }}小時
加班時數 {{ $ot > 0 ? number_format($ot, 1).'小時' : '—' }} @php $totalOt = max(0, $totals['hours'] - $rangeStandardHours * count($userStats)); @endphp {{ $totalOt > 0 ? number_format($totalOt, 1).'小時' : '—' }}
@endif
@endsection @push('scripts') @endpush