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

/* Metodos de acceso a los campos de la tabla ALM_ItemAlmacenStock */
abstract class BaseALM_ItemAlmacenStockBN
{
    /* Campos de la tabla */
    private $i_IdCompania;    // IdCompania: ( no definido )
    private $s_IdItem;    // IdItem: ( no definido )
    private $s_IdAlmacen;    // IdAlmacen: ( no definido )
    private $s_IdCondicion;    // IdCondicion: ( no definido )
    private $s_IdLote;    // IdLote: ( no definido )
    private $i_IdSucursal;    // IdSucursal: ( no definido )
    private $s_LoteEquivalente;    // LoteEquivalente: ( no definido )
    private $i_Donante;    // Donante: ( no definido )
    private $d_FechaIngreso;    // FechaIngreso: ( no definido )
    private $d_FechaVencimiento;    // FechaVencimiento: ( no definido )
    private $f_StockIngreso;    // StockIngreso: ( no definido )
    private $f_StockActual;    // StockActual: ( no definido )
    private $f_StockComprometido;    // StockComprometido: ( no definido )
    private $f_StockActualDoble;    // StockActualDoble: ( no definido )
    private $f_StockFisico;    // StockFisico: ( no definido )
    private $f_StockReservado;    // StockReservado: ( no definido )
    private $f_StockDisponible;    // StockDisponible: ( no definido )
    private $f_PrecioUnitario;    // PrecioUnitario: ( no definido )
    private $f_PrecioUnitarioDolares;    // PrecioUnitarioDolares: ( no definido )
    private $i_Prioridad;    // Prioridad: ( no definido )
    private $f_PrecioPromedioLocal;    // PrecioPromedioLocal: ( no definido )
    private $f_PrecioPromedioDolares;    // PrecioPromedioDolares: ( no definido )
    private $s_DocumentoReferencia;    // DocumentoReferencia: ( no definido )
    private $s_Observaciones;    // Observaciones: ( no definido )
    private $s_ObservacionesCorrectivas;    // ObservacionesCorrectivas: ( 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 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 IdItem */
    public function setIdItem( $s_IdItem )
    {
        $this->s_IdItem = $s_IdItem;
    }

    /* Obtiene el valor del campo IdItem */
    public function getIdItem()
    {
        return $this->s_IdItem;
    }

    /* Establece el valor del campo IdAlmacen */
    public function setIdAlmacen( $s_IdAlmacen )
    {
        $this->s_IdAlmacen = $s_IdAlmacen;
    }

    /* Obtiene el valor del campo IdAlmacen */
    public function getIdAlmacen()
    {
        return $this->s_IdAlmacen;
    }

    /* Establece el valor del campo IdCondicion */
    public function setIdCondicion( $s_IdCondicion )
    {
        $this->s_IdCondicion = $s_IdCondicion;
    }

    /* Obtiene el valor del campo IdCondicion */
    public function getIdCondicion()
    {
        return $this->s_IdCondicion;
    }

    /* Establece el valor del campo IdLote */
    public function setIdLote( $s_IdLote )
    {
        $this->s_IdLote = $s_IdLote;
    }

    /* Obtiene el valor del campo IdLote */
    public function getIdLote()
    {
        return $this->s_IdLote;
    }

    /* 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 LoteEquivalente */
    public function setLoteEquivalente( $s_LoteEquivalente )
    {
        $this->s_LoteEquivalente = $s_LoteEquivalente;
    }

    /* Obtiene el valor del campo LoteEquivalente */
    public function getLoteEquivalente()
    {
        return $this->s_LoteEquivalente;
    }

    /* Establece el valor del campo Donante */
    public function setDonante( $i_Donante )
    {
        $this->i_Donante = $i_Donante;
    }

    /* Obtiene el valor del campo Donante */
    public function getDonante()
    {
        return $this->i_Donante;
    }

    /* Establece el valor del campo FechaIngreso */
    public function setFechaIngreso( $d_FechaIngreso )
    {
        $this->d_FechaIngreso = $d_FechaIngreso;
    }

    /* Obtiene el valor del campo FechaIngreso */
    public function getFechaIngreso()
    {
        return $this->d_FechaIngreso;
    }

    /* Establece el valor del campo FechaVencimiento */
    public function setFechaVencimiento( $d_FechaVencimiento )
    {
        $this->d_FechaVencimiento = $d_FechaVencimiento;
    }

    /* Obtiene el valor del campo FechaVencimiento */
    public function getFechaVencimiento()
    {
        return $this->d_FechaVencimiento;
    }

    /* Establece el valor del campo StockIngreso */
    public function setStockIngreso( $f_StockIngreso )
    {
        $this->f_StockIngreso = $f_StockIngreso;
    }

    /* Obtiene el valor del campo StockIngreso */
    public function getStockIngreso()
    {
        return $this->f_StockIngreso;
    }

    /* Establece el valor del campo StockActual */
    public function setStockActual( $f_StockActual )
    {
        $this->f_StockActual = $f_StockActual;
    }

    /* Obtiene el valor del campo StockActual */
    public function getStockActual()
    {
        return $this->f_StockActual;
    }

    /* Establece el valor del campo StockComprometido */
    public function setStockComprometido( $f_StockComprometido )
    {
        $this->f_StockComprometido = $f_StockComprometido;
    }

    /* Obtiene el valor del campo StockComprometido */
    public function getStockComprometido()
    {
        return $this->f_StockComprometido;
    }

    /* Establece el valor del campo StockActualDoble */
    public function setStockActualDoble( $f_StockActualDoble )
    {
        $this->f_StockActualDoble = $f_StockActualDoble;
    }

    /* Obtiene el valor del campo StockActualDoble */
    public function getStockActualDoble()
    {
        return $this->f_StockActualDoble;
    }

    /* Establece el valor del campo StockFisico */
    public function setStockFisico( $f_StockFisico )
    {
        $this->f_StockFisico = $f_StockFisico;
    }

    /* Obtiene el valor del campo StockFisico */
    public function getStockFisico()
    {
        return $this->f_StockFisico;
    }

    /* Establece el valor del campo StockReservado */
    public function setStockReservado( $f_StockReservado )
    {
        $this->f_StockReservado = $f_StockReservado;
    }

    /* Obtiene el valor del campo StockReservado */
    public function getStockReservado()
    {
        return $this->f_StockReservado;
    }

    /* Establece el valor del campo StockDisponible */
    public function setStockDisponible( $f_StockDisponible )
    {
        $this->f_StockDisponible = $f_StockDisponible;
    }

    /* Obtiene el valor del campo StockDisponible */
    public function getStockDisponible()
    {
        return $this->f_StockDisponible;
    }

    /* Establece el valor del campo PrecioUnitario */
    public function setPrecioUnitario( $f_PrecioUnitario )
    {
        $this->f_PrecioUnitario = $f_PrecioUnitario;
    }

    /* Obtiene el valor del campo PrecioUnitario */
    public function getPrecioUnitario()
    {
        return $this->f_PrecioUnitario;
    }

    /* Establece el valor del campo PrecioUnitarioDolares */
    public function setPrecioUnitarioDolares( $f_PrecioUnitarioDolares )
    {
        $this->f_PrecioUnitarioDolares = $f_PrecioUnitarioDolares;
    }

    /* Obtiene el valor del campo PrecioUnitarioDolares */
    public function getPrecioUnitarioDolares()
    {
        return $this->f_PrecioUnitarioDolares;
    }

    /* Establece el valor del campo Prioridad */
    public function setPrioridad( $i_Prioridad )
    {
        $this->i_Prioridad = $i_Prioridad;
    }

    /* Obtiene el valor del campo Prioridad */
    public function getPrioridad()
    {
        return $this->i_Prioridad;
    }

    /* Establece el valor del campo PrecioPromedioLocal */
    public function setPrecioPromedioLocal( $f_PrecioPromedioLocal )
    {
        $this->f_PrecioPromedioLocal = $f_PrecioPromedioLocal;
    }

    /* Obtiene el valor del campo PrecioPromedioLocal */
    public function getPrecioPromedioLocal()
    {
        return $this->f_PrecioPromedioLocal;
    }

    /* Establece el valor del campo PrecioPromedioDolares */
    public function setPrecioPromedioDolares( $f_PrecioPromedioDolares )
    {
        $this->f_PrecioPromedioDolares = $f_PrecioPromedioDolares;
    }

    /* Obtiene el valor del campo PrecioPromedioDolares */
    public function getPrecioPromedioDolares()
    {
        return $this->f_PrecioPromedioDolares;
    }

    /* Establece el valor del campo DocumentoReferencia */
    public function setDocumentoReferencia( $s_DocumentoReferencia )
    {
        $this->s_DocumentoReferencia = $s_DocumentoReferencia;
    }

    /* Obtiene el valor del campo DocumentoReferencia */
    public function getDocumentoReferencia()
    {
        return $this->s_DocumentoReferencia;
    }

    /* Establece el valor del campo Observaciones */
    public function setObservaciones( $s_Observaciones )
    {
        $this->s_Observaciones = $s_Observaciones;
    }

    /* Obtiene el valor del campo Observaciones */
    public function getObservaciones()
    {
        return $this->s_Observaciones;
    }

    /* Establece el valor del campo ObservacionesCorrectivas */
    public function setObservacionesCorrectivas( $s_ObservacionesCorrectivas )
    {
        $this->s_ObservacionesCorrectivas = $s_ObservacionesCorrectivas;
    }

    /* Obtiene el valor del campo ObservacionesCorrectivas */
    public function getObservacionesCorrectivas()
    {
        return $this->s_ObservacionesCorrectivas;
    }

    /* 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 
        [
            'IdCompania' => $this->getIdCompania(),
            'IdItem' => $this->getIdItem(),
            'IdAlmacen' => $this->getIdAlmacen(),
            'IdCondicion' => $this->getIdCondicion(),
            'IdLote' => $this->getIdLote(),
            'IdSucursal' => $this->getIdSucursal(),
            'LoteEquivalente' => $this->getLoteEquivalente(),
            'Donante' => $this->getDonante(),
            'FechaIngreso' => $this->getFechaIngreso(),
            'FechaVencimiento' => $this->getFechaVencimiento(),
            'StockIngreso' => $this->getStockIngreso(),
            'StockActual' => $this->getStockActual(),
            'StockComprometido' => $this->getStockComprometido(),
            'StockActualDoble' => $this->getStockActualDoble(),
            'StockFisico' => $this->getStockFisico(),
            'StockReservado' => $this->getStockReservado(),
            'StockDisponible' => $this->getStockDisponible(),
            'PrecioUnitario' => $this->getPrecioUnitario(),
            'PrecioUnitarioDolares' => $this->getPrecioUnitarioDolares(),
            'Prioridad' => $this->getPrioridad(),
            'PrecioPromedioLocal' => $this->getPrecioPromedioLocal(),
            'PrecioPromedioDolares' => $this->getPrecioPromedioDolares(),
            'DocumentoReferencia' => $this->getDocumentoReferencia(),
            'Observaciones' => $this->getObservaciones(),
            'ObservacionesCorrectivas' => $this->getObservacionesCorrectivas(),
            '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_ItemAlmacenStockBN desde un RecordSet */
    public static function retrieveByRs( $o_ALM_ItemAlmacenStockRs )
    {
        $o_ALM_ItemAlmacenStockBN = new ALM_ItemAlmacenStockBN();
        $o_ALM_ItemAlmacenStockBN->setIdCompania( ( integer ) $o_ALM_ItemAlmacenStockRs[ "IdCompania" ] );
        $o_ALM_ItemAlmacenStockBN->setIdItem( $o_ALM_ItemAlmacenStockRs[ "IdItem" ] );
        $o_ALM_ItemAlmacenStockBN->setIdAlmacen( $o_ALM_ItemAlmacenStockRs[ "IdAlmacen" ] );
        $o_ALM_ItemAlmacenStockBN->setIdCondicion( $o_ALM_ItemAlmacenStockRs[ "IdCondicion" ] );
        $o_ALM_ItemAlmacenStockBN->setIdLote( $o_ALM_ItemAlmacenStockRs[ "IdLote" ] );
        $o_ALM_ItemAlmacenStockBN->setIdSucursal( ( integer ) $o_ALM_ItemAlmacenStockRs[ "IdSucursal" ] );
        $o_ALM_ItemAlmacenStockBN->setLoteEquivalente( $o_ALM_ItemAlmacenStockRs[ "LoteEquivalente" ] );
        $o_ALM_ItemAlmacenStockBN->setDonante( ( integer ) $o_ALM_ItemAlmacenStockRs[ "Donante" ] );
        $o_ALM_ItemAlmacenStockBN->setFechaIngreso( utilTimestamp::getTimestamp( $o_ALM_ItemAlmacenStockRs[ "FechaIngreso" ], "Y-m-d H:i:s" ) );
        $o_ALM_ItemAlmacenStockBN->setFechaVencimiento( utilTimestamp::getTimestamp( $o_ALM_ItemAlmacenStockRs[ "FechaVencimiento" ], "Y-m-d H:i:s" ) );
        $o_ALM_ItemAlmacenStockBN->setStockIngreso( ( float ) $o_ALM_ItemAlmacenStockRs[ "StockIngreso" ] );
        $o_ALM_ItemAlmacenStockBN->setStockActual( ( float ) $o_ALM_ItemAlmacenStockRs[ "StockActual" ] );
        $o_ALM_ItemAlmacenStockBN->setStockComprometido( ( float ) $o_ALM_ItemAlmacenStockRs[ "StockComprometido" ] );
        $o_ALM_ItemAlmacenStockBN->setStockActualDoble( ( float ) $o_ALM_ItemAlmacenStockRs[ "StockActualDoble" ] );
        $o_ALM_ItemAlmacenStockBN->setStockFisico( ( float ) $o_ALM_ItemAlmacenStockRs[ "StockFisico" ] );
        $o_ALM_ItemAlmacenStockBN->setStockReservado( ( float ) $o_ALM_ItemAlmacenStockRs[ "StockReservado" ] );
        $o_ALM_ItemAlmacenStockBN->setStockDisponible( ( float ) $o_ALM_ItemAlmacenStockRs[ "StockDisponible" ] );
        $o_ALM_ItemAlmacenStockBN->setPrecioUnitario( ( float ) $o_ALM_ItemAlmacenStockRs[ "PrecioUnitario" ] );
        $o_ALM_ItemAlmacenStockBN->setPrecioUnitarioDolares( ( float ) $o_ALM_ItemAlmacenStockRs[ "PrecioUnitarioDolares" ] );
        $o_ALM_ItemAlmacenStockBN->setPrioridad( ( integer ) $o_ALM_ItemAlmacenStockRs[ "Prioridad" ] );
        $o_ALM_ItemAlmacenStockBN->setPrecioPromedioLocal( ( float ) $o_ALM_ItemAlmacenStockRs[ "PrecioPromedioLocal" ] );
        $o_ALM_ItemAlmacenStockBN->setPrecioPromedioDolares( ( float ) $o_ALM_ItemAlmacenStockRs[ "PrecioPromedioDolares" ] );
        $o_ALM_ItemAlmacenStockBN->setDocumentoReferencia( $o_ALM_ItemAlmacenStockRs[ "DocumentoReferencia" ] );
        $o_ALM_ItemAlmacenStockBN->setObservaciones( $o_ALM_ItemAlmacenStockRs[ "Observaciones" ] );
        $o_ALM_ItemAlmacenStockBN->setObservacionesCorrectivas( $o_ALM_ItemAlmacenStockRs[ "ObservacionesCorrectivas" ] );
        $o_ALM_ItemAlmacenStockBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_ALM_ItemAlmacenStockRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_ALM_ItemAlmacenStockBN->setUsuarioCreacion( $o_ALM_ItemAlmacenStockRs[ "UsuarioCreacion" ] );
        $o_ALM_ItemAlmacenStockBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_ALM_ItemAlmacenStockRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        $o_ALM_ItemAlmacenStockBN->setUsuarioModificacion( $o_ALM_ItemAlmacenStockRs[ "UsuarioModificacion" ] );
        return $o_ALM_ItemAlmacenStockBN;
    }
}
?>