<?php

/*
 * Html
 */

$html = '';
$cuenta = "";
$htmlfirmas = '';

/*
 * variables de cabecera informe
 */

//cambiar tildes al ser html
if ($type == "csv") {
    $empresa = "INGEOMINAS :: INSTITUTO COLOMBIANO DE GEOLOGÍA Y MINERÍA";
} else {
    $empresa = "INGEOMINAS :: INSTITUTO COLOMBIANO DE GEOLOG&#205;A Y MINER&#205;A";
}

//titulo
$titulo = "ANÁLISIS DE MOVIMIENTO CONTABLE DETALLADO";

/**
 * firmas
 */
$firmas = array();
//parametrizar firmas
//leer base de datos
//sentencia sql
$sql = <<<EOD
select * from CN_FIRMA fir
join CN_INFORME_FIRMA inf
on fir.ID_FIRMA = inf.ID_FIRMA
where fir.ACTIVO like '1%'
and fir.id_cia = $cia
and inf.COMANDO_INFORME = 'cb_anamov'
order by
fir.ORDEN,
fir.ID_FIRMA
EOD;
//ejecutar sql
$firmas = CN_TABLE::executeSQL($sql);

/*
 * tabla de firmas
 */
$htmlfirmas.= '<br><br><br><br><br><table width="100%">';

/*
 * recorrer el array de firmas
 */

//nombre
$htmlfirmas.= ' <tr>';
foreach ($firmas as $value) {
    $htmlfirmas.= '<td><b>' . strtoupper($value['nombre']) . '</b></td>';
}
$htmlfirmas.= ' </tr>';

//cargo
$htmlfirmas.= ' <tr>';
foreach ($firmas as $value) {
    $htmlfirmas.= '<td>' . strtoupper($value['cargo']) . '</td>';
}
$htmlfirmas.= ' </tr>';

//numero
$htmlfirmas.= ' <tr>';
foreach ($firmas as $value) {
    if ($value['numero'] != null) {
        $htmlfirmas.= '<td>T.P. ' . $value['numero'] . '</td>';
    } else {
        $htmlfirmas.= '<td></td>';
    }
}
$htmlfirmas.= ' </tr>';

//anexo
$htmlfirmas.= ' <tr>';
foreach ($firmas as $value) {
    $htmlfirmas.= '<td>' . $value['anexo'] . '</td>';
}
$htmlfirmas.= ' </tr>';

$htmlfirmas.= '</table>';

//echo $htmlfirmas;die();
//$html_excel
/*
 * impresion del html
 */
if ($type == "html") {
    $html .= '
  <!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" />

    <style type="text/css">
      table{
        /*font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;*/
        font-size: 13px;
        /*margin: 5px;*/
        /*width: 880px;*/
        /*width: 100%;*/
        text-align: left;
        border-collapse: collapse;
       }
      </style>

  </head>
  <body>
  ';
}

/*
 * Cabecera informe
 */
//$html .= '<table border="0" width="100%"><tbody><tr>
//          <td height=80>
//          <h2 align="left">Análisis de movimiento contable detallado</h2>
//          </td></tbody></table>';

$whereDescrip = "";
//VALIDAR SI FILTRA POR DESCRIPCION DE DOCUMENTOS
if (!is_null($Descrip)) {
    $whereDescrip = <<<EOD
and upper(descr_mto) like upper('%$Descrip%')
EOD;
}

/*
 * Consulta de movimientos para el rango de vigencia/periodo
 */

$sql_mov = <<<EOD
SELECT
lib.*
FROM
(
SELECT
cad.FECHA_CAD AS FECHA_CAD,
mov.ID_VIGENCIA || SUBSTR( '00'  || cad.ID_PERIODO_CONTABLE , -2,2 ) AS VIG_PER,
cad.ID_PERIODO_CONTABLE ,
per.NOM_PERIODO,
mov.ID_VIGENCIA,
mov.ID_MOV_CONT,
mov.ID_DOCUMENTO,
mov.ID_CAD,
mov.ID_CEN_OP,
mov.ID_CIA,
mov.ID_CATALOGO,
mov.ID_CUENTA_MAYOR,
mov.ID_GRUPO_CUENTA,
mov.ID_CLASE_CUENTA ,
mov.ID_MAE_TER ,
mov.ID_AUXILIAR ,
mov.ID_SUB_AUX,
mov.ID_CENTRO_COSTO,
mov.ID_SUB_CENTRO_COSTO,
mov.DEBITO,
mov.CREDITO,
mov.VALOR_BASE,
cla.DIGITO AS dig_cla,
cla.NOMBRE AS nom_cla,
gru.DIGITO AS dig_gru,
gru.NOMBRE AS nom_gru,
cue.DIGITOS AS dig_cue,
cue.NOMBRE AS nom_cue,
cat.DIGITOS AS dig_cat,
cat.NOMBRE AS nom_cat,
tc.ID_TIPO_COMPROBANTE,
tc.NOM_CORTO,
doc.DESCR_MTO,
doc.DOC_SOPORTE,
cue.NATURALEZA
FROM CN_MOVIMIENTO_CONTABLE mov

JOIN CN_CONTROL_CAD cad ON
mov.ID_CAD = cad.ID_CAD
AND mov.ID_VIGENCIA = cad.ID_VIGENCIA
AND mov.ID_CEN_OP = cad.ID_CEN_OP
AND mov.ID_CIA = cad.ID_CIA

JOIN CN_TIPO_COMPROBANTE tc
 ON cad.ID_CIA = tc.ID_CIA
AND cad.ID_TIPO_COMPROBANTE = tc.ID_TIPO_COMPROBANTE

JOIN CN_DOCUMENTO doc
 ON doc.ID_CIA = mov.ID_CIA
AND doc.ID_CAD = mov.ID_CAD
AND doc.ID_DOCUMENTO = mov.ID_DOCUMENTO
AND doc.ID_CEN_OP = mov.ID_CEN_OP
AND doc.ID_VIGENCIA = mov.ID_VIGENCIA

JOIN CN_PERIODO_CONTABLE  per ON
per.ID_PERIODO_CONTABLE = cad.ID_PERIODO_CONTABLE

JOIN CN_CLASE_CUENTA cla ON
cla.ID_CIA = mov.ID_CIA
AND cla.ID_CLASE_CUENTA = mov.ID_CLASE_CUENTA

JOIN CN_GRUPO_CUENTA gru ON
gru.ID_CIA = mov.ID_CIA
AND gru.ID_CLASE_CUENTA = mov.ID_CLASE_CUENTA
AND gru.ID_GRUPO_CUENTA = mov.ID_GRUPO_CUENTA

JOIN CN_CUENTA_MAYOR cue ON
cue.ID_CIA = mov.ID_CIA
AND cue.ID_CLASE_CUENTA = mov.ID_CLASE_CUENTA
AND cue.ID_GRUPO_CUENTA = mov.ID_GRUPO_CUENTA
AND cue.ID_CUENTA_MAYOR = mov.ID_CUENTA_MAYOR

JOIN CN_CATALOGO cat ON
cat.ID_CIA = mov.ID_CIA
AND cat.ID_CLASE_CUENTA = mov.ID_CLASE_CUENTA
AND cat.ID_GRUPO_CUENTA = mov.ID_GRUPO_CUENTA
AND cat.ID_CUENTA_MAYOR = mov.ID_CUENTA_MAYOR
AND cat.ID_CATALOGO = mov.ID_CATALOGO
)lib
where
lib.VIG_PER BETWEEN '$vig_perIni' and '$vig_perFin'
and lib.ID_CEN_OP = $cen_op and lib.ID_cia = $cia
$whereClase $whereGrupo $whereCuenta
$whereCatalogo $whereAuxiliar $whereTercero
$whereComprobante $whereDocumento $whereDescrip
ORDER BY
lib.dig_cla ASC,
lib.dig_gru ASC,
lib.dig_cue ASC,
lib.dig_cat ASC,
lib.ID_AUXILIAR ASC,
lib.FECHA_CAD ASC,
lib.ID_MOV_CONT ASC
EOD;

/*
 *
  lib.ID_MAE_TER ASC,
 *
  AND lib.dig_cla = 1
  AND lib.dig_gru = 1
  AND lib.dig_cue = 05
  AND lib.dig_cat = 01
 */

/*
  $sql=<<<EOD
  select *
  from pages
  where pagename='$pn'
  EOD;
 */


$records_mov = CN_TABLE::executeSQL($sql_mov);


/*
 * salida csv
 */

$scarpeta = "uploads"; //carpeta donde guardar el archivo.
//debe tener permisos 775 por lo menos

/*
 * se cambio extension a csv - 26092011
 */
$sfile = $scarpeta . "/tmp/Anamovcont" . date("d") . date("m") . date("Y") . ".csv"; //ruta del archivo a generar
$fp = fopen($sfile, "w");
//$sep = ";";
$sep = sfConfig::get('app_separador'); //variable global para manejo del separador - se obtiene de variables del modulo en la configuracion en app.yml
$htmlReportes = sfConfig::get('app_htmlReportes'); //carpeta de lectura donde se almacena

$shtml = "Análisis de movimiento contable detallado" . $sep . "\n";
$shtml.= $sep . "\n";

/*
 * tamanos de celdas htmls y pdf
 */
//tabla de cuetas
$sizeCuenta1 = 8;
$sizeCuenta2 = 60;
$sizeCuenta3 = 10;
//tabla de auxiliares
$sizeAuxiliar1 = 8;
$sizeAuxiliar2 = 60;
$sizeAuxiliar3 = 10;
//tabla de movimientos
$sizeMov1 = 8;
$sizeMov2 = 5;
$sizeMov3 = 5;
$sizeMov4 = 27;
$sizeMov5 = 7;
$sizeMov6 = 8;
$sizeMov7 = 8;
$sizeMov8 = 10;
//fila total mes
$sizeMes1 = 18;
$sizeMes2 = 34;
$sizeMes3 = 8;
$sizeMes4 = 8;
$sizeMes5 = 10;
//fila total auxiliar
$sizeAux1 = 52;
$sizeAux2 = 8;
$sizeAux3 = 8;
$sizeAux4 = 10;
//tabla de total subcuenta
$sizeSubc1 = 52;
$sizeSubc2 = 8;
$sizeSubc3 = 8;
$sizeSubc4 = 10;


//Si hay movimientos
if (count($records_mov) > 0) {


    /*
     * Tabla de cuentas
     */
    $html .= '<table border="1" width="750" cellpadding="3">';
//fila cabecera cuentas
    $html .= '<tr bgcolor="#81BEF7">
                <th width="' . $sizeCuenta1 . '%">Cuenta</th>
                <th width="' . $sizeCuenta2 . '%">Nombre Cuenta</th>
                <th width="' . $sizeCuenta3 . '%">Saldo</th>
                </tr>';


    $shtml.="Cuenta" . $sep . "Nombre Cuenta" . $sep . $sep . $sep . $sep . $sep . $sep . "Saldo" . $sep . "\n";


    /*
     * filas de cuentas superiores
     */
//clase
    $html .= '<tr bgcolor="#EFEFFB">';
    $html .= '<td width="' . $sizeCuenta1 . '%">' . $records_mov[0]['dig_cla'] . '</td>';
    $html .= '<td width="' . $sizeCuenta2 . '%">' . $records_mov[0]['nom_cla'] . '</td>';

    $shtml.=$records_mov[0]['dig_cla'] . $sep;
    $shtml.= $records_mov[0]['nom_cla'] . $sep;
    $shtml.= "\n";

    $html .= '<td width="' . $sizeCuenta3 . '%"></td>';
    $html .= '</tr>';
//grupo
    $html .= '<tr>';
    $html .= '<td width="' . $sizeCuenta1 . '%">' . $records_mov[0]['dig_cla'] . $records_mov[0]['dig_gru'] . '</td>';
    $html .= '<td width="' . $sizeCuenta2 . '%">' . $records_mov[0]['nom_gru'] . '</td>';

    $shtml.= $records_mov[0]['dig_cla'] . $records_mov[0]['dig_gru'] . $sep;
    $shtml.= $records_mov[0]['nom_gru'] . $sep;
    $shtml.= "\n";

    $html .= '<td width="' . $sizeCuenta3 . '%"></td>';
    $html .= '</tr>';
//cuenta
    $html .= '<tr bgcolor="#EFEFFB">';
    $html .= '<td width="' . $sizeCuenta1 . '%">' . $records_mov[0]['dig_cla'] . $records_mov[0]['dig_gru'] . $records_mov[0]['dig_cue'] . '</td>';
    $html .= '<td width="' . $sizeCuenta2 . '%">' . $records_mov[0]['nom_cue'] . '</td>';

    $shtml.= $records_mov[0]['dig_cla'] . $records_mov[0]['dig_gru'] . $records_mov[0]['dig_cue'] . $sep;
    $shtml.= $records_mov[0]['nom_cue'] . $sep;
    $shtml.= "\n";

    $html .= '<td width="' . $sizeCuenta3 . '%"></td>';
    $html .= '</tr>';
//catalogo
    $html .= '<tr>';
    $html .= '<td width="' . $sizeCuenta1 . '%">' . $records_mov[0]['dig_cla'] . $records_mov[0]['dig_gru'] . $records_mov[0]['dig_cue'] . $records_mov[0]['dig_cat'] . '</td>';
    $html .= '<td width="' . $sizeCuenta2 . '%">' . $records_mov[0]['nom_cat'] . '</td>';

    $shtml.= $records_mov[0]['dig_cla'] . $records_mov[0]['dig_gru'] . $records_mov[0]['dig_cue'] . $records_mov[0]['dig_cat'] . $sep;
    $shtml.= $records_mov[0]['nom_cat'] . $sep;
    $shtml.= $sep . $sep . $sep . $sep . $sep;

    $cuenta = $records_mov[0]['dig_cla'] . $records_mov[0]['dig_gru'] . $records_mov[0]['dig_cue'] . $records_mov[0]['dig_cat'];

    /*
     * Saldo de la subcuenta
     */
    $sql = <<<EOD
SELECT SUM(SALDO_ANTERIOR) as saldo_anterior, SUM(SALDO_ACTUAL) as saldo_actual
FROM CN_SALDO
WHERE SUBCUENTA='$cuenta'
AND ID_VIGENCIA = $vig_ini
AND ID_PERIODO_CONTABLE = $per_ini
AND ID_CIA = $cia AND ID_CEN_OP = $cen_op
EOD;

    $record = CN_TABLE::executeSQL($sql);

    $saldo_cuenta = number_format($record[0]["saldo_actual"], 2, ',', '.');
    $html .= '<td  width="' . $sizeCuenta3 . '%" align="right">' . $saldo_cuenta . '</td>';

    $shtml.= $saldo_cuenta . $sep . "\n";

    $html .= '</tr>';
//    $html .= '</table>';
    //variables para validacion de cambio de cuenta
    $clase_old = $records_mov[0]['id_clase_cuenta'];
    $grupo_old = $records_mov[0]['id_grupo_cuenta'];
    $cuenta_old = $records_mov[0]['id_cuenta_mayor'];
    $catalogo_old = $records_mov[0]['id_catalogo'];

    //cambio de auxiliar y tercero
    $auxiliar_old = "";
    $tercero_old = "";

    //cambio de periodo vigencia
    $vigencia_old = $records_mov[0]['id_vigencia'];
    $periodo_old = $records_mov[0]['nom_periodo'];

    /*
     * Recorrer movimientos
     */


    //variables acumulables auxilares
    $debitoauxiliar = 0;
    $creditoauxiliar = 0;

    //variables acumulables mes
    $debitomes = 0;
    $creditomes = 0;

    $even_auxter_null = true;
    $even_auxter = true;
    $even_color_mov = true;
    $num_mov = 0;

    foreach ($records_mov as $value_mov) {

        //variables para validacion de cambio de cuenta
        $clase_new = $value_mov['id_clase_cuenta'];
        $grupo_new = $value_mov['id_grupo_cuenta'];
        $cuenta_new = $value_mov['id_cuenta_mayor'];
        $catalogo_new = $value_mov['id_catalogo'];
        $auxiliar_new = $value_mov['id_auxiliar'];
        $tercero_new = $value_mov['id_mae_ter'];
        $vigencia_new = $value_mov['id_vigencia'];
        $periodo_new = $value_mov['nom_periodo'];

        if (($num_mov + 1) < count($records_mov)) {
            $auxiliar_fut = $records_mov[($num_mov + 1)]['id_auxiliar'];
            $tercero_fut = $records_mov[($num_mov + 1)]['id_mae_ter'];
            $catalogo_fut = $records_mov[($num_mov + 1)]['id_catalogo'];
            $vigencia_fut = $records_mov[($num_mov + 1)]['id_vigencia'];
            $periodo_fut = $records_mov[($num_mov + 1)]['nom_periodo'];
        } else {
            $auxiliar_fut = "";
            $tercero_fut = "";
            $catalogo_fut = "";
            $vigencia_fut = "";
            $periodo_fut = "";
        }

        if ($clase_old != $clase_new
                || $grupo_old != $grupo_new
                || $cuenta_old != $cuenta_new
                || $catalogo_old != $catalogo_new) {

            //variables para validacion de cambio de cuenta
            $clase_old = $clase_new;
            $grupo_old = $grupo_new;
            $cuenta_old = $cuenta_new;
            $catalogo_old = $catalogo_new;


            /*
             * Tabla de cuentas
             */
            $html .= '</table><br>';

            /*
             * Totales subcuentas
             */

            $sql_tot_subc = <<<EOD
SELECT
SUM(SALDO_ANTERIOR) as saldo_anterior, SUM(SALDO_ACTUAL) as saldo_actual
FROM CN_SALDO
WHERE SUBCUENTA = '$cuenta'
AND ID_VIGENCIA = $vig_fin
AND ID_PERIODO_CONTABLE = $per_fin
AND ID_CIA = $cia
AND ID_CEN_OP = $cen_op
EOD;

            $records_tot_subc = CN_TABLE::executeSQL($sql_tot_subc);

            $html .= '<table border="1" width="750" >';
            $html .= '<tr bgcolor="#858282">';
            $html .= '<td width="' . $sizeSubc1 . '%"  colspan="5">Saldo Actual Subcuenta:  ' . $cuenta . '</td>';
            $html .= '<td width="' . $sizeSubc2 . '%" ></td>';
            $html .= '<td width="' . $sizeSubc3 . '%" ></td>';

            $saldo = number_format($records_tot_subc[0]['saldo_actual'], 2, ',', '.');
            $html .= '<td width="' . $sizeSubc4 . '%" align="right">' . $saldo . '</td>';
            $html .= '</tr>';
            $html .= '</table>';
            $html .= '<br>';

            $shtml.="\nSaldo Actual Subcuenta" . $sep . $cuenta . $sep;
            $shtml.=$sep . $sep . $sep . $sep . $sep . $saldo . $sep . "\n\n";

            $html .= '<table border="1" width="750" cellpadding="3">';
            //fila cabecera cuentas
            $html .= '<tr bgcolor="#81BEF7">
                <th width="' . $sizeCuenta1 . '%">Cuenta</th>
                <th width="' . $sizeCuenta2 . '%">Nombre Cuenta</th>
                <th width="' . $sizeCuenta3 . '%">Saldo</th>
                </tr>';

            $shtml.="Cuenta" . $sep . "Nombre Cuenta" . $sep . $sep . $sep . $sep . $sep . $sep . "Saldo" . $sep . "\n\n";

            /*
             * filas de cuentas superiores
             */
            //clase
            $html .= '<tr bgcolor="#EFEFFB">';
            $html .= '<td width="' . $sizeCuenta1 . '%">' . $value_mov['dig_cla'] . '</td>';
            $html .= '<td width="' . $sizeCuenta2 . '%">' . $value_mov['nom_cla'] . '</td>';
            $html .= '<td width="' . $sizeCuenta3 . '%"></td>';

            $shtml.= $value_mov['dig_cla'] . $sep;
            $shtml.= $value_mov['nom_cla'] . $sep;
            $shtml.= "\n";

            $html .= "</tr>";
            //grupo
            $html .= '<tr>';
            $html .= '<td width="' . $sizeCuenta1 . '%">' . $value_mov['dig_cla'] . $value_mov['dig_gru'] . "</td>";
            $html .= '<td width="' . $sizeCuenta2 . '%">' . $value_mov['nom_gru'] . "</td>";
            $html .= '<td width="' . $sizeCuenta3 . '%"></td>';

            $shtml.= $value_mov['dig_cla'] . $value_mov['dig_gru'] . $sep;
            $shtml.= $value_mov['nom_gru'] . $sep;
            $shtml.= "\n";

            $html .= '</tr>';
            //cuenta
            $html .= '<tr bgcolor="#EFEFFB">';
            $html .= '<td width="' . $sizeCuenta1 . '%">' . $value_mov['dig_cla'] . $value_mov['dig_gru'] . $value_mov['dig_cue'] . '</td>';
            $html .= '<td width="' . $sizeCuenta2 . '%">' . $value_mov['nom_cue'] . '</td>';

            $shtml.= $value_mov['dig_cla'] . $value_mov['dig_gru'] . $value_mov['dig_cue'] . $sep;
            $shtml.= $value_mov['nom_cue'] . $sep;
            $shtml.= "\n";

            $html .= '<td width="' . $sizeCuenta3 . '%"></td>';
            $html .= '</tr>';
            //catalogo
            $html .= '<tr>';
            $html .= '<td width="' . $sizeCuenta1 . '%">' . $value_mov['dig_cla'] . $value_mov['dig_gru'] . $value_mov['dig_cue'] . $value_mov['dig_cat'] . '</td>';
            $html .= '<td width="' . $sizeCuenta2 . '%">' . $value_mov['nom_cat'] . '</td>';

            $shtml.= $value_mov['dig_cla'] . $value_mov['dig_gru'] . $value_mov['dig_cue'] . $value_mov['dig_cat'] . $sep;
            $shtml.= $value_mov['nom_cat'] . $sep;
            $shtml.=$sep . $sep . $sep . $sep . $sep;

            $cuenta = $value_mov['dig_cla'] . $value_mov['dig_gru'] . $value_mov['dig_cue'] . $value_mov['dig_cat'];

            /*
             * Saldo de la subcuenta
             */
            $sql = <<<EOD
SELECT SUM(SALDO_ANTERIOR) as saldo_anterior, SUM(SALDO_ACTUAL) as saldo_actual
FROM CN_SALDO
WHERE SUBCUENTA='$cuenta'
AND ID_VIGENCIA = $vig_ini
AND ID_PERIODO_CONTABLE = $per_ini
AND ID_CIA = $cia AND ID_CEN_OP = $cen_op
EOD;

            $record = CN_TABLE::executeSQL($sql);

            $saldo_cuenta = number_format($record[0]["saldo_actual"], 2, ',', '.');
            $html .= '<td align="right" width="' . $sizeCuenta3 . '%">' . $saldo_cuenta . '</td>';

            $shtml.= $saldo_cuenta . $sep . "\n";

            $html .= '</tr>';
//            $html .= '</table>';
        }


        /*
         * Imprimir cabecera auxiliar - tercero
         */
        if (is_null($auxiliar_new)) {
            if ($even_auxter_null) {

                //variables acumulables auxilares
                $debitoauxiliar = 0;
                $creditoauxiliar = 0;

//                //variables acumulables mes
//                $debitomes = 0;
//                $creditomes = 0;

                /*
                 * Tabla de movimientos sin auxiliar y sin tercero
                 */
                $html .= '</table><br>';
                $html .= '<table border="1" width="750" >';
                //fila cabecera
                $html .= '<tr  bgcolor="#CEE3F6">
                    <th width="' . $sizeMov1 . '%">Fecha</th>
                    <th width="' . $sizeMov2 . '%">Tip. Com.</th>
                    <th width="' . $sizeMov3 . '%">CAD</th>
                    <th width="' . $sizeMov4 . '%">Descripcion</th>
                    <th width="' . $sizeMov5 . '%">Soporte</th>
                    <th width="' . $sizeMov6 . '%">Debito</th>
                    <th width="' . $sizeMov7 . '%">Credito</th>
                    <th width="' . $sizeMov8 . '%">Saldo</th>
                    </tr>';


                $shtml.= "\nFecha" . $sep . "Tipo Com." . $sep . "CAD" . $sep . "Descripcion" . $sep . "Soporte" . $sep . "Debito" . $sep . "Credito" . $sep . "Saldo" . $sep . "\n";

                $even_auxter_null = false;
            }


            //Cambio de color linea movimiento
            if ($even_color_mov) {
                $even_color_mov = false;
                $html .= '<tr bgcolor="#FFFFFF">';
            } else {
                $even_color_mov = true;
                $html .= '<tr bgcolor="#EFEFFB">';
            }

            $fecha = explode(" ", $value_mov['fecha_cad']);
            $html .= '<td width="' . $sizeMov1 . '%">' . $fecha[0] . '</td>';
            $html .= '<td width="' . $sizeMov2 . '%">' . $value_mov['nom_corto'] . '</td>';
            $html .= '<td width="' . $sizeMov3 . '%">' . $value_mov['id_cad'] . '</td>';
            $html .= '<td width="' . $sizeMov4 . '%">' . $value_mov['descr_mto'] . '</td>';
            $html .= '<td width="' . $sizeMov5 . '%">' . $value_mov['doc_soporte'] . '</td>';

            $shtml.= $fecha[0] . $sep;
            $shtml.= $value_mov['nom_corto'] . $sep;
            $shtml.= $value_mov['id_cad'] . $sep;
            $shtml.= $value_mov['descr_mto'] . $sep;
            $shtml.= $value_mov['doc_soporte'] . $sep;


            $debitomes += $value_mov['debito'];
            $debitoauxiliar += $value_mov['debito'];
            $debito = number_format($value_mov['debito'], 2, ',', '.');
            $html .= '<td align="right"  width="' . $sizeMov6 . '%">' . $debito . '</td>';

            $shtml.= $debito . $sep;

            $creditomes += $value_mov['credito'];
            $creditoauxiliar += $value_mov['credito'];
            $credito = number_format($value_mov['credito'], 2, ',', '.');
            $html .= '<td align="right" width="' . $sizeMov7 . '%">' . $credito . '</td>';

            $shtml.= $credito . $sep;

            $html .= '<td width="' . $sizeMov8 . '%"></td>';

            $shtml.= $sep . "\n";

            $html .= '</tr>';

            //si cambia de vigencia periodo
            if ($vigencia_old != $vigencia_fut || $periodo_old != $periodo_fut
                    || $catalogo_new != $catalogo_fut) {


                $html .= '<tr bgcolor="#BDBDBD">';
                $html .= '<td  width="' . $sizeMes1 . '%" colspan="3">Subtotal Mes: </td>';
                $html .= '<td  width="' . $sizeMes2 . '%" colspan="2">' . $periodo_old . ' ' . $vigencia_old . '</td>';

                $shtml.= "Subtotal Mes" . $sep . $periodo_old . $sep . $vigencia_old . $sep;

                $debito_mes = number_format($debitomes, 2, ',', '.');
                $html .= '<td align="right" width="' . $sizeMes3 . '%">' . $debito_mes . '</td>';

                $credito_mes = number_format($creditomes, 2, ',', '.');
                $html .= '<td align="right" width="' . $sizeMes4 . '%">' . $credito_mes . '</td>';

                if ($value_mov['naturaleza'] == 'D') {
                    $saldo_mes = number_format(($debitoauxiliar - $creditoauxiliar), 2, ',', '.');
                } else {
                    $saldo_mes = number_format(($creditoauxiliar - $debitoauxiliar), 2, ',', '.');
                }
                $html .= '<td align="right" width="' . $sizeMes5 . '%">' . $saldo_mes . '</td>';

                $shtml.= $sep . $sep . $debito_mes . $sep . $credito_mes . $sep . $saldo_mes . $sep . "\n";

                $html .= '</tr>';

                $vigencia_old = $vigencia_fut;
                $periodo_old = $periodo_fut;

                //variables acumulables mes
                $debitomes = 0;
                $creditomes = 0;
            }

            //Si cambia de cuenta
            if ($catalogo_new != $catalogo_fut) {
                /*
                 * Totales pòr auxiliar - tercero
                 */

//                $html .= "<tr bgcolor='#A5A5A2'>";
//                $html .= "<td colspan='5'>Saldo Actual Auxiliar: </td>";
//
//                $debito_tot_aux = "$" .  number_format($debitoauxiliar, 2, ',', '.');
//                $html .= "<td align='right'>" . $debito_tot_aux . "</td>";
//
//                $credito_tot_aux = "$" .  number_format($creditoauxiliar, 2, ',', '.');
//                $html .= "<td align='right'>" . $credito_tot_aux . "</td>";
//                if ($value_mov['naturaleza'] == 'D') {
//                    $saldo = "$" .  number_format(($debitoauxiliar - $creditoauxiliar), 2, ',', '.');
//                } else {
//                    $saldo = "$" .  number_format(($creditoauxiliar - $debitoauxiliar), 2, ',', '.');
//                }
//                $html .= "<td align='right'>" . $saldo . "</td>";
//                $html .= "</tr>";

                $catalogo_new = $catalogo_fut;
                $even_auxter_null = true;
            }
        } else {


            if ($auxiliar_old != $auxiliar_new) {

                //variables acumulables auxilares
                $debitoauxiliar = 0;
                $creditoauxiliar = 0;

//                //variables acumulables mes
//                $debitomes = 0;
//                $creditomes = 0;

                /*
                 * Tabla de movimientos sin auxiliar y sin tercero
                 */
                $html .= '</table><br>';
                $html .= '<table border="1" width="750" >';
                //fila cabecera
                $html .= '
                    <tr bgcolor="#A9D0F5">
                    <th width="' . $sizeAuxiliar1 . '%">Cod. Aux</th>
                    <th width="' . $sizeAuxiliar2 . '%">Auxiliar</th>
                    <th width="' . $sizeAuxiliar3 . '%">Saldo</th>
                    </tr>';
//                $html .= '<tr>';

                $shtml.="\nCod. Aux" . $sep . "Auxiliar" . $sep . $sep . $sep . $sep . $sep . $sep . "Saldo" . $sep . "\n";

                $auxiliar_old = $auxiliar_new;
                $tercero_old = $tercero_new;

                /*
                 * traer datos auxiliar y/o tercero
                 */
                if (!is_null($auxiliar_new)) {
                    $sql_aux = <<<EOD
select * from CN_AUXILIAR
where ID_AUXILIAR = $auxiliar_new
EOD;

                    $records_aux = CN_TABLE::executeSQL($sql_aux);
                    $cod_aux = $records_aux[0]['cod_aux'];
                    $nom_aux = $records_aux[0]['nombre'];
                    $aux_where = " = " . $records_aux[0]['id_auxiliar'];
                } else {
                    $cod_aux = null;
                    $nom_aux = null;
                    $aux_where = " is null ";
                }



                //fila de valores auxiliar 
                $html .= '<tr>';

                $html .= '<td width="' . $sizeAuxiliar1 . '%">' . $cod_aux . '</td>';
                $html .= '<td width="' . $sizeAuxiliar2 . '%">' . $nom_aux . '</td>';


                $shtml.= " " + $cod_aux . $sep;
                $shtml.= $nom_aux . $sep;
                $shtml.=$sep . $sep . $sep;

                /*
                 * Saldo axuiliar
                 */
                $sql_saldo_aux = <<<EOD
SELECT SUM(SALDO_ANTERIOR) as saldo_anterior, SUM(SALDO_ACTUAL) as saldo_actual
FROM CN_SALDO
WHERE SUBCUENTA='$cuenta'
AND ID_VIGENCIA = $vig_ini
AND ID_PERIODO_CONTABLE = $per_ini
AND ID_CIA = $cia
AND ID_CEN_OP = $cen_op
AND ID_AUXILIAR $aux_where
AND ID_MAE_TER IS NULL
EOD;
                $rec_saldo_aux = CN_TABLE::executeSQL($sql_saldo_aux);

                if (count($rec_saldo_aux) > 0) {
                    $saldo = $rec_saldo_aux[0]['saldo_anterior'];
                } else {
                    $saldo = 0;
                }

                //saldo dia
                $saldoauxtermes = $saldoauxter = $saldodia = $saldo;

                $saldo = number_format($saldo, 2, ',', '.');
                $html .= '<td align="right" width="' . $sizeAuxiliar3 . '%">' . $saldo . '</td>';

                $shtml.= $saldo . $sep . "\n";

                $html .= '</tr>';


                /*
                 * Tabla de movimientos sin auxiliar y sin tercero
                 */
                $html .= '</table><br>';
                $html .= '<table border="1" width="750" >';
                //fila cabecera
                $html .= '<tr bgcolor="#CEE3F6">
                <th width="' . $sizeMov1 . '%">Fecha</th>
                <th width="' . $sizeMov2 . '%">Tip. Com.</th>
                <th width="' . $sizeMov3 . '%">CAD</th>
                <th width="' . $sizeMov4 . '%">Descripcion</th>
                <th width="' . $sizeMov5 . '%">Soporte</th>
                <th width="' . $sizeMov6 . '%">Debito</th>
                <th width="' . $sizeMov7 . '%">Credito</th>
                <th width="' . $sizeMov8 . '%">Saldo</th>
                </tr>';

                $shtml.= "\nFecha" . $sep . "Tipo Com." . $sep . "CAD" . $sep . "Descripcion" . $sep . "Soporte" . $sep . "Debito" . $sep . "Credito" . $sep . "Saldo" . $sep . "\n";
            }//fin cabecera auxiliar 
            //Cambio de color linea movimiento
            if ($even_color_mov) {
                $even_color_mov = false;
                $html .= '<tr bgcolor="#FFFFFF">';
            } else {
                $even_color_mov = true;
                $html .= '<tr bgcolor="#EFEFFB">';
            }

            $fecha = explode(" ", $value_mov['fecha_cad']);
            $html .= '<td width="' . $sizeMov1 . '%">' . $fecha[0] . '</td>';
            $html .= '<td width="' . $sizeMov2 . '%">' . $value_mov['nom_corto'] . '</td>';
            $html .= '<td width="' . $sizeMov3 . '%">' . $value_mov['id_cad'] . '</td>';
            $html .= '<td width="' . $sizeMov4 . '%">' . $value_mov['descr_mto'] . '</td>';
            $html .= '<td width="' . $sizeMov5 . '%">' . $value_mov['doc_soporte'] . '</td>';

            $shtml.= $fecha[0] . $sep;
            $shtml.= $value_mov['nom_corto'] . $sep;
            $shtml.= $value_mov['id_cad'] . $sep;
            $shtml.= $value_mov['descr_mto'] . $sep;
            $shtml.= $value_mov['doc_soporte'] . $sep;


            $debitomes += $value_mov['debito'];
            $debitoauxiliar += $value_mov['debito'];
            $debito = number_format($value_mov['debito'], 2, ',', '.');
            $html .= '<td align="right" width="' . $sizeMov6 . '%">' . $debito . '</td>';

            $shtml.= $debito . $sep;

            $creditomes += $value_mov['credito'];
            $creditoauxiliar += $value_mov['credito'];
            $credito = number_format($value_mov['credito'], 2, ',', '.');
            $html .= '<td align="right" width="' . $sizeMov7 . '%">' . $credito . '</td>';

            $shtml.= $credito . $sep;

            $html .= '<td width="' . $sizeMov8 . '%"></td>';

            $shtml.= $sep . "\n";

            $html .= '</tr>';


            //si cambia de vigencia periodo
            if ($vigencia_old != $vigencia_fut || $periodo_old != $periodo_fut || $auxiliar_new != $auxiliar_fut 
                    /*|| $tercero_new != $tercero_fut*/) {


                $html .= '<tr bgcolor="#BDBDBD">';
                $html .= '<td width="' . $sizeMes1 . '%" colspan="3">Subtotal Mes: </td>';
                $html .= '<td width="' . $sizeMes2 . '%" colspan="2">' . $periodo_old . ' ' . $vigencia_old . '</td>';

                $shtml.= "Subtotal Mes" . $sep . $periodo_old . $sep . $vigencia_old . $sep;

                $debito_mes = number_format($debitomes, 2, ',', '.');
                $html .= '<td width="' . $sizeMes3 . '%" align="right">' . $debito_mes . '</td>';

                $credito_mes = number_format($creditomes, 2, ',', '.');
                $html .= '<td width="' . $sizeMes4 . '%" align="right">' . $credito_mes . '</td>';

                if ($value_mov['naturaleza'] == 'D') {
                    $saldo_mes = number_format(($debitoauxiliar - $creditoauxiliar), 2, ',', '.');
                } else {
                    $saldo_mes = number_format(($creditoauxiliar - $debitoauxiliar), 2, ',', '.');
                }
                $html .= '<td width="' . $sizeMes5 . '%" align="right">' . $saldo_mes . '</td>';

                $shtml.= $sep . $sep . $debito_mes . $sep . $credito_mes . $sep . $saldo_mes . $sep . "\n";

                $html .= '</tr>';

                $vigencia_old = $vigencia_fut;
                $periodo_old = $periodo_fut;

                //variables acumulables mes
                $debitomes = 0;
                $creditomes = 0;
            }

            //Si cambia de auxiliar
            if ($auxiliar_new != $auxiliar_fut /*|| $tercero_new != $tercero_fut*/) {
                /*
                 * Totales pòr auxiliar 
                 */

                $html .= '<tr bgcolor="#A5A5A2">';
                $html .= '<td width="' . $sizeAux1 . '%" colspan="5">Saldo Actual Auxiliar: </td>';

                $debito_tot_aux = number_format($debitoauxiliar, 2, ',', '.');
                $html .= '<td width="' . $sizeAux2 . '%" align="right">' . $debito_tot_aux . '</td>';

                $credito_tot_aux = number_format($creditoauxiliar, 2, ',', '.');
                $html .= '<td width="' . $sizeAux3 . '%" align="right">' . $credito_tot_aux . '</td>';

                if ($value_mov['naturaleza'] == 'D') {
                    $saldo = number_format(($debitoauxiliar - $creditoauxiliar), 2, ',', '.');
                } else {
                    $saldo = number_format(($creditoauxiliar - $debitoauxiliar), 2, ',', '.');
                }
                $html .= '<td width="' . $sizeAux4 . '%" align="right">' . $saldo . '</td>';


                $shtml.="Saldo Actual Auxiliar:" . $sep;
                $shtml.=$sep . $sep . $sep . $sep . $debito_tot_aux . $sep . $credito_tot_aux . $sep . $saldo . $sep . "\n";

                $html .= '</tr>';

                $catalogo_new = $catalogo_fut;
            }
        }

        $num_mov++;
    }


    $html .= '</table><br>';

    /*
     * Totales subcuentas
     */

    $sql_tot_subc = <<<EOD
SELECT
SUM(SALDO_ANTERIOR) as saldo_anterior, SUM(SALDO_ACTUAL) as saldo_actual
FROM CN_SALDO
WHERE SUBCUENTA = '$cuenta'
AND ID_VIGENCIA = $vig_fin
AND ID_PERIODO_CONTABLE = $per_fin
AND ID_CIA = $cia
AND ID_CEN_OP = $cen_op
EOD;

    $records_tot_subc = CN_TABLE::executeSQL($sql_tot_subc);

    $html .= '<table border="1" width="750" >';
    $html .= '<tr bgcolor="#858282">';
    $html .= '<td width="' . $sizeSubc1 . '%" colspan="5">Saldo Actual Subcuenta: ' . $cuenta . '</td>';
    $html .= '<td width="' . $sizeSubc2 . '%" ></td>';
    $html .= '<td width="' . $sizeSubc3 . '%" ></td>';

    $saldo = number_format($records_tot_subc[0]['saldo_actual'], 2, ',', '.');
    $html .= '<td width="' . $sizeSubc4 . '%" align="right">' . $saldo . '</td>';

    $shtml.="\nSaldo Actual Subcuenta:" . $sep . $cuenta . $sep;
    $shtml.= $sep . $sep . $sep . $sep . $sep . $saldo . $sep . "\n";

    $html .= '</tr>';
    $html .= '</table>';
    $html .= '<br>';
} else {

    $html = "No hay registros para la consulta.";
}


$shtml.="\n";
fwrite($fp, $shtml);
fclose($fp);



$html .= '</body>';
$html .= '</html>';

/*
 * impresion del html
 */
if ($type == "html") {

    //anexo firmas
//    $html.=$htmlfirmas;

    echo $html;
}
/*
 * salida csv
 */
if ($type == "csv") {

    echo "<script>
                window.location='" . "/" . $htmlReportes . "/web/" . $sfile . "'
                </script>";
}


/*
 * PDF
 */
if ($type == "pdf") {

    $pdf = new CDPDF('P', 'mm', 'letter');
    $pdf->SetFont('Times', 'B', 8);
    $pdf->SetFillColor(255);
    $pdf->SetTextColor(0);
    $pdf->SetMargins('4', '4');
//        $pdf->setUsuario("usuario");
//    $pdf->setEncabezado(4);
    $pdf->setTitulo($titulo);
    $pdf->setEmpresa($empresa);
//        $pdf->setFechaContab($fecha);
//        $pdf->setCifras($cifras);
    $pdf->AddPage();
    $pdf->SetFont('Times', '', 7);


    //$htmlfirmas=$html.'<br><br><br><br><br><table width="100%"> <tr><td><b>OSCAR ELADIO PAREDES ZAPATA</b></td> </tr> <tr><td>DIRECTOR GENERAL</td> </tr> <tr><td></td> </tr> <tr><td>(Adjunto certificacion) </td> </tr></table>';

    $html.=$htmlfirmas;

    /*
     * prueba
     */
//    $html='
//<table border="1" width="750" cellpadding="3"><tr bgcolor="#81BEF7">
//                <th width="10%">Cuenta</th>
//                <th width="50%">Nombre Cuenta</th>
//                <th width="15%">Saldo</th>
//                </tr><tr bgcolor="#EFEFFB"><td>1</td><td>ACTIVO</td><td></td></tr><tr><td>16</td><td>PROPIEDADES PLANTA Y EQUIPO</td><td></td></tr><tr bgcolor="#EFEFFB"><td>1637</td><td>PROPIEDADES, PLANTA Y EQUIPO NO EXPLOTADOS</td><td></td></tr><tr><td>163707</td><td>MAQUINARIA Y EQUIPO</td><td align="right">0,00</td></tr></table>';
//        echo $html;die();
    $pdf->writeHTML($html);

    //$pdf->writeHTML($html_firmas);
    $pdf->Output('Anamovcont' . date("d") . date("m") . date("Y") . '.pdf', 'D');

    die (); //fin PDF
}
die();
?>