
/*------ ATD 378572 ------*/
IF EXISTS (SELECT 1 FROM SYSOBJECTS T WHERE T.NAME = 'IMPORTACAOTINTOMETRICO' AND T.XTYPE = 'P')
	DROP PROCEDURE IMPORTACAOTINTOMETRICO
GO
CREATE PROCEDURE IMPORTACAOTINTOMETRICO @NomeBanco CHAR(150), @Inativo char(1), @listaprodutos varchar(4000) output AS 
Begin
	declare @tabelacorcorante char(150), @tabelabase char(150), @tabelaembalagem char(150), @tabelacor char(150), @filtroinativo char(50), @filtroprodutos varchar(4000), @comando varchar(4000) 

	set @tabelacorcorante = ltrim(rtrim(@NomeBanco)) + 'TWEB_CORES_COLORANTES'
	set @tabelabase = ltrim(rtrim(@NomeBanco)) + 'TWEB_BASES'
	set @tabelaembalagem = ltrim(rtrim(@NomeBanco)) + 'TWEB_EMBALAGENS'
	set @tabelacor = ltrim(rtrim(@NomeBanco)) + 'TWEB_CORES' 
	if @Inativo = 'S'
		set @filtroinativo = ''
	else
		set @filtroinativo = ' AND C.SITUACAO = ''A'''
	if rtrim(ltrim(@listaprodutos)) <> ''
		set @filtroprodutos = 'AND CP.CODPRO IN (' + @listaprodutos + ') '
	else
		set @filtroprodutos = ''
		
	set @comando = 'SELECT F.COD_GRUPO AS Id_Colecao, F.COD_COR AS Id_Cor, C.NOM_COR AS Nome_Cor, 	
	LTRIM(RTRIM(CAST(F.COD_PRODUTO AS VARCHAR))) + ''.'' + LTRIM(RTRIM(CAST(F.COD_BASE AS VARCHAR))) AS Id_Base, 	 
	B.COD_EMBALAGEM AS Id_Emb, F.COD_PRODUTO AS Id_Linha, 0 AS ExigeFundoLoc, F.COD_COLORANTE AS Cod_Corante, 
		F.QTDE AS Qtd_Corante, EMB.VOLUME AS Nominal, EMB_BASE.VOLUME AS NominalBase, C.Situacao 
		INTO TMPCURFORMULAS
		FROM  ' + @tabelacorcorante + ' F 	
		RIGHT JOIN ' + @tabelabase + ' B ON  F.COD_PRODUTO = B.COD_PRODUTO AND F.COD_BASE = B.COD_BASE 	
		INNER JOIN ' + @tabelaembalagem + ' EMB ON B.COD_EMBALAGEM = EMB.COD_EMBALAGEM 	
		INNER JOIN ' + @tabelaembalagem + ' EMB_BASE ON F.COD_EMBALAGEM = EMB_BASE.COD_EMBALAGEM 	
		INNER JOIN ' + @tabelacor + '  C ON F.COD_GRUPO = C.COD_GRUPO AND F.COD_PRODUTO = C.COD_PRODUTO AND F.COD_COR = C.COD_COR   
			join EmbalagemFormula ef1 on cast(ef1.CodEmbalagemExterno as int) = B.COD_EMBALAGEM 	
			join componenteformula cf11 on cf11.codcomponenteexterno = cast(F.COD_PRODUTO as varchar(40))
			join componenteformula cf12 on cf12.codcomponenteexterno = cast(F.COD_GRUPO as varchar(40))
			join ComplementoProduto cp on cp.codembalagem = ef1.codembalagem AND cp.codcomponente = cf11.codcomponente AND cp.codcolecao = cf12.codcomponente 	
			WHERE ef1.sistematintometrico = 31983  AND cf11.sistematintometrico = 31983 
			AND cf12.sistematintometrico = 31983 AND cp.tipocomponente = ''P'' ' + @filtroinativo + @filtroprodutos + 
			'ORDER BY F.COD_GRUPO, F.COD_PRODUTO, F.COD_COR, B.COD_EMBALAGEM'

	IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE NAME = 'TMPCURFORMULAS')
		DROP TABLE TMPCURFORMULAS
	exec (@comando)
end
GO

/*------ ATD 378572 ------*/
IF EXISTS (SELECT 1 FROM SYSOBJECTS T WHERE T.NAME = 'IMPORTACAOTINTOMETRICO' AND T.XTYPE = 'P')
	DROP PROCEDURE IMPORTACAOTINTOMETRICO
GO
CREATE PROCEDURE IMPORTACAOTINTOMETRICO @NomeBanco CHAR(150), @Inativo char(1), @listaprodutos varchar(4000) output AS 
Begin
	declare @tabelacorcorante char(150), @tabelabase char(150), @tabelaembalagem char(150), @tabelacor char(150), @filtroinativo char(50), @filtroprodutos varchar(4000), @comando varchar(4000) 

	set @tabelacorcorante = ltrim(rtrim(@NomeBanco)) + 'TWEB_CORES_COLORANTES'
	set @tabelabase = ltrim(rtrim(@NomeBanco)) + 'TWEB_BASES'
	set @tabelaembalagem = ltrim(rtrim(@NomeBanco)) + 'TWEB_EMBALAGENS'
	set @tabelacor = ltrim(rtrim(@NomeBanco)) + 'TWEB_CORES' 
	if @Inativo = 'S'
		set @filtroinativo = ''
	else
		set @filtroinativo = ' AND C.SITUACAO = ''A'''
	if rtrim(ltrim(@listaprodutos)) <> ''
		set @filtroprodutos = 'AND CP.CODPRO IN (' + @listaprodutos + ') '
	else
		set @filtroprodutos = ''
		
	set @comando = 'SELECT F.COD_GRUPO AS Id_Colecao, F.COD_COR AS Id_Cor, C.NOM_COR AS Nome_Cor, 	
	LTRIM(RTRIM(CAST(F.COD_PRODUTO AS VARCHAR))) + ''.'' + LTRIM(RTRIM(CAST(F.COD_BASE AS VARCHAR))) AS Id_Base, 	 
	B.COD_EMBALAGEM AS Id_Emb, F.COD_PRODUTO AS Id_Linha, 0 AS ExigeFundoLoc, F.COD_COLORANTE AS Cod_Corante, 
		F.QTDE AS Qtd_Corante, EMB.VOLUME AS Nominal, EMB_BASE.VOLUME AS NominalBase, C.Situacao 
		INTO TMPCURFORMULAS
		FROM  ' + @tabelacorcorante + ' F 	
		RIGHT JOIN ' + @tabelabase + ' B ON  F.COD_PRODUTO = B.COD_PRODUTO AND F.COD_BASE = B.COD_BASE 	
		INNER JOIN ' + @tabelaembalagem + ' EMB ON B.COD_EMBALAGEM = EMB.COD_EMBALAGEM 	
		INNER JOIN ' + @tabelaembalagem + ' EMB_BASE ON F.COD_EMBALAGEM = EMB_BASE.COD_EMBALAGEM 	
		INNER JOIN ' + @tabelacor + '  C ON F.COD_GRUPO = C.COD_GRUPO AND F.COD_PRODUTO = C.COD_PRODUTO AND F.COD_COR = C.COD_COR   
			join EmbalagemFormula ef1 on cast(ef1.CodEmbalagemExterno as int) = B.COD_EMBALAGEM 	
			join componenteformula cf11 on cf11.codcomponenteexterno = cast(F.COD_PRODUTO as varchar(40))
			join componenteformula cf12 on cf12.codcomponenteexterno = cast(F.COD_GRUPO as varchar(40))
			join ComplementoProduto cp on cp.codembalagem = ef1.codembalagem AND cp.codcomponente = cf11.codcomponente AND cp.codcolecao = cf12.codcomponente 	
			WHERE ef1.sistematintometrico = 31983  AND cf11.sistematintometrico = 31983 
			AND cf12.sistematintometrico = 31983 AND cp.tipocomponente = ''P'' ' + @filtroinativo + @filtroprodutos + 
			'ORDER BY F.COD_GRUPO, F.COD_PRODUTO, F.COD_COR, B.COD_EMBALAGEM'

	IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE NAME = 'TMPCURFORMULAS')
		DROP TABLE TMPCURFORMULAS
	exec (@comando)
end
GO
