<?php
/* Autor...:  */
/* Esquema.: VTA_ProductoFinal.xml */
/* Generado: 2021-04-07 18:25:48 */

/* Metodos de acceso a los campos de la tabla VTA_ProductoFinal */
abstract class BaseVTA_ProductoFinalBN
{
    /* Campos de la tabla */
    private $i_ProFinalId;    // ProFinalId: ( no definido )
    private $i_OrdenId;    // OrdenId: ( no definido )
    private $i_ItemTipoClase;    // ItemTipoClase: ( no definido )
    private $s_Secuencia;    // Secuencia: ( no definido )
    private $s_IdItem;    // IdItem: ( no definido )
    private $i_IdOrdenPrdCab;    // IdOrdenPrdCab: ( no definido )
    private $i_IdLinea;    // IdLinea: ( no definido )
    private $i_IdFamilia;    // IdFamilia: ( no definido )
    private $i_IdSubFamilia;    // IdSubFamilia: ( no definido )
    private $s_IdAlmacen;    // IdAlmacen: ( no definido )
    private $i_IdUnidad;    // IdUnidad: ( no definido )
    private $s_IdItemTipo;    // IdItemTipo: ( no definido )
    private $s_DetalleDescripcion;    // DetalleDescripcion: ( no definido )
    private $f_Altura;    // Altura: ( no definido )
    private $f_Cantidad;    // Cantidad: ( no definido )
    private $f_CantidadRecibida;    // CantidadRecibida: ( no definido )
    private $f_PrecioUnitario;    // PrecioUnitario: ( no definido )
    private $f_ImpuestoUnitario;    // ImpuestoUnitario: ( no definido )
    private $f_PrecioUnitarioConIGV;    // PrecioUnitarioConIGV: ( no definido )
    private $f_SubTotalSinIGV;    // SubTotalSinIGV: ( no definido )
    private $f_ImpuestoSubTotal;    // ImpuestoSubTotal: ( no definido )
    private $f_PrecioTotalConIGV;    // PrecioTotalConIGV: ( no definido )
    private $s_DsctoTipoCod;    // DsctoTipoCod: ( no definido )
    private $s_DsctoCod;    // DsctoCod: ( no definido )
    private $f_DsctoTotal;    // DsctoTotal: ( no definido )
    private $f_BaseImponible;    // BaseImponible: ( no definido )
    private $f_ImpuestoConDscto;    // ImpuestoConDscto: ( no definido )
    private $f_TotalaPagar;    // TotalaPagar: ( no definido )
    private $s_UsuarioCreacion;    // UsuarioCreacion: ( no definido )
    private $d_FechaCreacion;    // FechaCreacion: ( no definido )
    private $s_UsuarioModificacion;    // UsuarioModificacion: ( no definido )
    private $d_FechaModificacion;    // FechaModificacion: ( no definido )

    /* Establece el valor del campo ProFinalId */
    public function setProFinalId( $i_ProFinalId )
    {
        $this->i_ProFinalId = $i_ProFinalId;
    }

    /* Obtiene el valor del campo ProFinalId */
    public function getProFinalId()
    {
        return $this->i_ProFinalId;
    }

    /* Establece el valor del campo OrdenId */
    public function setOrdenId( $i_OrdenId )
    {
        $this->i_OrdenId = $i_OrdenId;
    }

    /* Obtiene el valor del campo OrdenId */
    public function getOrdenId()
    {
        return $this->i_OrdenId;
    }

    /* Establece el valor del campo ItemTipoClase */
    public function setItemTipoClase( $i_ItemTipoClase )
    {
        $this->i_ItemTipoClase = $i_ItemTipoClase;
    }

    /* Obtiene el valor del campo ItemTipoClase */
    public function getItemTipoClase()
    {
        return $this->i_ItemTipoClase;
    }

    /* Establece el valor del campo Secuencia */
    public function setSecuencia( $s_Secuencia )
    {
        $this->s_Secuencia = $s_Secuencia;
    }

    /* Obtiene el valor del campo Secuencia */
    public function getSecuencia()
    {
        return $this->s_Secuencia;
    }

    /* 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 IdOrdenPrdCab */
    public function setIdOrdenPrdCab( $i_IdOrdenPrdCab )
    {
        $this->i_IdOrdenPrdCab = $i_IdOrdenPrdCab;
    }

    /* Obtiene el valor del campo IdOrdenPrdCab */
    public function getIdOrdenPrdCab()
    {
        return $this->i_IdOrdenPrdCab;
    }

    /* Establece el valor del campo IdLinea */
    public function setIdLinea( $i_IdLinea )
    {
        $this->i_IdLinea = $i_IdLinea;
    }

    /* Obtiene el valor del campo IdLinea */
    public function getIdLinea()
    {
        return $this->i_IdLinea;
    }

    /* Establece el valor del campo IdFamilia */
    public function setIdFamilia( $i_IdFamilia )
    {
        $this->i_IdFamilia = $i_IdFamilia;
    }

    /* Obtiene el valor del campo IdFamilia */
    public function getIdFamilia()
    {
        return $this->i_IdFamilia;
    }

    /* Establece el valor del campo IdSubFamilia */
    public function setIdSubFamilia( $i_IdSubFamilia )
    {
        $this->i_IdSubFamilia = $i_IdSubFamilia;
    }

    /* Obtiene el valor del campo IdSubFamilia */
    public function getIdSubFamilia()
    {
        return $this->i_IdSubFamilia;
    }

    /* 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 IdUnidad */
    public function setIdUnidad( $i_IdUnidad )
    {
        $this->i_IdUnidad = $i_IdUnidad;
    }

    /* Obtiene el valor del campo IdUnidad */
    public function getIdUnidad()
    {
        return $this->i_IdUnidad;
    }

    /* Establece el valor del campo IdItemTipo */
    public function setIdItemTipo( $s_IdItemTipo )
    {
        $this->s_IdItemTipo = $s_IdItemTipo;
    }

    /* Obtiene el valor del campo IdItemTipo */
    public function getIdItemTipo()
    {
        return $this->s_IdItemTipo;
    }

    /* Establece el valor del campo DetalleDescripcion */
    public function setDetalleDescripcion( $s_DetalleDescripcion )
    {
        $this->s_DetalleDescripcion = $s_DetalleDescripcion;
    }

    /* Obtiene el valor del campo DetalleDescripcion */
    public function getDetalleDescripcion()
    {
        return $this->s_DetalleDescripcion;
    }

    /* Establece el valor del campo Altura */
    public function setAltura( $f_Altura )
    {
        $this->f_Altura = $f_Altura;
    }

    /* Obtiene el valor del campo Altura */
    public function getAltura()
    {
        return $this->f_Altura;
    }

    /* Establece el valor del campo Cantidad */
    public function setCantidad( $f_Cantidad )
    {
        $this->f_Cantidad = $f_Cantidad;
    }

    /* Obtiene el valor del campo Cantidad */
    public function getCantidad()
    {
        return $this->f_Cantidad;
    }

    /* Establece el valor del campo CantidadRecibida */
    public function setCantidadRecibida( $f_CantidadRecibida )
    {
        $this->f_CantidadRecibida = $f_CantidadRecibida;
    }

    /* Obtiene el valor del campo CantidadRecibida */
    public function getCantidadRecibida()
    {
        return $this->f_CantidadRecibida;
    }

    /* 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 ImpuestoUnitario */
    public function setImpuestoUnitario( $f_ImpuestoUnitario )
    {
        $this->f_ImpuestoUnitario = $f_ImpuestoUnitario;
    }

    /* Obtiene el valor del campo ImpuestoUnitario */
    public function getImpuestoUnitario()
    {
        return $this->f_ImpuestoUnitario;
    }

    /* Establece el valor del campo PrecioUnitarioConIGV */
    public function setPrecioUnitarioConIGV( $f_PrecioUnitarioConIGV )
    {
        $this->f_PrecioUnitarioConIGV = $f_PrecioUnitarioConIGV;
    }

    /* Obtiene el valor del campo PrecioUnitarioConIGV */
    public function getPrecioUnitarioConIGV()
    {
        return $this->f_PrecioUnitarioConIGV;
    }

    /* Establece el valor del campo SubTotalSinIGV */
    public function setSubTotalSinIGV( $f_SubTotalSinIGV )
    {
        $this->f_SubTotalSinIGV = $f_SubTotalSinIGV;
    }

    /* Obtiene el valor del campo SubTotalSinIGV */
    public function getSubTotalSinIGV()
    {
        return $this->f_SubTotalSinIGV;
    }

    /* Establece el valor del campo ImpuestoSubTotal */
    public function setImpuestoSubTotal( $f_ImpuestoSubTotal )
    {
        $this->f_ImpuestoSubTotal = $f_ImpuestoSubTotal;
    }

    /* Obtiene el valor del campo ImpuestoSubTotal */
    public function getImpuestoSubTotal()
    {
        return $this->f_ImpuestoSubTotal;
    }

    /* Establece el valor del campo PrecioTotalConIGV */
    public function setPrecioTotalConIGV( $f_PrecioTotalConIGV )
    {
        $this->f_PrecioTotalConIGV = $f_PrecioTotalConIGV;
    }

    /* Obtiene el valor del campo PrecioTotalConIGV */
    public function getPrecioTotalConIGV()
    {
        return $this->f_PrecioTotalConIGV;
    }

    /* Establece el valor del campo DsctoTipoCod */
    public function setDsctoTipoCod( $s_DsctoTipoCod )
    {
        $this->s_DsctoTipoCod = $s_DsctoTipoCod;
    }

    /* Obtiene el valor del campo DsctoTipoCod */
    public function getDsctoTipoCod()
    {
        return $this->s_DsctoTipoCod;
    }

    /* Establece el valor del campo DsctoCod */
    public function setDsctoCod( $s_DsctoCod )
    {
        $this->s_DsctoCod = $s_DsctoCod;
    }

    /* Obtiene el valor del campo DsctoCod */
    public function getDsctoCod()
    {
        return $this->s_DsctoCod;
    }

    /* Establece el valor del campo DsctoTotal */
    public function setDsctoTotal( $f_DsctoTotal )
    {
        $this->f_DsctoTotal = $f_DsctoTotal;
    }

    /* Obtiene el valor del campo DsctoTotal */
    public function getDsctoTotal()
    {
        return $this->f_DsctoTotal;
    }

    /* Establece el valor del campo BaseImponible */
    public function setBaseImponible( $f_BaseImponible )
    {
        $this->f_BaseImponible = $f_BaseImponible;
    }

    /* Obtiene el valor del campo BaseImponible */
    public function getBaseImponible()
    {
        return $this->f_BaseImponible;
    }

    /* Establece el valor del campo ImpuestoConDscto */
    public function setImpuestoConDscto( $f_ImpuestoConDscto )
    {
        $this->f_ImpuestoConDscto = $f_ImpuestoConDscto;
    }

    /* Obtiene el valor del campo ImpuestoConDscto */
    public function getImpuestoConDscto()
    {
        return $this->f_ImpuestoConDscto;
    }

    /* Establece el valor del campo TotalaPagar */
    public function setTotalaPagar( $f_TotalaPagar )
    {
        $this->f_TotalaPagar = $f_TotalaPagar;
    }

    /* Obtiene el valor del campo TotalaPagar */
    public function getTotalaPagar()
    {
        return $this->f_TotalaPagar;
    }

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

    public function getJsonSerialize()
    {
        return 
        [
            'ProFinalId' => $this->getProFinalId(),
            'OrdenId' => $this->getOrdenId(),
            'ItemTipoClase' => $this->getItemTipoClase(),
            'Secuencia' => $this->getSecuencia(),
            'IdItem' => $this->getIdItem(),
            'IdOrdenPrdCab' => $this->getIdOrdenPrdCab(),
            'IdLinea' => $this->getIdLinea(),
            'IdFamilia' => $this->getIdFamilia(),
            'IdSubFamilia' => $this->getIdSubFamilia(),
            'IdAlmacen' => $this->getIdAlmacen(),
            'IdUnidad' => $this->getIdUnidad(),
            'IdItemTipo' => $this->getIdItemTipo(),
            'DetalleDescripcion' => $this->getDetalleDescripcion(),
            'Altura' => $this->getAltura(),
            'Cantidad' => $this->getCantidad(),
            'CantidadRecibida' => $this->getCantidadRecibida(),
            'PrecioUnitario' => $this->getPrecioUnitario(),
            'ImpuestoUnitario' => $this->getImpuestoUnitario(),
            'PrecioUnitarioConIGV' => $this->getPrecioUnitarioConIGV(),
            'SubTotalSinIGV' => $this->getSubTotalSinIGV(),
            'ImpuestoSubTotal' => $this->getImpuestoSubTotal(),
            'PrecioTotalConIGV' => $this->getPrecioTotalConIGV(),
            'DsctoTipoCod' => $this->getDsctoTipoCod(),
            'DsctoCod' => $this->getDsctoCod(),
            'DsctoTotal' => $this->getDsctoTotal(),
            'BaseImponible' => $this->getBaseImponible(),
            'ImpuestoConDscto' => $this->getImpuestoConDscto(),
            'TotalaPagar' => $this->getTotalaPagar(),
            'UsuarioCreacion' => $this->getUsuarioCreacion(),
            'FechaCreacion' => $this->getFechaCreacion(),
            'UsuarioModificacion' => $this->getUsuarioModificacion(),
            'FechaModificacion' => $this->getFechaModificacion(),
        ];
    }

    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 VTA_ProductoFinalBN desde un RecordSet */
    public static function retrieveByRs( $o_VTA_ProductoFinalRs )
    {
        $o_VTA_ProductoFinalBN = new VTA_ProductoFinalBN();
        $o_VTA_ProductoFinalBN->setProFinalId( ( integer ) $o_VTA_ProductoFinalRs[ "ProFinalId" ] );
        $o_VTA_ProductoFinalBN->setOrdenId( ( integer ) $o_VTA_ProductoFinalRs[ "OrdenId" ] );
        $o_VTA_ProductoFinalBN->setItemTipoClase( ( integer ) $o_VTA_ProductoFinalRs[ "ItemTipoClase" ] );
        $o_VTA_ProductoFinalBN->setSecuencia( $o_VTA_ProductoFinalRs[ "Secuencia" ] );
        $o_VTA_ProductoFinalBN->setIdItem( $o_VTA_ProductoFinalRs[ "IdItem" ] );
        $o_VTA_ProductoFinalBN->setIdOrdenPrdCab( ( integer ) $o_VTA_ProductoFinalRs[ "IdOrdenPrdCab" ] );
        $o_VTA_ProductoFinalBN->setIdLinea( ( integer ) $o_VTA_ProductoFinalRs[ "IdLinea" ] );
        $o_VTA_ProductoFinalBN->setIdFamilia( ( integer ) $o_VTA_ProductoFinalRs[ "IdFamilia" ] );
        $o_VTA_ProductoFinalBN->setIdSubFamilia( ( integer ) $o_VTA_ProductoFinalRs[ "IdSubFamilia" ] );
        $o_VTA_ProductoFinalBN->setIdAlmacen( $o_VTA_ProductoFinalRs[ "IdAlmacen" ] );
        $o_VTA_ProductoFinalBN->setIdUnidad( ( integer ) $o_VTA_ProductoFinalRs[ "IdUnidad" ] );
        $o_VTA_ProductoFinalBN->setIdItemTipo( $o_VTA_ProductoFinalRs[ "IdItemTipo" ] );
        $o_VTA_ProductoFinalBN->setDetalleDescripcion( $o_VTA_ProductoFinalRs[ "DetalleDescripcion" ] );
        $o_VTA_ProductoFinalBN->setAltura( ( float ) $o_VTA_ProductoFinalRs[ "Altura" ] );
        $o_VTA_ProductoFinalBN->setCantidad( ( float ) $o_VTA_ProductoFinalRs[ "Cantidad" ] );
        $o_VTA_ProductoFinalBN->setCantidadRecibida( ( float ) $o_VTA_ProductoFinalRs[ "CantidadRecibida" ] );
        $o_VTA_ProductoFinalBN->setPrecioUnitario( ( float ) $o_VTA_ProductoFinalRs[ "PrecioUnitario" ] );
        $o_VTA_ProductoFinalBN->setImpuestoUnitario( ( float ) $o_VTA_ProductoFinalRs[ "ImpuestoUnitario" ] );
        $o_VTA_ProductoFinalBN->setPrecioUnitarioConIGV( ( float ) $o_VTA_ProductoFinalRs[ "PrecioUnitarioConIGV" ] );
        $o_VTA_ProductoFinalBN->setSubTotalSinIGV( ( float ) $o_VTA_ProductoFinalRs[ "SubTotalSinIGV" ] );
        $o_VTA_ProductoFinalBN->setImpuestoSubTotal( ( float ) $o_VTA_ProductoFinalRs[ "ImpuestoSubTotal" ] );
        $o_VTA_ProductoFinalBN->setPrecioTotalConIGV( ( float ) $o_VTA_ProductoFinalRs[ "PrecioTotalConIGV" ] );
        $o_VTA_ProductoFinalBN->setDsctoTipoCod( $o_VTA_ProductoFinalRs[ "DsctoTipoCod" ] );
        $o_VTA_ProductoFinalBN->setDsctoCod( $o_VTA_ProductoFinalRs[ "DsctoCod" ] );
        $o_VTA_ProductoFinalBN->setDsctoTotal( ( float ) $o_VTA_ProductoFinalRs[ "DsctoTotal" ] );
        $o_VTA_ProductoFinalBN->setBaseImponible( ( float ) $o_VTA_ProductoFinalRs[ "BaseImponible" ] );
        $o_VTA_ProductoFinalBN->setImpuestoConDscto( ( float ) $o_VTA_ProductoFinalRs[ "ImpuestoConDscto" ] );
        $o_VTA_ProductoFinalBN->setTotalaPagar( ( float ) $o_VTA_ProductoFinalRs[ "TotalaPagar" ] );
        $o_VTA_ProductoFinalBN->setUsuarioCreacion( $o_VTA_ProductoFinalRs[ "UsuarioCreacion" ] );
        $o_VTA_ProductoFinalBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_VTA_ProductoFinalRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_VTA_ProductoFinalBN->setUsuarioModificacion( $o_VTA_ProductoFinalRs[ "UsuarioModificacion" ] );
        $o_VTA_ProductoFinalBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_VTA_ProductoFinalRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        return $o_VTA_ProductoFinalBN;
    }
}
?>