@extends('layouts.appReportes') @section('htmlheader_title','Reportes') {{-- @endsection --}} @section('contentheader_title', '') {{-- @endsection --}} @section('main-content')
| RM | # Solicitud | Fecha de Recepción | Cliente | Tipo Cliente | NIT Cliente | Generador | NIT Generador | Telefono | Dirección de servicio | Municipio | Nombre de residuo | Estado | Corriente | Peligrosidad | Tratamiento | Gestor | Cantidad Declarada | Cantidad Recibida | Cantidad Conciliada | No. Certificado | Empresa Transportadora | Dirección Empresa Transportadora | Municipio Empresa Transportadora | Status | TIPO DE SERVICIO | CONDUCTOR | PLACA | AYUDANTE | TIPO DE TRANSPORTE |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@if (isset($solres->SolResRM) && is_array($solres->SolResRM))
@foreach ($solres->SolResRM as $rm) {{ $rm }} @endforeach @endif |
{{-- 2 # Solicitud --}}
{{ $servicio->ID_SolSer }} | {{-- 3 Fecha de Recepción (lógica priorizada) --}}@php $fechaMostrar = null; if (isset($servicio->programacionesrecibidas) && $servicio->programacionesrecibidas->count() > 0 && $servicio->programacionesrecibidas->first()->ProgVehSalida) { $fechaMostrar = $servicio->programacionesrecibidas->first()->ProgVehSalida; } elseif (isset($servicio->programacionesrealizadas) && $servicio->programacionesrealizadas->count() > 0 && $servicio->programacionesrealizadas->first()->ProgVehSalida) { $fechaMostrar = $servicio->programacionesrealizadas->first()->ProgVehSalida; } elseif (!empty($servicio->ProgVehSalida) && $servicio->ProgVehSalida != '0000-00-00 00:00:00') { $fechaMostrar = $servicio->ProgVehSalida; } elseif (!empty($servicio->created_at)) { $fechaMostrar = $servicio->created_at; } @endphp {{ $fechaMostrar ? date('d/m/Y', strtotime($fechaMostrar)) : 'N/A' }} | {{-- 4 Cliente --}}{{ optional($servicio->cliente)->CliName }} | {{-- 5 Tipo Cliente --}}@if(optional($servicio->cliente)->CliCategoria == 'Cliente') Regular @elseif(optional($servicio->cliente)->CliCategoria == 'ClientePrepago') Express @else {{ optional($servicio->cliente)->CliCategoria ?? 'N/A' }} @endif | {{-- 6 NIT Cliente --}}{{ optional($servicio->cliente)->CliNit }} | {{-- 7 Generador (Nombre + Sede) --}}
{{ optional(optional(optional($solres->generespel)->gener_sedes)->generadors)->GenerName }}
@php $gsede = optional(optional($solres->generespel)->gener_sedes)->GSedeName; @endphp
@if($gsede) ({{ $gsede }}) @endif |
{{-- 8 NIT Generador --}}
{{ optional(optional(optional($solres->generespel)->gener_sedes)->generadors)->GenerNit }} | {{-- 9 Teléfono --}}{{ optional(optional($solres->generespel)->gener_sedes)->GSedeCelular }} | {{-- 10 Dirección de servicio --}}{{ optional(optional($solres->generespel)->gener_sedes)->GSedeAddress }} | {{-- 11 Municipio --}}{{ optional(optional(optional($solres->generespel)->gener_sedes)->municipio)->MunName }} | {{-- 12 Nombre de residuo --}}{{ optional(optional($solres->generespel)->respels)->RespelName }} | {{-- 13 Estado --}}{{ optional(optional($solres->generespel)->respels)->RespelEstado }} | {{-- 14 Corriente --}}@php $r = optional(optional($solres->generespel)->respels); $corr = $r->YRespelClasf4741 ?? $r->ARespelClasf4741 ?? null; @endphp {{ $corr ?? 'N/A' }} | {{-- 15 Peligrosidad --}}{{ optional(optional($solres->generespel)->respels)->RespelIgrosidad }} | {{-- 16 Tratamiento --}}{{ optional(optional($solres->requerimiento)->tratamiento)->TratName }} | {{-- 17 Gestor --}}{{ optional(optional(optional($solres->requerimiento)->tratamiento)->gestor)->clientes->CliShortname ?? null }} | {{-- 18 Cantidad Declarada --}}{{ $solres->SolResKgEnviado }} | {{-- 19 Cantidad Recibida --}}{{ $solres->SolResKgRecibido }} | {{-- 20 Cantidad Conciliada --}}{{ $solres->SolResKgConciliado }} | {{-- 21 No. Certificado --}}@if ($solres->certdato) @if($solres->certdato->certificado->CertType == 0) {{ $solres->certdato->certificado->ID_Cert }} @else M{{ $solres->certdato->certificado->ID_Cert }} @endif @else Certificado no encontrado @endif | {{-- 22 Empresa Transportadora --}}{{ $servicio->SolSerNameTrans }} | {{-- 23 Dirección Empresa Transportadora --}}{{ $servicio->SolSerAdressTrans }} | {{-- 24 Municipio Empresa Transportadora --}}{{ optional($servicio->Municipio)->MunName }} | {{-- 25 Status --}}{{ $servicio->SolSerStatus }} | {{-- 26 TIPO DE SERVICIO (Exclusivo/Externo/Recorrido) --}}@if($servicio->ProgVehExclusive == 1) Exclusivo @elseif($servicio->SolSerTipo == 'Externo') Externo @else Recorrido @endif | {{-- 27 CONDUCTOR --}}@if($servicio->conductor_nombre) {{ $servicio->conductor_nombre }} {{ $servicio->conductor_apellido }} @elseif($servicio->ProgVehNameConductorEXT) {{ $servicio->ProgVehNameConductorEXT }} @else N/A @endif | {{-- 28 PLACA --}}@if($servicio->vehiculo_placa) {{ $servicio->vehiculo_placa }} @elseif($servicio->ProgVehPlacaEXT) {{ $servicio->ProgVehPlacaEXT }} @else N/A @endif | {{-- 29 AYUDANTE --}}@if($servicio->ayudante_nombre) {{ $servicio->ayudante_nombre }} {{ $servicio->ayudante_apellido }} @elseif($servicio->ProgVehNameAuxiliarEXT) {{ $servicio->ProgVehNameAuxiliarEXT }} @else N/A @endif | {{-- 30 TIPO DE TRANSPORTE (Interno/Externo/alquilado) --}}@php $tipoTransporte = null; // 1) Priorizar razón social de Prosarc en empresa transportadora $transName = $servicio->SolSerNameTrans ?? ''; if(!empty($transName)){ $upperName = function_exists('mb_strtoupper') ? mb_strtoupper($transName, 'UTF-8') : strtoupper($transName); if(strpos($upperName, 'PROTECCIÓN SERVICIOS AMBIENTALES RESPEL') !== false || strpos($upperName, 'PROTECCION SERVICIOS AMBIENTALES RESPEL') !== false || strpos($upperName, 'PROSARC') !== false){ $tipoTransporte = 'Prosarc'; } } // 2) Si la empresa NO es Prosarc pero ProgVehtipo viene como 1 (interno), corregir a Alquilado/Externo if(!$tipoTransporte && !empty($transName) && isset($servicio->ProgVehtipo) && $servicio->ProgVehtipo == 1){ $isProsarcName = isset($upperName) && ( strpos($upperName, 'PROTECCIÓN SERVICIOS AMBIENTALES RESPEL') !== false || strpos($upperName, 'PROTECCION SERVICIOS AMBIENTALES RESPEL') !== false || strpos($upperName, 'PROSARC') !== false ); if(!$isProsarcName){ // Si el tipo de servicio es Externo/Cliente/Generador, marcar Externo, si no, Alquilado if(!empty($servicio->SolSerTipo) && in_array($servicio->SolSerTipo, ['Externo','Cliente','Generador'])){ $tipoTransporte = 'Externo'; } else { $tipoTransporte = 'Alquilado'; } } } // 3) Si no se determinó por empresa ni por corrección, usar ProgVehtipo if(!$tipoTransporte && isset($servicio->ProgVehtipo)){ if($servicio->ProgVehtipo == 1){ $tipoTransporte = 'Prosarc'; } elseif($servicio->ProgVehtipo == 2){ $tipoTransporte = 'Alquilado'; } elseif($servicio->ProgVehtipo == 0){ $tipoTransporte = 'Externo'; } } // 4) Fallback según SolSerTipo de la solicitud if(!$tipoTransporte && !empty($servicio->SolSerTipo)){ if($servicio->SolSerTipo === 'Interno'){ $tipoTransporte = 'Prosarc'; } elseif(in_array($servicio->SolSerTipo, ['Externo','Cliente','Generador'])){ $tipoTransporte = 'Externo'; } } @endphp {{ $tipoTransporte ?? 'No Especificado' }} |