<?php
####################### Modificaciones #################
# 21/04/2017 | Erica G.| CAMBIAR TERCERO POR TERCERO DEL DETALLE
#06/04/2017 |Erica G |VERIFICACION CONSULTAS
#13/03/2017 |ERICA G | AÑADIR CAMPO NUMERO COMPROBANTE
#06/03/2017 |ERICA G | ARREGLO CONSULTAS FECHA
#03/03/2017 |ERICA G. |MODIFICACION CONSULTAS
#12:00 | 11/02/2017 | Erica G //Arreglo de consultas
#########################################################
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=Informe_Auxiliar_Contable.xls");
require_once("../Conexion/conexion.php");
require_once '../Conexion/ConexionPDO.php';
$con = new ConexionPDO();
$conexion = $_SESSION['conexion'];
ini_set('max_execution_time', 0);
session_start();
$panno          = $_SESSION['anno'];
$compania       = $_SESSION['compania'];
$calendario     = CAL_GREGORIAN;
$anno           = $_REQUEST['sltAnnio'];
$mes            = $_REQUEST['sltmes'];
$dia            = cal_days_in_month($calendario, $mes, $anno);
$fecha          = $anno . '-' . $mes . '-' . $dia;
$fechaInicial   = $anno . '-' . '01-01';

$compini        = $_REQUEST["sltTci"];
$compfin        = $_REQUEST["sltTcf"];
$fechaini       = $_REQUEST["fechaini"];
$fechafin       = $_REQUEST["fechafin"];
$cuentaini      = $_REQUEST["sltctai"];
$cuentafin      = $_REQUEST["sltctaf"];
#********Consultas encabezado ****#########
#Consulta Mínima Cuenta
$mincta = $con->Listar("SELECT codi_cuenta from gf_cuenta WHERE id_unico = $cuentaini");
// $mincta = $mysqli->query($cta1);
$filac1 = $mincta;
$cuentaMin = $filac1[0][0];
#Fin Consulta Mínima Cuenta
#Inicio consulta Máxima Cuenta
$maxcta = $con->Listar("SELECT codi_cuenta from gf_cuenta WHERE id_unico = $cuentafin");
// $maxcta = $mysqli->query($cta2);
$filac2 = $maxcta;
$cuentaMax = $filac2[0][0];
#Fin Consulta Maxima Cuenta

#************Datos Compañia************#
$compania = $_SESSION['compania'];
$resultC = $con->Listar("SELECT 	ter.id_unico,
        ter.razonsocial,
        UPPER(ti.nombre),
        ter.numeroidentificacion,
        dir.direccion,
        tel.valor,
        ter.ruta_logo
        FROM gf_tercero ter
        LEFT JOIN 	gf_tipo_identificacion ti ON ter.tipoidentificacion = ti.id_unico
        LEFT JOIN   gf_direccion dir ON dir.tercero = ter.id_unico
        LEFT JOIN 	gf_telefono  tel ON tel.tercero = ter.id_unico
        WHERE ter.id_unico = $compania");
// $resultC = $mysqli->query($sqlC);
$rowC = $resultC;
$razonsocial = $rowC[0][1];
$nombreIdent = $rowC[0][2];
$numeroIdent = $rowC[0][3];
$direccinTer = $rowC[0][4];
$telefonoTer = $rowC[0][5];

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Auxiliares Contables</title>
</head>

<body>
    <table width="100%" border="1" cellspacing="0" cellpadding="0">
        <tr>
            <th colspan="9" align="center"><strong>
                    <br />&nbsp;
                    <br /><?php echo $razonsocial ?>
                    <br /><?php echo $nombreIdent . ' : ' . $numeroIdent . "<br/>" . $direccinTer . ' Tel:' . $telefonoTer ?>
                    <br />&nbsp;
                    <br />AUXILIARES CONTABLES
                    <br />Cuentas de <?php echo $cuentaMin . ' a ' . $cuentaMax ?>
                    <br />Comprobantes de <?php echo $compini . ' a ' . $compfin ?>
                    <br />Fecha <?php echo $fechaini . ' a ' . $fechafin ?></strong>
                <br />&nbsp;
            </th>
        </tr>
        <tr>
            <td><strong>FECHA</strong></td>
            <td><strong>TIPO COMPROBANTE</strong></td>
            <td><strong>NÚMERO COMPROBANTE</strong></td>
            <td><strong>CENTRO COSTO</strong></td>
            <td><strong>NOMBRE DEL TERCERO</strong></td>
            <td><strong>DESCRIPCION</strong></td>
            <td><strong>VALOR DEBITO</strong></td>
            <td><strong>VALOR CREDITO</strong></td>
            <td><strong>SALDO</strong></td>
        </tr>

        <?php
        $codd    = 0;
        $totales = 0;
        $valorA = 0;

        $debito = "";
        $credito = "";
        $totaldeb = 0.00;
        $totalcred = 0.00;

        $saldoT = 0;
        $saldoTT = 0;

        $cnt = 0;
        $mincta = $con->Listar("SELECT codi_cuenta from gf_cuenta WHERE id_unico = $cuentaini");
        // $mincta = $mysqli->query($cta1);

        // while ($filac1 = mysqli_fetch_array($mincta)) {
        for ($filac1 = 0; $filac1 < count($mincta); $filac1++) {
            $cuentaMin = $mincta[$filac1][0];
        }
        #Fin Consulta Mínima Cuenta
        $cuenta1 = $cuentaMin;
        #Inicio consulta Máxima Cuenta
        $maxcta = $con->Listar("SELECT codi_cuenta from gf_cuenta WHERE id_unico = $cuentafin");
        // $maxcta = $mysqli->query($cta2);
        // while ($filac2 = mysqli_fetch_array($maxcta)) {
        for ($filac2 = 0; $filac2 < count($maxcta); $filac2++) {
            $cuentaMax = $maxcta[$filac2][0];
        }

        $cuenta = $con->Listar("SELECT DISTINCT cuenta FROM gf_detalle_comprobante dc 
            LEFT JOIN gf_cuenta c ON dc.cuenta= c.id_unico 
            LEFT JOIN gf_comprobante_cnt cn ON dc.comprobante = cn.id_unico 
            WHERE cn.parametrizacionanno = $panno 
            AND dc.valor IS NOT NULL AND c.codi_cuenta BETWEEN '$cuentaMin' AND '$cuentaMax' 
            ORDER BY c.codi_cuenta ASC");
        // $cuenta = $mysqli->query($cuentas);
        // while ($filacuenta = mysqli_fetch_array($cuenta)) {
        for ($filacuenta = 0; $filacuenta < count($cuenta); $filacuenta++) {
            $cuent = $cuenta[$filacuenta][0];
            $cnt = $cuent;
            $codcuen = $con->Listar("SELECT codi_cuenta, nombre FROM gf_cuenta WHERE id_unico = '$cnt'");
            // $codcuen = $mysqli->query($idcuen);
            // while ($filacuen = mysqli_fetch_array($codcuen)) {
            for ($filacuen = 0; $filacuen < count($codcuen); $filacuen++) {
                $codicuenta = $codcuen[$filacuen][0] . ' - ' . ucwords(mb_strtolower($codcuen[$filacuen][1]));
            }

            #Fecha Previa - Comienzo
            $fechaP     = $fechaini;
            $fechaP     = trim($fechaP, '"');
            $fecha_div  = explode("/", $fechaP);
            $dia      = $fecha_div[0];
            $mes        = $fecha_div[1];
            $anio        = $fecha_div[2];
            $diaA       = intval($dia);
            $diaAnt     = $diaA - 1;
            #Rutina para obtener la fecha del día anterior
            if ($diaAnt < 1) {
                switch ($mes) {
                    case 1:
                        $mes = 1;
                        $diaAnt = 01;
                        break;
                    case 2:
                        $mes = $mes - 1;
                        $diaAnt = 31;
                        break;
                    case 3:
                        $mes = $mes - 1;
                        $diaAnt = 29;
                        break;
                    case 4:
                        $mes = $mes - 1;
                        $diaAnt = 31;
                        break;
                    case 5:
                        $mes = $mes - 1;
                        $diaAnt = 30;
                        break;
                    case 6:
                        $mes = $mes - 1;
                        $diaAnt = 31;
                        break;
                    case 7:
                        $mes = $mes - 1;
                        $diaAnt = 30;
                        break;
                    case 8:
                        $mes = $mes - 1;
                        $diaAnt = 31;
                        break;
                    case 9:
                        $mes = $mes - 1;
                        $diaAnt = 31;
                        break;
                    case 10:
                        $mes = $mes - 1;
                        $diaAnt = 30;
                        break;
                    case 11:
                        $mes = $mes - 1;
                        $diaAnt = 31;
                        break;
                    case 12:
                        $mes = $mes - 1;
                        $diaAnt = 30;
                        break;
                }
                $fechaP = $anio . '-' . $mes . '-' . $diaAnt;
            }
            #Fin Rutina para obtener la fecha previa*/
            if ($diaAnt < 10) {
                $diaAnt = '0' . $diaAnt;
            }
            $fechaP = $anio . '-' . $mes . '-' . $diaAnt;
            $fecha11 = trim($fechaini, '"');
            $fecha_div1 = explode("/", $fecha11);
            $dia11 = $fecha_div1[0];
            $mes11 = $fecha_div1[1];
            $anio11 = $fecha_div1[2];
            $fechaini1 = $anio11 . '/' . $mes11 . '/' . $dia11;
            $fecha12 = trim($fechafin, '"');
            $fecha_div2 = explode("/", $fecha12);
            $dia12 = $fecha_div2[0];
            $mes12 = $fecha_div2[1];
            $anio12 = $fecha_div2[2];
            $fechafin1 = $anio12 . '/' . $mes12 . '/' . $dia12;
            switch ($conexion) {
                case 1:
                    $cp = $con->Listar("SELECT DISTINCT
                    cn.id_unico             as cnid,
                    cn.tipocomprobante      as cntcom,
                    cn.numero               as cnnum,
                    cn.tercero              as cnter, 
                    tr.id_unico             as trid,
                    tr.nombreuno            as trnom1,
                    tr.nombredos            as trnom2,
                    tr.apellidouno          as trape1,
                    tr.apellidodos          as trape2,
                    tr.razonsocial          as trsoc,
                    ti.nombre               as tinom,
                    tr.numeroidentificacion as trnum,
                    ct.id_unico             as ctid,
                    ct.sigla               as ctnom,
                    cc.id_unico             as ccid,
                    cc.nombre               as ccnom,
                    cn.numerocontrato       as cnnumcont,
                    ec.nombre               as ecnom,
                    cn.descripcion          as cndesc,
                    dc.comprobante          as dccomp,
                    dc.centrocosto          as dccos,
                    cn.fecha                as dcfec,
                    cen.id_unico            as cencid,
                    cen.nombre              as cennom,
                    cta.codi_cuenta         as nomcta,
                    cta.naturaleza          as natcta,
                    dc.valor                as dcvalor,
                    dc.cuenta               as dcuenta,
                    cn.fecha                as cnfec, 
                    IF(CONCAT_WS(' ',
                    tr.nombreuno,
                    tr.nombredos,
                    tr.apellidouno,
                    tr.apellidodos) 
                    IS NULL OR CONCAT_WS(' ',
                    tr.nombreuno,
                    tr.nombredos,
                    tr.apellidouno,
                    tr.apellidodos) = '',
                    (tr.razonsocial),
                    CONCAT_WS(' ',
                    tr.nombreuno,
                    tr.nombredos,
                    tr.apellidouno,
                    tr.apellidodos)) AS NOMBRE , 
                    dc.id_unico 
                    FROM gf_comprobante_cnt cn
                    LEFT JOIN gf_tipo_comprobante ct        ON cn.tipocomprobante = ct.id_unico
                    LEFT JOIN gf_tipo_comprobante nom       ON cn.tipocomprobante = ct.id_unico
                    LEFT JOIN gf_clase_contrato cc          ON cn.clasecontrato = cc.id_unico
                    LEFT JOIN gf_estado_comprobante_cnt ec  ON cn.estado = ec.id_unico 
                    LEFT JOIN gf_detalle_comprobante dc     ON cn.id_unico = dc.comprobante
                    LEFT JOIN gf_tercero tr                 ON dc.tercero = tr.id_unico
                    LEFT JOIN gf_tipo_identificacion ti     ON tr.tipoidentificacion = ti.id_unico
                    LEFT JOIN gf_centro_costo cen           ON dc.centrocosto = cen.id_unico
                    LEFT JOIN gf_cuenta cta                 ON cta.id_unico = dc.cuenta
                    WHERE dc.valor IS NOT NULL AND dc.cuenta = '$cnt'
                    AND cn.fecha BETWEEN '$fechaini1' AND '$fechafin1'
                    AND ct.sigla BETWEEN '$compini' AND '$compfin' AND ct.clasecontable != 5 
                    AND cn.parametrizacionanno = $panno AND ct.compania = $compania 
                    ORDER BY cn.fecha ASC");
                    break;
                case 2:
                    $cp = $con->Listar("SELECT DISTINCT
                    cn.id_unico AS cnid,
                    cn.tipocomprobante AS cntcom,
                    cn.numero AS cnnum,
                    cn.tercero AS cnter,
                    tr.id_unico AS trid,
                    tr.nombreuno AS trnom1,
                    tr.nombredos AS trnom2,
                    tr.apellidouno AS trape1,
                    tr.apellidodos AS trape2,
                    tr.razonsocial AS trsoc,
                    ti.nombre AS tinom,
                    tr.numeroidentificacion AS trnum,
                    ct.id_unico AS ctid,
                    ct.sigla AS ctnom,
                    cc.id_unico AS ccid,
                    cc.nombre AS ccnom,
                    cn.numerocontrato AS cnnumcont,
                    ec.nombre AS ecnom,
                    cn.descripcion AS cndesc,
                    dc.comprobante AS dccomp,
                    dc.centrocosto AS dccos,
                    cn.fecha AS dcfec,
                    cen.id_unico AS cencid,
                    cen.nombre AS cennom,
                    cta.codi_cuenta AS nomcta,
                    cta.naturaleza AS natcta,
                    dc.valor AS dcvalor,
                    dc.cuenta AS dcuenta,
                    cn.fecha AS cnfec,
                    CASE WHEN (TRIM(tr.nombreuno) || ' ' || TRIM(tr.nombredos) || ' ' || TRIM(tr.apellidouno) || ' ' || TRIM(tr.apellidodos) IS NULL OR
                    TRIM(tr.nombreuno) || ' ' || TRIM(tr.nombredos) || ' ' || TRIM(tr.apellidouno) || ' ' || TRIM(tr.apellidodos) = '') THEN tr.razonsocial
                    ELSE (TRIM(tr.nombreuno) || ' ' || TRIM(tr.nombredos) || ' ' || TRIM(tr.apellidouno) || ' ' || TRIM(tr.apellidodos))
                    END AS NOMBRE,
                    dc.id_unico
                    FROM gf_comprobante_cnt cn
                    LEFT JOIN gf_tipo_comprobante ct ON cn.tipocomprobante = ct.id_unico
                    LEFT JOIN gf_tipo_comprobante nom ON cn.tipocomprobante = ct.id_unico
                    LEFT JOIN gf_clase_contrato cc ON cn.clasecontrato = cc.id_unico
                    LEFT JOIN gf_estado_comprobante_cnt ec ON cn.estado = ec.id_unico
                    LEFT JOIN gf_detalle_comprobante dc ON cn.id_unico = dc.comprobante
                    LEFT JOIN gf_tercero tr ON dc.tercero = tr.id_unico
                    LEFT JOIN gf_tipo_identificacion ti ON tr.tipoidentificacion = ti.id_unico
                    LEFT JOIN gf_centro_costo cen ON dc.centrocosto = cen.id_unico
                    LEFT JOIN gf_cuenta cta ON cta.id_unico = dc.cuenta
                    WHERE dc.valor IS NOT NULL AND dc.cuenta = '$cnt'
                    AND cn.fecha BETWEEN TO_DATE('$fechaini1', 'YYYY-MM-DD') AND TO_DATE('$fechafin1', 'YYYY-MM-DD')
                    AND ct.sigla BETWEEN '$compini' AND '$compfin' AND ct.clasecontable != 5
                    AND cn.parametrizacionanno =  $panno AND ct.compania = $compania
                    ORDER BY cn.fecha ASC");
                    break;
                default:
                    # code...
                    break;
            }
            // $cp      = $mysqli->query($sql);
            ###########################################Fin Consulta Principal################################# 
            #Consulta Secundaria
            $a = $_SESSION['anno'];
            $anno = $con->Listar("SELECT anno FROM gf_parametrizacion_anno WHERE id_unico = $a");
            // $anno = $mysqli->query($anno);
            if (count($anno) > 0) {
                $anno = $anno;
                $anno = $anno[0][0];
            } else {
                $anno = date('Y');
            }

            if ($fechaini1 != $anno . '/01/01') {
                switch ($conexion) {
                    case 1:
                        $csaldo  = $con->Listar("SELECT DISTINCT
                    cn.id_unico             as cnid,
                    cta.naturaleza          as natcta,
                    dc.valor                as dcvalor,                                                
                    cn.tipocomprobante      as cntcom,
                    cn.numero               as cnnum,
                    cn.tercero              as cnter, 
                    tr.id_unico             as trid,
                    tr.nombreuno            as trnom1,
                    tr.nombredos            as trnom2,
                    tr.apellidouno          as trape1,
                    tr.apellidodos          as trape2,
                    tr.razonsocial          as trsoc,
                    ti.nombre               as tinom,
                    tr.numeroidentificacion as trnum,
                    ct.id_unico             as ctid,
                    ct.sigla                as ctnom,
                    cc.id_unico             as ccid,
                    cc.nombre               as ccnom,
                    cn.numerocontrato       as cnnumcont,
                    ec.nombre               as ecnom,
                    cn.descripcion          as cndesc,
                    dc.comprobante          as dccomp,
                    dc.centrocosto          as dccos,
                    dc.fecha                as dcfec,
                    cen.id_unico            as cencid,
                    cen.nombre              as cennom,
                    cta.codi_cuenta         as nomcta,
                   
                    dc.cuenta               as dcuenta,
                    dc.fecha                as cnfec, 
                    IF(CONCAT_WS(' ',
                    tr.nombreuno,
                    tr.nombredos,
                    tr.apellidouno,
                    tr.apellidodos) 
                    IS NULL OR CONCAT_WS(' ',
                    tr.nombreuno,
                    tr.nombredos,
                    tr.apellidouno,
                    tr.apellidodos) = '',
                (tr.razonsocial),
                CONCAT_WS(' ',
                    tr.nombreuno,
                    tr.nombredos,
                    tr.apellidouno,
                    tr.apellidodos)) AS NOMBRE, dc.id_unico  
                    FROM gf_comprobante_cnt cn
                    LEFT JOIN gf_tipo_comprobante ct        ON cn.tipocomprobante = ct.id_unico
                    LEFT JOIN gf_tipo_comprobante nom       ON cn.tipocomprobante = ct.id_unico
                    LEFT JOIN gf_clase_contrato cc          ON cn.clasecontrato = cc.id_unico
                    LEFT JOIN gf_estado_comprobante_cnt ec  ON cn.estado = ec.id_unico 
                    LEFT JOIN gf_detalle_comprobante dc     ON cn.id_unico = dc.comprobante
                    LEFT JOIN gf_tercero tr                 ON dc.tercero = tr.id_unico
                    LEFT JOIN gf_tipo_identificacion ti     ON tr.tipoidentificacion = ti.id_unico
                    LEFT JOIN gf_centro_costo cen           ON dc.centrocosto = cen.id_unico
                    LEFT JOIN gf_cuenta cta                 ON cta.id_unico = dc.cuenta
                    WHERE dc.cuenta = '$cnt'
                    AND cn.fecha BETWEEN '$anno-01-01' AND '$fechaP' 
                    AND cn.parametrizacionanno = $panno 
                    AND ct.sigla BETWEEN '$compini' AND '$compfin'
                    ORDER BY dc.fecha ASC");
                        break;
                    case 2:
                        $csaldo  = $con->Listar("SELECT DISTINCT
                    cn.id_unico AS cnid,
                    cta.naturaleza AS natcta,
                    dc.valor AS dcvalor,
                    cn.tipocomprobante AS cntcom,
                    cn.numero AS cnnum,
                    cn.tercero AS cnter,
                    tr.id_unico AS trid,
                    tr.nombreuno AS trnom1,
                    tr.nombredos AS trnom2,
                    tr.apellidouno AS trape1,
                    tr.apellidodos AS trape2,
                    tr.razonsocial AS trsoc,
                    ti.nombre AS tinom,
                    tr.numeroidentificacion AS trnum,
                    ct.id_unico AS ctid,
                    ct.sigla AS ctnom,
                    cc.id_unico AS ccid,
                    cc.nombre AS ccnom,
                    cn.numerocontrato AS cnnumcont,
                    ec.nombre AS ecnom,
                    cn.descripcion AS cndesc,
                    dc.comprobante AS dccomp,
                    dc.centrocosto AS dccos,
                    dc.fecha AS dcfec,
                    cen.id_unico AS cencid,
                    cen.nombre AS cennom,
                    cta.codi_cuenta AS nomcta,
                   
                    dc.cuenta AS dcuenta,
                    dc.fecha AS cnfec,
                    CASE WHEN (TRIM(tr.nombreuno) || ' ' || TRIM(tr.nombredos) || ' ' || TRIM(tr.apellidouno) || ' ' || TRIM(tr.apellidodos) IS NULL OR
                    TRIM(tr.nombreuno) || ' ' || TRIM(tr.nombredos) || ' ' || TRIM(tr.apellidouno) || ' ' || TRIM(tr.apellidodos) = '') THEN tr.razonsocial
                    ELSE (TRIM(tr.nombreuno) || ' ' || TRIM(tr.nombredos) || ' ' || TRIM(tr.apellidouno) || ' ' || TRIM(tr.apellidodos))
                    END AS NOMBRE, dc.id_unico
                    FROM  gf_comprobante_cnt cn
                    LEFT JOIN  gf_tipo_comprobante ct ON cn.tipocomprobante = ct.id_unico
                    LEFT JOIN  gf_tipo_comprobante nom ON cn.tipocomprobante = ct.id_unico
                    LEFT JOIN  gf_clase_contrato cc ON cn.clasecontrato = cc.id_unico
                    LEFT JOIN  gf_estado_comprobante_cnt ec ON cn.estado = ec.id_unico
                    LEFT JOIN  gf_detalle_comprobante dc ON cn.id_unico = dc.comprobante
                    LEFT JOIN  gf_tercero tr ON dc.tercero = tr.id_unico
                    LEFT JOIN  gf_tipo_identificacion ti ON tr.tipoidentificacion = ti.id_unico
                    LEFT JOIN  gf_centro_costo cen ON dc.centrocosto = cen.id_unico
                    LEFT JOIN  gf_cuenta cta ON cta.id_unico = dc.cuenta
                    WHERE  dc.cuenta = '$cnt'
                    AND cn.fecha BETWEEN TO_DATE('$anno || '-01-01', 'YYYY-MM-DD') AND TO_DATE('$fechaP', 'YYYY-MM-DD')
                    AND cn.parametrizacionanno =  $panno 
                    AND ct.sigla BETWEEN '$compini' AND '$compfin' ORDER BY dc.fecha ASC");
                        break;
                    default:
                        # code...
                        break;
                }
            } #WHERE dc.cuenta BETWEEN '$cuentaini' AND '$cuentafin'
            elseif ($fechaini1 == $anno . '/01/01') { //            
                $csaldo  = $con->Listar("SELECT DISTINCT
                    cn.id_unico             as cnid,                                                
                    cta.naturaleza          as natcta,
                    dc.valor                as dcvalor,
                    dc.cuenta               as dcuenta,
                    dc.fecha                as cnfec, 
                    dc.id_unico  
                    FROM gf_comprobante_cnt cn
                    LEFT JOIN gf_tipo_comprobante ct        ON cn.tipocomprobante = ct.id_unico
                    LEFT JOIN gf_tipo_comprobante nom       ON cn.tipocomprobante = ct.id_unico
                    LEFT JOIN gf_clase_contrato cc          ON cn.clasecontrato = cc.id_unico
                    LEFT JOIN gf_estado_comprobante_cnt ec  ON cn.estado = ec.id_unico 
                    LEFT JOIN gf_detalle_comprobante dc     ON cn.id_unico = dc.comprobante
                    LEFT JOIN gf_tercero tr                 ON dc.tercero = tr.id_unico
                    LEFT JOIN gf_tipo_identificacion ti     ON tr.tipoidentificacion = ti.id_unico
                    LEFT JOIN gf_centro_costo cen           ON dc.centrocosto = cen.id_unico
                    LEFT JOIN gf_cuenta cta                 ON cta.id_unico = dc.cuenta  
                    WHERE dc.cuenta = '$cnt'
                    AND cn.fecha = '$anno-01-01' 
                    AND cn.parametrizacionanno = $panno 
                    AND ct.clasecontable = 5 
                    ORDER BY dc.fecha ASC"); //Empty Query
            }

            // $csaldo = $mysqli->query($sql2);

            $saldoTA = 0.00;
            #########################################################################################
            ###################Consulta para obtener sumatoria de Saldos#############################
            #########################################################################################  
            if (count($csaldo) > 0) {

                // while ($filasal =   mysqli_fetch_array($csaldo)) {
                for ($filasal = 0; $filasal < count($csaldo); $filasal++) {
                    $csaldo[$filasal][0];
                    #Naturaleza Débito
                    if ($csaldo[$filasal][0] == 1) {
                        if ($csaldo[$filasal][2] >= 0) {
                            $debA = $csaldo[$filasal][2];
                            $saldoTA = $saldoTA + $debA;
                            $debitoA = number_format($csaldo[$filasal][2], 2, '.', ',');
                        } else {
                            $debitoA = "0.00";
                        }
                    } elseif ($csaldo[$filasal][1] == 2) {
                        if ($csaldo[$filasal][2] <= 0) {
                            $debA = $csaldo[$filasal][2];
                            $saldoTA = $saldoTA + $debA;
                            $xA = (float) substr($csaldo[$filasal][2], '1');
                            $debitoA = number_format($xA, 2, '.', ',');
                        } else {
                            $debitoA = "0.00";
                        }
                    }
                    #Fin Naturaleza Débito
                    # 
                    #Naturaleza Crédito
                    if ($csaldo[$filasal][1] == 2) {
                        if ($csaldo[$filasal][2] >= 0) {
                            $crA = $csaldo[$filasal][2];
                            $saldoTA = $saldoTA + $crA;
                            $creditoA = number_format($csaldo[$filasal][2], 2, '.', ',');
                        } else {
                            $creditoA = "0.00";
                        }
                        //$saldoT = $saldoT - $cr;
                    } elseif ($csaldo[$filasal][1] == 1) {
                        if ($csaldo[$filasal][2] <= 0) {
                            $crA = $csaldo[$filasal][2];
                            $saldoTA = $saldoTA + $crA;
                            $yA = (float) substr($csaldo[$filasal][2], '1');
                            $creditoA = number_format($yA, 2, '.', ',');
                        } else {
                            $creditoA = "0.00";
                        }
                    }

                    #    }
                }
            }


            ################################### 
            # Fin Consulta para llenar Saldos #
            ###################################
            if (count($cp) > 0) { ?>
                <tr>
                    <td colspan="5"><strong><?php echo 'Código cuenta: ' . $codicuenta; ?></strong></td>
                    <td colspan="4"><strong><?php echo 'Saldo Inicial:  ' . number_format($saldoTA, 2, '.', ','); ?></strong></td>
                </tr>
                <?php

                $tmp = 0;
                $cuenta1 = $cuentaini;
                $cuenta2 = 0;
                $saldoT = $saldoTA;
                $totaldeb = 0;
                $totalcred = 0;
                // while ($fila = mysqli_fetch_array($cp)) {
                for ($fila = 0; $fila < count($cp); $fila++) {
                    if ($cp[$fila][25] == 1) {
                        if ($cp[$fila][26] >= 0) {
                            $deb = $cp[$fila][26];
                            $tmp = $deb;
                            $saldoT = $saldoT + $deb;
                            $debito = number_format($cp[$fila][26], 2, '.', ',');
                            $totaldeb = $totaldeb + $cp[$fila][26];
                        } else {
                            $debito = "0.00";
                        }
                    } elseif ($cp[$fila][25] == 2) {
                        if ($cp[$fila][26] <= 0) {
                            $deb = $cp[$fila][26];
                            $tmp = $deb;
                            $saldoT = $saldoT + $deb;
                            $x = (float) substr($cp[$fila][26], '1');
                            $debito = number_format($x, 2, '.', ',');
                            $totaldeb = $totaldeb + $x;
                        } else {
                            $debito = "0.00";
                        }
                    }
                    #Fin Naturaleza Débito

                    #Naturaleza Crédito
                    if ($cp[$fila][25] == 2) {
                        if ($cp[$fila][26] >= 0) {
                            $cr = $cp[$fila][26];
                            $saldoT = $saldoT + $cr;
                            $credito = number_format($cp[$fila][26], 2, '.', ',');
                            $totalcred = $totalcred + $cp[$fila][26];
                        } else {
                            $credito = "0.00";
                        }
                        //$saldoT = $saldoT - $cr;
                    } elseif ($cp[$fila][25] == 1) {
                        if ($cp[$fila][26] <= 0) {
                            $cr = $cp[$fila][26];
                            $saldoT = $saldoT + $cr;
                            $y = (float) substr($cp[$fila][26], '1');
                            $credito = number_format($y, 2, '.', ',');
                            $totalcred = $totalcred + $y;
                        } else {
                            $credito = "0.00";
                        }
                        //$saldoT = $saldoT - $cr;
                    }
                    $fechaCC = $cp[$fila][28];
                    $fechaCC = trim($cp[$fila][28], '"');
                    $fecha_div = explode("-", $fechaCC);
                    $anio = $fecha_div[0];
                    $mes = $fecha_div[1];
                    $dia = $fecha_div[2];
                    $fechaCC = $dia . '/' . $mes . '/' . $anio;
                    #Fecha - Fin
                ?>
                    <tr>
                        <td><?php echo $fechaCC; ?></td>
                        <td><?php echo $cp[$fila][13]; ?></td>
                        <td><?php echo $cp[$fila][2]; ?></td>
                        <td><?php echo $cp[$fila][23]; ?></td>
                        <td><?php echo ucwords(mb_strtolower($cp[$fila]['NOMBRE'])) . ' - ' . $cp[$fila][11]; ?></td>
                        <td><?php echo $cp[$fila][18]; ?></td>
                        <td><?php echo $debito; ?></td>
                        <td><?php echo $credito; ?></td>
                        <td><?php echo number_format($saldoT, 2, '.', ','); ?></td>
                    </tr>
                <?php

                } ?>
                <tr>
                    <td colspan="6" align="right"><strong>TOTALES</strong></td>
                    <td><strong><?php echo number_format($totaldeb, 2, '.', ',') ?></strong></td>
                    <td><strong><?php echo number_format($totalcred, 2, '.', ',') ?></strong></td>
                </tr>
        <?php
            }
        }

        ?>
    </table>
</body>

</html>