<?php
/* Autor...: William L. Taype Perez */
/* Esquema.: ALM_TransferenciaDetalle.xml */
/* Generado: 2020-08-18 04:21:25 */

/* Mantenimiento de los registros de la tabla ALM_TransferenciaDetalle */
abstract class BaseALM_TransferenciaDetalleDP extends ALM_TransferenciaDetalleBV
{
    /* Constructor ( Establece los valores desde un objeto ALM_TransferenciaDetalleBN ) */
    public function __construct( ALM_TransferenciaDetalleBN $o_ALM_TransferenciaDetalleBN = null )
    {
        parent::__construct();
        if ( !is_null( $o_ALM_TransferenciaDetalleBN ) )
        {
            $this->setByBN( $o_ALM_TransferenciaDetalleBN );
        }
    }

    public $b_Debug = false;

    public function getDebug()
    {
        if( SF_DEBUG )
        {
            $this->b_Debug = true;
        }
        return $this->b_Debug;
    }

    public function setDebug( $v )
    {
        $this->b_Debug = $v;
    }

    /* Establece los valores desde un objeto ALM_TransferenciaDetalleBN */
    public function setByBN( ALM_TransferenciaDetalleBN $o_ALM_TransferenciaDetalleBN )
    {
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getIdTransferencia() ) )
        {
            $this->setIdTransferencia( $o_ALM_TransferenciaDetalleBN->getIdTransferencia() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getIdSecuencia() ) )
        {
            $this->setIdSecuencia( $o_ALM_TransferenciaDetalleBN->getIdSecuencia() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getIdItem() ) )
        {
            $this->setIdItem( $o_ALM_TransferenciaDetalleBN->getIdItem() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getIdLote() ) )
        {
            $this->setIdLote( $o_ALM_TransferenciaDetalleBN->getIdLote() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getDescripcionItem() ) )
        {
            $this->setDescripcionItem( $o_ALM_TransferenciaDetalleBN->getDescripcionItem() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getUnidadCodigo() ) )
        {
            $this->setUnidadCodigo( $o_ALM_TransferenciaDetalleBN->getUnidadCodigo() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getCantidad() ) )
        {
            $this->setCantidad( $o_ALM_TransferenciaDetalleBN->getCantidad() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getCantidadRecepcionada() ) )
        {
            $this->setCantidadRecepcionada( $o_ALM_TransferenciaDetalleBN->getCantidadRecepcionada() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getCantidadDoble() ) )
        {
            $this->setCantidadDoble( $o_ALM_TransferenciaDetalleBN->getCantidadDoble() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getPrecioUnitario() ) )
        {
            $this->setPrecioUnitario( $o_ALM_TransferenciaDetalleBN->getPrecioUnitario() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getMontoTotal() ) )
        {
            $this->setMontoTotal( $o_ALM_TransferenciaDetalleBN->getMontoTotal() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getPrecioUnitarioDolares() ) )
        {
            $this->setPrecioUnitarioDolares( $o_ALM_TransferenciaDetalleBN->getPrecioUnitarioDolares() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getMontoTotalDolares() ) )
        {
            $this->setMontoTotalDolares( $o_ALM_TransferenciaDetalleBN->getMontoTotalDolares() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getFechaVencimiento() ) )
        {
            $this->setFechaVencimiento( $o_ALM_TransferenciaDetalleBN->getFechaVencimiento() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getObservaciones() ) )
        {
            $this->setObservaciones( $o_ALM_TransferenciaDetalleBN->getObservaciones() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getEstado() ) )
        {
            $this->setEstado( $o_ALM_TransferenciaDetalleBN->getEstado() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getUsuarioCreacion() ) )
        {
            $this->setUsuarioCreacion( $o_ALM_TransferenciaDetalleBN->getUsuarioCreacion() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getFechaCreacion() ) )
        {
            $this->setFechaCreacion( $o_ALM_TransferenciaDetalleBN->getFechaCreacion() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getUsuarioModificacion() ) )
        {
            $this->setUsuarioModificacion( $o_ALM_TransferenciaDetalleBN->getUsuarioModificacion() );
        }
        if ( !is_null( $o_ALM_TransferenciaDetalleBN->getFechaModificacion() ) )
        {
            $this->setFechaModificacion( $o_ALM_TransferenciaDetalleBN->getFechaModificacion() );
        }
    }

    /* Graba un nuevo registro */
    public function save()
    {
        $this->validateRecord();
        $o_ALM_TransferenciaDetalleFN = new ALM_TransferenciaDetalleFN();
        $o_ALM_TransferenciaDetalleBN = $o_ALM_TransferenciaDetalleFN->selectByPk( $this->getIdTransferencia(), $this->getIdSecuencia() );
        if ( is_null( $o_ALM_TransferenciaDetalleBN ) )
        {
            $s_SQLQuery1 = "INSERT INTO ALM_TransferenciaDetalle ( ";
            $s_SQLQuery2 = "VALUES ( ";
            $s_Separator = "";
            if ( !is_null( $this->getIdTransferencia() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdTransferencia";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdTransferencia()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdSecuencia() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdSecuencia";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdSecuencia()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdItem() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdItem";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdItem()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdLote() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdLote";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdLote()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getDescripcionItem() ) )
            {
                $s_SQLQuery1 .= $s_Separator."DescripcionItem";
                $s_SQLQuery2 .= $s_Separator."'".$this->getDescripcionItem()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUnidadCodigo() ) )
            {
                $s_SQLQuery1 .= $s_Separator."UnidadCodigo";
                $s_SQLQuery2 .= $s_Separator."'".$this->getUnidadCodigo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidad() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Cantidad";
                $s_SQLQuery2 .= $s_Separator."".$this->getCantidad()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadRecepcionada() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CantidadRecepcionada";
                $s_SQLQuery2 .= $s_Separator."".$this->getCantidadRecepcionada()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadDoble() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CantidadDoble";
                $s_SQLQuery2 .= $s_Separator."".$this->getCantidadDoble()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitario() ) )
            {
                $s_SQLQuery1 .= $s_Separator."PrecioUnitario";
                $s_SQLQuery2 .= $s_Separator."".$this->getPrecioUnitario()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotal() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoTotal";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoTotal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitarioDolares() ) )
            {
                $s_SQLQuery1 .= $s_Separator."PrecioUnitarioDolares";
                $s_SQLQuery2 .= $s_Separator."".$this->getPrecioUnitarioDolares()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotalDolares() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoTotalDolares";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoTotalDolares()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaVencimiento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaVencimiento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaVencimiento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getObservaciones() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Observaciones";
                $s_SQLQuery2 .= $s_Separator."'".$this->getObservaciones()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEstado() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Estado";
                $s_SQLQuery2 .= $s_Separator."'".$this->getEstado()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioCreacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."UsuarioCreacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getUsuarioCreacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaCreacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaCreacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaCreacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioModificacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."UsuarioModificacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getUsuarioModificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaModificacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaModificacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaModificacion()."'";
                $s_Separator = ", ";
            }
            $s_SQLQuery = $s_SQLQuery1." ) ".$s_SQLQuery2." );";
            $o_Resource = Conexion::getConexion();
            $o_Statement = $o_Resource->createStatement();
            $o_Statement->executeQuery( $s_SQLQuery );
            if( $this->getDebug() ){ pr( $s_SQLQuery ); }
        }
        else
        {
            throw new Exception( "El id ya esta registrado." );
        }
        return true;
    }

    /* Actualiza los datos del registro */
    public function update()
    {
        $this->validateRecord();
        if ( true )
        {
            $s_SQLQuery = "UPDATE ALM_TransferenciaDetalle SET ";
            $s_Separator = "";
            if ( !is_null( $this->getIdItem() ) )
            {
                $s_SQLQuery .= $s_Separator."IdItem = '".$this->getIdItem()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdLote() ) )
            {
                $s_SQLQuery .= $s_Separator."IdLote = '".$this->getIdLote()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getDescripcionItem() ) )
            {
                $s_SQLQuery .= $s_Separator."DescripcionItem = '".$this->getDescripcionItem()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUnidadCodigo() ) )
            {
                $s_SQLQuery .= $s_Separator."UnidadCodigo = '".$this->getUnidadCodigo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidad() ) )
            {
                $s_SQLQuery .= $s_Separator."Cantidad = ".$this->getCantidad()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadRecepcionada() ) )
            {
                $s_SQLQuery .= $s_Separator."CantidadRecepcionada = ".$this->getCantidadRecepcionada()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadDoble() ) )
            {
                $s_SQLQuery .= $s_Separator."CantidadDoble = ".$this->getCantidadDoble()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitario() ) )
            {
                $s_SQLQuery .= $s_Separator."PrecioUnitario = ".$this->getPrecioUnitario()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotal() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoTotal = ".$this->getMontoTotal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitarioDolares() ) )
            {
                $s_SQLQuery .= $s_Separator."PrecioUnitarioDolares = ".$this->getPrecioUnitarioDolares()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotalDolares() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoTotalDolares = ".$this->getMontoTotalDolares()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaVencimiento() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaVencimiento = '".$this->getFechaVencimiento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getObservaciones() ) )
            {
                $s_SQLQuery .= $s_Separator."Observaciones = '".$this->getObservaciones()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEstado() ) )
            {
                $s_SQLQuery .= $s_Separator."Estado = '".$this->getEstado()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioCreacion() ) )
            {
                $s_SQLQuery .= $s_Separator."UsuarioCreacion = '".$this->getUsuarioCreacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaCreacion() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaCreacion = '".$this->getFechaCreacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioModificacion() ) )
            {
                $s_SQLQuery .= $s_Separator."UsuarioModificacion = '".$this->getUsuarioModificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaModificacion() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaModificacion = '".$this->getFechaModificacion()."'";
                $s_Separator = ", ";
            }
            $s_SQLQuery .= " WHERE  IdTransferencia = ".$this->getIdTransferencia()." AND  IdSecuencia = ".$this->getIdSecuencia().";";
            $o_Resource = Conexion::getConexion();
            $o_Statement = $o_Resource->createStatement();
            $o_Statement->executeQuery( $s_SQLQuery );
            if( $this->getDebug() ){ pr( $s_SQLQuery ); }

        }
        else
        {
            throw new Exception( "El id no esta registrado." );
        }
        return true;
    }

    /* Elimina el registro */
    public function delete()
    {
        $s_SQLQuery = "DELETE FROM ALM_TransferenciaDetalle WHERE  IdTransferencia = ".$this->getIdTransferencia()." AND  IdSecuencia = ".$this->getIdSecuencia().";";
        $o_Resource = Conexion::getConexion();
        $o_Statement = $o_Resource->createStatement();
        $o_Statement->executeQuery( $s_SQLQuery );
        if( $this->getDebug() ){ pr( $s_SQLQuery ); }
        return true;
    }

}
?>