<?php
/* Mantenimiento de los registros de la tabla MST_ListaPrecioDetalle redefinidos por el usaurio */
class MST_ListaPrecioDetalleDP extends BaseMST_ListaPrecioDetalleDP
{
    public static function recuperarId()
    {
        $s_Sql = "SELECT IF( MAX( IdListaPreciDet ) IS NULL, 1, MAX( IdListaPreciDet ) + 1 ) i_Id  FROM MST_ListaPrecioDetalle ";
        $o_ResultSet = Conexion::getConexion()->prepareStatement( $s_Sql )->executeQuery();
        $o_ResultSet->next();
        $i_Id = $o_ResultSet->getInt( 'i_Id' );
        return $i_Id;
    }
    
    public function actualizarCostos()
    {
        $b_Control = true;
        $o_MST_ListaPrecioDetalle = MST_ListaPrecioDetalleFN::buscarPrecioGeneral( $this->getIdItem() );
        if( !$o_MST_ListaPrecioDetalle )
        {
            $b_Control = false;
        }
        
        if( !$b_Control )
        {
            $i_IdDet = MST_ListaPrecioDetalleDP::recuperarId();
            $o_DefaultDP = new MST_ListaPrecioDetalleDP();
            $o_DefaultDP->setIdListaPreciDet( $i_IdDet );
            $o_DefaultDP->setIdCompania( 1 ); //por defecto, se entiende para todas las compa�ias
            $o_DefaultDP->setIdSucursal( 1 ); //por defecto, se entiende para todas las compa�ias
            $o_DefaultDP->setIdItem( $this->getIdItem() );
            $o_DefaultDP->setIdTipoPrecio( "1" );
            $o_DefaultDP->setPrecioCosto( 0 );
            $o_DefaultDP->setPrecioCostoIGV( 0 );
            $o_DefaultDP->setPorcentajeUtilidad( 0 );
            $o_DefaultDP->setPrecioVenta( 0 );
            $o_DefaultDP->setMontoIGV( 0 );
            $o_DefaultDP->setPrecioVentaIGV( 0 );
            $o_DefaultDP->setEstado( "A" );
            $o_DefaultDP->setFechaCreacion( date( "Y-m-d H:i:s" ) );
            $o_DefaultDP->setUsuarioCreacion( myUser::getUser()->getUserId() );
            $o_DefaultDP->setFechaModificacion( date( "Y-m-d H:i:s" ) );
            $o_DefaultDP->setUsuarioModificacion( myUser::getUser()->getUserId() );
            $o_DefaultDP->save();
            
            $b_Control = true;
        }
        
        if( $b_Control )
        {
            $s_SQLQuery = "UPDATE MST_ListaPrecioDetalle SET PrecioCosto='".$this->getPrecioCosto()."', PrecioCostoIGV='".$this->getPrecioCostoIGV()."' WHERE IdItem = '".$this->getIdItem()."' ";
            Conexion::getConexion()->createStatement()->executeQuery( $s_SQLQuery );
        }
    }
}
?>