@extends('layouts.enterprise')
@section('title', 'Ver ingresos')
@section('content')
Ver ingresos
Comparativo de ingresos relacionados vs monto esperado con IVA (16%) por solicitud.
@php
$indexRoute = request()->routeIs('accountant.*') ? route('accountant.incomes.summary') : route('admin.incomes.summary');
$movementsRoute = request()->routeIs('accountant.*') ? 'accountant.incomes.index' : 'admin.incomes.index';
$hasActiveFilters = (($filters['q'] ?? '') !== '')
|| (($filters['scope'] ?? 'related') !== 'related')
|| (($filters['comparison'] ?? 'all') !== 'all');
@endphp
@if(session('ok'))
{{ session('ok') }}
@endif
@if($errors->any())
@foreach($errors->all() as $error)
- {{ $error }}
@endforeach
@endif
Filtros
@if($hasActiveFilters)
Activos
@endif
@php
$deltaTotal = $linkedTotal - $expectedTotal;
$completionTotal = $expectedTotal > 0 ? (($linkedTotal / $expectedTotal) * 100) : 0;
@endphp
Total relacionado: ${{ number_format($linkedTotal, 2) }}
Total esperado: ${{ number_format($expectedTotal, 2) }}
Diferencia: ${{ number_format($deltaTotal, 2) }}
Avance: {{ number_format($completionTotal, 2) }}%
Solicitudes: {{ number_format($requestsTotal) }}
| Proyecto |
JN |
RC |
Esperado (con IVA) |
Ingresos relacionados |
Diferencia |
Avance |
Estatus |
Acción |
@forelse($requests as $req)
@php
$statusTolerance = 0.01;
$expected = $req->expected_income_total !== null ? (float) $req->expected_income_total : null;
$linked = (float) ($req->linked_income_total ?? 0);
$difference = $expected !== null ? ($linked - $expected) : null;
$progress = ($expected !== null && $expected > 0) ? (($linked / $expected) * 100) : null;
$progressForBar = $progress !== null ? max(0, min(100, $progress)) : 0;
$isComplete = $progress !== null && $progress >= 100;
$statusLabel = $expected === null
? 'Sin objetivo'
: ((abs($linked - $expected) <= $statusTolerance)
? 'Completo'
: ($linked > $expected ? 'Excedido' : 'Incompleto'));
@endphp
| {{ $req->project_name ?: 'Sin PROJECT NAME' }} |
{{ $req->title ?: '-' }} |
{{ $req->rc_list ?: '-' }} |
{{ $expected !== null ? '$'.number_format($expected, 2) : '-' }} |
${{ number_format($linked, 2) }} |
{{ $difference !== null ? '$'.number_format($difference, 2) : '-' }} |
@if($progress !== null)
{{ number_format($progress, 2) }}%
@else
-
@endif
|
{{ $statusLabel }}
|
Ver
|
@empty
| No hay solicitudes para mostrar. |
@endforelse
{{ $requests->onEachSide(1)->links('vendor.pagination.enterprise') }}
@endsection
@push('styles')
@endpush