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

/* Metodos de acceso a los campos de la tabla ALM_ItemStockDetHis */
abstract class BaseALM_ItemStockDetHisBN
{
    /* Campos de la tabla */
    private $i_IdCompania;    // IdCompania: ( no definido )
    private $i_IdSucursal;    // IdSucursal: ( no definido )
    private $d_IdFecha;    // IdFecha: ( no definido )
    private $s_IdAlmacen;    // IdAlmacen: ( no definido )
    private $s_IdLote;    // IdLote: ( no definido )
    private $s_IdItem;    // IdItem: ( no definido )
    private $f_StockFisico;    // StockFisico: ( no definido )
    private $f_Costo;    // Costo: ( no definido )
    private $f_CostoDolares;    // CostoDolares: ( 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 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 IdFecha */
    public function setIdFecha( $d_IdFecha )
    {
        $this->d_IdFecha = $d_IdFecha;
    }

    /* Obtiene el valor del campo IdFecha */
    public function getIdFecha()
    {
        return $this->d_IdFecha;
    }

    /* 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 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 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 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 Costo */
    public function setCosto( $f_Costo )
    {
        $this->f_Costo = $f_Costo;
    }

    /* Obtiene el valor del campo Costo */
    public function getCosto()
    {
        return $this->f_Costo;
    }

    /* Establece el valor del campo CostoDolares */
    public function setCostoDolares( $f_CostoDolares )
    {
        $this->f_CostoDolares = $f_CostoDolares;
    }

    /* Obtiene el valor del campo CostoDolares */
    public function getCostoDolares()
    {
        return $this->f_CostoDolares;
    }

    /* 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(),
            'IdSucursal' => $this->getIdSucursal(),
            'IdFecha' => $this->getIdFecha(),
            'IdAlmacen' => $this->getIdAlmacen(),
            'IdLote' => $this->getIdLote(),
            'IdItem' => $this->getIdItem(),
            'StockFisico' => $this->getStockFisico(),
            'Costo' => $this->getCosto(),
            'CostoDolares' => $this->getCostoDolares(),
            '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_ItemStockDetHisBN desde un RecordSet */
    public static function retrieveByRs( $o_ALM_ItemStockDetHisRs )
    {
        $o_ALM_ItemStockDetHisBN = new ALM_ItemStockDetHisBN();
        $o_ALM_ItemStockDetHisBN->setIdCompania( ( integer ) $o_ALM_ItemStockDetHisRs[ "IdCompania" ] );
        $o_ALM_ItemStockDetHisBN->setIdSucursal( ( integer ) $o_ALM_ItemStockDetHisRs[ "IdSucursal" ] );
        $o_ALM_ItemStockDetHisBN->setIdFecha( utilTimestamp::getTimestamp( $o_ALM_ItemStockDetHisRs[ "IdFecha" ], "Y-m-d" ) );
        $o_ALM_ItemStockDetHisBN->setIdAlmacen( $o_ALM_ItemStockDetHisRs[ "IdAlmacen" ] );
        $o_ALM_ItemStockDetHisBN->setIdLote( $o_ALM_ItemStockDetHisRs[ "IdLote" ] );
        $o_ALM_ItemStockDetHisBN->setIdItem( $o_ALM_ItemStockDetHisRs[ "IdItem" ] );
        $o_ALM_ItemStockDetHisBN->setStockFisico( ( float ) $o_ALM_ItemStockDetHisRs[ "StockFisico" ] );
        $o_ALM_ItemStockDetHisBN->setCosto( ( float ) $o_ALM_ItemStockDetHisRs[ "Costo" ] );
        $o_ALM_ItemStockDetHisBN->setCostoDolares( ( float ) $o_ALM_ItemStockDetHisRs[ "CostoDolares" ] );
        $o_ALM_ItemStockDetHisBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_ALM_ItemStockDetHisRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_ALM_ItemStockDetHisBN->setUsuarioCreacion( $o_ALM_ItemStockDetHisRs[ "UsuarioCreacion" ] );
        $o_ALM_ItemStockDetHisBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_ALM_ItemStockDetHisRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        $o_ALM_ItemStockDetHisBN->setUsuarioModificacion( $o_ALM_ItemStockDetHisRs[ "UsuarioModificacion" ] );
        return $o_ALM_ItemStockDetHisBN;
    }
}
?>