IF EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_ENVIA_VERSAO')
	BEGIN
		DELETE PARAMETROS WHERE PARAMETRO = 'ETL_ENVIA_VERSAO'
	END
GO

IF EXISTS (SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_UPDATE_INDIVIDUAL')
	BEGIN
		DELETE PARAMETROS WHERE PARAMETRO = 'ETL_UPDATE_INDIVIDUAL'
	END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_UPDATE_DIRETORIO')
	BEGIN
		INSERT INTO PARAMETROS (
		PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,APLICACAO
		) 
		VALUES (
		'ETL_UPDATE_DIRETORIO'
		,getdate()
		,getdate()
		,''		
		,'Informa o diretorio de update por empresa ex: nomeDaEmpresa'
		,'C'
		,getdate()
		,1
		,'ETL'
		)
	END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_PAGINACAO_TAKE')
	BEGIN
		INSERT INTO PARAMETROS (
		PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,APLICACAO
		) 
		VALUES (
		'ETL_PAGINACAO_TAKE'
		,getdate()
		,getdate()
		,'100'		
		,'Define o tamanho do select TOP feito na repositorio valor maximo= 32mil'
		,'C'
		,getdate()
		,0
		,'ETL'
		)
	END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'URL_ETL_PRINCIPAL')
BEGIN
	BEGIN
		INSERT INTO PARAMETROS (
		PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,APLICACAO
		) 
		VALUES (
		'URL_ETL_PRINCIPAL'
		,getdate()
		,getdate()
		,''		
		,'Url principal do barramento de serviço'
		,'C'
		,getdate()
		,1
		,'ETL'
		)
	END
END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'URL_ETL_CONTIGENCIA')
BEGIN
	BEGIN
		INSERT INTO PARAMETROS (
		PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,APLICACAO
		) 
		VALUES (
		'URL_ETL_CONTIGENCIA'
		,getdate()
		,getdate()
		,''		
		,'Url do barramento de serviço para contigência'
		,'C'
		,getdate()
		,1
		,'ETL'
		)
	END
END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'URL_ETL_LOJA')
	BEGIN
		INSERT INTO PARAMETROS (
		PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,PERMITE_POR_LOJA
		,APLICACAO
		) 
		VALUES (
		'URL_ETL_LOJA'
		,getdate()
		,getdate()
		,''		
		,'Url do servidor da loja onde está instalado o serviço'
		,'C'
		,getdate()
		,1
		,1
		,'ETL'
		)
	END
GO

IF EXISTS(SELECT TOP 1 1  FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LCF_LX_PAIS' AND COLUMN_NAME = 'LX_STATUS_REGISTRO')
	BEGIN
	IF EXISTS(SELECT TOP 1 1  FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LCF_LX_PAIS' AND COLUMN_NAME = 'LX_STATUS_REGISTRO' and COLUMN_DEFAULT is null)
		BEGIN
			EXEC('ALTER TABLE [dbo].[LCF_LX_PAIS] ADD  CONSTRAINT [DF_LX_STATUS_REGISTRO]  DEFAULT ((1)) FOR [LX_STATUS_REGISTRO]')
		END
	END
GO

IF EXISTS(SELECT *  FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'SERIES_NF' AND COLUMN_NAME = 'SEQUENCIAL' and CHARACTER_MAXIMUM_LENGTH <15)
	BEGIN
		EXEC('ALTER TABLE [dbo].[SERIES_NF] ALTER COLUMN [SEQUENCIAL] [varchar](15) NULL')
	END
	
GO

IF EXISTS(SELECT *  FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'SERIES_NF' AND COLUMN_NAME = 'COD_SERIE_SINTEGRA' and CHARACTER_MAXIMUM_LENGTH <6)
	BEGIN
		EXEC('ALTER TABLE [dbo].[SERIES_NF] ALTER COLUMN [COD_SERIE_SINTEGRA] [varchar](6) NULL')
	END
	
GO

IF EXISTS(SELECT TOP 1 1  FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LCF_LX_UF' AND COLUMN_NAME = 'LX_STATUS_REGISTRO')
	BEGIN
	IF EXISTS(SELECT TOP 1 1  FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LCF_LX_UF' AND COLUMN_NAME = 'LX_STATUS_REGISTRO' and COLUMN_DEFAULT is null)
		BEGIN
			EXEC('ALTER TABLE [dbo].[LCF_LX_UF] ADD  CONSTRAINT [DF_UF_LX_STATUS_REGISTRO]  DEFAULT ((1)) FOR [LX_STATUS_REGISTRO]')
		END
	END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM sys.tables A INNER JOIN sys.columns B ON A.Object_ID = B.Object_ID AND A.Name = 'TABELA_ALIQUOTA_IMPOSTO_ITEM' AND COLUMNPROPERTY(A.Object_ID, B.Name, 'IsIdentity') = 1)
BEGIN
begin try 

	BEGIN TRANSACTION
	CREATE TABLE dbo.Tmp_TABELA_ALIQUOTA_IMPOSTO_ITEM
					(
					ID_IMPOSTO_ITEM int NOT NULL IDENTITY (1, 1),
					UF char(2) NOT NULL,
					NCM_NBS char(10) NOT NULL,
					EXCESSAO_FISCAL_TABELA smallint NOT NULL,
					TABELA smallint NOT NULL,
					ALIQNAC_FEDERAL numeric(5, 2) NOT NULL,
					ALIQIMP_FEDERAL numeric(5, 2) NOT NULL,
					ALIQ_MUNICIPAL numeric(5, 2) NOT NULL,
					ALIQ_ESTADUAL numeric(5, 2) NOT NULL,
					INICIO_VIGENCIA smalldatetime NULL,
					FIM_VIGENCIA smalldatetime NULL,
					CHAVE varchar(6) NULL,
					VERSAO varchar(6) NOT NULL,
					FONTE varchar(34) NULL,
					DATA_PARA_TRANSFERENCIA datetime NULL,
					CONSTRAINT XPKTmp_TABELA_ALIQUOTA_IMPOSTO_ITEM PRIMARY KEY NONCLUSTERED (NCM_NBS, UF,VERSAO,EXCESSAO_FISCAL_TABELA),
					CONSTRAINT XAKTmp_TABELA_ALIQUOTA_IMPOSTO_ITEM UNIQUE CLUSTERED (ID_IMPOSTO_ITEM))  


	SET IDENTITY_INSERT dbo.Tmp_TABELA_ALIQUOTA_IMPOSTO_ITEM ON
	IF EXISTS(SELECT * FROM dbo.TABELA_ALIQUOTA_IMPOSTO_ITEM)
		EXEC('	INSERT INTO dbo.Tmp_TABELA_ALIQUOTA_IMPOSTO_ITEM (ID_IMPOSTO_ITEM, UF, NCM_NBS, EXCESSAO_FISCAL_TABELA, TABELA, ALIQNAC_FEDERAL, ALIQIMP_FEDERAL, ALIQ_MUNICIPAL, ALIQ_ESTADUAL, INICIO_VIGENCIA, FIM_VIGENCIA, CHAVE, VERSAO, FONTE, DATA_PARA_TRANSFERENCIA)
				SELECT ID_IMPOSTO_ITEM, UF, NCM_NBS, EXCESSAO_FISCAL_TABELA, TABELA, ALIQNAC_FEDERAL, ALIQIMP_FEDERAL, ALIQ_MUNICIPAL, ALIQ_ESTADUAL, INICIO_VIGENCIA, FIM_VIGENCIA, CHAVE, VERSAO, FONTE, DATA_PARA_TRANSFERENCIA FROM dbo.TABELA_ALIQUOTA_IMPOSTO_ITEM WITH (HOLDLOCK TABLOCKX)')
	SET IDENTITY_INSERT dbo.Tmp_TABELA_ALIQUOTA_IMPOSTO_ITEM OFF


	DROP TABLE dbo.TABELA_ALIQUOTA_IMPOSTO_ITEM

	EXECUTE sp_rename N'dbo.Tmp_TABELA_ALIQUOTA_IMPOSTO_ITEM', N'TABELA_ALIQUOTA_IMPOSTO_ITEM', 'OBJECT'
	EXECUTE sp_rename N'XPKTmp_TABELA_ALIQUOTA_IMPOSTO_ITEM', N'XPKTABELA_ALIQUOTA_IMPOSTO_ITEM', 'OBJECT'
	EXECUTE sp_rename N'dbo.XAKTmp_TABELA_ALIQUOTA_IMPOSTO_ITEM', N'XAKTABELA_ALIQUOTA_IMPOSTO_ITEM', 'OBJECT'

	commit tran

end try
begin catch

	declare @ErrorMessage  nvarchar(4000), @ErrorSeverity int, @ErrorState int

	select	@ErrorMessage = error_message(), @ErrorSeverity = error_severity(),	@ErrorState = error_state()
		
	if @@trancount > 0 rollback tran
		
	raiserror (@ErrorMessage, @ErrorSeverity, @ErrorState)

end catch

END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_CONTEUDO_ARQUIVO')
	BEGIN
		INSERT INTO PARAMETROS (
		PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,APLICACAO
		) 
		VALUES (
		'ETL_CONTEUDO_ARQUIVO'
		,getdate()
		,getdate()
		,'.F.'		
		,'Habilita o etl de loja baixar o conteudo de todos os arquivos em umma unica vez'
		,'L'
		,getdate()
		,0
		,'ETL'
		)
	END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_VALIDA_LJ_VENDA_PGTO')
	BEGIN
		INSERT INTO PARAMETROS (
		PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,PERMITE_POR_LOJA
		,APLICACAO
		) 
		VALUES (
		'ETL_VALIDA_LJ_VENDA_PGTO'
		,getdate()
		,getdate()
		,'.T.'		
		,'Habilita as validações na loja Venda PGTO'
		,'L'
		,getdate()
		,1
		,1
		,'ETL'
		)
	END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_GERA_AUDITORIA')
	BEGIN
		INSERT INTO PARAMETROS (
		PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,PERMITE_POR_LOJA
		,APLICACAO
		) 
		VALUES (
		'ETL_GERA_AUDITORIA'
		,getdate()
		,getdate()
		,'.F.'		
		,'Habilita as validações na loja Venda PGTO'
		,'L'
		,getdate()
		,1
		,1
		,'ETL'
		)
	END