<?php
use Carbon\Carbon;
use Predial\Vencimiento;
use Predial\InteresDescuento;
use Predial\Http\Controllers\LiquidadorInteresesController;
use Predial\Http\Controllers\ExtractoController;
use Predial\Http\Controllers\ExcensionesController;
use Predial\Http\Controllers\FacturaPredialController;
use Predial\DestinoEconomico;
 ?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Extracto</title>
    <link media="all" rel="icon" type="image/ico"  href="/img/AAA.ico">
</head>
<body>
    <div style="padding-right: 40px;padding-left: 40px; padding-top: 25px; padding-bottom: 25px">
        <table style="width: 100%">
            <tr>
                <td rowspan="3" style="width: 1%">
                    <img src="{{ $compania->logo }}" style="width:55px; float: left; margin-top: 0px">
                </td>
                <td style="text-align: center">
                    <span class="bold" style="margin-left: -55px">{{ $compania->razonsocial }}</span>
                </td>
            </tr>
            <tr>
                <td style="text-align: center; font-size: 10px">
                    <span class="bold" style="margin-left: -55px">NIT: {{ $compania->numeroi }}</span>
                </td>
            </tr>
            <tr>
                <td style="text-align: center; font-size: 10px">
                    <span class="bold" style="margin-left: -55px">DIRECCIÓN: {{ $compania->direccion }}</span>
                </td>
            </tr>
        </table>
        <h4 style="text-align: center; font-size: 12px">ESTADO DE CUENTA IMPUESTO PREDIAL</h4>
        <table style="width: 100%; font-size: 10px">
            <thead">
                <tr>
                    <th style="font-weight: 0" colspan="8">
                        <span style="text-align:left;">{{ $date }}</span>
                    </th>
                </tr>
                <tr>
                    <th>COD. CATASTRAL</th>
                    <th style="font-weight: 0">{{ $datap->codigo_catastral }}</th>
                    <th>NIT./CC.</th>
                    <th style="font-weight: 0">{{ $prop->numero }}</th>
                    <th>AREA</th>
                    <th style="font-weight: 0">{{ $area->valor }}</th>
                    <th colspan="2">AREA CONST.</th>
                </tr>
                <tr>
                    <th>PROPIETARIO</th>
                    <th style="font-weight: 0" colspan="3">
                        <?php
                            $nom = $prop->nombres;
                            $xxx = stripos($prop->nombres, "-");
                            if($xxx !== false){
                                $nom = str_replace("-", " ", $nom);
                            }
                         ?>
                        {{ $nom }}
                    </th>
                    <th>MTS.</th>
                    <th style="font-weight: 0">{{ $area->area_metros }}</th>
                    <th style="font-weight: 0" colspan="2">{{ $area->area_construida }}</th>
                </tr>
                <tr>
                    <th>NOMBRE PREDIO</th>
                    <th style="font-weight: 0" colspan="3">{{ $datap->nombre }}</th>
                    <th colspan="4">DIR. PROPIETARIO</th>
                </tr>
                <tr>
                    <th>DIR. PREDIO</th>
                    <th style="font-weight: 0" colspan="3">{{ $datap->direccion }}</th>
                    <th style="font-weight: 0" colspan="4">{{ $prop->direccion }}</th>
                </tr>
                <tr>
                    <?php
                    $destino = DestinoEconomico::find($datap->destino_economico);
                     ?>
                    <th>DESTINO ECONÓMICO</th>
                    <th style="font-weight: 0" colspan="3">{{ $destino->codigo }}</th>
                </tr>
            </thead>
        </table>
        <table style="width: 100%; font-size: 10px">
            <?php list($imp, $sob, $cor, $int, $des, $pap, $sol, $icp, $deb, $xxx) = array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0); ?>
            <thead>
                <tr>
                    <th style="text-align: center">AÑO</th>
                    <th style="text-align: center">T/MIL</th>
                    <th style="text-align: center">AVALUO</th>
                    <th style="text-align: center">IMPUESTO</th>
                    <th style="text-align: center">INTERES</th>
                    <th style="text-align: center">DESCUENTO</th>
                    <th style="text-align: center">CAS</th>
                    <th style="text-align: center">INT.CAS</th>
                    <th style="text-align: center">SOB.BOMBERIL</th>
                    <th style="text-align: center">PAPELERIA</th>
                    <th style="text-align: center">D.COBRAR</th>
                    <th style="text-align: center">TOTAL</th>
                </tr>
            </thead>
            <tbody style="border-top: 1px solid #000">
                <?php
                    $xmin = DB::table('gr_ultimo_ano_pago')->where('predio', '=', $datap->id_unico)->min('anno');
                    if (is_null($xmin)) {
                        $xmin = Carbon::now()->year - 1;
                    }
                    $data = DB::table('gr_avaluo as gav')
                        ->leftJoin('gr_detalle_factura_predial as gdf', 'gdf.avaluo', '=', 'gav.id_unico')
                        ->leftJoin('gr_detalle_pago_predial as gdp', 'gdp.detallefactura', '=', 'gdf.id_unico')
                        ->leftJoin('gr_tarifa as tar', 'gav.tarifa', '=', 'tar.id_unico')
                        ->where('gav.predio', '=', $datap->id_unico)
                        ->where('gav.anno', '>', $xmin)
                        ->groupBy('gav.anno')
                        ->select(
                            'gav.anno as anno', 'gav.valor as avaluo', 'tar.valor as tarifa',
                            'tar.tipobaseambiental', 'tar.porcentajeimpuestoambiental',
                            'tar.porcentajesobretasa', 'gav.id_unico as ida'
                        )
                        ->get();
                    $Liquidador = new LiquidadorInteresesController();
                    $impuestoPorAnno = [];
                    $CorporacionPorAnno = [];
                ?>
                @foreach($data as $row)
                    <?php
                    /*$xinf = DB::table('gr_detalle_pago_predial as gdp')
                        ->select(
                            'gdf.factura',
                            'gdp.pago',
                            DB::raw('SUM(gdp.valor) as valor_pago'),
                            DB::raw("(SELECT SUM(gdf2.valor) 
                                    FROM gr_detalle_factura_predial gdf2 
                                    WHERE gdf2.avaluo = $row->ida 
                                    AND gdf2.factura = gdf.factura) as factura_total")
                        )
                        ->join('gr_detalle_factura_predial as gdf', 'gdp.detallefactura', '=', 'gdf.id_unico')
                        ->where('gdf.avaluo', $row->ida)
                        ->first();*/

                    $avaluo = $row->ida;
                    $query = DB::table('gr_detalle_pago_predial as gdp')
                        ->join('gr_detalle_factura_predial as gdf', 'gdp.detallefactura', '=', 'gdf.id_unico')
                        ->where('gdf.avaluo', $avaluo)
                        ->selectRaw('
                            GROUP_CONCAT(DISTINCT gdf.factura) AS facturas,
                            GROUP_CONCAT(DISTINCT gdp.pago) AS pagos,
                            ROUND(SUM(gdp.valor),2) AS valor_pago
                        ')
                        ->selectSub(function ($sub) use ($avaluo) {
                            $sub->from('gr_detalle_factura_predial as gdf2')
                                ->selectRaw('SUM(gdf2.valor)')
                                ->where('gdf2.avaluo', $avaluo)
                                ->whereIn('gdf2.factura', function ($q) use ($avaluo) {
                                    $q->from('gr_detalle_pago_predial as gdp3')
                                    ->join('gr_detalle_factura_predial as gdf3', 'gdp3.detallefactura', '=', 'gdf3.id_unico')
                                    ->where('gdf3.avaluo', $avaluo)
                                    ->select('gdf3.factura')
                                    ->distinct();
                                });
                        }, 'factura_total');

                    $xinf = $query->first();
                    
                    $c = 0;
                    if ($xinf && $xinf->factura_total !== null && $xinf->valor_pago !== null) {
                        if ((int)$xinf->factura_total === (int)$xinf->valor_pago) {
                            $c = 1;
                        }
                    }
                    if($c==0){     ?>
                        
                            <?php
                            $fechaa = date("Y-m-d");

                            $year   = $row->anno;
                            $venc   = DB::table('gr_vencimiento as ven')
                                    ->where('ven.anno', '=', $row->anno)
                                    ->where('tipo', '=', 1)
                                    ->first();
                                    
                            $vend   = DB::table('gr_vencimiento as ven')
                                            ->leftJoin('gf_mes as mes', 'ven.mes', '=', 'mes.id_unico')
                                            ->where('ven.anno', '=', $row->anno)
                                            ->where('tipo', '=', 2)
                                            ->where('mes.numero', '=', date("m"))
                                            ->first();
                            $data_des = InteresDescuento::where('tipo', '=', 2)->where('anio', '=', $row->anno)->first();
                            $impuesto = 0; $corporacion = 0; $descuento = 0;
                            $ximpuesto = 0; $xcorporacion = 0; $xdescuento = 0;


                            #****** IMPUESTO *****#
                            $impuesto = ($row->avaluo * $row->tarifa) / 1000;
                            $impuesto = ExcensionesController::ExcencionCabezaFactura($datap->id_unico, $row->anno, 1, $impuesto);
                            $ximpuesto = $impuesto;
                            
                            if($impuesto < 0){
                                $impuesto = 0;
                            }
                            $impuestoAnterior = NULL;
                            $corporacionAnterior  = NULL;

                            #--------------------------------------------------------------------#
                            #Validar el 25%/50%
                            $annoAnterior = $row->anno -1;                            
                            $porMax = 25;
                            $vpor = 0;
                            if($row->anno >= 2026){
                                //Buscar Avaluo Año Pasado 
                                $avan   = DB::table('gr_avaluo as a')
                                        ->where('a.anno', '=', $annoAnterior)
                                        ->where('a.predio', '=', $datap->id_unico)
                                        ->first();
                                if ($avan) { 
                                    $vpor = (ROUND($row->avaluo *100 /$avan->valor,0)-100); 
                                    if($vpor > 3 ){
                                        $porMax = 50;
                                    }
                                }
                            }
                            //Buscar si hay pago del año pasado 
                            $ids = DB::table('gr_factura_predial as fp')
                            ->join('gr_detalle_factura_predial as df', 'df.factura', '=', 'fp.id_unico')
                            ->join('gr_detalle_pago_predial as dpp', 'df.id_unico', '=', 'dpp.detallefactura')
                            ->join('gr_avaluo as a', 'df.avaluo', '=', 'a.id_unico')
                            ->where('fp.predio', $datap->id_unico)
                            ->where('a.anno', $annoAnterior)
                            ->selectRaw('GROUP_CONCAT(DISTINCT fp.id_unico) as facturas')
                            ->value('facturas');
                            if (!empty($ids)) {
                                $arrayIds = !empty($ids) ? explode(',', $ids) : [];
                                $facturasAn = DB::table('gr_factura_predial as fp')
                                    ->join('gr_detalle_factura_predial as df', 'df.factura', '=', 'fp.id_unico')
                                    ->join('gr_concepto_predial as cp', 'df.concepto', '=', 'cp.id_unico')
                                    ->join('gr_avaluo as a', 'df.avaluo', '=', 'a.id_unico')
                                    ->whereIn('fp.id_unico', $arrayIds)
                                    ->where('a.anno', $annoAnterior)
                                    ->groupBy('fp.id_unico')
                                    ->select(
                                        'fp.id_unico',
                                        DB::raw('SUM(CASE WHEN cp.id_concepto = 1 THEN df.valor ELSE 0 END) AS IMPUESTO'),
                                        DB::raw('SUM(CASE WHEN cp.id_concepto = 3 THEN df.valor ELSE 0 END) AS CORPORACION')
                                    )
                                    ->havingRaw('
                                        SUM(CASE WHEN cp.id_concepto = 1 THEN df.valor ELSE 0 END) > 0
                                        OR
                                        SUM(CASE WHEN cp.id_concepto = 3 THEN df.valor ELSE 0 END) > 0
                                    ')
                                    ->get();
                                if ($facturasAn->isNotEmpty()) {
                                    if ($facturasAn->first()->IMPUESTO > 0) {
                                        $impuestoPorAnno[$annoAnterior] = $facturasAn->first()->IMPUESTO ?? 0;

                                    }
                                    if ($facturasAn->first()->CORPORACION > 0) {
                                        $CorporacionPorAnno[$annoAnterior] = $facturasAn->first()->CORPORACION ?? 0;

                                    }
                                }
                            }
                            $data2 = DB::table('gr_avaluo as gav')
                                ->leftJoin('gr_tarifa as tar', 'gav.tarifa', '=', 'tar.id_unico')
                                ->where('gav.predio', '=', $datap->id_unico)
                                ->where('gav.anno', '=', $annoAnterior)
                                ->groupBy('gav.anno')
                                ->select(
                                    'gav.anno as anno', 'gav.valor as avaluo', 'tar.valor as tarifa',
                                    'tar.tipobaseambiental', 'tar.porcentajeimpuestoambiental',
                                    'tar.porcentajesobretasa', 'gav.id_unico as ida'
                                )
                                ->first();
                            
                            if (!empty($impuestoPorAnno[$annoAnterior]) && $impuestoPorAnno[$annoAnterior] != 0) {
                                $impuestoAnterior = $impuestoPorAnno[$annoAnterior];
                            } else {                                
                                if(!empty($data2->avaluo)){
                                    $impuestoAnterior = ($data2->avaluo * $data2->tarifa) / 1000;
                                }
                            }
                            if (!empty($CorporacionPorAnno[$annoAnterior]) && $CorporacionPorAnno[$annoAnterior] != 0) {
                                $corporacionAnterior = $CorporacionPorAnno[$annoAnterior];
                            } else {                                
                                if(!empty($data2->avaluo)){
                                    if($data2->tipobaseambiental == 6){
                                        $base2 = $data2->avaluo;
                                        $por2  = 1000;
                                    }else
                                    if($data2->tipobaseambiental == 7){
                                        $base2 = $impuestoAnterior  ;
                                        $por2  = 100;
                                    }
                                    $corporacionAnterior  = ($base2 * $data2->porcentajeimpuestoambiental) / $por2;
                                }
                            }

                            if($row->anno >='2025'){
                                if($impuestoAnterior !== null && $impuestoAnterior !=0){
                                    $valordif = ($impuestoAnterior * $porMax)/100;
                                    $valorMaximo = $impuestoAnterior + $valordif;
                                    if($impuesto >$valorMaximo){
                                        $impuesto =$valorMaximo;    
                                        $ximpuesto = $impuesto;
                                        $impuestoPorAnno[$row->anno] = $impuesto;
                                    }                                
                                }
                            }
                            $impuesto = round($impuesto, 0);
                            #--------------------------------------------------------------------#
                            
                            #*Descuentos 
                            $od  = DB::table('gr_otros_descuentos as o')
                            ->select('o.porcentaje as vp')
                            ->where('o.concepto', '=', 1)
                            ->whereRaw("'$fechaa' BETWEEN o.fecha_inicial AND o.fecha_final")
                            ->whereRaw("'$row->anno' BETWEEN o.vigencia_inicial AND o.vigencia_final")
                            ->first();
                            if(!empty($od->vp)){
                                $impuesto -= ($impuesto* $od->vp)/100;
                            }
                            
                            $impuesto = FacturaPredialController::ValidarValorAbono($impuesto, $datap->id_unico, 1, $row->anno);
                            $imp += $impuesto;
                            #****** INTERESES *****#
                            $xvn = Carbon::createFromDate($row->anno, 01, 01);
                            $xvn = $xvn->lastOfMonth();
                            $xven = $xvn->format("Y-m-d");

                            if($row->anno == date('Y')){
                                $ffd     = explode("-", $venc->fecha);
                                $fechaVV = Carbon::createFromDate($ffd[0], $ffd[1], $ffd[2]);
                                if( date('m') > $fechaVV->format('m') ){
                                     #Calculo de Intereses de mora
                                    $interes = $Liquidador->liquidar_intereses($impuesto, $xven, date("Y-m-d"), date("Y-m-d"));
                                    $interes = ExcensionesController::ExcencionCabezaFactura($datap->id_unico, $row->anno, 4, $interes);
                                    $interes = FacturaPredialController::ValidarValorAbono($interes, $datap->id_unico, 4, $row->anno);
                                    if($interes < 0){
                                        $interes = 0;
                                    }
                                } else {
                                    $interes = 0;
                                }
                            } else { 
                                #Calculo de Intereses de mora 
                                if($impuesto <=0){
                                    $interes = $Liquidador->liquidar_intereses($impuesto, $xven, date("Y-m-d"), date("Y-m-d"));
                                } else {
                                    $interes = $Liquidador->liquidar_intereses($ximpuesto, $xven, date("Y-m-d"), date("Y-m-d"));
                                }
                                $interes = ExcensionesController::ExcencionCabezaFactura($datap->id_unico, $row->anno, 4, $interes);
                                $interes = FacturaPredialController::ValidarValorAbono($interes, $datap->id_unico, 4, $row->anno);
                                if($interes < 0){
                                    $interes = 0;
                                }
                            }
                            $interes = round($interes, 0);
                            $od  = DB::table('gr_otros_descuentos as o')
                            ->select('o.porcentaje as vp')
                            ->where('o.concepto', '=', 4)
                            ->whereRaw("'$fechaa' BETWEEN o.fecha_inicial AND o.fecha_final")
                            ->whereRaw("'$row->anno' BETWEEN o.vigencia_inicial AND o.vigencia_final")
                            ->first();
                            if(!empty($od->vp)){
                                $interes -= ($interes* $od->vp)/100;
                            }
                            $int += $interes;

                            #****** DESCUENTO *****#
                            if(!empty($vend)){
                                $ffd     = explode("-", $vend->fecha);
                                $fechaVV = Carbon::createFromDate($ffd[0], $ffd[1], $ffd[2]);
                                if($row->anno == date("Y")){#Si años son iguales
                                    $vid = DB::table('gr_interes_descuento as ids')
                                       ->select('ids.valor as valor')
                                       ->leftJoin('gf_mes as mes', 'mes.id_unico', '=', 'ids.mes')
                                       ->Where('ids.anio', '=', $row->anno)
                                       ->Where('mes.numero', '=', $fechaVV->format('m'))
                                       ->Where('ids.tipo', '=', '2')
                                       ->first();
                                        if(!empty($vid->valor)){
                                            $descuento       = ($ximpuesto * $vid->valor) / 100;
                                        }
                                }else{
                                    $descuento = 0;
                                }

                                if($row->anno != date("Y")){
                                    $descuento = 0;
                                }
                            }else{
                                $descuento = 0;
                            }

                            $descuento = $descuento * -1;
                            $descuento = $descuento;
                            if($row->anno != date("Y")){
                                $descuento = 0;
                                $descuento = 0;
                            }
                            $descuento = ExcensionesController::ExcencionCabezaFactura($datap->id_unico, $row->anno, 5, $descuento);
                            $descuento = round($descuento, 0);
                            $xdescuento = FacturaPredialController::ValidarValorAbono($descuento, $datap->id_unico, 5, $row->anno);
                            $des += $descuento>0?$descuento:$descuento * -1;


                            #****** CORPORACION *****#

                            $base = 0; $por = 0;
                            if($row->tipobaseambiental == 6){
                                $base = $row->avaluo;
                                $por  = 1000;
                            }else
                            if($row->tipobaseambiental == 7){
                                $base = $ximpuesto ;
                                $por  = 100;
                            }
                            #Calculo de corporación regional o sobretasa ambiental
                            if(!empty($row->porcentajeimpuestoambiental)){
                                $valor       = ($base * $row->porcentajeimpuestoambiental) / $por;
                                $corporacion = $valor;
                            }else{
                                $corporacion = 0;
                            }
                            #Validar el 100%
                            if($row->anno >='2025'){
                                //$corporacion = $corporacionAnterior;
                                if($corporacionAnterior !==null && $corporacionAnterior !=0){
                                    $valorMaximoCorp    = $corporacionAnterior *2;
                                    if($corporacion >$valorMaximoCorp){
                                        $corporacion = $valorMaximoCorp;    
                                        $CorporacionPorAnno[$row->anno] = $corporacion;
                                    } 
                                }
                            }
                            $corporacion = ExcensionesController::ExcencionCabezaFactura($datap->id_unico, $row->anno, 3, $corporacion);
                            $corporacion = FacturaPredialController::ValidarValorAbono($corporacion, $datap->id_unico, 3, $row->anno);


                            if($corporacion < 0){
                                $corporacion = 0;
                            }

                            $corporacion = round($corporacion, 0);
                            $cor += $corporacion;

                            #****** INTERESE CORPORACION *****#
                            $xvn  = Carbon::createFromDate($row->anno, 01, 01);
                            $xvn  = $xvn->lastOfMonth();
                            $xved = $xvn->format("Y-m-d");

                            if($row->anno == date('Y')){
                                $ffd     = explode("-", $venc->fecha);
                                $fechaVV = Carbon::createFromDate($ffd[0], $ffd[1], $ffd[2]);
                                if(date('m') > $fechaVV->format('m') ){
                                     #Calculo de Intereses corporación
                                    $interesCar = $Liquidador->liquidar_intereses($corporacion, $xved , date("Y-m-d"), date("Y-m-d"));
                                    $interesCar = ExcensionesController::ExcencionCabezaFactura($datap->id_unico, $row->anno, 8, $interesCar);
                                    $interesCar = FacturaPredialController::ValidarValorAbono($interesCar, $datap->id_unico, 8, $row->anno);
                                    if($interesCar < 0){
                                        $interesCar = 0;
                                    }
                                } else {$interesCar = 0;}
                            } else { 
                                 #Calculo de Intereses corporación
                                $interesCar = $Liquidador->liquidar_intereses($corporacion, $xved , date("Y-m-d"), date("Y-m-d"));
                                $interesCar = ExcensionesController::ExcencionCabezaFactura($datap->id_unico, $row->anno, 8, $interesCar);
                                $interesCar = FacturaPredialController::ValidarValorAbono($interesCar, $datap->id_unico, 8, $row->anno);
                                if($interesCar < 0){
                                    $interesCar = 0;
                                }
                            }                              
                            $od  = DB::table('gr_otros_descuentos as o')
                            ->select('o.porcentaje as vp')
                            ->where('o.concepto', '=', 8)
                            ->whereRaw("'$fechaa' BETWEEN o.fecha_inicial AND o.fecha_final")
                            ->whereRaw("'$row->anno' BETWEEN o.vigencia_inicial AND o.vigencia_final")
                            ->first();
                            if(!empty($od->vp)){
                                $interesCar -= ($interesCar* $od->vp)/100;
                            }
                            $interesCar = round($interesCar, 0);
                            $icp += $interesCar;

                            #****** SOBRETASA *****#
                            if(!empty($row->porcentajesobretasa)){
                                #Calculo de sobretasa bomberil
                                $bomberil = ($ximpuesto * $row->porcentajesobretasa) / 100;
                            }else{
                                $bomberil = 0;
                            }
                            
                            if($bomberil < 0){
                                $bomberil = 0;
                            }
                            $od  = DB::table('gr_otros_descuentos as o')
                            ->select('o.porcentaje as vp')
                            ->where('o.concepto', '=', 7)
                            ->whereRaw("'$fechaa' BETWEEN o.fecha_inicial AND o.fecha_final")
                            ->whereRaw("'$row->anno' BETWEEN o.vigencia_inicial AND o.vigencia_final")
                            ->first();
                            if(!empty($od->vp)){
                                $bomberil -= ($bomberil* $od->vp)/100;
                            }
                            $bomberil = ExcensionesController::ExcencionCabezaFactura($datap->id_unico, $row->anno, 7, $bomberil);
                            $bomberil = FacturaPredialController::ValidarValorAbono($bomberil, $datap->id_unico, 7, $row->anno);
                            $bomberil = round($bomberil, 0);
                            $sol += $bomberil;

                            #****** PAPELERIA *****#
                            $papel = DB::table('gr_concepto_predial')
                                        ->select('formula')
                                        ->where('anno', '=', $year)
                                        ->where('id_concepto', '=', 6)
                                        ->first();
                            if(empty($papel)){
                                $papeleria = 0;
                            }else{
                                $papeleria = $papel->formula;
                            }
                            $papeleria = ExcensionesController::ExcencionCabezaFactura($datap->id_unico, $row->anno, 6, $papeleria);
                            //$papeleria = FacturaPredialController::ValidarValorAbono($papeleria, $datap->id_unico, 6, $row->anno);
                            if($papeleria < 0){
                                $papeleria = 0;
                            }
                            $od  = DB::table('gr_otros_descuentos as o')
                            ->select('o.porcentaje as vp')
                            ->where('o.concepto', '=', 6)
                            ->whereRaw("'$fechaa' BETWEEN o.fecha_inicial AND o.fecha_final")
                            ->whereRaw("'$row->anno' BETWEEN o.vigencia_inicial AND o.vigencia_final")
                            ->first();
                            if(!empty($od->vp)){
                                $papeleria -= ($papeleria* $od->vp)/100;
                            }

                            $pap += $papeleria;
                            $sq = DB::table('gr_concepto_predial')
                                    ->where('id_concepto', '=', 9)
                                    ->where('anno', '=', $row->anno)
                                    ->first();
                            if(empty($sq)){
                                $debido = 0;
                            }else{
                                $dd = DB::table('gr_debido_valor')
                                    ->select('valor')
                                    ->where('predio', '=', $datap->id_unico)
                                    ->first();
                                if(!empty($dd->valor)){
                                    $debido = $dd->valor;
                                }else{
                                    $debido = 0;
                                }

                            }

                            if(!is_numeric($debido)){
                                $debido = 0;
                            }

                            $deb += (float) $debido;
                            $x =  $impuesto + $interes + $descuento + $corporacion + $interesCar + $bomberil + $papeleria + $debido;
                            $xxx += $x;
                            if(ROUND($x,0) !=0 ){ ?>
                                <tr>
                                    <td>{{ $row->anno }}</td>
                                    <td>{{ $row->tarifa }}</td>
                                    <td style="text-align: right">{{ number_format($row->avaluo, 0, ',', '.') }}</td>
                                    <td style="text-align: right">{{ number_format($impuesto, 0, ',', '.') }}</td>
                                    <td style="text-align: right">{{ number_format($interes, 0, ',', '.') }}</td>
                                    <td style="text-align: right">{{ number_format($descuento>0?$descuento:$descuento * -1, 0, ',', '.') }}</td>
                                    <td style="text-align: right">{{ number_format($corporacion, 0, ',', '.') }}</td>
                                    <td style="text-align: right">{{ number_format($interesCar, 0, ',', '.') }}</td>
                                    <td style="text-align: right">{{ number_format($bomberil, 0, ',',' .') }}</td>
                                    <td style="text-align: right">{{ number_format($papeleria, 0, ',', '.') }}</td>
                                    <td style="text-align: right">{{ number_format($debido, 0, ',', '.') }}</td>
                                    <td style="text-align: right">{{ number_format($x, 0, ',', '.') }}</td>
                                </tr>
                            <?php } ?>
                        
                    <?php }
                    ?>
                @endforeach
            </tbody>
            <tfoot style="border-top: 1px solid #000">
                <tr>
                    <td colspan="3" style="text-align: center; font-weight: 700">TOTAL</td>
                    <td style="text-align: right">${{ number_format($imp, 0 ,',' ,'.') }}</td>
                    <td style="text-align: right">${{ number_format($int, 0 ,',' ,'.') }}</td>
                    <td style="text-align: right">${{ number_format($des, 0 ,',' ,'.') }}</td>
                    <td style="text-align: right">${{ number_format($cor, 0 ,',' ,'.') }}</td>
                    <td style="text-align: right">${{ number_format($icp, 0 ,',' ,'.') }}</td>
                    <td style="text-align: right">${{ number_format($sol, 0 ,',' ,'.') }}</td>
                    <td style="text-align: right">${{ number_format($pap, 0 ,',' ,'.') }}</td>
                    <td style="text-align: right">${{ number_format($deb, 0 ,',' ,'.') }}</td>
                    <td style="text-align: right">${{ number_format($xxx, 0 ,',' ,'.') }}</td>
                </tr>
            </tfoot>
        </table>
        <h4 style="text-align: left; font-size: 12px; margin-bottom: 0px">TOTAL A PAGAR: <span style="font-weight: 0">${{ number_format($xxx, 0, ',', '.') }}</span></h4>
        <h4 style="text-align: left; font-size: 12px; margin-top: 0px">SON: <span style="font-weight: 0">
            @if($xxx != 0 && $xxx > 0)            
                {{ ExtractoController::num2letras($xxx, false, false) }}
            @else
                {{ "CERO PESOS M/CTE" }}
            @endif
        </span></h4>
        <h4 style="text-align: left; font-size: 12px; margin-bottom: 0px">COOPROPIETARIOS:</h4>
        @foreach($props as $row)
            <?php
                $nom = $row->nombres;
                $xxx = stripos($row->nombres, "-");
                if($xxx !== false){
                    $nom = str_replace("-", " ", $nom);
                }
             ?>
            <span style="text-align: left; font-size: 12px">{{ $nom }}</span>
            <br/>
        @endforeach
    </div>
</body>
<style type="text/css" media="screen">
    html, body{
        font-family: "Arial", sans-serif;
    }

    h1, h2, h3, h4{
        font-weight: 800;
    }

    h1, h2, h3, h4, h5, h6, p{
        font-family: Arial, sans-serif;
    }

    .bold{
        font-weight:800;
    }
</style>
</html>