USE [erp_microlabs]
GO

/****** Object:  UserDefinedFunction [dbo].[CALC_PRECOSUGERIDO]    Script Date: 06/30/2011 17:00:23 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


-- =============================================
-- Author:		JORGEVAL JUNIOR
-- Create date: 30/06/2011
-- Description:	CALCULA PREÇO SUGERIDO
-- =============================================
ALTER FUNCTION [dbo].[CALC_PRECOSUGERIDO] 
(
	-- Add the parameters for the function here
	@PRECO_COMPRA REAL, @IPI REAL, @FRETE REAL, @SEGURO_FRETE REAL, @MVA REAL, @ICMS REAL, @ICMS_ST REAL, @PIS REAL, @COFINS REAL,
	@PROMOTORA REAL, @ALIQ_PIS REAL, @CUSTO_FIN REAL, @ALIQ_COFINS REAL, @CUSTO_OP REAL, @FRETE_VENDA REAL, @COMISSAO REAL, @GERENTE_VENDAS REAL,
	@MARGEM_LIQ REAL, @COMERCIAL REAL, @ICMS_ESTADUAL REAL, @IMPOSTO_FEDERAL REAL, @OUTRAS_DESPESAS REAL
)
RETURNS REAL
AS
BEGIN
	DECLARE @TOTAL_A REAL
	DECLARE @SEGURO_FRETE_PORCENTO REAL
	DECLARE @MARGEM REAL
	DECLARE @PRECO_CUSTO REAL
	DECLARE @PRECO_SUGERIDO REAL
	
	SET @PRECO_COMPRA = ISNULL(@PRECO_COMPRA,0)
	SET @IPI = ISNULL(@IPI,0)
	SET @SEGURO_FRETE = ISNULL(@SEGURO_FRETE,0)
	SET @MVA = ISNULL(@MVA,0)
	SET @ICMS = ISNULL(@ICMS,0)
	SET @ICMS_ST = ISNULL(@ICMS_ST,0)
	SET @OUTRAS_DESPESAS = ISNULL(@OUTRAS_DESPESAS,0)
	
	--SALVA SEGURO FRETE EM PORCENTO
	SET @SEGURO_FRETE_PORCENTO = @SEGURO_FRETE
	
	--CALCULA PIS
	SET @IPI = @PRECO_COMPRA * (@IPI/100)
	
	--CALCULA SEGURO FRETE
	SET @SEGURO_FRETE = @PRECO_COMPRA * (@SEGURO_FRETE/100)
	
	--SOMA FRETE + IPI
	SET @TOTAL_A = @PRECO_COMPRA + @IPI + @SEGURO_FRETE
	
	--CALCULA MVA SOBRE (FRETE + IPI)
	SET @MVA = @TOTAL_A * (@MVA/100)	
	SET @MVA = @TOTAL_A + @MVA
	
	--CALCULA ICMS
	SET @ICMS = @PRECO_COMPRA * (@ICMS/100)	
	
	--CALCULA ICMS ST
	SET @ICMS_ST = (@MVA * (@ICMS_ST/100)) - @ICMS
	
	--CALCULA PIS
	SET @PIS = (@PRECO_COMPRA + @SEGURO_FRETE_PORCENTO) * (@PIS/100)
	
	--CALCULA COFINS
	SET @COFINS = (@PRECO_COMPRA + @SEGURO_FRETE_PORCENTO) * (@COFINS/100)
	
	--GUADANDO PRECO DE CUSTO
	SET @PRECO_CUSTO = (@TOTAL_A + @ICMS_ST + @FRETE) - (@COFINS + @PIS)

	--################ CALCULO PRECO SUGERIDO ##########################
	
	--CALCULANDO MARGEM DE LUCRO
	SET @MARGEM = 100 - (@PROMOTORA + @ALIQ_PIS + @CUSTO_FIN + @ALIQ_COFINS + @CUSTO_OP + @FRETE_VENDA + @COMISSAO + @GERENTE_VENDAS +
	@MARGEM_LIQ + @ICMS_ESTADUAL + @IMPOSTO_FEDERAL)
		
	SET @MARGEM = @MARGEM / 100
	
	SET @PRECO_SUGERIDO = ((@PRECO_CUSTO + @OUTRAS_DESPESAS) / @MARGEM) + @COMERCIAL
	
	RETURN @PRECO_SUGERIDO
END


GO



