<?php
/*****************************************************************************************************************************************
 * DEV: CONTRALORIA DE ESTADOS
 * PROYECTO: SISTEMA INTEGRAL ADMINISTRATIVO DE CONTRALORIAS DE ESTADOS
 * MODULO: index
 * PROCESO: index del sistema
 * PROGRAMADORES:
 * | # |          NOMBRES Y APELLIDOS              |               CORREO               |          TELEFONO              |
 * | 1 |          Irvin Lezama                   |i.lezama@contraloriamonagas.gob.ve   |        0424-9371200           |
 * |   |                                           |                                    |                                |
 * |___|___________________________________________|____________________________________|________________________________|
 *
 * VERSION
 *
 * |          PROGRAMADOR                  |          FECHA          |       VERSION      |
 * |               #1                      |        03-08-2015       |         1.0        |
 * |                                       |                         |                    |
 * |_______________________________________|_________________________|____________________|
 *
 *****************************************************************************************************************************************/
class solicitudControlador extends Controlador
{
    private $atSolicitudes;




    public function __construct()
    {
        parent::__construct();
        Session::metAcceso();
        $this->metObtenerLibreria('reportes','modCA');
        $this->atSolicitudes = $this->metCargarModelo('solicitud');

        $this->atHostEmailGevento = Session::metObtener('HOSTEMAILGEVENTO');
        $this->atEmailGevento = Session::metObtener('EMAILGEVENTO');
        $this->atPassEmailGevento = Session::metObtener('PASSWEMAILGEVENTO');
    }

    public function metIndex()
    {
        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'DataTables/extensions/dataTables.colVis941e',
            'DataTables/extensions/dataTables.tableTools4029',
            'select2/select201ef',
            'jquery-ui-selectable/jquery-ui',
        );
        $complementosJs = array(
            'select2/select2.min',
            'DataTables/datatable',
            'mask/jquery.mask',
            'wizard/jquery.bootstrap.wizard.min',
            'jquery-ui-selectable/jquery-ui',);
        $js[] = 'materialSiace/core/demo/DemoTableDynamic';
        $js[] = 'Scripts/Form';

        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJsComplemento($complementosJs);
        $this->atVista->metCargarJs($js);
        $validar = array(
            'jquery-validation/dist/jquery.validate.min',
            'jquery-validation/dist/additional-methods.min'
        );
        $this->atVista->metCargarJsComplemento($validar);

        $ticket =  $this->atSolicitudes->metListarSolicitud();


        $primerDia = new DateTime();
        $primerDia->modify('first day of this month');

        $ultimoDia= new DateTime();
        $ultimoDia->modify('last day of this month');




        //Validar que Usuario Logeado es Jefe o director
        if( $this->atSolicitudes->myInfo['logeadoIsJefe']== 1){
            $funcionarios = $this->atSolicitudes->metListarEmpleadosxDependencia( $this->atSolicitudes->myInfo['dependenciaDeEmpleadoLogeado'] );
            $this->atVista->assign('funcionarios',$funcionarios);
        }


        $conceptos = $this->ordenarConceptos();
        $estados = $this->atSolicitudes->metObtenerEstadoTicket();



        $this->atVista->assign('listado',$ticket);
        $this->atVista->assign('conceptos',$conceptos);
        $this->atVista->assign('estados',$estados);
        $this->atVista->assign('idEmpleadoLogeado',Session::metObtener('idEmpleado'));

        $this->atVista->assign('desde',$primerDia->format('d-m-Y'));
        $this->atVista->assign('hasta',$ultimoDia->format('d-m-Y'));
        $this->atVista->assign('infoUserLogeado',  $this->atSolicitudes->myInfo);

        $this->atVista->metRenderizar('listado');

        /*echo '<pre>';
        print_r($this->atSolicitudes->myInfo);
        echo '</pre>';*/
    }

    public function metEnviarCorreo($pk_num_empleado_emisor,$tituloTicket,$observacionTicket)
    {

        $informacionEmpleado = $this->atSolicitudes->metObtenerInformacionEmpleado($pk_num_empleado_emisor);
        $nombreEmpleado = $informacionEmpleado['ind_nombre1'] .' '. $informacionEmpleado['ind_apellido1'];
        $correoEmpleado = $informacionEmpleado['correo_institucional'];
        $footerMail = utf8_decode("\n \n \n \n  Recuerde que para visualizar el ticket debe Ingresar al Siace en el Modulo Atencion al usuario > Mis Ticket de Atencion\n \n\n \nEste  es un correo automático sin supervisón, no responda a esta dirección de correo.");
        $this->metObtenerLibreria('PHPMailerAutoload', 'PHPMailer');
        $mail = new PHPMailer();
        //Definir que vamos a usar SMTP
        $mail->IsSMTP();

        $mail->SMTPOptions = array(
            'ssl' => array (
                'verify_peer' => false,
                'verify_peer_name' => false,
                'allow_self_signed' => true
            )
        );

        // 2 = client and server messages
        $mail->SMTPDebug  = 0;
        $mail->Host       = $this->atHostEmailGevento;//'smtp.gmail.com';
        $mail->Port       = 587;
        $mail->SMTPSecure = 'TLS';
        $mail->SMTPAuth   = true;
        $mail->Username =  $this->atEmailGevento;
        $mail->Password   = $this->atPassEmailGevento;

//$mail->AddReplyTo('dt.ait.programador1@cgesucre.gob.ve','Replica');
        $mail->SetFrom($this->atEmailGevento, utf8_decode('Tienes un nuevo Ticket'));
        $mail->AddAddress($correoEmpleado, $nombreEmpleado);

        $mail->Subject = 'Creacion de nuevo ticket de atencion - SIACE ';
        $mail->Body = utf8_decode("Titulo: ".$tituloTicket."\nDescripción del Ticket: ".$observacionTicket.$footerMail);

        $result = $mail->Send();


        /*if(!$result) {
            //echo "error ".$mail->ErrorInfo;
            $datos['mensaje'] = 'no';
            $datos['error'] = $mail->ErrorInfo;
           echo json_encode($datos);
        } else {
            $datos['mensaje'] = 'ok';
            echo json_encode($datos);
        }*/

       // chmod($archivo, 0777);
        //unlink($archivo);
    }
    public function metCrearSolicitud(){

        $idEmpleadoAsignado = $_POST['idEmpleadoAsignado'];

        $fk_subCategoria_Ticket  =$_POST['idSubCategoria'];
        $fk_a004_num_dependencia =$_POST['idDependencia'];
        $observacion =$_POST['observacion_solicitud'];
        $fecha_Limite =!isset($_POST['fechaLimite'])?'':$_POST['fechaLimite'];
        //$fecha_Limite ='2023-10-31';
        $titulo =$_POST['titulo'];

        $nivelPrioridad =$_POST['nivelPrioridad'];

        $personasAsignadas = $_POST['personas_listadas'];
        $personasAsignadas = json_decode($personasAsignadas[0], true);


        $idRegistro = $this->atSolicitudes->metNuevaSolicitud(
            $idEmpleadoAsignado,
            $titulo,
            $nivelPrioridad,
            $fk_a004_num_dependencia,
            $observacion,
            $fk_subCategoria_Ticket,
            $fecha_Limite,
            $personasAsignadas
        );


        if(isset($idRegistro) && $idEmpleadoAsignado != 0){
                $this->metEnviarCorreo($idEmpleadoAsignado,$titulo,$observacion);
        }


    }
    public function metRPAtencionUsuariosPDF(){

        $desde = $_GET['desde'];
        $hasta = $_GET['hasta'];
        $estado = $_GET['estado'] == 'Todos' ? '' :  $_GET['estado'];
        $dependencia = $_GET['dependencia'] == 'Todos' ? '' :  $_GET['dependencia'];
        $categoria = $_GET['categoria'] == 'Todos' ? '' :  $_GET['categoria'];
        $prioridad = $_GET['prioridad']  == 'Todos' ? '' :  $_GET['prioridad'];
        $asignado = $_GET['asignado'];
        $isPadre = $_GET['isPadre'];

        $datosFiltrados =  $this->atSolicitudes->metListarTicketSoporteFiltrado($estado,$desde,$hasta,$dependencia,$categoria,$prioridad,$asignado,$isPadre);


        /*echo '<pre>';
        print_r($_GET);
        echo '</pre>';*/


        $myFPDF = new RPTablaEfectividadAtencionUsuarios('L','mm','Letter');


        $myFPDF->setDesde($desde);
        $myFPDF->setHasta($hasta);
        $myFPDF->setDatosFiltrados($datosFiltrados);

        $myFPDF->AliasNbPages();
        $myFPDF->AddPage();
        $myFPDF->SetAutoPageBreak(true,25);

        //Pintamos el contenido de la tabla
        $myFPDF->drawContent();

        $myFPDF->Output();




    }

    public function metRPInformeMensualPDF(){

        $desde = $_GET['desde'];
        $hasta = $_GET['hasta'];

        /*echo '<pre>';
       print_r($_GET);
       echo '</pre>';*/



        /*echo '<pre>';
       print_r($desde);
       echo '</pre>'; */

      /* echo '<pre>';
       print_r($hasta);
       echo '</pre>';*/


        $estado = $_GET['estado'] == 'Todos' ? '' :  $_GET['estado'];
        $dependencia = $_GET['dependencia'] == 'Todos' ? '' :  $_GET['dependencia'];
        $categoria = $_GET['categoria'] == 'Todos' ? '' :  $_GET['categoria'];
        $prioridad = $_GET['prioridad']  == 'Todos' ? '' :  $_GET['prioridad'];
        $asignado = $_GET['asignado'];
        $isPadre = $_GET['isPadre'];

        //$datosFiltrados =  $this->atSolicitudes->metListarTicketSoporteFiltrado($estado,$desde,$hasta,$dependencia,$categoria,$prioridad,$asignado,$isPadre);
        $datosFiltrados =  $this->atSolicitudes->metDataRPInformeMensual($desde,$hasta);

        /*echo '<pre>';
        print_r($datosFiltrados);
        echo '</pre>';*/


        $jefes =  $this->atSolicitudes->metObtenerJefesDireccionTecnica();




        $myFPDF = new RPInformeMensualSoporte('P','mm','Letter');
        $myFPDF->setDesde($desde);
        $myFPDF->setHasta($hasta);
        $myFPDF->setJefe($jefes[1]['nombre_persona']);//Posición 1 Trae al Jefe de AIT
        $myFPDF->setDirector($jefes[0]['nombre_persona']);//Posición 0 trae al director de la técnica

        foreach($datosFiltrados as $dato){
            $resumenAtenciones[$dato['codigo_categoria']]['codigo'] = $dato['codigo_categoria'];
            $resumenAtenciones[$dato['codigo_categoria']]['nombre'] = $dato['categoria'];
            $resumenAtenciones[$dato['codigo_categoria']]['cantidad'] = !isset($resumenAtenciones[$dato['codigo_categoria']]['cantidad'])?1:$resumenAtenciones[$dato['codigo_categoria']]['cantidad']+1;

            $resumenAtenciones[$dato['codigo_categoria']]['dependencias'][$dato['txt_abreviacion']]['Nombre'] = $dato['txt_abreviacion'];
            $resumenAtenciones[$dato['codigo_categoria']]['dependencias'][$dato['txt_abreviacion']]['Cantidad'] = !isset($resumenAtenciones[$dato['codigo_categoria']]['dependencias'][$dato['txt_abreviacion']]['Cantidad'])?1:$resumenAtenciones[$dato['codigo_categoria']]['dependencias'][$dato['txt_abreviacion']]['Cantidad']+1;
            //$mir[$dato['codigo_categoria']]['dependencia'] = $dato['txt_abreviacion'];
            //$mir[$dato['codigo_categoria']]['cantidad_dependencia'] = !isset($mir[$dato['codigo_categoria']]['cantidad_dependencia'])?1:$mir[$dato['codigo_categoria']]['cantidad_dependencia']+1;
 /*echo '<pre>';
        print_r($mir);
        echo '</pre>';*/
        }

        $myFPDF->setDatosFiltrados($resumenAtenciones);

        $myFPDF->AliasNbPages();
        $myFPDF->AddPage();
        $myFPDF->SetAutoPageBreak(true,10);



        //Pintamos el titulo de la tabla
        $myFPDF->drawTittle();
        //Pintamos el contenido de la tabla
        $myFPDF->drawContent();

         $myFPDF->Output();



        /*echo '<pre>';
        print_r($mir);
        echo '</pre>';*/

    }
    public function ordenarConceptos(){
        $resultado = $this->atSolicitudes->metListarCategoriasOrdenado();

        $array = array();

        foreach ($resultado as $rowx){
            $hijo= array(
                'id' => trim($rowx['pk_num_concepto']),
                'nombre' => $rowx['categoria'],
                'estado' => $rowx['estado_concepto']
            );
            $padre = array(
                 'id' => trim($rowx['fk_num_ticket_padre']) ,
                'nombre' => $rowx['nombrePadre'],
                'hijos' => array()
            );
            $array[$padre['id']]['ID'] = $rowx['fk_num_ticket_padre'];
            $array[$padre['id']]['NombrePadre'] = $rowx['nombrePadre'];
            $array[$padre['id']]['hijos'][] = $hijo;
        }
        return $array;
    }
    public function metListadoconFiltro(){
        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'DataTables/extensions/dataTables.colVis941e',
            'DataTables/extensions/dataTables.tableTools4029',
            'select2/select201ef',
            'jquery-ui-selectable/jquery-ui',
        );
        $complementosJs = array(
            'select2/select2.min',
            'DataTables/datatable',
            'mask/jquery.mask',
            'wizard/jquery.bootstrap.wizard.min',
            'jquery-ui-selectable/jquery-ui',);
        $js[] = 'materialSiace/core/demo/DemoTableDynamic';
        $js[] = 'Scripts/Form';

        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJsComplemento($complementosJs);
        $this->atVista->metCargarJs($js);
        $validar = array(
            'jquery-validation/dist/jquery.validate.min',
            'jquery-validation/dist/additional-methods.min'
        );
        $this->atVista->metCargarJsComplemento($validar);

        $estado = $_POST['estado'] == 'Todos' ? '' :  $_POST['estado'];
        $desde = $_POST['desde'];
        $hasta = $_POST['hasta'];
        $autor = $_POST['autor'] == 'Todos' ? '' :  $_POST['autor'];
        $categoria = $_POST['categoria'] == 'Todos' ? '' :  $_POST['categoria'];
        $prioridad = $_POST['prioridad']  == 'Todos' ? '' :  $_POST['prioridad'];
        $asignado = $_POST['asignado'];
        $isPadre = $_POST['isPadre'];
        $origen = $_POST['origen'];


        $datosFiltrados =  $this->atSolicitudes->metListarSolicitudFiltrado($estado,$desde,$hasta,$autor,$categoria,$prioridad,$asignado,$isPadre);




        /*$error = error_get_last();
        echo ' | error: ';
        print_r($error);*/

        /*echo '<pre>';
        print_r($categoria);
        echo '</pre>';*/

        $this->atVista->assign('listado',$datosFiltrados);
        $this->atVista->assign('origen',$origen);

        $this->atVista->assign('idEmpleadoLogeado',Session::metObtener('idEmpleado'));






        $this->atVista->metRenderizar('listadoConsulta');
    }
    public function metPizarraSoporteConFiltro(){
        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'DataTables/extensions/dataTables.colVis941e',
            'DataTables/extensions/dataTables.tableTools4029',
            'select2/select201ef',
            'jquery-ui-selectable/jquery-ui',
        );
        $complementosJs = array(
            'select2/select2.min',
            'DataTables/datatable',
            'mask/jquery.mask',
            'wizard/jquery.bootstrap.wizard.min',
            'jquery-ui-selectable/jquery-ui',);
        $js[] = 'materialSiace/core/demo/DemoTableDynamic';
        $js[] = 'Scripts/Form';

        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJsComplemento($complementosJs);
        $this->atVista->metCargarJs($js);
        $validar = array(
            'jquery-validation/dist/jquery.validate.min',
            'jquery-validation/dist/additional-methods.min'
        );
        $this->atVista->metCargarJsComplemento($validar);

        $estado = $_POST['estado'] == 'Todos' ? '' :  $_POST['estado'];
        $desde = $_POST['desde'];
        $hasta = $_POST['hasta'];
        $dependencia = $_POST['dependencia'] == 'Todos' ? '' :  $_POST['dependencia'];
        $categoria = $_POST['categoria'] == 'Todos' ? '' :  $_POST['categoria'];
        $prioridad = $_POST['prioridad']  == 'Todos' ? '' :  $_POST['prioridad'];
        $asignado = $_POST['asignado'];
        $isPadre = $_POST['isPadre'];
        $origen = $_POST['origen'];


        $datosFiltrados =  $this->atSolicitudes->metListarTicketSoporteFiltrado($estado,$desde,$hasta,$dependencia,$categoria,$prioridad,$asignado,$isPadre);




        /*$error = error_get_last();
        echo ' | error: ';
        print_r($error);*/

        /*echo '<pre>';
        print_r($categoria);
        echo '</pre>';*/

        $this->atVista->assign('listado',$datosFiltrados);
        $this->atVista->assign('origen',$origen);

        $this->atVista->assign('idEmpleadoLogeado',Session::metObtener('idEmpleado'));






        $this->atVista->metRenderizar('pizarraConsulta');
    }
    public function metOpenListadoSuperior() {
        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'DataTables/extensions/dataTables.colVis941e',
            'DataTables/extensions/dataTables.tableTools4029',
            'select2/select201ef',
            'jquery-ui-selectable/jquery-ui',
        );
        $complementosJs = array(
            'select2/select2.min',
            'DataTables/datatable',
            'mask/jquery.mask',
            'wizard/jquery.bootstrap.wizard.min',
            'jquery-ui-selectable/jquery-ui',);
        $js[] = 'materialSiace/core/demo/DemoTableDynamic';
        $js[] = 'Scripts/Form';

        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJsComplemento($complementosJs);
        $this->atVista->metCargarJs($js);
        $validar = array(
            'jquery-validation/dist/jquery.validate.min',
            'jquery-validation/dist/additional-methods.min'
        );
        $this->atVista->metCargarJsComplemento($validar);

        $ticket =  $this->atSolicitudes->metListarTicketsSuperior();



        $this->atVista->assign('listado',$ticket);
        $this->atVista->assign('UserLogeado',$this->atSolicitudes->myInfo);
        $this->atVista->assign('idEmpleadoLogeado',Session::metObtener('idEmpleado'));



        $this->atVista->metRenderizar('listadoSuperior');
        /*echo '<pre>';
       print_r($this->atSolicitudes->myInfo);
       echo '</pre>';*/
    }
    public function metOpenPizarraTicket()
    {
        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'DataTables/extensions/dataTables.colVis941e',
            'DataTables/extensions/dataTables.tableTools4029',
            'select2/select201ef',
            'jquery-ui-selectable/jquery-ui',
        );
        $complementosJs = array(
            'select2/select2.min',
            'DataTables/datatable',
            'mask/jquery.mask',
            'wizard/jquery.bootstrap.wizard.min',
            'jquery-ui-selectable/jquery-ui',);
        $js[] = 'materialSiace/core/demo/DemoTableDynamic';
        $js[] = 'Scripts/Form';

        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJsComplemento($complementosJs);
        $this->atVista->metCargarJs($js);
        $validar = array(
            'jquery-validation/dist/jquery.validate.min',
            'jquery-validation/dist/additional-methods.min'
        );
        $this->atVista->metCargarJsComplemento($validar);


        /*

        /*echo '<pre>';
        print_r($arraySubCategorias);
        echo '</pre>';*/


        /*$error = error_get_last();
                echo ' | error: ';
                print_r($error);*/

        $primerDia = new DateTime(); $primerDia->modify('first day of this month');
        $ultimoDia= new DateTime(); $ultimoDia->modify('last day of this month');





        $destino=array();
        foreach($this->atSolicitudes->metListarDependenciaVisita() AS $i){
            $destino[] = array(
                'id'=>$i['pk_num_dependencia'],
                'nombre'=>$i['ind_dependencia'],
            );
        }

        $ticket =  $this->atSolicitudes->metListarTicketSoporte();

        $estados = $this->atSolicitudes->metObtenerEstadoTicket();
        $conceptos = $this->ordenarConceptos();

        $arraySubCategorias = explode(",", $this->atSolicitudes->myRol['atender_conceptos']);

        $arraySubCategorias = array_map(function ($valor) {
            return str_replace("Todos", "", trim($valor));
        }, $arraySubCategorias);


        $this->atVista->assign('infoUserLogeado', $this->atSolicitudes->myInfo);
        $this->atVista->assign('estados',$estados);
        $this->atVista->assign('dependencias',$destino);
        $this->atVista->assign('desde',$primerDia->format('d-m-Y'));
        $this->atVista->assign('hasta',$ultimoDia->format('d-m-Y'));
        $this->atVista->assign('conceptos',$conceptos);
        $this->atVista->assign('subCategorias', $arraySubCategorias);
        $this->atVista->assign('listado',$ticket);

        $this->atVista->metRenderizar('pizarraTicket');

        /*echo '<pre>';
       print_r($ticket);
       echo '</pre>'*/;
    }
    public function metCargarSolicitud($opcion = 'nuevo')
    {

        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'wizard/wizardfa6c',
            'jquery-validation/dist/site-demo',
            'select2/select201ef',
            'bootstrap-datepicker/datepicker',
            'timeLine/timeline',
            'sweet-alert/sweet-alert.min'
        );

        $complementoJs = array(
            'jquery-validation/dist/jquery.validate.min',
            'jquery-validation/dist/additional-methods.min',
            'select2/select2.min',
            'wizard/jquery.bootstrap.wizard.min',
            'bootstrap-datepicker/bootstrap-datepicker',
            'ckeditor/ckeditor',
            'ckeditor/adapters/jquery',

            'sweet-alert/sweet-alert.min'



        );
        $js = array(//'materialSiace/core/demo/DemoTableDynamic',
            'materialSiace/core/demo/DemoFormWizard',
            'materialSiace/core/demo/DemoFormComponents',
            'materialSiace/core/demo/DemoFormEditors',
            'Scripts/Form'
        );

        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJsComplemento($complementoJs);
        $this->atVista->metCargarJs($js);


        $destino=array();
        foreach($this->atSolicitudes->metListarDependenciaVisita() AS $i){
            $destino[] = array(
                'id'=>'D'.$i['pk_num_dependencia'],
                'nombre'=>$i['ind_dependencia'],
            );
        }

        $usuario = Session::metObtener('idEmpleado');
        $categorias=array();
        $consultaCategorias = $this->atSolicitudes->metListarCategoriasPrincipales();

        foreach( $consultaCategorias AS $c){

            $categorias[] = array(
                'id'=>$c['pk_num_concepto'],
                'padre'=>$c['fk_num_ticket_padre'],
                'nombre' => $c['categoria'],
                'prioridad' => $c['nivel_prioridad'],
                'dependencia_encargada' =>  $c['dependencia_encargada']
            );
           // $categorias['pk_num_concepto']['Nombre_Padre'] = 1;
        }

        $this->atVista->assign('opcion', $opcion);
        if($opcion == 'nuevo'){
            $this->atVista->assign('numTicket', 0);
        }elseif ($opcion == 'ver' || $opcion == 'modificar'){

            $detallesSolicitud = array();

            $ticket =$this->atSolicitudes->metObtenerSolicitud($_POST['id']);
            $ticket = $ticket[0];

            $usuariosAsignados =$this->atSolicitudes->metObtenerUsuariosAgiandos($_POST['id']);

            foreach($this->atSolicitudes->metObtenerDetallesSolicitud($_POST['id']) AS $detalle) {
                $fechaOriginal = $detalle['fecha_detalle'];
                $fechaDetalle = date("Y-m-d", strtotime($fechaOriginal));
                $horaDetalle = date("h:i a", strtotime($fechaOriginal));

                $archivoTemp = array();

                foreach($this->atSolicitudes->metObtenerArchivosDetalle($detalle['pk_num_detalle']) AS $archivo) {
                    $archivoTemp[] = array(
                        'pk_num_archivo' => $archivo['pk_num_archivo'],
                        'fk_num_detalle' => $archivo['fk_num_detalle'],
                        'fecha_creacion' => $archivo['fecha_creacion'],
                        'ruta' => $archivo['ruta'],
                        'estadoArchivo'=> $archivo['estado']
                    );
                }
                $detallesSolicitud[] = array(
                    'pk_num_detalle' => $detalle['pk_num_detalle'],
                    'fk_num_solicitud' => $detalle['fk_num_solicitud'],
                    'fk_a018_num_seg_funcionario_Emisor' => $detalle['fk_a018_num_seg_funcionario_Emisor'],
                    'emisorIsJefe' => strstr($detalle['puestoEmisor'], 'JEFE')  || strstr($detalle['puestoEmisor'], 'DIRECTOR')
                                     ?1
                                     :0,
                    'lectura_funcionario' => $detalle['lectura_funcionario'],
                    'descripcion' => $detalle['descripcion'],
                    'numDependencia' => $detalle['numDependencia'],
                    'fecha_detalle' => $fechaDetalle,
                    'hora_detalle' => $horaDetalle,
                    'estado' => $detalle['estado'],
                    'fecha_aprobacion_detalle' => $detalle['fecha_aprobacion_detalle'],
                    'fk_a018_num_seg_funcionario_aprueba' => $detalle['fk_a018_num_seg_funcionario_aprueba'],
                    'nombre_Funcionario_Emisor' => $detalle['nombre_Funcionario_Emisor'],
                    'foto_Funcionario_Emisor' => $detalle['foto_Funcionario_Emisor'],
                    'nombre_Funcionario_Aprueba' => $detalle['nombre_Funcionario_Aprueba'],
                    'observacion_aprobacion_rechazo' => $detalle['observacion_aprobacion_rechazo'],
                    'justificacion_aprobacion' => $detalle['justificacion_aprobacion'],
                    'dependencia_empleado' => $detalle['nombreDependencia'],
                    'pk_num_dependencia_empleado' => $detalle['pk_num_dependencia'],
                    'archivos' => $archivoTemp
                );
            }
            $ticket['opcion'] = $opcion;

            $arraySubCategorias = explode(",", $this->atSolicitudes->myRol['atender_conceptos']);

            //Validar Si el usuario Logeado es soporte
            foreach($arraySubCategorias as $idCategoriax){
                if($idCategoriax == $ticket['pk_num_ticket_SubCategoria']){
                    $this->atSolicitudes->myInfo['logeadoIsSoporte'] = 1;
                }
            }

            //Validar Si el usuario Logeado está asignado
            foreach($usuariosAsignados as $asignado){
                if($asignado['fk_a018_num_seg_funcionario_Receptor'] == $usuario && $asignado['estado_asignacion'] == 'Activo'){
                    $this->atSolicitudes->myInfo['logeadoIsAssigned']= 1;
                }
            }

            //Validar si Usuario Logeado es el emisor del ticket
            if($this->atSolicitudes->myInfo['pk_num_empleado'] == $ticket['fk_a018_num_seg_funcionario_Emisor']){
                $this->atSolicitudes->myInfo['logeadoIsEmisorTicket']= 1;
            }
            $this->atVista->assign('ticket', $ticket);
            $this->atVista->assign('subCategoriasRolUserAsignado', $arraySubCategorias);
            $this->atVista->assign('usuariosAsignados', $usuariosAsignados);
            $this->atVista->assign('detallesArray',$detallesSolicitud);
        }


        /*echo '<pre>';
        print_r($this->atSolicitudes->myInfo);
        echo '</pre>';*/
/*
        echo '<pre>';
        print_r($consultaCategorias);
        echo '</pre>';*/

        /*echo '<pre>';
        print_r($ticket);
        echo '</pre>';*/

        /*echo '<pre>';
        print_r($categorias);
        echo '</pre>';*/

        /*echo '<pre>';
        print_r($categorias);
        echo '</pre>';*/

        /*$error = error_get_last();
        echo ' | error: ';
        print_r($error);*/

        $this->atVista->assign('infoUserLogeado', $this->atSolicitudes->myInfo);
        $this->atVista->assign('dependencia', $destino);
        $this->atVista->assign('categorias',$categorias);
        $this->atVista->assign('rutaArchivos', BASE_URL_ARCHIVOS);
        $this->atVista->assign('origen', $_POST['origen']);

        $this->atVista->metRenderizar('crearModificar', 'modales');

        /*echo '<pre>';
        print_r( $this->atSolicitudes->myInfo);
        echo '</pre>';*/

    }
    public function metOpenEmitirEvaluacionTicket(){


        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'wizard/wizardfa6c',
            'jquery-validation/dist/site-demo',
            'select2/select201ef',
            'bootstrap-datepicker/datepicker',

            'sweet-alert/sweet-alert.min'

        );
        $complementoJs = array(
            'jquery-validation/dist/jquery.validate.min',
            'jquery-validation/dist/additional-methods.min',
            'select2/select2.min',
            'wizard/jquery.bootstrap.wizard.min',
            'bootstrap-datepicker/bootstrap-datepicker',
            'ckeditor/ckeditor',
            'ckeditor/adapters/jquery',

            'sweet-alert/sweet-alert.min',
            'jquery-ui-selectable/jquery-ui',
        );
        $js = array(
            'materialSiace/core/demo/DemoFormWizard',
            'materialSiace/core/demo/DemoFormComponents',
            'materialSiace/core/demo/DemoFormEditors',
            'Scripts/Form'
        );

        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJsComplemento($complementoJs);
        $this->atVista->metCargarJs($js);

        $this->atVista->assign('numSolicitud', $_POST['numSolicitud']);
        $this->atVista->metRenderizar('evaluarTicket', 'modales');
    }
    public function metEvaluarTicket(){

        $numTicket = $_POST['numSolicitud'];
        $resolucion = $_POST['resolucion'];

        echo $this->atSolicitudes->metEvaluarTicket($numTicket,$resolucion);
    }
    public function metActivarSolicitud(){

        $idSolicitud = $_POST['idSolicitud'];
        $estadoPrevio = $_POST['estadoPrevio'];


        $activarTicket = $this->atSolicitudes->metActivarSolicitud( $idSolicitud,$estadoPrevio );

        return $activarTicket;

    }
    public function metAprobarSolicitud(){

        $idSolicitud = $_POST['idSolicitud'];
        $aprobarTicket = $this->atSolicitudes->metAprobarSolicitud( $idSolicitud );

        return $aprobarTicket;

    }
    public function metPausarSolicitud(){

        $idSolicitud = $_POST['idSolicitud'];
        $estadoPrevio = $_POST['estadoPrevio'];


        $pausarTicket = $this->atSolicitudes->metPausarSolicitud($idSolicitud,$estadoPrevio );

        return $pausarTicket;

    }
    public function metCancelarSolicitud(){

        $idSolicitud = $_POST['numSolicitud'];
        $justificacion = $_POST['justificacion'];


        $cancelar = $this->atSolicitudes->metCancelarSolicitud( $idSolicitud,$justificacion );

        return $cancelar;

    }

    public function metModificarSolicitud(){

        $subCategoria  =$_POST['idSubCategoria'];
        $dependencia =$_POST['idDependencia'];
        $activo  =$_POST['codActivo'];
        $fechaLimite =$_POST['fechaLimite'];
        $observacion =$_POST['observacion_solicitud'];
        $idSolicitud = $_POST['idSolicitud'];
        $titulo = $_POST['titulo'];
        $estadoSolicitud = $_POST['estadoSolicitud'];


        $modificar = $this->atSolicitudes->metModificarSolicitud(
            $idSolicitud,$titulo,$estadoSolicitud,$observacion,$subCategoria,$dependencia,$activo,$fechaLimite
        );
        return $modificar;

    }
    public function metEliminarAsignacionUsuario(){

        $fkNumSolicitud = $_POST['numSolicitud'];
        $personaAsignada = $_POST['personaAsignada'];
        $subCategoria = $_POST['subCategoria'];
        $estadoSolicitud = $_POST['estadoSolicitud'];

        $eliminado = $this->atSolicitudes->metEliminarAsignacionUsuario(
            $fkNumSolicitud, $personaAsignada,$subCategoria,$estadoSolicitud
        );



    }
    public function metAgregarAsignacionUsuario(){

    $idSolicitud  = $_POST['idSolicitud'];
    $personasAsignada = $_POST['personaAgregada'];
    $subCategoria = $_POST['subCategoria'];
    $estadoSolicitud = $_POST['estadoSolicitud'];



    $idRegistro = $this->atSolicitudes->metAgregarAsignacionUsuario(
        $idSolicitud, $personasAsignada,$subCategoria,$estadoSolicitud
    );


    return $idRegistro;
}
    public function metCrearDetalle(){
        $idSolicitud  = $_POST['idSolicitud'];
        $descripcion = $_POST['descripcionDetalle'];
        $archivos = $_FILES['archivos'];

        $nuevoDetalle = $this->atSolicitudes->metInsertDetalle($idSolicitud, $descripcion, $archivos);
        if(isset($nuevoDetalle)){
            $this->metSubirArchivosDetalle($archivos,$idSolicitud,$nuevoDetalle);
        }

        echo $nuevoDetalle;
    }
    public function metSubirArchivosDetalle($archivosx,$ticketx,$detallex ){

    $ticket = isset($_POST['ticket']) ? $_POST['ticket'] : $ticketx;
    $archivos = isset($_FILES['archivos']) ? $_FILES['archivos'] : $archivosx;
    $detalle = isset($_POST['detalle']) ? $_POST['detalle'] : $detallex;



    foreach ($archivos['tmp_name'] as $index => $nombreTemporal) {

        $baseRuta = strpos($_SERVER['DOCUMENT_ROOT'] ,'siacetest' ) !== false
                ? '/home/www/archivostest/'
                :'/home/www/archivos/';

        $rutaUtilizar = $baseRuta . 'modCA/ticket'.$ticket.'/detalle'.$detalle.'/';

        $nombreArchivo = $archivos['name'][$index];

        $rutaDirectorio = $_SERVER['DOCUMENT_ROOT'] . '/archivos/modCA/ticket'.$ticket.'/detalle'.$detalle.'/';
        $rutaCompleta = "http://" . $_SERVER['HTTP_HOST'] . '/archivos/modCA/ticket'.$ticket.'/detalle'.$detalle.'/' . $nombreArchivo;
        $rutaDestino = BASE_URL_ARCHIVOS . 'modCA/ticket'.$ticket.'/detalle'.$detalle.'/' ;//Mio


        echo ' | $rutaDirectorio: ' . $rutaDirectorio;
        echo ' | $rutaCompleta: ' . $rutaCompleta;

        echo ' | Ruta Destino: ' . $rutaDestino;
        echo ' | NombreArchivoCopiar: ' . $nombreArchivo;
        echo ' | ArchivoTemporal: ' . $nombreTemporal;

        mkdir($rutaUtilizar, 0777, true);
        echo ' | Creando carpeta: ' . mkdir($rutaUtilizar, 0777, true);
        echo ' | Estoy usando: $rutaDestino';




        if (move_uploaded_file($nombreTemporal, $rutaUtilizar . $nombreArchivo)) {
            echo ' | se copió el archivo';
        } else {
            $error = error_get_last();
            echo ' | NO copió el archivo, error: ' . json_encode($error);
        }

        /*$error = error_get_last();
        echo ' | error: ';
        print_r($error);*/
    }
}
    public function metAprobarRechazarDetalle(){

        $idDetalle = $_POST['idDetalle'];
        $numSolicitud = $_POST['numSolicitud'];
        $accion = $_POST['accion'];
        $justificacion = $_POST['justificacion'];
        $usuario = Session::metObtener('idEmpleado');

        $estado = $_POST['estadoDetalle'];
        $estadoTicket = $_POST['estadoTicket'];
        $estado = strtolower($estado);



            $resultado = $this->atSolicitudes->metAprobarRechazarDetalle(
                $usuario,$idDetalle,$accion,$numSolicitud,$justificacion,$estado,$estadoTicket);


    }
    public function metAprobarRechazarTicket(){

        $numSolicitud = $_POST['numSolicitud'];
        $accion = $_POST['accion'];
        $justificacion = $_POST['justificacion'];
        $usuario = Session::metObtener('atIdEmpleado');


        $resultado = $this->atSolicitudes->metAprobarRechazarTicket(
            $usuario,$accion,$numSolicitud,$justificacion);

        $error = error_get_last();
         echo ' | error: ';
         print_r($error);

    return $resultado;
    }
    public function metSubirArchivosCierreTicket($archivos,$ticket){

        foreach ($archivos['tmp_name'] as $index => $nombreTemporal) {

            $nombreArchivo = $archivos['name'][$index];



            $rutaDirectorio = $_SERVER['DOCUMENT_ROOT'] . '/archivos/modCA/ticket'.$ticket.'/cierre/';
            $rutaCompleta = "http://" . $_SERVER['HTTP_HOST'] . '/archivos/modCA/ticket'.$ticket.'/cierre/' . $nombreArchivo;
            $rutaDestino = BASE_URL_ARCHIVOS . 'modCA/ticket'.$ticket.'/cierre/' ;//Mio


            /*echo ' | $rutaDirectorio: ' . $rutaDirectorio;
            echo ' | $rutaCompleta: ' . $rutaCompleta;

            echo ' | Ruta: ' . $rutaDestino;//$filtrado[$dato['pk_num_solicitud']]['Asignados'][$dato['pk_num_empleado_asignacion']]= $datosAsignado;
            echo ' | NombreArchivoCopiar: ' . $nombreArchivo;
            echo ' | ArchivoTemporal: ' . $nombreTemporal;*/


            mkdir($rutaDirectorio, 0777, true);



            if (move_uploaded_file($nombreTemporal, $rutaDirectorio . $nombreArchivo)) {

            } else {

            }

            /*$error = error_get_last();
            echo ' | error: ';
            print_r($error);*/
        }
    }
    public function metCerrarTicket(){

        $resolucion = $_POST['resolucion'];
        $numSolicitud = $_POST['numSolicitud'];
        $justificacion = $_POST['justificacion'];
        $fuente_solicitud = $_POST['fuente'];
        $archivos = $_FILES['archivos'];


        $numCierre = $this->atSolicitudes->metCerrarTicket(
            $numSolicitud, $justificacion, $resolucion,$archivos,$fuente_solicitud);

        if(isset($numCierre)){
            $this->metSubirArchivosCierreTicket($archivos,$numSolicitud);
        }

        return $numCierre;
    }
    public function metOpenCerrarTicket(){

        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'wizard/wizardfa6c',
            'jquery-validation/dist/site-demo',
            'select2/select201ef',
            'bootstrap-datepicker/datepicker',

            'sweet-alert/sweet-alert.min'

        );
        $complementoJs = array(
            'jquery-validation/dist/jquery.validate.min',
            'jquery-validation/dist/additional-methods.min',
            'select2/select2.min',
            'wizard/jquery.bootstrap.wizard.min',
            'bootstrap-datepicker/bootstrap-datepicker',
            'ckeditor/ckeditor',
            'ckeditor/adapters/jquery',

            'sweet-alert/sweet-alert.min',
        'jquery-ui-selectable/jquery-ui',
        );
        $js = array(
            'materialSiace/core/demo/DemoFormWizard',
            'materialSiace/core/demo/DemoFormComponents',
            'materialSiace/core/demo/DemoFormEditors',
            'Scripts/Form'
        );

        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJsComplemento($complementoJs);
        $this->atVista->metCargarJs($js);


        $this->atVista->assign('numSolicitud', $_POST['numSolicitud']);
        $this->atVista->metRenderizar('cerrarTicket', 'modales');
    }
    public function metOpenAprobarDenegar($opcion = 'aprobar-denegar'){


        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'wizard/wizardfa6c',
            'jquery-validation/dist/site-demo',
            'select2/select201ef',
            'bootstrap-datepicker/datepicker',

            'sweet-alert/sweet-alert.min',
            'jquery-ui-selectable/jquery-ui',
        );
        $complementoJs = array(
            'jquery-validation/dist/jquery.validate.min',
            'jquery-validation/dist/additional-methods.min',
            'select2/select2.min',
            'wizard/jquery.bootstrap.wizard.min',
            'bootstrap-datepicker/bootstrap-datepicker',
            'ckeditor/ckeditor',
            'ckeditor/adapters/jquery',

            'sweet-alert/sweet-alert.min',
            'jquery-ui-selectable/jquery-ui',


        );
        $js = array(
            'materialSiace/core/demo/DemoFormWizard',
            'materialSiace/core/demo/DemoFormComponents',
            'materialSiace/core/demo/DemoFormEditors',
            'materialSiace/core/demo/DemoTableDynamic',
            'Scripts/Form'
        );
        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJsComplemento($complementoJs);
        $this->atVista->metCargarJs($js);



        $this->atVista->assign('opcion', $opcion);

        if(isset($_POST['numSolicitud'])){
            $this->atVista->assign('numSolicitud', $_POST['numSolicitud']);
        }
        if(isset($_POST['idDetalle'])){
            $this->atVista->assign('idDetalle', $_POST['idDetalle']);
        }
        if(isset($_POST['estadoDetalle'])){
            $this->atVista->assign('estadoDetalle', $_POST['estadoDetalle']);
        }
        if(isset($_POST['estadoTicket'])){
            $this->atVista->assign('estadoTicket', $_POST['estadoTicket']);
        }
        if(isset($_POST['origen'])){
            $this->atVista->assign('origen', $_POST['origen']);
        }





        $this->atVista->metRenderizar('aprobar-denegar', 'modales');
    }






    //Método que permite listar todas las solicitudes
    public function metListarTodo()
    {
        $complementosCss = array(
            'DataTables/jquery.dataTables',
            'DataTables/extensions/dataTables.colVis941e',
            'DataTables/extensions/dataTables.tableTools4029',
        );
        $js[] = 'materialSiace/core/demo/DemoTableDynamic';
        $this->atVista->metCargarCssComplemento($complementosCss);
        $this->atVista->metCargarJs($js);
        $this->atVista->assign('listado', $this->atSolicitudes->metListarTodo());
        $this->atVista->metRenderizar('listarTodo');
    }
    public function metImprimirSolicitudes()
    {
        $this->metObtenerLibreria('cabeceraMaestros', 'modCA');
        $pdf = new pdfSolicitud('L', 'mm', 'Letter');
        $pdf->AliasNbPages();
        $pdf->AddPage();
        $pdf->SetAutoPageBreak(true, 10);
        $pdf->SetFont('Arial', '', 10);
        $listarArchivo = $this->atSolicitudes->metListarArchivo();
        $pdf->SetWidths(array(35, 30, 30, 50, 30, 15));
        foreach ($listarArchivo as $listarArchivo) {
            $pdf->Row(array(
                utf8_decode($listarArchivo['fecha_solicitud']),
                utf8_decode($listarArchivo['ind_dependencia']),
                utf8_decode($listarArchivo['ind_descripcion']),
                utf8_decode($listarArchivo['ind_detalles']),
                $listarArchivo['ind_nombre1'],
                $listarArchivo['ind_estatus']
            ), 6);

        }
        $pdf->Output();
    }
    public function metImprimirSolicitudesDuracion()
    {
        $this->metObtenerLibreria('cabeceraMaestros', 'modCA');
        $pdf = new pdfSolicitud('L', 'mm', 'Letter');
        $pdf->AliasNbPages();
        $pdf->AddPage();
        $pdf->SetAutoPageBreak(true, 10);
        $pdf->SetFont('Arial', '', 10);
        $listarArchivo = $this->atSolicitudes->metListarArchivo();
        $pdf->SetWidths(array(32, 35, 108, 46, 41));
        foreach ($listarArchivo as $listarArchivo) {
            $pdf->Row(array(
                utf8_decode($listarArchivo['fecha_solicitud']),
                utf8_decode($listarArchivo['ind_modalidad']),
                utf8_decode($listarArchivo['ind_equipo']),
                $listarArchivo['ind_detalles'],
            ), 4);

        }
        $pdf->Output();
    }
    public function metImprimirSolicitudesPlanificacion()
    {
        $this->metObtenerLibreria('cabeceraMaestros', 'modCA');
        $pdf = new pdfSolicitud('L', 'mm', 'Letter');
        $pdf->AliasNbPages();
        $pdf->AddPage();
        $pdf->SetAutoPageBreak(true, 10);
        $pdf->SetFont('Arial', '', 10);
        $listarArchivo = $this->atSolicitudes->metListarArchivo();
        $pdf->SetWidths(array(32, 35, 108, 46, 41));
        foreach ($listarArchivo as $listarArchivo) {
            $pdf->Row(array(
                utf8_decode($listarArchivo['fecha_solicitud']),
                utf8_decode($listarArchivo['ind_modalidad']),
                utf8_decode($listarArchivo['ind_equipo']),
                $listarArchivo['ind_detalles'],
            ), 4);

        }
        $pdf->Output();
    }
    public function metImprimirSolicitudesEjecucion()
    {
        $this->metObtenerLibreria('cabeceraMaestros', 'modCA');
        $pdf = new pdfSolicitud('L', 'mm', 'Letter');
        $pdf->AliasNbPages();
        $pdf->AddPage();
        $pdf->SetAutoPageBreak(true, 10);
        $pdf->SetFont('Arial', '', 10);
        $listarArchivo = $this->atSolicitudes->metListarArchivo();
        $pdf->SetWidths(array(32, 35, 108, 46, 41));
        foreach ($listarArchivo as $listarArchivo) {
            $pdf->Row(array(
                utf8_decode($listarArchivo['fecha_solicitud']),
                utf8_decode($listarArchivo['ind_modalidad']),
                utf8_decode($listarArchivo['ind_equipo']),
                $listarArchivo['ind_detalles'],
            ), 4);

        }
        $pdf->Output();
    }
    public function metRegistro()
    {
        $pkNumRegistroDocumento = $_GET['pk_num_registro_documento'];
        $usuario = Session::metObtener('idUsuario');
        $obtenerUsuario = $this->atSolicitudes->metUsuarioReporte($usuario);
        $this->metObtenerLibreria('cabeceraMaestros', 'modAD');
        $pdf = new pdfRegistroDocumento('P', 'mm', 'Letter');
        $pdf->AliasNbPages();
        $pdf->AddPage();
        $pdf->SetMargins(18, 25, 30);
        $pdf->SetAutoPageBreak(true, 10);
        $pdf->SetFont('Arial', '', 10);
        $pdf->SetX(18);
        $pdf->Cell(185, 5, utf8_decode('Elaborado por: ' . $obtenerUsuario['ind_nombre1'] . ' ' . $obtenerUsuario['ind_apellido1']), 0, 0, 'L', 0);
        $pdf->Ln();
        $pdf->Ln();
        $verRegistro = $this->atSolicitudes->metVisualizarRegistro($pkNumRegistroDocumento, 2);
        foreach ($verRegistro as $verRegistro) {
            $pdf->Cell(185, 5, utf8_decode('Datos de Almacenamiento'), 0, 0, 'C', 0);
            $pdf->Line(20, 66, 200, 66);
            $pdf->Ln();
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Almacén: ' . $verRegistro['ind_descripcion_almacen']), 0, 0, 'L', 0);
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Pasillo: ' . $verRegistro['ind_pasillo']), 0, 0, 'L', 0);
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Estante: ' . $verRegistro['ind_descripcion_estante']), 0, 0, 'L', 0);
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Dependencia: ' . $verRegistro['ind_dependencia']), 0, 0, 'L', 0);
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Caja: ' . $verRegistro['pk_num_caja'] . ' - ' . $verRegistro['ind_descripcion_caja']), 0, 0, 'L', 0);
            $pdf->Ln();
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Datos de Registro'), 0, 0, 'C', 0);
            $pdf->Line(20, 106, 200, 106);
            $pdf->Ln();
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Número de Registro del Documento: ' . $verRegistro['num_registro']), 0, 0, 'L', 0);
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Documento: ' . $verRegistro['ind_documento']), 0, 0, 'L', 0);
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Fecha del Documento: ' . $verRegistro['fecha_documento']), 0, 0, 'L', 0);
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Remitente: ' . $verRegistro['ind_nombre1'] . ' ' . $verRegistro['ind_apellido1']), 0, 0, 'L', 0);
            $pdf->Ln();
            $pdf->Cell(185, 5, utf8_decode('Descripción: ' . $verRegistro['ind_descripcion']), 0, 0, 'L', 0);
            $pdf->Ln();
            $pdf->MultiCell(185, 5, utf8_decode('Resumen: ' . $verRegistro['ind_resumen']), 0);
        }
        $pdf->Output();
    }
    //Método que permite ver una solicitud
    public function metVer()
    {
        $js[] = 'Aplicacion/appFunciones';
        $this->atVista->metCargarJs($js);
        $idSolicitud = $this->metObtenerInt('idSolicitud');
        $estatus = $this->metObtenerInt('estatus');
        $this->atVista->assign('formDB', $this->atSolicitudes->metBuscarSolicitud($idSolicitud));
        $this->atVista->assign('idSolicitud', $idSolicitud);
        $this->atVista->assign('ver', '1');
        $this->atVista->assign('ap', $estatus);
        $this->atVista->metRenderizar('ver', 'modales');
    }
    public function metConsultarEmpleado()
    {
        $listarEmpleado = $this->atSolicitudes->metListarEmpleado();
        $this->atVista->assign('listarEmpleado', $listarEmpleado);
        $this->atVista->metRenderizar('buscarEmpleado', 'modales');
    }
    public function metEliminar()
    {
        $pk_num_solicitud = $this->metObtenerInt('pk_num_solicitud');
        $this->atSolicitudes->metEliminar($pk_num_solicitud);
        $arrayPost = array(
            'status' => 'OK',
            'pk_num_solicitud' => $pk_num_solicitud
        );
        echo json_encode($arrayPost);
    }


}
