<?php
/* Autor...:  */
/* Esquema.: COM_OrdenCompraDetalle.xml */
/* Generado: 2021-08-14 08:48:00 */

/* Metodos de acceso a los campos de la tabla COM_OrdenCompraDetalle */
abstract class BaseCOM_OrdenCompraDetalleBN
{
    /* Campos de la tabla */
    private $i_IdOrdenCompra;    // IdOrdenCompra: ( no definido )
    private $i_IdCompania;    // IdCompania: ( no definido )
    private $i_IdSecuencia;    // IdSecuencia: ( no definido )
    private $s_IdItem;    // IdItem: ( no definido )
    private $s_Descripcion;    // Descripcion: ( no definido )
    private $f_CantidadPedida;    // CantidadPedida: ( no definido )
    private $f_CantidadRecibida;    // CantidadRecibida: ( no definido )
    private $f_MuestraUni;    // MuestraUni: ( no definido )
    private $f_MuestraKgr;    // MuestraKgr: ( no definido )
    private $s_IdUnidad;    // IdUnidad: ( no definido )
    private $i_IdCondicion;    // IdCondicion: ( no definido )
    private $s_IdLote;    // IdLote: ( no definido )
    private $d_FechaVencimiento;    // FechaVencimiento: ( no definido )
    private $f_PrecioUnitarioInicial;    // PrecioUnitarioInicial: ( no definido )
    private $f_PrecioUnitario;    // PrecioUnitario: ( no definido )
    private $f_PrecioUnitarioFinal;    // PrecioUnitarioFinal: ( no definido )
    private $f_SubTotal;    // SubTotal: ( no definido )
    private $f_ValorIGV;    // ValorIGV: ( no definido )
    private $f_PrecioTotalConIGV;    // PrecioTotalConIGV: ( no definido )
    private $s_IGVExonerado;    // IGVExonerado: ( no definido )
    private $s_Estado;    // Estado: ( no definido )
    private $u_Comentario;    // Comentario: ( no definido )
    private $f_Descuento;    // Descuento: ( no definido )
    private $f_PrecioUnitarioIGV;    // PrecioUnitarioIGV: ( no definido )
    private $f_CostoFinalDolares;    // CostoFinalDolares: ( no definido )
    private $f_CostoFinalSoles;    // CostoFinalSoles: ( no definido )
    private $i_IdRequerimientoDetalle;    // IdRequerimientoDetalle: ( 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 )
    private $d_FechaEntrega;    // FechaEntrega: ( no definido )

    /* Establece el valor del campo IdOrdenCompra */
    public function setIdOrdenCompra( $i_IdOrdenCompra )
    {
        $this->i_IdOrdenCompra = $i_IdOrdenCompra;
    }

    /* Obtiene el valor del campo IdOrdenCompra */
    public function getIdOrdenCompra()
    {
        return $this->i_IdOrdenCompra;
    }

    /* 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 IdSecuencia */
    public function setIdSecuencia( $i_IdSecuencia )
    {
        $this->i_IdSecuencia = $i_IdSecuencia;
    }

    /* Obtiene el valor del campo IdSecuencia */
    public function getIdSecuencia()
    {
        return $this->i_IdSecuencia;
    }

    /* 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 Descripcion */
    public function setDescripcion( $s_Descripcion )
    {
        $this->s_Descripcion = $s_Descripcion;
    }

    /* Obtiene el valor del campo Descripcion */
    public function getDescripcion()
    {
        return $this->s_Descripcion;
    }

    /* Establece el valor del campo CantidadPedida */
    public function setCantidadPedida( $f_CantidadPedida )
    {
        $this->f_CantidadPedida = $f_CantidadPedida;
    }

    /* Obtiene el valor del campo CantidadPedida */
    public function getCantidadPedida()
    {
        return $this->f_CantidadPedida;
    }

    /* 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 MuestraUni */
    public function setMuestraUni( $f_MuestraUni )
    {
        $this->f_MuestraUni = $f_MuestraUni;
    }

    /* Obtiene el valor del campo MuestraUni */
    public function getMuestraUni()
    {
        return $this->f_MuestraUni;
    }

    /* Establece el valor del campo MuestraKgr */
    public function setMuestraKgr( $f_MuestraKgr )
    {
        $this->f_MuestraKgr = $f_MuestraKgr;
    }

    /* Obtiene el valor del campo MuestraKgr */
    public function getMuestraKgr()
    {
        return $this->f_MuestraKgr;
    }

    /* Establece el valor del campo IdUnidad */
    public function setIdUnidad( $s_IdUnidad )
    {
        $this->s_IdUnidad = $s_IdUnidad;
    }

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

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

    /* Obtiene el valor del campo IdCondicion */
    public function getIdCondicion()
    {
        return $this->i_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 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 PrecioUnitarioInicial */
    public function setPrecioUnitarioInicial( $f_PrecioUnitarioInicial )
    {
        $this->f_PrecioUnitarioInicial = $f_PrecioUnitarioInicial;
    }

    /* Obtiene el valor del campo PrecioUnitarioInicial */
    public function getPrecioUnitarioInicial()
    {
        return $this->f_PrecioUnitarioInicial;
    }

    /* 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 PrecioUnitarioFinal */
    public function setPrecioUnitarioFinal( $f_PrecioUnitarioFinal )
    {
        $this->f_PrecioUnitarioFinal = $f_PrecioUnitarioFinal;
    }

    /* Obtiene el valor del campo PrecioUnitarioFinal */
    public function getPrecioUnitarioFinal()
    {
        return $this->f_PrecioUnitarioFinal;
    }

    /* Establece el valor del campo SubTotal */
    public function setSubTotal( $f_SubTotal )
    {
        $this->f_SubTotal = $f_SubTotal;
    }

    /* Obtiene el valor del campo SubTotal */
    public function getSubTotal()
    {
        return $this->f_SubTotal;
    }

    /* Establece el valor del campo ValorIGV */
    public function setValorIGV( $f_ValorIGV )
    {
        $this->f_ValorIGV = $f_ValorIGV;
    }

    /* Obtiene el valor del campo ValorIGV */
    public function getValorIGV()
    {
        return $this->f_ValorIGV;
    }

    /* 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 IGVExonerado */
    public function setIGVExonerado( $s_IGVExonerado )
    {
        $this->s_IGVExonerado = $s_IGVExonerado;
    }

    /* Obtiene el valor del campo IGVExonerado */
    public function getIGVExonerado()
    {
        return $this->s_IGVExonerado;
    }

    /* 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 Comentario */
    public function setComentario( $u_Comentario )
    {
        $this->u_Comentario = $u_Comentario;
    }

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

    /* Establece el valor del campo Descuento */
    public function setDescuento( $f_Descuento )
    {
        $this->f_Descuento = $f_Descuento;
    }

    /* Obtiene el valor del campo Descuento */
    public function getDescuento()
    {
        return $this->f_Descuento;
    }

    /* Establece el valor del campo PrecioUnitarioIGV */
    public function setPrecioUnitarioIGV( $f_PrecioUnitarioIGV )
    {
        $this->f_PrecioUnitarioIGV = $f_PrecioUnitarioIGV;
    }

    /* Obtiene el valor del campo PrecioUnitarioIGV */
    public function getPrecioUnitarioIGV()
    {
        return $this->f_PrecioUnitarioIGV;
    }

    /* Establece el valor del campo CostoFinalDolares */
    public function setCostoFinalDolares( $f_CostoFinalDolares )
    {
        $this->f_CostoFinalDolares = $f_CostoFinalDolares;
    }

    /* Obtiene el valor del campo CostoFinalDolares */
    public function getCostoFinalDolares()
    {
        return $this->f_CostoFinalDolares;
    }

    /* Establece el valor del campo CostoFinalSoles */
    public function setCostoFinalSoles( $f_CostoFinalSoles )
    {
        $this->f_CostoFinalSoles = $f_CostoFinalSoles;
    }

    /* Obtiene el valor del campo CostoFinalSoles */
    public function getCostoFinalSoles()
    {
        return $this->f_CostoFinalSoles;
    }

    /* Establece el valor del campo IdRequerimientoDetalle */
    public function setIdRequerimientoDetalle( $i_IdRequerimientoDetalle )
    {
        $this->i_IdRequerimientoDetalle = $i_IdRequerimientoDetalle;
    }

    /* Obtiene el valor del campo IdRequerimientoDetalle */
    public function getIdRequerimientoDetalle()
    {
        return $this->i_IdRequerimientoDetalle;
    }

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

    /* Establece el valor del campo FechaEntrega */
    public function setFechaEntrega( $d_FechaEntrega )
    {
        $this->d_FechaEntrega = $d_FechaEntrega;
    }

    /* Obtiene el valor del campo FechaEntrega */
    public function getFechaEntrega()
    {
        return $this->d_FechaEntrega;
    }

    public function getJsonSerialize()
    {
        return 
        [
            'IdOrdenCompra' => $this->getIdOrdenCompra(),
            'IdCompania' => $this->getIdCompania(),
            'IdSecuencia' => $this->getIdSecuencia(),
            'IdItem' => $this->getIdItem(),
            'Descripcion' => $this->getDescripcion(),
            'CantidadPedida' => $this->getCantidadPedida(),
            'CantidadRecibida' => $this->getCantidadRecibida(),
            'MuestraUni' => $this->getMuestraUni(),
            'MuestraKgr' => $this->getMuestraKgr(),
            'IdUnidad' => $this->getIdUnidad(),
            'IdCondicion' => $this->getIdCondicion(),
            'IdLote' => $this->getIdLote(),
            'FechaVencimiento' => $this->getFechaVencimiento(),
            'PrecioUnitarioInicial' => $this->getPrecioUnitarioInicial(),
            'PrecioUnitario' => $this->getPrecioUnitario(),
            'PrecioUnitarioFinal' => $this->getPrecioUnitarioFinal(),
            'SubTotal' => $this->getSubTotal(),
            'ValorIGV' => $this->getValorIGV(),
            'PrecioTotalConIGV' => $this->getPrecioTotalConIGV(),
            'IGVExonerado' => $this->getIGVExonerado(),
            'Estado' => $this->getEstado(),
            'Comentario' => $this->getComentario(),
            'Descuento' => $this->getDescuento(),
            'PrecioUnitarioIGV' => $this->getPrecioUnitarioIGV(),
            'CostoFinalDolares' => $this->getCostoFinalDolares(),
            'CostoFinalSoles' => $this->getCostoFinalSoles(),
            'IdRequerimientoDetalle' => $this->getIdRequerimientoDetalle(),
            'FechaCreacion' => $this->getFechaCreacion(),
            'UsuarioCreacion' => $this->getUsuarioCreacion(),
            'FechaModificacion' => $this->getFechaModificacion(),
            'UsuarioModificacion' => $this->getUsuarioModificacion(),
            'FechaEntrega' => $this->getFechaEntrega(),
        ];
    }

    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 COM_OrdenCompraDetalleBN desde un RecordSet */
    public static function retrieveByRs( $o_COM_OrdenCompraDetalleRs )
    {
        $o_COM_OrdenCompraDetalleBN = new COM_OrdenCompraDetalleBN();
        $o_COM_OrdenCompraDetalleBN->setIdOrdenCompra( ( integer ) $o_COM_OrdenCompraDetalleRs[ "IdOrdenCompra" ] );
        $o_COM_OrdenCompraDetalleBN->setIdCompania( ( integer ) $o_COM_OrdenCompraDetalleRs[ "IdCompania" ] );
        $o_COM_OrdenCompraDetalleBN->setIdSecuencia( ( integer ) $o_COM_OrdenCompraDetalleRs[ "IdSecuencia" ] );
        $o_COM_OrdenCompraDetalleBN->setIdItem( $o_COM_OrdenCompraDetalleRs[ "IdItem" ] );
        $o_COM_OrdenCompraDetalleBN->setDescripcion( $o_COM_OrdenCompraDetalleRs[ "Descripcion" ] );
        $o_COM_OrdenCompraDetalleBN->setCantidadPedida( ( float ) $o_COM_OrdenCompraDetalleRs[ "CantidadPedida" ] );
        $o_COM_OrdenCompraDetalleBN->setCantidadRecibida( ( float ) $o_COM_OrdenCompraDetalleRs[ "CantidadRecibida" ] );
        $o_COM_OrdenCompraDetalleBN->setMuestraUni( ( float ) $o_COM_OrdenCompraDetalleRs[ "MuestraUni" ] );
        $o_COM_OrdenCompraDetalleBN->setMuestraKgr( ( float ) $o_COM_OrdenCompraDetalleRs[ "MuestraKgr" ] );
        $o_COM_OrdenCompraDetalleBN->setIdUnidad( $o_COM_OrdenCompraDetalleRs[ "IdUnidad" ] );
        $o_COM_OrdenCompraDetalleBN->setIdCondicion( ( integer ) $o_COM_OrdenCompraDetalleRs[ "IdCondicion" ] );
        $o_COM_OrdenCompraDetalleBN->setIdLote( $o_COM_OrdenCompraDetalleRs[ "IdLote" ] );
        $o_COM_OrdenCompraDetalleBN->setFechaVencimiento( utilTimestamp::getTimestamp( $o_COM_OrdenCompraDetalleRs[ "FechaVencimiento" ], "Y-m-d" ) );
        $o_COM_OrdenCompraDetalleBN->setPrecioUnitarioInicial( ( float ) $o_COM_OrdenCompraDetalleRs[ "PrecioUnitarioInicial" ] );
        $o_COM_OrdenCompraDetalleBN->setPrecioUnitario( ( float ) $o_COM_OrdenCompraDetalleRs[ "PrecioUnitario" ] );
        $o_COM_OrdenCompraDetalleBN->setPrecioUnitarioFinal( ( float ) $o_COM_OrdenCompraDetalleRs[ "PrecioUnitarioFinal" ] );
        $o_COM_OrdenCompraDetalleBN->setSubTotal( ( float ) $o_COM_OrdenCompraDetalleRs[ "SubTotal" ] );
        $o_COM_OrdenCompraDetalleBN->setValorIGV( ( float ) $o_COM_OrdenCompraDetalleRs[ "ValorIGV" ] );
        $o_COM_OrdenCompraDetalleBN->setPrecioTotalConIGV( ( float ) $o_COM_OrdenCompraDetalleRs[ "PrecioTotalConIGV" ] );
        $o_COM_OrdenCompraDetalleBN->setIGVExonerado( $o_COM_OrdenCompraDetalleRs[ "IGVExonerado" ] );
        $o_COM_OrdenCompraDetalleBN->setEstado( $o_COM_OrdenCompraDetalleRs[ "Estado" ] );
        $o_COM_OrdenCompraDetalleBN->setComentario( $o_COM_OrdenCompraDetalleRs[ "Comentario" ] );
        $o_COM_OrdenCompraDetalleBN->setDescuento( ( float ) $o_COM_OrdenCompraDetalleRs[ "Descuento" ] );
        $o_COM_OrdenCompraDetalleBN->setPrecioUnitarioIGV( ( float ) $o_COM_OrdenCompraDetalleRs[ "PrecioUnitarioIGV" ] );
        $o_COM_OrdenCompraDetalleBN->setCostoFinalDolares( ( float ) $o_COM_OrdenCompraDetalleRs[ "CostoFinalDolares" ] );
        $o_COM_OrdenCompraDetalleBN->setCostoFinalSoles( ( float ) $o_COM_OrdenCompraDetalleRs[ "CostoFinalSoles" ] );
        $o_COM_OrdenCompraDetalleBN->setIdRequerimientoDetalle( ( integer ) $o_COM_OrdenCompraDetalleRs[ "IdRequerimientoDetalle" ] );
        $o_COM_OrdenCompraDetalleBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_COM_OrdenCompraDetalleRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_COM_OrdenCompraDetalleBN->setUsuarioCreacion( $o_COM_OrdenCompraDetalleRs[ "UsuarioCreacion" ] );
        $o_COM_OrdenCompraDetalleBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_COM_OrdenCompraDetalleRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        $o_COM_OrdenCompraDetalleBN->setUsuarioModificacion( $o_COM_OrdenCompraDetalleRs[ "UsuarioModificacion" ] );
        $o_COM_OrdenCompraDetalleBN->setFechaEntrega( utilTimestamp::getTimestamp( $o_COM_OrdenCompraDetalleRs[ "FechaEntrega" ], "Y-m-d H:i:s" ) );
        return $o_COM_OrdenCompraDetalleBN;
    }
}
?>