<?php 
defined('BASEPATH') OR exit('No direct script access allowed');
header('Access-Control-Allow-Origin: *');

class InfoOcupacion extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
    
        //cargar la base de datos
        $this->load->database();
        //parser de json y xml
        $this->load->library("parser");

        //$this->load->model('Sesion_Model');
        $this->load->library('form_validation');
        //$this->load->library("Form_validation");
        $this->load->helper("url");
        $this->load->helper('form');
        $this->load->helper('text');
        
        //Cargando los modelos para gestion de la data sistema pena
        $this->load->model('InfoOcupacion_Model');
        $this->load->model('Establecimientos_Model');
    }
    
    //Listar PuntosControl
    public function listInfo($offset = 0)
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        $this->load->model('InfoOcupacion_Model');
        $this->load->model('Establecimientos_Model');
       
        $datoe = array('1','null','null','null');
        $establecimiento = $this->Establecimientos_Model->getEstablecimientos($datoe);

		//Enviar Arreglo
        $data['establecimiento'] = $establecimiento;

		//Cargar los permisos
        $this->load->model('Security_Model');
        $profile = $this->session->userdata('profile');
        $modulo  = "all";
        $datos   = array('1', $profile, $modulo); 
		$permiso = $this->Security_Model->getAllSecurityProfile($datos);
        $data['permisos'] = $permiso;
    
		$this->load->view('admin/InfoOcupacion/list', $data);
    }  

	//Buscar Informe
    public function searchInfo()
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        $this->load->model('InfoOcupacion_Model');
        
        //capturar datos
        $IdEstablecimiento = $this->input->post('IdEstablecimiento')==''?'null':$this->input->post('IdEstablecimiento');
        $Fechaini          = "'".strval($this->input->post('Fechaini')==''?'null':$this->input->post('Fechaini'))."'";

        //arreglo
        $dato = array('1',$IdEstablecimiento,$Fechaini);
        $query = $this->InfoOcupacion_Model->getInforme(null,null,$dato);
        //retornar los valores
        echo json_encode($query);
        
    }

	//Listar Informe Reserva
    public function listInfoR($offset = 0)
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        // $this->load->model('InfoOcupacion_Model');
        $this->load->model('Establecimientos_Model');
   
        // $dato = array('1','null','null'); 
        // $info = $this->InfoOcupacion_Model->getInfoR(null,null,$dato);
       
        $datoe = array('1','null','null','null');
        $establecimiento = $this->Establecimientos_Model->getEstablecimientos($datoe);

		//Configurando el array para consultar el Hotel
		// $hoteles = $this->session->userdata('hoteles');

        // $data['info']            = $info;
		// $data['hoteles']         = $hoteles;
        $data['establecimiento'] = $establecimiento;

		//Cargar los permisos
        $this->load->model('Security_Model');
        $profile = $this->session->userdata('profile');
        $modulo  = "all";
        $datos   = array('1', $profile, $modulo); 
		$permiso = $this->Security_Model->getAllSecurityProfile($datos);
        $data['permisos'] = $permiso;
    
		$this->load->view('admin/InfoOcupacion/listinfoR', $data);
    } 

	//Buscar Informe Reserva
    public function searchInfoR()
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        $this->load->model('InfoOcupacion_Model');
        
        //capturar datos
        $IdEstablecimiento = $this->input->post('IdEstablecimiento')==''?'null':$this->input->post('IdEstablecimiento');
        
        //arreglo
        $dato = array('2',$IdEstablecimiento,'null');
        $query = $this->InfoOcupacion_Model->getInforme(null,null,$dato);
        //retornar los valores
        echo json_encode($query);
        
    }

	//Listar informe reporte diario
    public function listInfoV($offset = 0)
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        $this->load->model('InfoOcupacion_Model');
        $this->load->model('Establecimientos_Model');
        $this->load->model('Usuarios_Model');
   
        // $dato = array('1','null','null','null'); 
        // $info = $this->InfoOcupacion_Model->getInfoV(null,null,$dato);
       
		//Configurando el array para consulta de Establecimientos
		$dato = array('1','null','null','null'); 
        $establecimiento = $this->Establecimientos_Model->getEstablecimientos($dato);

		//Configurando el array para consultar el Hotel
		$hoteles = $this->session->userdata('hoteles');

        $datou = array('1','null','null','null','null','null','null','null');
        $usuarios = $this->Usuarios_Model->getUsuarioforParameter(false,false,$datou);

		//Enviar Arreglo
        // // $data['info']            = $info;
		$data['hoteles']         = $hoteles;
        $data['establecimiento'] = $establecimiento;
        $data['usuarios']        = $usuarios;

		//Cargar los permisos
        $this->load->model('Security_Model');
        $profile = $this->session->userdata('profile');
        $modulo  = "all";
        $datos   = array('1', $profile, $modulo); 
		$permiso = $this->Security_Model->getAllSecurityProfile($datos);
        $data['permisos'] = $permiso;
    
		$this->load->view('admin/InfoOcupacion/listValor', $data);
    } 

	//buscar Informe reporte diario
    public function searchInfoV()
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

		//Cargar Modelos
        $this->load->model('InfoOcupacion_Model');
        
        //capturar datos
        $Opcion    = $this->input->post('Opcion')==''?null:$this->input->post('Opcion');
        $HotelId   = $this->input->post('HotelId')==''?null:$this->input->post('HotelId');
        $FechaIni  = "'".strval($this->input->post('FechaIni')==''?null:$this->input->post('FechaIni'))."'";
        $HoraIni   = "'".strval($this->input->post('HoraIni')==''?null:$this->input->post('HoraIni'))."'";
        $FechaFin  = "'".strval($this->input->post('FechaFin')==''?null:$this->input->post('FechaFin'))."'";
        $HoraFin   = "'".strval($this->input->post('HoraFin')==''?null:$this->input->post('HoraFin'))."'";
        $IdUsuario = $this->input->post('Usuario')==''?null:$this->input->post('Usuario');

        if($IdUsuario != '')
		{
			 //Configurando el array para consulta de Informe Reportes
             $datorp = array($Opcion, $HotelId, $FechaIni, $HoraIni, $FechaFin, $HoraFin, $IdUsuario);
            //  print_r($datorp); die();
             $query = $this->InfoOcupacion_Model->getInfoV(null,null,$datorp);

		}else{

		 //Configurando el array para consulta de Informe Reportes sin tener en cuenta el usuario que la creo 
         $datorp = array($Opcion, $HotelId, $FechaIni, $HoraIni, $FechaFin, $HoraFin, 'null' );
         $query = $this->InfoOcupacion_Model->getInfoV(null,null,$datorp);
			
		}
        
        //retornar los valores
        echo json_encode($query);
    }

	//Buscar Informe totales
    public function searchInfoTotales()
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        $this->load->model('InfoOcupacion_Model');
        
        //capturar datos
        $Opcion    = $this->input->post('Opcion')==''?null:$this->input->post('Opcion');
        $HotelId   = $this->input->post('HotelId')==''?null:$this->input->post('HotelId');
		$FechaIni  = "'".strval($this->input->post('FechaIni')==''?null:$this->input->post('FechaIni'))."'";
        $HoraIni   = "'".strval($this->input->post('HoraIni')==''?null:$this->input->post('HoraIni'))."'";
        $FechaFin  = "'".strval($this->input->post('FechaFin')==''?null:$this->input->post('FechaFin'))."'";
        $HoraFin   = "'".strval($this->input->post('HoraFin')==''?null:$this->input->post('HoraFin'))."'";
        $IdUsuario = $this->input->post('Usuario')==''?'null':$this->input->post('Usuario');
        
        //arreglo
        $dato = array($Opcion, $HotelId, $FechaIni, $HoraIni, $FechaFin, $HoraFin, $IdUsuario);
        // print_r($dato); die();
        $query = $this->InfoOcupacion_Model->getInfoV(null,null,$dato);
        
        //retornar los valores
        echo json_encode($query);
        
        
    }

    //Listar informe reporte clientes
    public function listInfoH($offset = 0)
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        $this->load->model('InfoOcupacion_Model');
        $this->load->model('Establecimientos_Model');
        $this->load->model('Usuarios_Model');
   
		//Configurando el array para consulta de Establecimientos
		$dato = array('1','null','null','null'); 
        $establecimiento = $this->Establecimientos_Model->getEstablecimientos($dato);

		//Configurando el array para consultar el Hotel
		$hoteles = $this->session->userdata('hoteles');

		//Enviar Arreglo
		$data['hoteles']         = $hoteles;
        $data['establecimiento'] = $establecimiento;

		//Cargar los permisos
        $this->load->model('Security_Model');
        $profile = $this->session->userdata('profile');
        $modulo  = "all";
        $datos   = array('1', $profile, $modulo); 
		$permiso = $this->Security_Model->getAllSecurityProfile($datos);
        $data['permisos'] = $permiso;
    
		$this->load->view('admin/InfoOcupacion/listHuesped', $data);
    } 

    //buscar Informe reporte clientes
    public function searchInfoH()
    {
        if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

		//Cargar Modelos
        $this->load->model('InfoOcupacion_Model');
        
        //capturar datos
        $Opcion         = $this->input->post('Opcion')==''?null:$this->input->post('Opcion');
        $HotelId        = $this->input->post('HotelId')==''?null:$this->input->post('HotelId');
        $NumHabitacion  = $this->input->post('NumHabitacion')==''?'null':$this->input->post('NumHabitacion');
        $Identificacion = $this->input->post('Identificacion')==''?'null':$this->input->post('Identificacion');
        $Placa          = $this->input->post('Placa')==''?'null':$this->input->post('Placa');
        $FechaIni       = "'".strval($this->input->post('FechaIni')==''?null:$this->input->post('FechaIni'))."'";
        $FechaFin       = "'".strval($this->input->post('FechaFin')==''?null:$this->input->post('FechaFin'))."'";

        if ($Placa == 'null'){
            $datorp = array($Opcion,$HotelId,$FechaIni,$FechaFin,'null',$Identificacion,'null',$NumHabitacion);
        } else {
            $Opcion = '2';
            $datorp = array($Opcion,$HotelId,$FechaIni,$FechaFin,'null',$Identificacion,$Placa,$NumHabitacion);
        }
		//Configurando el array para consulta de Informe Reportes
        $datorp = array($Opcion,$HotelId,$FechaIni,$FechaFin,'null',$Identificacion,$Placa,$NumHabitacion);
        //  print_r($datorp); die();
        $query = $this->InfoOcupacion_Model->getInfoH(null,null,$datorp);

        //retornar los valores
        echo json_encode($query);
    }
}   