<?php
class ComprobantesClienteAction extends wtActions
{
    public function execute()
    {
        LayoutTemplate::getInstance()->setUseBootstrap();

        $this->s_MensajeError = "";

        try 
        {
            myUser::getUser()->validar_session();

            $this->s_IdUbicacion = $this->getRequestParameter( 'idhabitacion' );

            $this->o_SRV_UbicacionClienteHBN = new SRV_UbicacionClienteHBN();

            $o_SRV_UbicacionClienteHFN = new SRV_UbicacionClienteHFN();
            $o_SRV_UbicacionClienteHFN->setIdUbicacion( $this->s_IdUbicacion );
            $o_SRV_UbicacionClienteHFN->setEstado( SRV_UbicacionClienteHBN::ESTADO_PENDIENTE );
            $a_SRV_UbicacionClienteH = $o_SRV_UbicacionClienteHFN->select();
            if( count( $a_SRV_UbicacionClienteH ) > 1 )
            {
                throw new Exception( "Se encontro incongruencia de estados de Ubicacion." );
            }
            if( $a_SRV_UbicacionClienteH )
            {
                $this->o_SRV_UbicacionClienteHBN = $a_SRV_UbicacionClienteH[0];
            }

            $this->i_IdUbicaClienteH = $this->o_SRV_UbicacionClienteHBN->getIdUbicacionClienteH();
            //pr( $this->i_IdUbicaClienteH );
            
            $this->EstadoDesc = SRV_UbicacionClienteHBN::getArrayEstados( $this->o_SRV_UbicacionClienteHBN->getEstadoProceso() );

            $o_SRV_UbicacionClienteDetFN = new SRV_UbicacionClienteDetFN();
            $o_SRV_UbicacionClienteDetFN->setIdUbicacionClienteH( $this->i_IdUbicaClienteH );
            //$o_SRV_UbicacionClienteDetFN->setIdUbicacion( $this->s_IdUbicacion );
            $this->a_SRV_UbicacionClienteDet = $o_SRV_UbicacionClienteDetFN->select();
            //pr( $this->a_SRV_UbicacionClienteDet );
        }
        catch ( Exception $o_Exception )
        {
            $this->s_MensajeError = $o_Exception->getMessage();
        }
    }
}