<?php
/* Autor...:  */
/* Esquema.: SRV_UbicacionClienteDet.xml */
/* Generado: 2020-08-18 04:21:30 */

/* Metodos de acceso a los campos de la tabla SRV_UbicacionClienteDet */
abstract class BaseSRV_UbicacionClienteDetBN
{
    /* Campos de la tabla */
    private $i_IdUbicacionClienteH;    // IdUbicacionClienteH: ( no definido )
    private $i_IdUbicacion;    // IdUbicacion: ( no definido )
    private $s_IdTipoDocumento;    // IdTipoDocumento: ( no definido )
    private $i_IdCompania;    // IdCompania: ( no definido )
    private $i_IdSucursal;    // IdSucursal: ( no definido )
    private $s_NumeroDocumento;    // NumeroDocumento: ( no definido )
    private $s_DocumentoCod;    // DocumentoCod: ( no definido )
    private $s_DocumentoSerie;    // DocumentoSerie: ( no definido )
    private $s_DocumentoNumero;    // DocumentoNumero: ( no definido )
    private $i_IdPersona;    // IdPersona: ( no definido )
    private $s_NombreCompleto;    // NombreCompleto: ( no definido )
    private $f_MontoTotal;    // MontoTotal: ( no definido )
    private $s_Estado;    // Estado: ( no definido )
    private $d_FechaCreacion;    // FechaCreacion: ( no definido )
    private $s_UsuarioCreacion;    // UsuarioCreacion: ( no definido )
    private $d_FechaModificacion;    // FechaModificacion: ( no definido )
    private $s_UsuarioModificacion;    // UsuarioModificacion: ( no definido )

    /* Establece el valor del campo IdUbicacionClienteH */
    public function setIdUbicacionClienteH( $i_IdUbicacionClienteH )
    {
        $this->i_IdUbicacionClienteH = $i_IdUbicacionClienteH;
    }

    /* Obtiene el valor del campo IdUbicacionClienteH */
    public function getIdUbicacionClienteH()
    {
        return $this->i_IdUbicacionClienteH;
    }

    /* Establece el valor del campo IdUbicacion */
    public function setIdUbicacion( $i_IdUbicacion )
    {
        $this->i_IdUbicacion = $i_IdUbicacion;
    }

    /* Obtiene el valor del campo IdUbicacion */
    public function getIdUbicacion()
    {
        return $this->i_IdUbicacion;
    }

    /* Establece el valor del campo IdTipoDocumento */
    public function setIdTipoDocumento( $s_IdTipoDocumento )
    {
        $this->s_IdTipoDocumento = $s_IdTipoDocumento;
    }

    /* Obtiene el valor del campo IdTipoDocumento */
    public function getIdTipoDocumento()
    {
        return $this->s_IdTipoDocumento;
    }

    /* Establece el valor del campo IdCompania */
    public function setIdCompania( $i_IdCompania )
    {
        $this->i_IdCompania = $i_IdCompania;
    }

    /* Obtiene el valor del campo IdCompania */
    public function getIdCompania()
    {
        return $this->i_IdCompania;
    }

    /* Establece el valor del campo IdSucursal */
    public function setIdSucursal( $i_IdSucursal )
    {
        $this->i_IdSucursal = $i_IdSucursal;
    }

    /* Obtiene el valor del campo IdSucursal */
    public function getIdSucursal()
    {
        return $this->i_IdSucursal;
    }

    /* Establece el valor del campo NumeroDocumento */
    public function setNumeroDocumento( $s_NumeroDocumento )
    {
        $this->s_NumeroDocumento = $s_NumeroDocumento;
    }

    /* Obtiene el valor del campo NumeroDocumento */
    public function getNumeroDocumento()
    {
        return $this->s_NumeroDocumento;
    }

    /* Establece el valor del campo DocumentoCod */
    public function setDocumentoCod( $s_DocumentoCod )
    {
        $this->s_DocumentoCod = $s_DocumentoCod;
    }

    /* Obtiene el valor del campo DocumentoCod */
    public function getDocumentoCod()
    {
        return $this->s_DocumentoCod;
    }

    /* Establece el valor del campo DocumentoSerie */
    public function setDocumentoSerie( $s_DocumentoSerie )
    {
        $this->s_DocumentoSerie = $s_DocumentoSerie;
    }

    /* Obtiene el valor del campo DocumentoSerie */
    public function getDocumentoSerie()
    {
        return $this->s_DocumentoSerie;
    }

    /* Establece el valor del campo DocumentoNumero */
    public function setDocumentoNumero( $s_DocumentoNumero )
    {
        $this->s_DocumentoNumero = $s_DocumentoNumero;
    }

    /* Obtiene el valor del campo DocumentoNumero */
    public function getDocumentoNumero()
    {
        return $this->s_DocumentoNumero;
    }

    /* Establece el valor del campo IdPersona */
    public function setIdPersona( $i_IdPersona )
    {
        $this->i_IdPersona = $i_IdPersona;
    }

    /* Obtiene el valor del campo IdPersona */
    public function getIdPersona()
    {
        return $this->i_IdPersona;
    }

    /* Establece el valor del campo NombreCompleto */
    public function setNombreCompleto( $s_NombreCompleto )
    {
        $this->s_NombreCompleto = $s_NombreCompleto;
    }

    /* Obtiene el valor del campo NombreCompleto */
    public function getNombreCompleto()
    {
        return $this->s_NombreCompleto;
    }

    /* Establece el valor del campo MontoTotal */
    public function setMontoTotal( $f_MontoTotal )
    {
        $this->f_MontoTotal = $f_MontoTotal;
    }

    /* Obtiene el valor del campo MontoTotal */
    public function getMontoTotal()
    {
        return $this->f_MontoTotal;
    }

    /* Establece el valor del campo Estado */
    public function setEstado( $s_Estado )
    {
        $this->s_Estado = $s_Estado;
    }

    /* Obtiene el valor del campo Estado */
    public function getEstado()
    {
        return $this->s_Estado;
    }

    /* Establece el valor del campo FechaCreacion */
    public function setFechaCreacion( $d_FechaCreacion )
    {
        $this->d_FechaCreacion = $d_FechaCreacion;
    }

    /* Obtiene el valor del campo FechaCreacion */
    public function getFechaCreacion()
    {
        return $this->d_FechaCreacion;
    }

    /* Establece el valor del campo UsuarioCreacion */
    public function setUsuarioCreacion( $s_UsuarioCreacion )
    {
        $this->s_UsuarioCreacion = $s_UsuarioCreacion;
    }

    /* Obtiene el valor del campo UsuarioCreacion */
    public function getUsuarioCreacion()
    {
        return $this->s_UsuarioCreacion;
    }

    /* Establece el valor del campo FechaModificacion */
    public function setFechaModificacion( $d_FechaModificacion )
    {
        $this->d_FechaModificacion = $d_FechaModificacion;
    }

    /* Obtiene el valor del campo FechaModificacion */
    public function getFechaModificacion()
    {
        return $this->d_FechaModificacion;
    }

    /* Establece el valor del campo UsuarioModificacion */
    public function setUsuarioModificacion( $s_UsuarioModificacion )
    {
        $this->s_UsuarioModificacion = $s_UsuarioModificacion;
    }

    /* Obtiene el valor del campo UsuarioModificacion */
    public function getUsuarioModificacion()
    {
        return $this->s_UsuarioModificacion;
    }

    public function getJsonSerialize()
    {
        return 
        [
            'IdUbicacionClienteH' => $this->getIdUbicacionClienteH(),
            'IdUbicacion' => $this->getIdUbicacion(),
            'IdTipoDocumento' => $this->getIdTipoDocumento(),
            'IdCompania' => $this->getIdCompania(),
            'IdSucursal' => $this->getIdSucursal(),
            'NumeroDocumento' => $this->getNumeroDocumento(),
            'DocumentoCod' => $this->getDocumentoCod(),
            'DocumentoSerie' => $this->getDocumentoSerie(),
            'DocumentoNumero' => $this->getDocumentoNumero(),
            'IdPersona' => $this->getIdPersona(),
            'NombreCompleto' => $this->getNombreCompleto(),
            'MontoTotal' => $this->getMontoTotal(),
            'Estado' => $this->getEstado(),
            'FechaCreacion' => $this->getFechaCreacion(),
            'UsuarioCreacion' => $this->getUsuarioCreacion(),
            'FechaModificacion' => $this->getFechaModificacion(),
            'UsuarioModificacion' => $this->getUsuarioModificacion(),
        ];
    }

    public function toArray()
    {
        return $this->processArray( get_object_vars( $this ) ); 
    }

    private function processArray( $array )
    {
        foreach( $array as $key => $value ) 
        {
            if ( is_object( $value ) )
            {
                $array[$key] = $value->toArray();
            }
            if ( is_array( $value ) ) 
            {
                $array[$key] = $this->processArray( $value );
            }
        }
        return $array;
    }

    public function __toString()
    {
        return json_encode( $this->toArray() ); 
    }

    /* Recupera un objeto SRV_UbicacionClienteDetBN desde un RecordSet */
    public static function retrieveByRs( $o_SRV_UbicacionClienteDetRs )
    {
        $o_SRV_UbicacionClienteDetBN = new SRV_UbicacionClienteDetBN();
        $o_SRV_UbicacionClienteDetBN->setIdUbicacionClienteH( ( integer ) $o_SRV_UbicacionClienteDetRs[ "IdUbicacionClienteH" ] );
        $o_SRV_UbicacionClienteDetBN->setIdUbicacion( ( integer ) $o_SRV_UbicacionClienteDetRs[ "IdUbicacion" ] );
        $o_SRV_UbicacionClienteDetBN->setIdTipoDocumento( $o_SRV_UbicacionClienteDetRs[ "IdTipoDocumento" ] );
        $o_SRV_UbicacionClienteDetBN->setIdCompania( ( integer ) $o_SRV_UbicacionClienteDetRs[ "IdCompania" ] );
        $o_SRV_UbicacionClienteDetBN->setIdSucursal( ( integer ) $o_SRV_UbicacionClienteDetRs[ "IdSucursal" ] );
        $o_SRV_UbicacionClienteDetBN->setNumeroDocumento( $o_SRV_UbicacionClienteDetRs[ "NumeroDocumento" ] );
        $o_SRV_UbicacionClienteDetBN->setDocumentoCod( $o_SRV_UbicacionClienteDetRs[ "DocumentoCod" ] );
        $o_SRV_UbicacionClienteDetBN->setDocumentoSerie( $o_SRV_UbicacionClienteDetRs[ "DocumentoSerie" ] );
        $o_SRV_UbicacionClienteDetBN->setDocumentoNumero( $o_SRV_UbicacionClienteDetRs[ "DocumentoNumero" ] );
        $o_SRV_UbicacionClienteDetBN->setIdPersona( ( integer ) $o_SRV_UbicacionClienteDetRs[ "IdPersona" ] );
        $o_SRV_UbicacionClienteDetBN->setNombreCompleto( $o_SRV_UbicacionClienteDetRs[ "NombreCompleto" ] );
        $o_SRV_UbicacionClienteDetBN->setMontoTotal( ( float ) $o_SRV_UbicacionClienteDetRs[ "MontoTotal" ] );
        $o_SRV_UbicacionClienteDetBN->setEstado( $o_SRV_UbicacionClienteDetRs[ "Estado" ] );
        $o_SRV_UbicacionClienteDetBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_SRV_UbicacionClienteDetRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_SRV_UbicacionClienteDetBN->setUsuarioCreacion( $o_SRV_UbicacionClienteDetRs[ "UsuarioCreacion" ] );
        $o_SRV_UbicacionClienteDetBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_SRV_UbicacionClienteDetRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        $o_SRV_UbicacionClienteDetBN->setUsuarioModificacion( $o_SRV_UbicacionClienteDetRs[ "UsuarioModificacion" ] );
        return $o_SRV_UbicacionClienteDetBN;
    }
}
?>