<?php

Yii::createComponent('application.extensions.ezpdf.cezpdf');

$f1=$_GET['fecha1'];
$f2=$_GET['fecha2'];
$c1=$_GET['c1'];
$c2=$_GET['c2'];
$hd=$_GET['hd'];
$tipo=$_GET['tipo'];

if ($f1 == null || $f2 == null):
    echo "<script>alert('Debe seleccionar un rango de fechas!!!');</script>";
    die();

endif;

if($c1 == null || $c2 == null):
    echo "<script>alert('Debe seleccionar un rango de Cuentas Contables!!!');</script>";
    die();

endif;

$cuenta1 = CuentasConsolidada::model()->findByPk($c1)->cuenta;
$cuenta2 = CuentasConsolidada::model()->findByPk($c2)->cuenta;

?>

            <?php

            function detalle_cuenta($p_cuenta,$p_fechaDesde, $p_fechaHasta){

                $criteria = new CDbCriteria;
                $dat_fechaDesde=date('Y-m-d',strtotime($p_fechaDesde))
                $dat_fechaHasta=date('Y-m-d',strtotime($p_fechaHasta))
                $criteria->condition = "cuenta= '$p_cuenta' AND fecha BETWEEN '$dat_fechaDesde' AND '$dat_fechaHasta' order by cuenta,fecha asc";
                $model_detalle = MayorAnaliticoDetalle::model()->findAll($criteria);

                $i=0;
                $acum_debe=0;
                $acum_haber=0;
                $acum_saldo=0;
                $array_detalle = array();
                if (count($model_detalle)==0){
                }else {
                foreach ($model_detalle as $detalle):
                    $array_detalle[$i]['nro']= $i+1;
                    $array_detalle[$i]['fecha']= date('d/m/Y',strtotime($detalle->fecha));
                    $array_detalle[$i]['nro_comprobante']= $detalle->nro_comprobante;
                    $array_detalle[$i]['descripcion']= utf8_decode($detalle->descripcion);
                    $array_detalle[$i]['monto_debe']= ($detalle->monto_debe!='0')?number_format($detalle->monto_debe,2,',','.'):'';
                    $array_detalle[$i]['monto_haber']= ($detalle->monto_haber!='0')?number_format($detalle->monto_haber,2,',','.'):'';
                    $array_detalle[$i]['monto_saldo']= (($detalle->monto_debe-$detalle->monto_haber)>0)?number_format( ($detalle->monto_debe - $detalle->monto_haber) ,2,',','.'):"(".number_format( ($detalle->monto_debe - $detalle->monto_haber)*-1,2,',','.').")";
                    $array_detalle[$i]['fecha_creado']= $detalle->fecha_creado;
                    $array_detalle[$i]['id_cuenta']= $detalle->id_cuenta;
                    $array_detalle[$i]['cuenta']= $detalle->cuenta;
                    $array_detalle[$i]['denom_cuenta']= $detalle->denom_cuenta;
                    $array_detalle[$i]['referencia']= $detalle->referencia;
                    $i++;
                    $acum_debe += $detalle->monto_debe;
                    $acum_haber += $detalle->monto_haber;
                    $acum_saldo += ($detalle->monto_debe-$detalle->monto_haber);
                endforeach;

                //Pasamos por el arreglo los montos acumulados de la partida
                $array_totales[0]['denom'] = '<b>TOTAL CUENTA '.$detalle->cuenta.'</b>';
                $array_totales[0]['acum_debe'] = number_format($acum_debe,2,',','.');
                $array_totales[0]['acum_haber'] = number_format($acum_haber,2,',','.');
                $array_totales[0]['acum_saldo'] = (($acum_debe-$acum_haber)>0) ? number_format($acum_saldo,2,',','.') : "(".number_format(($acum_saldo)*-1,2,',','.').")";

                $data = array(); //armamos un arreglo donde vamos a devolver la informacion de la tabla
                $data['detalle'] = $array_detalle;
                $data['totales'] = $array_totales;

                return $data;
            }

            }
            ?>


            <?php

            $ls_nombre_empresa = '<b>'.Empresa::Nombre().'</b>';
            $ls_rif = "<b>".Empresa::Rif()."</b>";
            $ls_sector_registro = "SECTOR: ".Empresa::Sector()."      NÚMERO DE REGISTRO: ".Empresa::RegistroSUDECA();
            $ls_titulo = "<b>MAYOR ANALITICO DESDE ".$f1." HASTA ".$f2." </b>";
            $ls_coletilla = "<i>(EXPRESADO EN Bs.)</i>";


            $pdf = new Cezpdf();

            $pdf->selectFont(Yii::app()->getBaseUrl(false).'/fonts/Helvetica.afm');
            $pdf->ezSetCmMargins(3,1.5,1,1);

            //Encabezado//////////////////////////////////////////////////////////
            $all = $pdf->openObject();
            $pdf->saveState();

            $li_tm=$pdf->getTextWidth(8,$ls_nombre_empresa);
            $tm=306-($li_tm/2);

            $li_tm=$pdf->getTextWidth(12,$ls_rif);
            $tm1=306-($li_tm/2);

            $li_tm=$pdf->getTextWidth(8,$ls_sector_registro);
            $tm2=306-($li_tm/2);

            $li_tm=$pdf->getTextWidth(10,$ls_titulo);
            $tm3=306-($li_tm/2);

            $li_tm=$pdf->getTextWidth(8,$ls_coletilla);
            $tm4=306-($li_tm/2);

            $pdf->addText($tm, 810, 8, utf8_decode($ls_nombre_empresa));
            $pdf->addText($tm1, 798, 8, utf8_decode($ls_rif));
            $pdf->addText($tm2, 786, 8, utf8_decode($ls_sector_registro));
            $pdf->addText($tm3, 774, 10, utf8_decode($ls_titulo));
            $pdf->addText($tm4, 762, 8, utf8_decode($ls_coletilla));


            $pdf->ezStartPageNumbers(285,28,8,'','',1);

            $pdf->restoreState();
            $pdf->closeObject();
            $pdf->addObject($all,'all');
            ///////////////////////////////////////////////////////////////////////


            //Vamos a sacar el rango de cuentas seleccionadas
                $criteria = new CDbCriteria;
                $criteria->condition = "cuenta BETWEEN '$cuenta1' AND '$cuenta2' ";
                $criteria->order = "id";
                #Enviamos el query al modelo
                $model_cuentas = CuentasConsolidada::model()->findAll($criteria);

//                echo "<pre>"; print_r($criteria); exit;
//                echo "<pre>".print_r($model_cuentas,true)."</pre>"; die();
            foreach($model_cuentas as $cuenta):


                //buscamos las cuentas relacionadas
                $data = detalle_cuenta($cuenta->cuenta, $f1,$f2);
                    if (count($data['detalle'])>0):
                            $pdf->ezText(utf8_decode("<b>Código Cuenta: </b>".$cuenta->codigo_cuenta),10);
                            $pdf->ezText(utf8_decode("<b>Denominación:</b> ".$cuenta->descripcion."\n"),10);

                            $data = detalle_cuenta($cuenta->cuenta, $f1,$f2);
                            //$data = array();
                            $pdf->ezTable($data['detalle'],
                                            array(
//                                              'nro'=>'Nro',
                                                'fecha'=>'<b>Fecha</b>',
                                                'nro_comprobante'=>'Comp',
//                                                'referencia'=>'Ref',
                                                'descripcion'=>utf8_decode('Descripción'),
                                                'monto_debe'=>'Debe',
                                                'monto_haber'=>'Haber',
                                                'monto_saldo'=>'Saldo',
                                                //'fecha_creado'=>'Fecha',
                                                //'id_cuenta'=>'Id',
                                                //'cuenta'=>'Cuenta',
                                                //'denom_cuenta'=>'Denominación'

                                            ),'',
                                            array(  'showHeadings'=>1,
                                                    'showLines'=>0,
                                                    'shaded'=>0,
                                                    'xPos'=>'right',
                                                    'xOrientation'=>'left',
                                                    'width'=>530,
                                                    'fontSize'=>8,
                                                    'cols'=>array(
                                                        'nro'=>array('justification'=>'center'),
                                                        'fecha'=>array('justification'=>'center','width'=>53,),
                                                        'nro_comprobante'=>array('justification'=>'center','width'=>39,),
//                                                        'referencia'=>array('justification'=>'center','width'=>39,),
                                                        'descripcion'=>array('width'=>252, 'justification'=>'full'), //quedan
                                                        'monto_debe'=>array('width'=>55, 'justification'=>'right'),
                                                        'monto_haber'=>array('width'=>55, 'justification'=>'right'),
                                                        'monto_saldo'=>array('width'=>55, 'justification'=>'right')
                                                  ))
                                    );
                                //Tabla de totales
                                $pdf->ezTable($data['totales'],
                                                array(
                                                    'denom'=>'',
                                                    'acum_debe'=>'',
                                                    'acum_haber'=>'',
                                                    'acum_saldo'=>'',
                                                ),'',
                                                array(  'showHeadings'=>0,
                                                        'showLines'=>0,
                                                        'shaded'=>2,
                                                        'xPos'=>'right',
                                                        'xOrientation'=>'left',
                                                        'width'=>530,
                                                        'fontSize'=>8,
                                                        'cols'=>array(
                                                            'denom'=>array('width'=>380, 'justification'=>'right'), //quedan
                                                            'acum_debe'=>array('width'=>55, 'justification'=>'right'),
                                                            'acum_haber'=>array('width'=>55, 'justification'=>'right'),
                                                            'acum_saldo'=>array('width'=>55, 'justification'=>'right')
                                                      ))
                                        );


                        $pdf->ezText("\n\n");
                        endif;
                    endforeach;
            $pdf->ezStream();
            exit;
            //echo $html;
