<?php
/* Busqueda de registros de la tabla SRV_UbicacionClienteH redefinidos por el usuario. */
class SRV_UbicacionClienteHFN extends BaseSRV_UbicacionClienteHFN
{
    public function selectdos()
    {
        $s_SQLQuery = "
                    SELECT MST_Ubicacion.IdUbicacion, SRV_UbicacionEstado.FechaCreacion EstadoUbicacionFecha, SRV_UbicacionClienteH.*
                    FROM MST_Ubicacion
                    LEFT JOIN SRV_UbicacionEstado ON MST_Ubicacion.IdUbicacion=SRV_UbicacionEstado.IdUbicacion
                    LEFT JOIN SRV_UbicacionClienteH ON SRV_UbicacionClienteH.IdUbicacion=MST_Ubicacion.IdUbicacion /*AND SRV_UbicacionClienteH.Estado='P'*/
                    WHERE 
                    ";
        $s_SQLQuery .= $this->buildConsult();

        if( $this->getEstadoUbicacion() )
        {
            $s_SQLQuery .= " and COALESCE( SRV_UbicacionEstado.IdEstados, 4 ) in ( ".$this->getEstadoUbicacion()." ) ";
        }

        $s_SQLQuery .= " group by 1 ";

        if ( count( $this->a_OrderBy ) > 0 )
        {
            $s_SQLQuery = $s_SQLQuery."ORDER BY ";
            $s_Separator = "";
            foreach ( $this->a_OrderBy as $a_OrderBy )
            {
                $s_SQLQuery .= $s_Separator.$a_OrderBy[ "COLUMN" ]." ";
                if ( $a_OrderBy[ "ASC" ] === false ) $s_SQLQuery .= "DESC ";
                $s_Separator = ", ";
            }
        }

        $a_SRV_UbicacionClienteHBN = array();
        $o_ResultSet = Conexion::getConexion()->prepareStatement( $s_Sql )->executeQuery();
        while( $o_ResultSet->next() ) 
        {
            $a_SQLRow = $o_ResultSet->getRow();
            $o_SRV_UbicacionClienteHBN = $this->insertObjectBN( $a_SQLRow );
            $o_SRV_UbicacionClienteHBN->setEstadoUbicacionFecha( $a_SQLRow['EstadoUbicacionFecha'] );
            $a_SRV_UbicacionClienteHBN[] = $o_SRV_UbicacionClienteHBN;
        }
        return $a_SRV_UbicacionClienteHBN;
    }
}
?>