<?php

/*
 * Html
 */

$html = '';
$cuenta = "";
$htmlfirmas = '';
$shtml = "";
$shtmlfirmas = "";
//$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
$even_color_mov = true;

//meses español
$mesesNombres = array('', 'Enero', 'Febrero',
    'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre',
    'Noviembre', 'Diciembre', 'Cierre Fiscal');

/*
 * variables de cabecera informe
 */

//cambiar tildes al ser html
if ($type == "csv") {
    $empresa = sfConfig::get('app_empresa');
} else {
    $empresa = sfConfig::get('app_empresa');
}

//titulo
$titulo = "BALANCE PRUEBA CON MOVIMIENTOS";

//fecha
$fecha = $nom_perIni . " de " . $vigIni . " a " . $nom_perFin . " de " . $vigComp;

/**
 * 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_balprumov'
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%">';
$shtmlfirmas.= "\n\n\n";

/*
 * recorrer el array de firmas
 */

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

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

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

//anexo
$htmlfirmas.= ' <tr>';
foreach ($firmas as $value) {
    $htmlfirmas.= '<td>' . $value['anexo'] . '</td>';
    $shtmlfirmas.= strtoupper($value['anexo']) . $sep;
}
$htmlfirmas.= ' </tr>';
$shtmlfirmas.= "\n";

$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>
  ';
}


/*
 * 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/Balprumov" . date("d") . date("m") . date("Y") . ".csv"; //ruta del archivo a generar
$fp = fopen($sfile, "w");

$shtml.= "\n";
$shtml.= "Balance prueba con movimientos" . $sep . "\n";
$shtml.= $fecha . $sep . "\n";
$shtml.= $sep . "\n";

/*
 * tamanos de celdas htmls y pdf
 */
//tabla de cuetas
$sizeCuenta1 = 6;
$sizeCuenta2 = 6;
$sizeCuenta3 = 8;
$sizeCuenta4 = 30;
$sizeCuenta5 = 10;
$sizeCuenta6 = 10;
$sizeCuenta7 = 8;


//maximas filas pdf - periodo
$filasPDF = 2;

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

    //campos csv
    $camposDeb_Cre = '';
    $valoresDeb_Cre = '';


    /*
     * Tabla de cuentas
     */
    $html .= '<table border="1" width="750" cellpadding="3"><thead bgcolor="#CEE3F6">';
    //fila cabecera cuentas
    $html .= '<tr bgcolor="#CEE3F6">
                <th align="center" width="' . $sizeCuenta1 . '%">Cuenta</th>
                <th align="center" width="' . $sizeCuenta2 . '%">Auxiliar</th>
                <th align="center" width="' . $sizeCuenta3 . '%">Tercero</th>
                <th align="center" width="' . $sizeCuenta4 . '%">Nombre Cuenta</th>
                <th align="center" width="' . $sizeCuenta5 . '%">Saldo Inicial ' . $nom_perIni . ' ' . $vigIni . '</th>';

    /*
     * columnas de valores debito y credito
     */
    //recorrer anhos
//    for ($i = $vigIni, $contPDF = 0; $i <= $vigComp; $i++) {
//        //recorrer periodos
//        for ($j = $perIni; $j <= $perComp; $j++) {
//            if ($contPDF < $filasPDF) {
//                $html .= '<th align="center" width="' . $sizeCuenta7 . '%">Débito ' . $meses[$j] . '-' . $i . '</th>';
//                $html .= '<th align="center" width="' . $sizeCuenta7 . '%">Crédito ' . $meses[$j] . '-' . $i . '</th>';
//                $contPDF++;
//            }
//            $camposDeb_Cre .= 'Débito ' . $meses[$j] . '-' . $i . $sep . 'Crédito ' . $meses[$j] . '-' . $i . $sep;
//        }
//    }


    $meses = (($vigComp - $vigIni) * 13) + ($perComp - $perIni + 1); //se calcula el numero de meses, se suma 1 por el cierre fiscal

    $cont = $perIni; //asignacion para los recorridos
    $veg = $vigIni;
    $contPDF = 0;

    for ($j = 0; $j < $meses; $j++) {//se recorre la cantidad de meses calculado
        if ($contPDF < $filasPDF) {
            $html .= '<th align="center" width="' . $sizeCuenta7 . '%">Débito ' . $mesesNombres[$cont] . '-' . $veg . '</th>';
            $html .= '<th align="center" width="' . $sizeCuenta7 . '%">Crédito ' . $mesesNombres[$cont] . '-' . $veg . '</th>';
            $contPDF++;
        }
        $camposDeb_Cre .= 'Débito ' . $mesesNombres[$cont] . '-' . $veg . $sep . 'Crédito ' . $mesesNombres[$cont] . '-' . $veg . $sep;

        if ($cont < 13) {//si el contador aun es menor a 13 (Cierre Fiscal)
            $cont++; //se aumenta de manera normal
        } else {//si ya es igual a 13
            $cont = 1; //se reinicia a enero
            $veg++; //se aumenta el anho
        }
    }

    $html .= '  <th align="center" width="' . $sizeCuenta6 . '%">Saldo Final ' . $nom_perFin . ' ' . $vigComp . '</th>
              </tr></thead><tbody>';


    $shtml.="Cuenta" . $sep . "Auxiliar" . $sep . "Tercero" . $sep . "Nombre Cuenta" . $sep . "Saldo Inicial " . $nom_perIni . ' ' . $vigIni . $sep . $camposDeb_Cre . "Saldo Final " . $nom_perFin . ' ' . $vigComp . $sep . "\n";

    //recorrer registros
    foreach ($list_data as $value_data) {

        //campos csv
        $camposDeb_Cre = '';
        $valoresDeb_Cre = '';

        //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">';
        }


        $html .= '<td align="center" width="' . $sizeCuenta1 . '%">' . $value_data['cuenta'] . '</td>';
        $html .= '<td align="center" width="' . $sizeCuenta2 . '%">' . $value_data['auxiliar'] . '</td>';
        $html .= '<td align="left" width="' . $sizeCuenta3 . '%">' . $value_data['tercero'] . '</td>';
        $html .= '<td align="left" width="' . $sizeCuenta4 . '%">' . $value_data['nombre_cuenta'] . '</td>';

        /*
         * filas de valores
         */
        $saldoInicial = 0;
        if (isset($value_data[$perIni . '_' . $vigIni . 'ini'])) {
            $saldoInicial = $value_data[$perIni . '_' . $vigIni . 'ini'];
        }
        $html .= '<td align="right" width="' . $sizeCuenta5 . '%">' . number_format($saldoInicial, 2, ', ', '.') . '</td>';

        /*
         * columnas de valores debito y credito
         */
//        //recorrer anhos
//        for ($i = $vigIni, $contPDF = 0; $i <= $vigComp; $i++) {
//            //recorrer periodos
//            for ($j = $perIni; $j <= $perComp; $j++) {
//
//                if ($contPDF < $filasPDF) {
//                    $saldoDebito = 0;
//                    if (isset($value_data[$j . '_' . $i . 'deb'])) {
//                        $saldoDebito = $value_data[$j . '_' . $i . 'deb'];
//                    }
//                    $saldoCredito = 0;
//                    if (isset($value_data[$j . '_' . $i . 'cred'])) {
//                        $saldoCredito = $value_data[$j . '_' . $i . 'cred'];
//                    }
//
//                    $html .= '<td align="right" width="' . $sizeCuenta7 . '%">' . number_format($saldoDebito, 2, ', ', '.') . '</td>';
//                    $html .= '<td align="right" width="' . $sizeCuenta7 . '%">' . number_format($saldoCredito, 2, ', ', '.') . '</td>';
//                    $contPDF++;
//                }
//                $valoresDeb_Cre .= $saldoDebito . $sep . $saldoCredito . $sep;
//            }
//        }

        $cont = $perIni; //asignacion para los recorridos
        $veg = $vigIni;
        $contPDF = 0;

        for ($j = 0; $j < $meses; $j++) {//se recorre la cantidad de meses calculado
            if ($contPDF < $filasPDF) {
                $saldoDebito = 0;
                if (isset($value_data[$cont . '_' . $veg . 'deb'])) {
                    $saldoDebito = $value_data[$cont . '_' . $veg . 'deb'];
                }
                $saldoCredito = 0;
                if (isset($value_data[$cont . '_' . $veg . 'cred'])) {
                    $saldoCredito = $value_data[$cont . '_' . $veg . 'cred'];
                }

                $html .= '<td align="right" width="' . $sizeCuenta7 . '%">' . number_format($saldoDebito, 2, ', ', '.') . '</td>';
                $html .= '<td align="right" width="' . $sizeCuenta7 . '%">' . number_format($saldoCredito, 2, ', ', '.') . '</td>';
                $contPDF++;
            }

            $valoresDeb_Cre .= $saldoDebito . $sep . $saldoCredito . $sep;

            if ($cont < 13) {//si el contador aun es menor a 13 (Cierre Fiscal)
                $cont++; //se aumenta de manera normal
            } else {//si ya es igual a 13
                $cont = 1; //se reinicia a enero
                $veg++; //se aumenta el anho
            }
        }

        $saldoFinal = 0;
        if (isset($value_data[$perComp . '_' . $vigComp . 'fin'])) {
            $saldoFinal = $value_data[$perComp . '_' . $vigComp . 'fin'];
        }
        $html .= '<td align="right" width="' . $sizeCuenta6 . '%">' . number_format($saldoFinal, 2, ', ', '.') . '</td>';


        $html .= '</tr>';

        $shtml.= " " . $value_data['cuenta'] . $sep;
        $shtml.= " " . $value_data['auxiliar'] . $sep;
        $shtml.= " " . $value_data['tercero'] . $sep;
        $shtml.= $value_data['nombre_cuenta'] . $sep;

        /*
         * filas de valores
         */
        $shtml.= $saldoInicial . $sep;
        $shtml.= $valoresDeb_Cre;
        $shtml.= $saldoFinal . $sep;


        $shtml.="\n";
    }//fin foreach datos

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

/**
 * archivo CSV
 */
$shtml.="\n";
$shtml.=$shtmlfirmas;
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('L', '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(strtoupper($fecha));
//        $pdf->setCifras($cifras);
    $pdf->AddPage();
    $pdf->SetFont('Times', '', 6);


    //$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('Balprumov' . date("d") . date("m") . date("Y") . '.pdf', 'D');

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