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

/* Metodos de acceso a los campos de la tabla GSS_SucursalDocumento */
abstract class BaseGSS_SucursalDocumentoBN
{
    /* Campos de la tabla */
    private $i_IdSucursalDocumento;    // IdSucursalDocumento: ( no definido )
    private $i_IdCompania;    // IdCompania: ( no definido )
    private $i_IdSucursal;    // IdSucursal: ( no definido )
    private $s_IdTipoDocumento;    // IdTipoDocumento: ( no definido )
    private $s_DocumentoTicketFlag;    // DocumentoTicketFlag: ( no definido )
    private $s_AutorizacionSunatTicket;    // AutorizacionSunatTicket: ( no definido )
    private $s_SerieTicket;    // SerieTicket: ( no definido )
    private $s_DocumentoFormatoFlag;    // DocumentoFormatoFlag: ( no definido )
    private $s_EmpresaImprimioFormato;    // EmpresaImprimioFormato: ( no definido )
    private $s_RUCImprimioFormato;    // RUCImprimioFormato: ( no definido )
    private $s_AutorizacionImprimioFormato;    // AutorizacionImprimioFormato: ( no definido )
    private $d_FechaInicioFormato;    // FechaInicioFormato: ( no definido )
    private $d_FechaFinFormato;    // FechaFinFormato: ( no definido )
    private $s_SerieFormato;    // SerieFormato: ( no definido )
    private $i_NumeroActual;    // NumeroActual: ( no definido )
    private $i_RangoDesdeFormato;    // RangoDesdeFormato: ( no definido )
    private $i_RangoHastaFormato;    // RangoHastaFormato: ( 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 IdSucursalDocumento */
    public function setIdSucursalDocumento( $i_IdSucursalDocumento )
    {
        $this->i_IdSucursalDocumento = $i_IdSucursalDocumento;
    }

    /* Obtiene el valor del campo IdSucursalDocumento */
    public function getIdSucursalDocumento()
    {
        return $this->i_IdSucursalDocumento;
    }

    /* 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 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 DocumentoTicketFlag */
    public function setDocumentoTicketFlag( $s_DocumentoTicketFlag )
    {
        $this->s_DocumentoTicketFlag = $s_DocumentoTicketFlag;
    }

    /* Obtiene el valor del campo DocumentoTicketFlag */
    public function getDocumentoTicketFlag()
    {
        return $this->s_DocumentoTicketFlag;
    }

    /* Establece el valor del campo AutorizacionSunatTicket */
    public function setAutorizacionSunatTicket( $s_AutorizacionSunatTicket )
    {
        $this->s_AutorizacionSunatTicket = $s_AutorizacionSunatTicket;
    }

    /* Obtiene el valor del campo AutorizacionSunatTicket */
    public function getAutorizacionSunatTicket()
    {
        return $this->s_AutorizacionSunatTicket;
    }

    /* Establece el valor del campo SerieTicket */
    public function setSerieTicket( $s_SerieTicket )
    {
        $this->s_SerieTicket = $s_SerieTicket;
    }

    /* Obtiene el valor del campo SerieTicket */
    public function getSerieTicket()
    {
        return $this->s_SerieTicket;
    }

    /* Establece el valor del campo DocumentoFormatoFlag */
    public function setDocumentoFormatoFlag( $s_DocumentoFormatoFlag )
    {
        $this->s_DocumentoFormatoFlag = $s_DocumentoFormatoFlag;
    }

    /* Obtiene el valor del campo DocumentoFormatoFlag */
    public function getDocumentoFormatoFlag()
    {
        return $this->s_DocumentoFormatoFlag;
    }

    /* Establece el valor del campo EmpresaImprimioFormato */
    public function setEmpresaImprimioFormato( $s_EmpresaImprimioFormato )
    {
        $this->s_EmpresaImprimioFormato = $s_EmpresaImprimioFormato;
    }

    /* Obtiene el valor del campo EmpresaImprimioFormato */
    public function getEmpresaImprimioFormato()
    {
        return $this->s_EmpresaImprimioFormato;
    }

    /* Establece el valor del campo RUCImprimioFormato */
    public function setRUCImprimioFormato( $s_RUCImprimioFormato )
    {
        $this->s_RUCImprimioFormato = $s_RUCImprimioFormato;
    }

    /* Obtiene el valor del campo RUCImprimioFormato */
    public function getRUCImprimioFormato()
    {
        return $this->s_RUCImprimioFormato;
    }

    /* Establece el valor del campo AutorizacionImprimioFormato */
    public function setAutorizacionImprimioFormato( $s_AutorizacionImprimioFormato )
    {
        $this->s_AutorizacionImprimioFormato = $s_AutorizacionImprimioFormato;
    }

    /* Obtiene el valor del campo AutorizacionImprimioFormato */
    public function getAutorizacionImprimioFormato()
    {
        return $this->s_AutorizacionImprimioFormato;
    }

    /* Establece el valor del campo FechaInicioFormato */
    public function setFechaInicioFormato( $d_FechaInicioFormato )
    {
        $this->d_FechaInicioFormato = $d_FechaInicioFormato;
    }

    /* Obtiene el valor del campo FechaInicioFormato */
    public function getFechaInicioFormato()
    {
        return $this->d_FechaInicioFormato;
    }

    /* Establece el valor del campo FechaFinFormato */
    public function setFechaFinFormato( $d_FechaFinFormato )
    {
        $this->d_FechaFinFormato = $d_FechaFinFormato;
    }

    /* Obtiene el valor del campo FechaFinFormato */
    public function getFechaFinFormato()
    {
        return $this->d_FechaFinFormato;
    }

    /* Establece el valor del campo SerieFormato */
    public function setSerieFormato( $s_SerieFormato )
    {
        $this->s_SerieFormato = $s_SerieFormato;
    }

    /* Obtiene el valor del campo SerieFormato */
    public function getSerieFormato()
    {
        return $this->s_SerieFormato;
    }

    /* Establece el valor del campo NumeroActual */
    public function setNumeroActual( $i_NumeroActual )
    {
        $this->i_NumeroActual = $i_NumeroActual;
    }

    /* Obtiene el valor del campo NumeroActual */
    public function getNumeroActual()
    {
        return $this->i_NumeroActual;
    }

    /* Establece el valor del campo RangoDesdeFormato */
    public function setRangoDesdeFormato( $i_RangoDesdeFormato )
    {
        $this->i_RangoDesdeFormato = $i_RangoDesdeFormato;
    }

    /* Obtiene el valor del campo RangoDesdeFormato */
    public function getRangoDesdeFormato()
    {
        return $this->i_RangoDesdeFormato;
    }

    /* Establece el valor del campo RangoHastaFormato */
    public function setRangoHastaFormato( $i_RangoHastaFormato )
    {
        $this->i_RangoHastaFormato = $i_RangoHastaFormato;
    }

    /* Obtiene el valor del campo RangoHastaFormato */
    public function getRangoHastaFormato()
    {
        return $this->i_RangoHastaFormato;
    }

    /* 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 
        [
            'IdSucursalDocumento' => $this->getIdSucursalDocumento(),
            'IdCompania' => $this->getIdCompania(),
            'IdSucursal' => $this->getIdSucursal(),
            'IdTipoDocumento' => $this->getIdTipoDocumento(),
            'DocumentoTicketFlag' => $this->getDocumentoTicketFlag(),
            'AutorizacionSunatTicket' => $this->getAutorizacionSunatTicket(),
            'SerieTicket' => $this->getSerieTicket(),
            'DocumentoFormatoFlag' => $this->getDocumentoFormatoFlag(),
            'EmpresaImprimioFormato' => $this->getEmpresaImprimioFormato(),
            'RUCImprimioFormato' => $this->getRUCImprimioFormato(),
            'AutorizacionImprimioFormato' => $this->getAutorizacionImprimioFormato(),
            'FechaInicioFormato' => $this->getFechaInicioFormato(),
            'FechaFinFormato' => $this->getFechaFinFormato(),
            'SerieFormato' => $this->getSerieFormato(),
            'NumeroActual' => $this->getNumeroActual(),
            'RangoDesdeFormato' => $this->getRangoDesdeFormato(),
            'RangoHastaFormato' => $this->getRangoHastaFormato(),
            '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 GSS_SucursalDocumentoBN desde un RecordSet */
    public static function retrieveByRs( $o_GSS_SucursalDocumentoRs )
    {
        $o_GSS_SucursalDocumentoBN = new GSS_SucursalDocumentoBN();
        $o_GSS_SucursalDocumentoBN->setIdSucursalDocumento( ( integer ) $o_GSS_SucursalDocumentoRs[ "IdSucursalDocumento" ] );
        $o_GSS_SucursalDocumentoBN->setIdCompania( ( integer ) $o_GSS_SucursalDocumentoRs[ "IdCompania" ] );
        $o_GSS_SucursalDocumentoBN->setIdSucursal( ( integer ) $o_GSS_SucursalDocumentoRs[ "IdSucursal" ] );
        $o_GSS_SucursalDocumentoBN->setIdTipoDocumento( $o_GSS_SucursalDocumentoRs[ "IdTipoDocumento" ] );
        $o_GSS_SucursalDocumentoBN->setDocumentoTicketFlag( $o_GSS_SucursalDocumentoRs[ "DocumentoTicketFlag" ] );
        $o_GSS_SucursalDocumentoBN->setAutorizacionSunatTicket( $o_GSS_SucursalDocumentoRs[ "AutorizacionSunatTicket" ] );
        $o_GSS_SucursalDocumentoBN->setSerieTicket( $o_GSS_SucursalDocumentoRs[ "SerieTicket" ] );
        $o_GSS_SucursalDocumentoBN->setDocumentoFormatoFlag( $o_GSS_SucursalDocumentoRs[ "DocumentoFormatoFlag" ] );
        $o_GSS_SucursalDocumentoBN->setEmpresaImprimioFormato( $o_GSS_SucursalDocumentoRs[ "EmpresaImprimioFormato" ] );
        $o_GSS_SucursalDocumentoBN->setRUCImprimioFormato( $o_GSS_SucursalDocumentoRs[ "RUCImprimioFormato" ] );
        $o_GSS_SucursalDocumentoBN->setAutorizacionImprimioFormato( $o_GSS_SucursalDocumentoRs[ "AutorizacionImprimioFormato" ] );
        $o_GSS_SucursalDocumentoBN->setFechaInicioFormato( utilTimestamp::getTimestamp( $o_GSS_SucursalDocumentoRs[ "FechaInicioFormato" ], "Y-m-d" ) );
        $o_GSS_SucursalDocumentoBN->setFechaFinFormato( utilTimestamp::getTimestamp( $o_GSS_SucursalDocumentoRs[ "FechaFinFormato" ], "Y-m-d" ) );
        $o_GSS_SucursalDocumentoBN->setSerieFormato( $o_GSS_SucursalDocumentoRs[ "SerieFormato" ] );
        $o_GSS_SucursalDocumentoBN->setNumeroActual( ( integer ) $o_GSS_SucursalDocumentoRs[ "NumeroActual" ] );
        $o_GSS_SucursalDocumentoBN->setRangoDesdeFormato( ( integer ) $o_GSS_SucursalDocumentoRs[ "RangoDesdeFormato" ] );
        $o_GSS_SucursalDocumentoBN->setRangoHastaFormato( ( integer ) $o_GSS_SucursalDocumentoRs[ "RangoHastaFormato" ] );
        $o_GSS_SucursalDocumentoBN->setEstado( $o_GSS_SucursalDocumentoRs[ "Estado" ] );
        $o_GSS_SucursalDocumentoBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_GSS_SucursalDocumentoRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_GSS_SucursalDocumentoBN->setUsuarioCreacion( $o_GSS_SucursalDocumentoRs[ "UsuarioCreacion" ] );
        $o_GSS_SucursalDocumentoBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_GSS_SucursalDocumentoRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        $o_GSS_SucursalDocumentoBN->setUsuarioModificacion( $o_GSS_SucursalDocumentoRs[ "UsuarioModificacion" ] );
        return $o_GSS_SucursalDocumentoBN;
    }
}
?>