<?php
/************************************************************************************************************
 * DEV: CONTRALORIA DEL ESTADO.
 * MODULO: Logistica
 * PROGRAMADORES.____________________________________________________________________________________________
 * | # | NOMBRE.              | CORREO.                                 | TELEFONO.         | CONTRALORIA
 * | 1 | Fernando Rosillo     | f.rosillo@contraloriamonagas.gob.ve     | 0414-8807980      | MONAGAS
 * | 2 | Pedro Montañez       | p.montanez@contraloriamonagas.gob.ve    | 0414-0973839      |
 * |_________________________________________________________________________________________________________
 * **********************************************************************************************************/

class reportesControlador extends Controlador
{
    private $atPlanOperativo;
    public function __construct()
    {
        parent::__construct();
        #se carga el Modelo.
        Session::metAcceso();
        #se carga el Modelo.
        $this->atPlanOperativo = $this->metCargarModelo('reportes');
        //define('APP_LOGO',$this->atPlanOperativo->metLogoContraloria());
    }

    //Método para listar los reportes
    public function metIndex($estado = false)
    {
        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'DataTables/extensions/dataTables.colVis941e',
            'DataTables/extensions/dataTables.tableTools4029',
        );
        $js[] = 'materialSiace/core/demo/DemoTableDynamic';
        $js[] = 'Aplicacion/appFunciones';
        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJs($js);

        $arrYears=$this->atPlanOperativo->metComboBoxYears();
        $this->atVista->assign('listayears', $arrYears);

        $listaDepContraloria = $this->atPlanOperativo->metComboBoxDep();
        $this->atVista->assign('listaDependencias', $listaDepContraloria);

        $this->atVista->assign('estado',$estado);
        $this->atVista->metRenderizar('listado');
    }

    public function metJsonDataTabla()
    {
        #obtengo los rodes de usuario, Nota: esto es obligatorio
        $rol=Session::metObtener('perfil');
        #cacturo la busqueda enviada por la datatabla, Nota: esto es obligatorio
        $busqueda = $this->metObtenerFormulas('search');
        #construyo el sql, Nota: esto es obligatorio
        $sql = "
                SELECT *
                FROM a004_dependencia 
                WHERE (ind_codpadre = 8 OR ind_codpadre = 11 OR ind_codpadre = '') AND pk_num_dependencia <> 8
                ";
        if ($busqueda['value']) {
            $sql .= " 
                    AND
                    (ind_dependencia LIKE '%$busqueda[value]%' OR
                    pk_num_dependencia LIKE '%$busqueda[value]%' ) 
                    ";
        }

        #creo un arreglo de los campos a mostrar, Nota: esto es obligatorio
        $campos = array('pk_num_dependencia','ind_dependencia', 'fec_ultima_modificacion');
        #campo primario de la tabla, Nota: esto es obligatorio
        $clavePrimaria = 'pk_num_dependencia';
        #construyo el listado de botones

        if (in_array('PO-01-03-02-03-C',$rol)) {
            $campos['boton']['Consultar'] = "
                <button accion='ver' title='Consultar'
                        class='ver logsUsuario btn ink-reaction btn-raised btn-xs btn-warning'
                        descipcion='El Usuario ha Consultado el Producto Nro. $clavePrimaria'
                        idProducto='$clavePrimaria' titulo='Consultar Producto'
                        data-toggle='modal' data-target='#formModal' id='modificar'>
                    <i class='icm icm-eye2'></i>
                </button>
                <br>
                <div class='dropdown'>
                  <button class='btn ink-reaction btn-raised btn-xs btn-warning dropdown-toggle' type='button' id='dropdownMenu1' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true'>
                    <i class='icm icm-eye2'></i>
                    Ver poa por año
                    <span class='caret'></span>
                  </button>
                  <ul class='dropdown-menu' aria-labelledby='dropdownMenu1'>
                    <li><a href='#'>Action</a></li>
                    <li><a href='#'>Another action</a></li>
                    <li><a href='#'>Something else here</a></li>
                    <li role='separator' class='divider'></li>
                    <li><a href='#'>Separated link</a></li>
                  </ul>
                </div>
                ";
        } else {
            $campos['boton']['Consultar'] = false;
        }

        #hago el llamado de la datatabla del controlador principal.
        $this->metDataTabla($sql,$campos,$clavePrimaria);
    }

    public function metActividades(){
        $idDependencia = $this->metObtenerInt('idDependencia');
        $fec_anio = $this->metObtenerInt('fec_anio');

        $listaActividades = $this->atPlanOperativo->metBuscaActividades($fec_anio, $idDependencia);
        echo json_encode(array("filas"=>$listaActividades));
    }

    public function metListarIndicadores(){
        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'DataTables/extensions/dataTables.colVis941e',
            'DataTables/extensions/dataTables.tableTools4029',
        );
        $js[] = 'materialSiace/core/demo/DemoTableDynamic';
        $js[] = 'Aplicacion/appFunciones';
        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJs($js);

        $Exceccion_int=array('cbox_dependencia','cbox_yearplan','cbox_actividades');
        $arrInt=$this->metValidarFormArrayDatos('form', 'int',$Exceccion_int);

        $poaDetalle = $this->atPlanOperativo->metMostrarPoaDetalle($arrInt);
        $progreso = $this->atPlanOperativo->metProgreso($arrInt);

        $noP = $progreso['total_planificado'] != 0 ? $progreso['total_ejecutado']/$progreso['total_planificado'] : 0;
        $progreso['porcentaje'] = $noP <= 1 ? $noP*100 : 100;

        $jsonIndicadores = array();
        foreach($poaDetalle as $data){
            $jsonIndicadores[] = array(
                'num_poa_detalle' => $data['pk_num_poa_detalle'],
                'tipo_producto' => $data['tipo'],
                'ind_trimestre_planificado1' => $data['ind_trimestre_planificado1'],
                'ind_trimestre_planificado2' => $data['ind_trimestre_planificado2'],
                'ind_trimestre_planificado3' => $data['ind_trimestre_planificado3'],
                'ind_trimestre_planificado4' => $data['ind_trimestre_planificado4'],
                'total_planificado' => $data['total_planificado'],
                'ind_trimestre_ejecutado1' => $data['primer_trimestre_ejecutado'],
                'ind_trimestre_ejecutado2' => $data['segundo_trimestre_ejecutado'],
                'ind_trimestre_ejecutado3' => $data['tercer_trimestre_ejecutado'],
                'ind_trimestre_ejecutado4' => $data['cuarto_trimestre_ejecutado'],
                'total_ejecutado' => $data['total_ejecutado']
            );
        }

        $this->atVista->assign('progreso', $progreso);
        $this->atVista->assign('poaDetalle', $poaDetalle);
        $this->atVista->assign('jsonIndicadores', $jsonIndicadores);
        $this->atVista->metRenderizar('indicadores');
    }

}
