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

/* Metodos de acceso a los campos de la tabla GSS_CorrelativoMast */
abstract class BaseGSS_CorrelativoMastBN
{
    /* Campos de la tabla */
    private $i_IdCompania;    // IdCompania: ( no definido )
    private $s_IdTipocomprobante;    // IdTipocomprobante: ( no definido )
    private $s_IdSerie;    // IdSerie: ( no definido )
    private $s_Descripcion;    // Descripcion: ( no definido )
    private $i_CorrelativoNumero;    // CorrelativoNumero: ( no definido )
    private $i_CorrelativoDesde;    // CorrelativoDesde: ( no definido )
    private $i_CorrelativoHasta;    // CorrelativoHasta: ( no definido )
    private $s_AlmacenCodigo;    // AlmacenCodigo: ( no definido )
    private $s_Estado;    // Estado: ( no definido )
    private $s_UsuarioModificacion;    // UsuarioModificacion: ( no definido )
    private $d_FechaModificacion;    // FechaModificacion: ( no definido )
    private $d_FechaCreacion;    // FechaCreacion: ( no definido )
    private $s_UsuarioCreacion;    // UsuarioCreacion: ( no definido )

    /* 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 IdTipocomprobante */
    public function setIdTipocomprobante( $s_IdTipocomprobante )
    {
        $this->s_IdTipocomprobante = $s_IdTipocomprobante;
    }

    /* Obtiene el valor del campo IdTipocomprobante */
    public function getIdTipocomprobante()
    {
        return $this->s_IdTipocomprobante;
    }

    /* Establece el valor del campo IdSerie */
    public function setIdSerie( $s_IdSerie )
    {
        $this->s_IdSerie = $s_IdSerie;
    }

    /* Obtiene el valor del campo IdSerie */
    public function getIdSerie()
    {
        return $this->s_IdSerie;
    }

    /* Establece el valor del campo Descripcion */
    public function setDescripcion( $s_Descripcion )
    {
        $this->s_Descripcion = $s_Descripcion;
    }

    /* Obtiene el valor del campo Descripcion */
    public function getDescripcion()
    {
        return $this->s_Descripcion;
    }

    /* Establece el valor del campo CorrelativoNumero */
    public function setCorrelativoNumero( $i_CorrelativoNumero )
    {
        $this->i_CorrelativoNumero = $i_CorrelativoNumero;
    }

    /* Obtiene el valor del campo CorrelativoNumero */
    public function getCorrelativoNumero()
    {
        return $this->i_CorrelativoNumero;
    }

    /* Establece el valor del campo CorrelativoDesde */
    public function setCorrelativoDesde( $i_CorrelativoDesde )
    {
        $this->i_CorrelativoDesde = $i_CorrelativoDesde;
    }

    /* Obtiene el valor del campo CorrelativoDesde */
    public function getCorrelativoDesde()
    {
        return $this->i_CorrelativoDesde;
    }

    /* Establece el valor del campo CorrelativoHasta */
    public function setCorrelativoHasta( $i_CorrelativoHasta )
    {
        $this->i_CorrelativoHasta = $i_CorrelativoHasta;
    }

    /* Obtiene el valor del campo CorrelativoHasta */
    public function getCorrelativoHasta()
    {
        return $this->i_CorrelativoHasta;
    }

    /* Establece el valor del campo AlmacenCodigo */
    public function setAlmacenCodigo( $s_AlmacenCodigo )
    {
        $this->s_AlmacenCodigo = $s_AlmacenCodigo;
    }

    /* Obtiene el valor del campo AlmacenCodigo */
    public function getAlmacenCodigo()
    {
        return $this->s_AlmacenCodigo;
    }

    /* 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 UsuarioModificacion */
    public function setUsuarioModificacion( $s_UsuarioModificacion )
    {
        $this->s_UsuarioModificacion = $s_UsuarioModificacion;
    }

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

    /* 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 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;
    }

    public function getJsonSerialize()
    {
        return 
        [
            'IdCompania' => $this->getIdCompania(),
            'IdTipocomprobante' => $this->getIdTipocomprobante(),
            'IdSerie' => $this->getIdSerie(),
            'Descripcion' => $this->getDescripcion(),
            'CorrelativoNumero' => $this->getCorrelativoNumero(),
            'CorrelativoDesde' => $this->getCorrelativoDesde(),
            'CorrelativoHasta' => $this->getCorrelativoHasta(),
            'AlmacenCodigo' => $this->getAlmacenCodigo(),
            'Estado' => $this->getEstado(),
            'UsuarioModificacion' => $this->getUsuarioModificacion(),
            'FechaModificacion' => $this->getFechaModificacion(),
            'FechaCreacion' => $this->getFechaCreacion(),
            'UsuarioCreacion' => $this->getUsuarioCreacion(),
        ];
    }

    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 GSS_CorrelativoMastBN desde un RecordSet */
    public static function retrieveByRs( $o_GSS_CorrelativoMastRs )
    {
        $o_GSS_CorrelativoMastBN = new GSS_CorrelativoMastBN();
        $o_GSS_CorrelativoMastBN->setIdCompania( ( integer ) $o_GSS_CorrelativoMastRs[ "IdCompania" ] );
        $o_GSS_CorrelativoMastBN->setIdTipocomprobante( $o_GSS_CorrelativoMastRs[ "IdTipocomprobante" ] );
        $o_GSS_CorrelativoMastBN->setIdSerie( $o_GSS_CorrelativoMastRs[ "IdSerie" ] );
        $o_GSS_CorrelativoMastBN->setDescripcion( $o_GSS_CorrelativoMastRs[ "Descripcion" ] );
        $o_GSS_CorrelativoMastBN->setCorrelativoNumero( ( integer ) $o_GSS_CorrelativoMastRs[ "CorrelativoNumero" ] );
        $o_GSS_CorrelativoMastBN->setCorrelativoDesde( ( integer ) $o_GSS_CorrelativoMastRs[ "CorrelativoDesde" ] );
        $o_GSS_CorrelativoMastBN->setCorrelativoHasta( ( integer ) $o_GSS_CorrelativoMastRs[ "CorrelativoHasta" ] );
        $o_GSS_CorrelativoMastBN->setAlmacenCodigo( $o_GSS_CorrelativoMastRs[ "AlmacenCodigo" ] );
        $o_GSS_CorrelativoMastBN->setEstado( $o_GSS_CorrelativoMastRs[ "Estado" ] );
        $o_GSS_CorrelativoMastBN->setUsuarioModificacion( $o_GSS_CorrelativoMastRs[ "UsuarioModificacion" ] );
        $o_GSS_CorrelativoMastBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_GSS_CorrelativoMastRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        $o_GSS_CorrelativoMastBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_GSS_CorrelativoMastRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_GSS_CorrelativoMastBN->setUsuarioCreacion( $o_GSS_CorrelativoMastRs[ "UsuarioCreacion" ] );
        return $o_GSS_CorrelativoMastBN;
    }
}
?>