@extends('layouts.appReportes') @section('htmlheader_title','Reportes') {{-- @endsection --}} @section('contentheader_title', '') {{-- @endsection --}} @section('main-content')

reporte de cantidades

Nueva Consulta
@foreach ($servicios as $servicio) @foreach ($servicio->SolicitudResiduo as $solres) {{-- 1 RM --}} {{-- 2 # Solicitud --}} {{-- 3 Fecha de Recepción (lógica priorizada) --}} {{-- 4 Cliente --}} {{-- 5 Tipo Cliente --}} {{-- 6 NIT Cliente --}} {{-- 7 Generador (Nombre + Sede) --}} {{-- 8 NIT Generador --}} {{-- 9 Teléfono --}} {{-- 10 Dirección de servicio --}} {{-- 11 Municipio --}} {{-- 12 Nombre de residuo --}} {{-- 13 Estado --}} {{-- 14 Corriente --}} {{-- 15 Peligrosidad --}} {{-- 16 Tratamiento --}} {{-- 17 Gestor --}} {{-- 18 Cantidad Declarada --}} {{-- 19 Cantidad Recibida --}} {{-- 20 Cantidad Conciliada --}} {{-- 21 No. Certificado --}} {{-- 22 Empresa Transportadora --}} {{-- 23 Dirección Empresa Transportadora --}} {{-- 24 Municipio Empresa Transportadora --}} {{-- 25 Status --}} {{-- 26 TIPO DE SERVICIO (Exclusivo/Externo/Recorrido) --}} {{-- 27 CONDUCTOR --}} {{-- 28 PLACA --}} {{-- 29 AYUDANTE --}} {{-- 30 TIPO DE TRANSPORTE (Interno/Externo/alquilado) --}} @endforeach @endforeach
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
{{ $servicio->ID_SolSer }} @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' }} {{ optional($servicio->cliente)->CliName }} @if(optional($servicio->cliente)->CliCategoria == 'Cliente') Regular @elseif(optional($servicio->cliente)->CliCategoria == 'ClientePrepago') Express @else {{ optional($servicio->cliente)->CliCategoria ?? 'N/A' }} @endif {{ optional($servicio->cliente)->CliNit }} {{ optional(optional(optional($solres->generespel)->gener_sedes)->generadors)->GenerName }} @php $gsede = optional(optional($solres->generespel)->gener_sedes)->GSedeName; @endphp @if($gsede)
({{ $gsede }}) @endif
{{ optional(optional(optional($solres->generespel)->gener_sedes)->generadors)->GenerNit }}{{ optional(optional($solres->generespel)->gener_sedes)->GSedeCelular }}{{ optional(optional($solres->generespel)->gener_sedes)->GSedeAddress }}{{ optional(optional(optional($solres->generespel)->gener_sedes)->municipio)->MunName }}{{ optional(optional($solres->generespel)->respels)->RespelName }}{{ optional(optional($solres->generespel)->respels)->RespelEstado }} @php $r = optional(optional($solres->generespel)->respels); $corr = $r->YRespelClasf4741 ?? $r->ARespelClasf4741 ?? null; @endphp {{ $corr ?? 'N/A' }} {{ optional(optional($solres->generespel)->respels)->RespelIgrosidad }}{{ optional(optional($solres->requerimiento)->tratamiento)->TratName }}{{ optional(optional(optional($solres->requerimiento)->tratamiento)->gestor)->clientes->CliShortname ?? null }}{{ $solres->SolResKgEnviado }}{{ $solres->SolResKgRecibido }}{{ $solres->SolResKgConciliado }} @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 {{ $servicio->SolSerNameTrans }}{{ $servicio->SolSerAdressTrans }}{{ optional($servicio->Municipio)->MunName }}{{ $servicio->SolSerStatus }} @if($servicio->ProgVehExclusive == 1) Exclusivo @elseif($servicio->SolSerTipo == 'Externo') Externo @else Recorrido @endif @if($servicio->conductor_nombre) {{ $servicio->conductor_nombre }} {{ $servicio->conductor_apellido }} @elseif($servicio->ProgVehNameConductorEXT) {{ $servicio->ProgVehNameConductorEXT }} @else N/A @endif @if($servicio->vehiculo_placa) {{ $servicio->vehiculo_placa }} @elseif($servicio->ProgVehPlacaEXT) {{ $servicio->ProgVehPlacaEXT }} @else N/A @endif @if($servicio->ayudante_nombre) {{ $servicio->ayudante_nombre }} {{ $servicio->ayudante_apellido }} @elseif($servicio->ProgVehNameAuxiliarEXT) {{ $servicio->ProgVehNameAuxiliarEXT }} @else N/A @endif @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' }}
@endsection