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

/* Metodos de acceso a los campos de la tabla ALM_CajaChicaDet */
abstract class BaseALM_CajaChicaDetBN
{
    /* Campos de la tabla */
    private $i_IdCajaDet;    // IdCajaDet: ( no definido )
    private $i_IdCaja;    // IdCaja: ( no definido )
    private $d_FechaDocumento;    // FechaDocumento: ( no definido )
    private $s_TipoDocProv;    // TipoDocProv: ( no definido )
    private $s_NumDocProv;    // NumDocProv: ( no definido )
    private $s_NomProv;    // NomProv: ( no definido )
    private $s_EsInventariableFlag;    // EsInventariableFlag: ( no definido )
    private $s_ReferenciaIdTransaccion;    // ReferenciaIdTransaccion: ( no definido )
    private $s_ReferenciaTipoDocumento;    // ReferenciaTipoDocumento: ( no definido )
    private $s_ReferenciaSerieDocumento;    // ReferenciaSerieDocumento: ( no definido )
    private $s_ReferenciaNumeroDocumento;    // ReferenciaNumeroDocumento: ( no definido )
    private $s_Estado;    // Estado: ( no definido )
    private $f_MontoTotal;    // MontoTotal: ( no definido )
    private $f_MontoSubTotal;    // MontoSubTotal: ( no definido )
    private $f_MontoIGV;    // MontoIGV: ( no definido )
    private $s_Comentario;    // Comentario: ( 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 IdCajaDet */
    public function setIdCajaDet( $i_IdCajaDet )
    {
        $this->i_IdCajaDet = $i_IdCajaDet;
    }

    /* Obtiene el valor del campo IdCajaDet */
    public function getIdCajaDet()
    {
        return $this->i_IdCajaDet;
    }

    /* Establece el valor del campo IdCaja */
    public function setIdCaja( $i_IdCaja )
    {
        $this->i_IdCaja = $i_IdCaja;
    }

    /* Obtiene el valor del campo IdCaja */
    public function getIdCaja()
    {
        return $this->i_IdCaja;
    }

    /* Establece el valor del campo FechaDocumento */
    public function setFechaDocumento( $d_FechaDocumento )
    {
        $this->d_FechaDocumento = $d_FechaDocumento;
    }

    /* Obtiene el valor del campo FechaDocumento */
    public function getFechaDocumento()
    {
        return $this->d_FechaDocumento;
    }

    /* Establece el valor del campo TipoDocProv */
    public function setTipoDocProv( $s_TipoDocProv )
    {
        $this->s_TipoDocProv = $s_TipoDocProv;
    }

    /* Obtiene el valor del campo TipoDocProv */
    public function getTipoDocProv()
    {
        return $this->s_TipoDocProv;
    }

    /* Establece el valor del campo NumDocProv */
    public function setNumDocProv( $s_NumDocProv )
    {
        $this->s_NumDocProv = $s_NumDocProv;
    }

    /* Obtiene el valor del campo NumDocProv */
    public function getNumDocProv()
    {
        return $this->s_NumDocProv;
    }

    /* Establece el valor del campo NomProv */
    public function setNomProv( $s_NomProv )
    {
        $this->s_NomProv = $s_NomProv;
    }

    /* Obtiene el valor del campo NomProv */
    public function getNomProv()
    {
        return $this->s_NomProv;
    }

    /* Establece el valor del campo EsInventariableFlag */
    public function setEsInventariableFlag( $s_EsInventariableFlag )
    {
        $this->s_EsInventariableFlag = $s_EsInventariableFlag;
    }

    /* Obtiene el valor del campo EsInventariableFlag */
    public function getEsInventariableFlag()
    {
        return $this->s_EsInventariableFlag;
    }

    /* Establece el valor del campo ReferenciaIdTransaccion */
    public function setReferenciaIdTransaccion( $s_ReferenciaIdTransaccion )
    {
        $this->s_ReferenciaIdTransaccion = $s_ReferenciaIdTransaccion;
    }

    /* Obtiene el valor del campo ReferenciaIdTransaccion */
    public function getReferenciaIdTransaccion()
    {
        return $this->s_ReferenciaIdTransaccion;
    }

    /* Establece el valor del campo ReferenciaTipoDocumento */
    public function setReferenciaTipoDocumento( $s_ReferenciaTipoDocumento )
    {
        $this->s_ReferenciaTipoDocumento = $s_ReferenciaTipoDocumento;
    }

    /* Obtiene el valor del campo ReferenciaTipoDocumento */
    public function getReferenciaTipoDocumento()
    {
        return $this->s_ReferenciaTipoDocumento;
    }

    /* Establece el valor del campo ReferenciaSerieDocumento */
    public function setReferenciaSerieDocumento( $s_ReferenciaSerieDocumento )
    {
        $this->s_ReferenciaSerieDocumento = $s_ReferenciaSerieDocumento;
    }

    /* Obtiene el valor del campo ReferenciaSerieDocumento */
    public function getReferenciaSerieDocumento()
    {
        return $this->s_ReferenciaSerieDocumento;
    }

    /* Establece el valor del campo ReferenciaNumeroDocumento */
    public function setReferenciaNumeroDocumento( $s_ReferenciaNumeroDocumento )
    {
        $this->s_ReferenciaNumeroDocumento = $s_ReferenciaNumeroDocumento;
    }

    /* Obtiene el valor del campo ReferenciaNumeroDocumento */
    public function getReferenciaNumeroDocumento()
    {
        return $this->s_ReferenciaNumeroDocumento;
    }

    /* 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 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 MontoSubTotal */
    public function setMontoSubTotal( $f_MontoSubTotal )
    {
        $this->f_MontoSubTotal = $f_MontoSubTotal;
    }

    /* Obtiene el valor del campo MontoSubTotal */
    public function getMontoSubTotal()
    {
        return $this->f_MontoSubTotal;
    }

    /* Establece el valor del campo MontoIGV */
    public function setMontoIGV( $f_MontoIGV )
    {
        $this->f_MontoIGV = $f_MontoIGV;
    }

    /* Obtiene el valor del campo MontoIGV */
    public function getMontoIGV()
    {
        return $this->f_MontoIGV;
    }

    /* Establece el valor del campo Comentario */
    public function setComentario( $s_Comentario )
    {
        $this->s_Comentario = $s_Comentario;
    }

    /* Obtiene el valor del campo Comentario */
    public function getComentario()
    {
        return $this->s_Comentario;
    }

    /* 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 
        [
            'IdCajaDet' => $this->getIdCajaDet(),
            'IdCaja' => $this->getIdCaja(),
            'FechaDocumento' => $this->getFechaDocumento(),
            'TipoDocProv' => $this->getTipoDocProv(),
            'NumDocProv' => $this->getNumDocProv(),
            'NomProv' => $this->getNomProv(),
            'EsInventariableFlag' => $this->getEsInventariableFlag(),
            'ReferenciaIdTransaccion' => $this->getReferenciaIdTransaccion(),
            'ReferenciaTipoDocumento' => $this->getReferenciaTipoDocumento(),
            'ReferenciaSerieDocumento' => $this->getReferenciaSerieDocumento(),
            'ReferenciaNumeroDocumento' => $this->getReferenciaNumeroDocumento(),
            'Estado' => $this->getEstado(),
            'MontoTotal' => $this->getMontoTotal(),
            'MontoSubTotal' => $this->getMontoSubTotal(),
            'MontoIGV' => $this->getMontoIGV(),
            'Comentario' => $this->getComentario(),
            '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 ALM_CajaChicaDetBN desde un RecordSet */
    public static function retrieveByRs( $o_ALM_CajaChicaDetRs )
    {
        $o_ALM_CajaChicaDetBN = new ALM_CajaChicaDetBN();
        $o_ALM_CajaChicaDetBN->setIdCajaDet( ( integer ) $o_ALM_CajaChicaDetRs[ "IdCajaDet" ] );
        $o_ALM_CajaChicaDetBN->setIdCaja( ( integer ) $o_ALM_CajaChicaDetRs[ "IdCaja" ] );
        $o_ALM_CajaChicaDetBN->setFechaDocumento( utilTimestamp::getTimestamp( $o_ALM_CajaChicaDetRs[ "FechaDocumento" ], "Y-m-d H:i:s" ) );
        $o_ALM_CajaChicaDetBN->setTipoDocProv( $o_ALM_CajaChicaDetRs[ "TipoDocProv" ] );
        $o_ALM_CajaChicaDetBN->setNumDocProv( $o_ALM_CajaChicaDetRs[ "NumDocProv" ] );
        $o_ALM_CajaChicaDetBN->setNomProv( $o_ALM_CajaChicaDetRs[ "NomProv" ] );
        $o_ALM_CajaChicaDetBN->setEsInventariableFlag( $o_ALM_CajaChicaDetRs[ "EsInventariableFlag" ] );
        $o_ALM_CajaChicaDetBN->setReferenciaIdTransaccion( $o_ALM_CajaChicaDetRs[ "ReferenciaIdTransaccion" ] );
        $o_ALM_CajaChicaDetBN->setReferenciaTipoDocumento( $o_ALM_CajaChicaDetRs[ "ReferenciaTipoDocumento" ] );
        $o_ALM_CajaChicaDetBN->setReferenciaSerieDocumento( $o_ALM_CajaChicaDetRs[ "ReferenciaSerieDocumento" ] );
        $o_ALM_CajaChicaDetBN->setReferenciaNumeroDocumento( $o_ALM_CajaChicaDetRs[ "ReferenciaNumeroDocumento" ] );
        $o_ALM_CajaChicaDetBN->setEstado( $o_ALM_CajaChicaDetRs[ "Estado" ] );
        $o_ALM_CajaChicaDetBN->setMontoTotal( ( float ) $o_ALM_CajaChicaDetRs[ "MontoTotal" ] );
        $o_ALM_CajaChicaDetBN->setMontoSubTotal( ( float ) $o_ALM_CajaChicaDetRs[ "MontoSubTotal" ] );
        $o_ALM_CajaChicaDetBN->setMontoIGV( ( float ) $o_ALM_CajaChicaDetRs[ "MontoIGV" ] );
        $o_ALM_CajaChicaDetBN->setComentario( $o_ALM_CajaChicaDetRs[ "Comentario" ] );
        $o_ALM_CajaChicaDetBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_ALM_CajaChicaDetRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_ALM_CajaChicaDetBN->setUsuarioCreacion( $o_ALM_CajaChicaDetRs[ "UsuarioCreacion" ] );
        $o_ALM_CajaChicaDetBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_ALM_CajaChicaDetRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        $o_ALM_CajaChicaDetBN->setUsuarioModificacion( $o_ALM_CajaChicaDetRs[ "UsuarioModificacion" ] );
        return $o_ALM_CajaChicaDetBN;
    }
}
?>