<?php
/* Autor...:  */
/* Esquema.: PRD_OrdenDet.xml */
/* Generado: 2021-03-26 22:09:47 */

/* Metodos de acceso a los campos de la tabla PRD_OrdenDet */
abstract class BasePRD_OrdenDetBN
{
    /* Campos de la tabla */
    private $i_IdOrdenDet;    // IdOrdenDet: ( no definido )
    private $i_IdOrdenCab;    // IdOrdenCab: ( no definido )
    private $s_IdItem;    // IdItem: ( no definido )
    private $s_ItemTipo;    // ItemTipo: ( no definido )
    private $s_DescripcionItem;    // DescripcionItem: ( no definido )
    private $i_IdUnidad;    // IdUnidad: ( no definido )
    private $f_CantidadPedida;    // CantidadPedida: ( no definido )
    private $f_CantidadRecibida;    // CantidadRecibida: ( no definido )
    private $f_PrecioCostoUnit;    // PrecioCostoUnit: ( no definido )
    private $f_PrecioCostoTotal;    // PrecioCostoTotal: ( 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 IdOrdenDet */
    public function setIdOrdenDet( $i_IdOrdenDet )
    {
        $this->i_IdOrdenDet = $i_IdOrdenDet;
    }

    /* Obtiene el valor del campo IdOrdenDet */
    public function getIdOrdenDet()
    {
        return $this->i_IdOrdenDet;
    }

    /* Establece el valor del campo IdOrdenCab */
    public function setIdOrdenCab( $i_IdOrdenCab )
    {
        $this->i_IdOrdenCab = $i_IdOrdenCab;
    }

    /* Obtiene el valor del campo IdOrdenCab */
    public function getIdOrdenCab()
    {
        return $this->i_IdOrdenCab;
    }

    /* 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 ItemTipo */
    public function setItemTipo( $s_ItemTipo )
    {
        $this->s_ItemTipo = $s_ItemTipo;
    }

    /* Obtiene el valor del campo ItemTipo */
    public function getItemTipo()
    {
        return $this->s_ItemTipo;
    }

    /* Establece el valor del campo DescripcionItem */
    public function setDescripcionItem( $s_DescripcionItem )
    {
        $this->s_DescripcionItem = $s_DescripcionItem;
    }

    /* Obtiene el valor del campo DescripcionItem */
    public function getDescripcionItem()
    {
        return $this->s_DescripcionItem;
    }

    /* 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 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 PrecioCostoUnit */
    public function setPrecioCostoUnit( $f_PrecioCostoUnit )
    {
        $this->f_PrecioCostoUnit = $f_PrecioCostoUnit;
    }

    /* Obtiene el valor del campo PrecioCostoUnit */
    public function getPrecioCostoUnit()
    {
        return $this->f_PrecioCostoUnit;
    }

    /* Establece el valor del campo PrecioCostoTotal */
    public function setPrecioCostoTotal( $f_PrecioCostoTotal )
    {
        $this->f_PrecioCostoTotal = $f_PrecioCostoTotal;
    }

    /* Obtiene el valor del campo PrecioCostoTotal */
    public function getPrecioCostoTotal()
    {
        return $this->f_PrecioCostoTotal;
    }

    /* 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 
        [
            'IdOrdenDet' => $this->getIdOrdenDet(),
            'IdOrdenCab' => $this->getIdOrdenCab(),
            'IdItem' => $this->getIdItem(),
            'ItemTipo' => $this->getItemTipo(),
            'DescripcionItem' => $this->getDescripcionItem(),
            'IdUnidad' => $this->getIdUnidad(),
            'CantidadPedida' => $this->getCantidadPedida(),
            'CantidadRecibida' => $this->getCantidadRecibida(),
            'PrecioCostoUnit' => $this->getPrecioCostoUnit(),
            'PrecioCostoTotal' => $this->getPrecioCostoTotal(),
            '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 PRD_OrdenDetBN desde un RecordSet */
    public static function retrieveByRs( $o_PRD_OrdenDetRs )
    {
        $o_PRD_OrdenDetBN = new PRD_OrdenDetBN();
        $o_PRD_OrdenDetBN->setIdOrdenDet( ( integer ) $o_PRD_OrdenDetRs[ "IdOrdenDet" ] );
        $o_PRD_OrdenDetBN->setIdOrdenCab( ( integer ) $o_PRD_OrdenDetRs[ "IdOrdenCab" ] );
        $o_PRD_OrdenDetBN->setIdItem( $o_PRD_OrdenDetRs[ "IdItem" ] );
        $o_PRD_OrdenDetBN->setItemTipo( $o_PRD_OrdenDetRs[ "ItemTipo" ] );
        $o_PRD_OrdenDetBN->setDescripcionItem( $o_PRD_OrdenDetRs[ "DescripcionItem" ] );
        $o_PRD_OrdenDetBN->setIdUnidad( ( integer ) $o_PRD_OrdenDetRs[ "IdUnidad" ] );
        $o_PRD_OrdenDetBN->setCantidadPedida( ( float ) $o_PRD_OrdenDetRs[ "CantidadPedida" ] );
        $o_PRD_OrdenDetBN->setCantidadRecibida( ( float ) $o_PRD_OrdenDetRs[ "CantidadRecibida" ] );
        $o_PRD_OrdenDetBN->setPrecioCostoUnit( ( float ) $o_PRD_OrdenDetRs[ "PrecioCostoUnit" ] );
        $o_PRD_OrdenDetBN->setPrecioCostoTotal( ( float ) $o_PRD_OrdenDetRs[ "PrecioCostoTotal" ] );
        $o_PRD_OrdenDetBN->setUsuarioCreacion( $o_PRD_OrdenDetRs[ "UsuarioCreacion" ] );
        $o_PRD_OrdenDetBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_PRD_OrdenDetRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_PRD_OrdenDetBN->setUsuarioModificacion( $o_PRD_OrdenDetRs[ "UsuarioModificacion" ] );
        $o_PRD_OrdenDetBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_PRD_OrdenDetRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        return $o_PRD_OrdenDetBN;
    }
}
?>