@extends('fragments.fullTemplate') @section('titulo') Cobranza @endsection @php use App\Servicio_Cliente_Concepto; use App\Cobranza; use App\Servicio_Cliente_Reporte; use App\Cliente_Contacto_Factura; use App\Modo; use App\Int_Otros_Servicios_Concepto; $id_usuario = session('id_usuario'); if (! session('id_usuario')) { header('location: /'); die(); } $test=0; $id_cliente_factura=0; @endphp @section('contenido')
@component('Cobranza.navs') @slot('active1') @endslot @slot('active2') @endslot @slot('active3') active @endslot @slot('active4') @endslot @endcomponent
@if(session()->has('recordatorio_success'))
{{ session()->get('recordatorio_success') }}
@endif @if(session()->has('recordatorio_danger'))
{{ session()->get('recordatorio_danger') }}
@endif @include('Requisicion_compra.Notificacion.notificacion_requisicion_modal') @include('Control_documentos.Notificacion.notificacion_documento_version') {{-- @if ($datos_informes_pendientes->count()) @endif--}}
@if(session()->has('success')) @endif @if(session()->has('warning')) @endif @if(session()->has('error')) @endif @if (count($errors) > 0) @endif
@include('Modificaciones.notificacion_modificacion') @include('Modificaciones.Notificacion.notificacion_modificacion_firma_modal') @php $mesesSeleccionados = is_array($meses ?? null) ? $meses : []; if (empty($mesesSeleccionados) && ($modo_revision ?? 'rango') == 'rango' && empty($rango_fechas ?? '')) { $mesesSeleccionados = [date('n')]; } @endphp
No vencido de 1-30 días de 31-45 días de 46-60 días a 61-90 días +91 días
@if(($modo_revision ?? 'rango') == 'rango')
Puedes seleccionar uno o varios meses
ó
@endif
@forelse ($datos_informes_pendientes as $pendiente) @empty @endforelse
Cliente factura No. de informes Fecha emisión Fecha envío prefactura No. Factura Fecha envío factura Fecha promesa de pago Días vencidos Subtotal IVA TOTAL Acciones
{{ $pendiente->nombre_cliente_factura }} {{ $pendiente->num_informe }} {{ $pendiente->fecha_emision_mostrar }} {{ $pendiente->fecha_envio_prefactura_mostrar }} {{ $pendiente->numero_factura_mostrar }} {{ $pendiente->fecha_elaboracion_factura_mostrar }} {{ $pendiente->fecha_promesa_pago_mostrar }} {{ $pendiente->dias_vencidos_mostrar }} ${{ number_format($pendiente->subtotal_calculado, 2, '.', ',') }} ${{ number_format($pendiente->iva_calculado, 2, '.', ',') }} ${{ number_format($pendiente->total_calculado, 2, '.', ',') }}
@if ($permisos->verqr == 1) Detalles @endif
No se encontraron informes pendientes con el filtro seleccionado
TOTAL $0.00 $0.00 $0.00
@section('aaSorting') [ 0 , 'asc' ], [ 1 , 'asc' ] @endsection {{--@include('Cobranza.send_mail_recordatorio_cobranzas_modal')--}} @php function estatus_cobranza($id_cliente_factura,$id_cliente_informe){ $num_conceptos = Servicio_Cliente_Concepto::select( 'id_servicio_cliente_concepto' ) ->join('servicio_cliente_reportes','servicio_cliente_conceptos.id_servicio_cliente_reporte','=','servicio_cliente_reportes.id_servicio_cliente_reporte') ->join('recibo_muestras','servicio_cliente_reportes.id_recibo_muestra','=','recibo_muestras.id_recibo_muestra') ->join('cliente_factura_x_informes', 'recibo_muestras.id_cliente_factura_x_informes', '=', 'cliente_factura_x_informes.id_cliente_factura_x_informes') ->join('cliente_facturas', 'cliente_factura_x_informes.id_cliente_factura', '=', 'cliente_facturas.id_cliente_factura') ->where('cliente_factura_x_informes.id_cliente_factura',$id_cliente_factura) ->where('cliente_factura_x_informes.id_cliente_informe',$id_cliente_informe) ->get(); $num_conceptos = $num_conceptos->count(); $num_cobranzas = Cobranza::select( 'id_cobranza' ) ->join('servicio_cliente_conceptos','cobranzas.id_servicio_cliente_concepto','=','servicio_cliente_conceptos.id_servicio_cliente_concepto') ->join('servicio_cliente_reportes','servicio_cliente_conceptos.id_servicio_cliente_reporte','=','servicio_cliente_reportes.id_servicio_cliente_reporte') ->join('recibo_muestras','servicio_cliente_reportes.id_recibo_muestra','=','recibo_muestras.id_recibo_muestra') ->join('cliente_factura_x_informes', 'recibo_muestras.id_cliente_factura_x_informes', '=', 'cliente_factura_x_informes.id_cliente_factura_x_informes') ->join('cliente_facturas', 'cliente_factura_x_informes.id_cliente_factura', '=', 'cliente_facturas.id_cliente_factura') ->where('cobranzas.estatus','Pagado') ->where('cliente_factura_x_informes.id_cliente_factura',$id_cliente_factura) ->where('cliente_factura_x_informes.id_cliente_informe',$id_cliente_informe) ->get(); $num_cobranzas = $num_cobranzas->count(); $estatus_cobranza=""; if ($num_conceptos == $num_cobranzas) { $estatus_cobranza = "verde"; }elseif($num_conceptos > $num_cobranzas && $num_cobranzas > 0){ $estatus_cobranza = "amarillo"; }elseif($num_cobranzas == 0){ $estatus_cobranza = "rojo"; } return $estatus_cobranza; } function estatus_cobranza_2($id_cliente_factura, $num_conceptos){ $datos_auditoria = Modo::select('nombre', 'activo','updated_at as ultima_vez_actualizado') ->where('nombre', "Auditoría") ->first(); /*$num_conceptos = Servicio_Cliente_Concepto::select( 'id_servicio_cliente_concepto', 'servicios.clasificacion' ) ->join('servicio_cliente_reportes','servicio_cliente_conceptos.id_servicio_cliente_reporte','=','servicio_cliente_reportes.id_servicio_cliente_reporte') ->join('recibo_muestras','servicio_cliente_reportes.id_recibo_muestra','=','recibo_muestras.id_recibo_muestra') ->leftJoin('muestras','recibo_muestras.id_recibo_muestra','=','muestras.id_recibo_muestra') ->leftJoin('inspeccion_muestras','muestras.id_muestra','=','inspeccion_muestras.id_muestra') ->leftJoin('lista_precios_x_servicios','inspeccion_muestras.id_precio_x_servicio','=','lista_precios_x_servicios.id_precio_x_servicio') ->leftJoin('servicios','lista_precios_x_servicios.id_servicio','=','servicios.id_servicio') ->join('cliente_factura_x_informes', 'recibo_muestras.id_cliente_factura_x_informes', '=', 'cliente_factura_x_informes.id_cliente_factura_x_informes') ->join('cliente_facturas', 'cliente_factura_x_informes.id_cliente_factura', '=', 'cliente_facturas.id_cliente_factura') ->where('cliente_factura_x_informes.id_cliente_factura',$id_cliente_factura) //->where('cliente_factura_x_informes.id_cliente_informe',$id_cliente_informe) ->get();*/ if ($datos_auditoria->activo == 1) { $num_conceptos = $num_conceptos->whereNotIn('clasificacion', [2]); } $num_conceptos = $num_conceptos->count(); $num_cobranzas = Cobranza::select( 'id_cobranza', 'servicios.clasificacion' ) ->join('servicio_cliente_conceptos','cobranzas.id_servicio_cliente_concepto','=','servicio_cliente_conceptos.id_servicio_cliente_concepto') ->join('servicio_cliente_reportes','servicio_cliente_conceptos.id_servicio_cliente_reporte','=','servicio_cliente_reportes.id_servicio_cliente_reporte') ->join('recibo_muestras','servicio_cliente_reportes.id_recibo_muestra','=','recibo_muestras.id_recibo_muestra') ->leftJoin('muestras','recibo_muestras.id_recibo_muestra','=','muestras.id_recibo_muestra') ->leftJoin('inspeccion_muestras','muestras.id_muestra','=','inspeccion_muestras.id_muestra') ->leftJoin('lista_precios_x_servicios','inspeccion_muestras.id_precio_x_servicio','=','lista_precios_x_servicios.id_precio_x_servicio') ->leftJoin('servicios','lista_precios_x_servicios.id_servicio','=','servicios.id_servicio') ->join('cliente_factura_x_informes', 'recibo_muestras.id_cliente_factura_x_informes', '=', 'cliente_factura_x_informes.id_cliente_factura_x_informes') ->join('cliente_facturas', 'cliente_factura_x_informes.id_cliente_factura', '=', 'cliente_facturas.id_cliente_factura') ->where('cobranzas.estatus','Pagado') ->where('cliente_factura_x_informes.id_cliente_factura',$id_cliente_factura) //->where('cliente_factura_x_informes.id_cliente_informe',$id_cliente_informe) ->get(); if ($datos_auditoria->activo == 1) { $num_cobranzas = $num_cobranzas->whereNotIn('clasificacion', [2]); } //dd($num_cobranzas); //die(); $num_cobranzas = $num_cobranzas->count(); //dd($num_conceptos .">". $num_cobranzas ."&&". $num_cobranzas .">". 0); $estatus_cobranza=""; if ($num_conceptos == $num_cobranzas) { $estatus_cobranza = "verde"; }elseif($num_conceptos > $num_cobranzas || $num_cobranzas > 0){ $estatus_cobranza = "amarillo"; }elseif($num_cobranzas == 0){ $estatus_cobranza = "rojo"; }else{ $estatus_cobranza = "rojo"; } return $estatus_cobranza; } function cliente_factura_deuda_total($datos_informe, $datos_otros_servicios_secomsa){ $datos_auditoria = Modo::select('nombre', 'activo','updated_at as ultima_vez_actualizado') ->where('nombre', "Auditoría") ->first(); /*$conceptos_sin_cobranza = Servicio_Cliente_Concepto::select( 'servicio_cliente_conceptos.id_servicio_cliente_concepto', 'servicio_cliente_conceptos.precio_unitario', 'servicio_cliente_conceptos.descuento', 'servicio_cliente_conceptos.descuento_activo', 'servicio_cliente_conceptos.num_informe', 'cobranzas.id_cobranza', 'servicios.clasificacion' ) ->leftjoin('cobranzas','servicio_cliente_conceptos.id_servicio_cliente_concepto','=','cobranzas.id_servicio_cliente_concepto') ->join('servicio_cliente_reportes','servicio_cliente_conceptos.id_servicio_cliente_reporte','=','servicio_cliente_reportes.id_servicio_cliente_reporte') ->join('recibo_muestras','servicio_cliente_reportes.id_recibo_muestra','=','recibo_muestras.id_recibo_muestra') ->leftJoin('muestras','recibo_muestras.id_recibo_muestra','=','muestras.id_recibo_muestra') ->leftJoin('inspeccion_muestras','muestras.id_muestra','=','inspeccion_muestras.id_muestra') ->leftJoin('lista_precios_x_servicios','inspeccion_muestras.id_precio_x_servicio','=','lista_precios_x_servicios.id_precio_x_servicio') ->leftJoin('servicios','lista_precios_x_servicios.id_servicio','=','servicios.id_servicio') ->join('cliente_factura_x_informes', 'recibo_muestras.id_cliente_factura_x_informes', '=', 'cliente_factura_x_informes.id_cliente_factura_x_informes') ->where('cliente_factura_x_informes.id_cliente_factura',$id_cliente_factura) ->where('cobranzas.id_cobranza',null) ->get(); if ($datos_auditoria->activo == 1) { $conceptos_sin_cobranza = $conceptos_sin_cobranza->whereNotIn('clasificacion', [2]); } $conceptos_cobranza = Servicio_Cliente_Concepto::select( 'servicio_cliente_conceptos.id_servicio_cliente_concepto', 'servicio_cliente_conceptos.precio_unitario', 'servicio_cliente_conceptos.descuento', 'servicio_cliente_conceptos.descuento_activo', 'servicio_cliente_conceptos.num_informe', 'cobranzas.id_cobranza', 'servicios.clasificacion' ) ->leftjoin('cobranzas','servicio_cliente_conceptos.id_servicio_cliente_concepto','=','cobranzas.id_servicio_cliente_concepto') ->join('servicio_cliente_reportes','servicio_cliente_conceptos.id_servicio_cliente_reporte','=','servicio_cliente_reportes.id_servicio_cliente_reporte') ->join('recibo_muestras','servicio_cliente_reportes.id_recibo_muestra','=','recibo_muestras.id_recibo_muestra') ->leftJoin('muestras','recibo_muestras.id_recibo_muestra','=','muestras.id_recibo_muestra') ->leftJoin('inspeccion_muestras','muestras.id_muestra','=','inspeccion_muestras.id_muestra') ->leftJoin('lista_precios_x_servicios','inspeccion_muestras.id_precio_x_servicio','=','lista_precios_x_servicios.id_precio_x_servicio') ->leftJoin('servicios','lista_precios_x_servicios.id_servicio','=','servicios.id_servicio') ->join('cliente_factura_x_informes', 'recibo_muestras.id_cliente_factura_x_informes', '=', 'cliente_factura_x_informes.id_cliente_factura_x_informes') ->where('cliente_factura_x_informes.id_cliente_factura',$id_cliente_factura) //->where('cobranzas.id_cobranza',null) ->whereNotIn('cobranzas.estatus', ['Pagado']) ->get(); if ($datos_auditoria->activo == 1) { $conceptos_cobranza = $conceptos_cobranza->whereNotIn('clasificacion', [2]); } $total_conceptos_sin_cobranza = total_precio_unitario($conceptos_sin_cobranza); $total_conceptos_cobranza = total_precio_unitario($conceptos_cobranza); $total = $total_conceptos_cobranza + $total_conceptos_sin_cobranza;*/ if($datos_informe->count()){ $datos_informe = $datos_informe->whereNotIn('cobranza_estatus', ['Pagado']); $total = total_precio_unitario($datos_informe); }else{ $total = 0; } if($datos_otros_servicios_secomsa->count()){ $datos_otros_servicios_secomsa = $datos_otros_servicios_secomsa->whereNotIn('estatus_cobranza', ['Pagado']); $total_secomsa = total_precio_unitario_secomsa($datos_otros_servicios_secomsa); }else{ $total_secomsa = 0; } $total = $total_secomsa+$total; return $total; } function total_precio_unitario($conceptos){ $precio_unitario_total = 0; $precio_unitario_final = 0; $descuento = 0; foreach ($conceptos as $key => $concepto) { if ($concepto->descuento_activo == 1) { $descuento = $concepto->precio_unitario*$concepto->descuento/100; $precio_unitario_final = $concepto->precio_unitario-$descuento; }else{ $precio_unitario_final = $concepto->precio_unitario; } $precio_unitario_total += $precio_unitario_final; } $total = $precio_unitario_total * 1.16; return $total; } function total_precio_unitario_secomsa($conceptos){ $precio_unitario_total = 0; $precio_unitario_final = 0; $descuento = 0; $precio = 0; foreach ($conceptos as $key => $concepto) { if ($concepto->descuento_activo == 1) { //dd($concepto->descuento); $precio = $concepto->precio_unitario*$concepto->cantidad; $descuento = $precio*$concepto->descuento/100; $precio_unitario_final = $precio-$descuento; }else{ $precio_unitario_final = $concepto->precio_unitario*$concepto->cantidad; } $precio_unitario_total += $precio_unitario_final; } $total = $precio_unitario_total * 1.16; return $total; } function informes_cliente_factura($id_cliente_factura,$id_cliente_informe){ $informes = Servicio_Cliente_Concepto::select( 'id_servicio_cliente_concepto', 'num_informe' ) ->join('servicio_cliente_reportes','servicio_cliente_conceptos.id_servicio_cliente_reporte','=','servicio_cliente_reportes.id_servicio_cliente_reporte') ->join('recibo_muestras','servicio_cliente_reportes.id_recibo_muestra','=','recibo_muestras.id_recibo_muestra') ->join('cliente_factura_x_informes', 'recibo_muestras.id_cliente_factura_x_informes', '=', 'cliente_factura_x_informes.id_cliente_factura_x_informes') ->join('cliente_facturas', 'cliente_factura_x_informes.id_cliente_factura', '=', 'cliente_facturas.id_cliente_factura') ->where('cliente_factura_x_informes.id_cliente_factura',$id_cliente_factura) ->where('cliente_factura_x_informes.id_cliente_informe',$id_cliente_informe) ->get(); return $informes; } function informes_cliente_factura_2($id_cliente_factura){ $fecha_actual = date("d-m-Y"); $arr_fecha = explode("-",$fecha_actual); $anio = $arr_fecha[2]; $datos_auditoria = Modo::select('nombre', 'activo','updated_at as ultima_vez_actualizado') ->where('nombre', "Auditoría") ->first(); $informes = Servicio_Cliente_Concepto::select( 'servicio_cliente_conceptos.id_servicio_cliente_concepto', //'servicio_cliente_conceptos.num_informe', 'programacion_muestras.folio_programacion as num_informe', 'servicio_cliente_conceptos.producto as muestra', 'servicio_cliente_conceptos.marca as marca', 'servicio_cliente_conceptos.modelo', 'servicio_cliente_conceptos.precio_unitario as precio_unitario', 'servicio_cliente_conceptos.descuento_activo', 'servicio_cliente_conceptos.descuento', 'servicios.clasificacion', 'cobranzas.estatus as cobranza_estatus', 'cobranzas.numero_factura' ) ->join('servicio_cliente_reportes','servicio_cliente_conceptos.id_servicio_cliente_reporte','=','servicio_cliente_reportes.id_servicio_cliente_reporte') ->join('recibo_muestras','servicio_cliente_reportes.id_recibo_muestra','=','recibo_muestras.id_recibo_muestra') ->leftjoin('cobranzas','servicio_cliente_conceptos.id_servicio_cliente_concepto','=','cobranzas.id_servicio_cliente_concepto') ->leftjoin('programacion_muestras','servicio_cliente_conceptos.id_programacion_muestra','=','programacion_muestras.id_programacion_muestra') ->leftJoin('muestras','recibo_muestras.id_recibo_muestra','=','muestras.id_recibo_muestra') ->leftJoin('inspeccion_muestras','muestras.id_muestra','=','inspeccion_muestras.id_muestra') ->leftJoin('lista_precios_x_servicios','inspeccion_muestras.id_precio_x_servicio','=','lista_precios_x_servicios.id_precio_x_servicio') ->leftJoin('servicios','lista_precios_x_servicios.id_servicio','=','servicios.id_servicio') ->join('cliente_factura_x_informes', 'recibo_muestras.id_cliente_factura_x_informes', '=', 'cliente_factura_x_informes.id_cliente_factura_x_informes') ->join('cliente_facturas', 'cliente_factura_x_informes.id_cliente_factura', '=', 'cliente_facturas.id_cliente_factura') ->where('cliente_factura_x_informes.id_cliente_factura',$id_cliente_factura) ->whereBetween('recibo_muestras.fecha', ["20-12-01",$anio."-12-31"]) ->where('programacion_muestras.informe_cancelado',0) ->groupBy('programacion_muestras.folio_programacion') ->get(); if ($datos_auditoria->activo == 1) { $informes = $informes->whereNotIn('clasificacion', [2]); } /*foreach ($informes as $key => $value) { echo $value->num_informe."
"; } die(); */ return $informes; } function datos_otros_servicios_secomsa($id_cliente_factura){ $datos_otros_servicios_secomsa = Int_Otros_Servicios_Concepto::select( 'int_otros_servicios_conceptos.id_int_otro_servicio_concepto', 'int_otros_servicios_conceptos.descripcion', 'int_otros_servicios_conceptos.servicio', 'int_otros_servicios_conceptos.servicio_producto', 'int_otros_servicios_conceptos.cantidad', 'int_otros_servicios_conceptos.precio_unitario', 'int_otros_servicios_conceptos.descuento', 'int_otros_servicios_conceptos.descuento_activo', 'int_otros_servicios_conceptos.iva', 'int_otros_servicios_conceptos.estatus_email_prefactura', 'int_otros_servicios_conceptos.fecha_envio_email_prefactura', 'int_otros_servicios_reportes.credito_activo', 'int_otros_servicios_reportes.fecha_limite_credito', 'cliente_informes.nombre_empresa as nombre_cliente_informe', 'cobranzas.numero_factura', 'cobranzas.estatus as estatus_cobranza', 'cobranzas.id_cobranza' ) ->leftjoin('cobranzas', 'int_otros_servicios_conceptos.id_int_otro_servicio_concepto', '=', 'cobranzas.id_int_otro_servicio_concepto') ->join('int_otros_servicios_reportes', 'int_otros_servicios_conceptos.id_int_otro_servicio_reporte', '=', 'int_otros_servicios_reportes.id_int_otro_servicio_reporte') ->join('cliente_factura_x_informes', 'int_otros_servicios_reportes.id_cliente_factura_x_informes', '=', 'cliente_factura_x_informes.id_cliente_factura_x_informes') ->join('cliente_informes', 'cliente_factura_x_informes.id_cliente_informe', '=', 'cliente_informes.id_cliente_informe') ->join('cliente_facturas', 'cliente_factura_x_informes.id_cliente_factura', '=', 'cliente_facturas.id_cliente_factura') ->where('cliente_facturas.id_cliente_factura',$id_cliente_factura) ->get(); return $datos_otros_servicios_secomsa; } function datos_cliente_informes($id_cliente_factura){ $datos_cliente_informes = Servicio_Cliente_Reporte::select( 'cliente_facturas.id_cliente_factura as id_cliente_factura', 'cliente_facturas.nombre_empresa as nombre_cliente_factura', 'cliente_informes.id_cliente_informe as id_cliente_informe', 'cliente_informes.nombre_empresa as nombre_cliente_informe', 'cliente_informes.tipo_cliente as tipo_cliente' ) ->join('recibo_muestras','servicio_cliente_reportes.id_recibo_muestra','=','recibo_muestras.id_recibo_muestra') ->join('cliente_factura_x_informes', 'recibo_muestras.id_cliente_factura_x_informes', '=', 'cliente_factura_x_informes.id_cliente_factura_x_informes') ->join('cliente_informes', 'cliente_factura_x_informes.id_cliente_informe', '=', 'cliente_informes.id_cliente_informe') ->join('cliente_facturas', 'cliente_factura_x_informes.id_cliente_factura', '=', 'cliente_facturas.id_cliente_factura') ->groupBy('cliente_informes.id_cliente_informe') ->where('cliente_facturas.id_cliente_factura',$id_cliente_factura) ->orderBy('cliente_informes.id_cliente_informe','ASC') ->get(); return $datos_cliente_informes; } function datos_contacto_cliente_factura($id_cliente_factura){ $datos_contacto = Cliente_Contacto_Factura::vigentes() ->select( 'nombre_contacto', 'telefono', 'extension', 'celular' ) ->where('id_cliente_factura',$id_cliente_factura) ->get(); return $datos_contacto; } function datos_contacto_informe($id_cliente_contacto_factura){ $datos_contacto = Cliente_Contacto_Factura::vigentes() ->select('id_cliente_contacto_factura','correo') ->where('id_cliente_contacto_factura',$id_cliente_contacto_factura) ->first(); return $datos_contacto; } @endphp @include('Cobranza.create_informe') @endsection