
IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'Linx.ETL9001.BO')
BEGIN
	INSERT INTO PARAMETROS (PARAMETRO, DESC_PARAMETRO, TIPO_DADO, GLOBAL, POR_USUARIO_OK, PERMITE_POR_EMPRESA, ENVIA_PARA_LOJA, PERMITE_POR_LOJA, PERMITE_POR_TERMINAL, PERMITE_ALTERAR_NA_LOJA, PERMITE_ALTERAR_NO_TERMINAL, ENVIA_PARA_REPRESENTANTE, PERMITE_POR_REPRESENTANTE, PERMITE_ALTERAR_NO_REPRESENTANTE, PENULT_ATUALIZACAO, ULT_ATUALIZACAO, VALOR_ATUAL) VALUES ('Linx.ETL9001.BO','Indica a versão do objeto de negócio utilizado pelo Linx ETL nas Lojas.','C', 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, GETDATE(), GETDATE(), '')
END
GO
IF NOT EXISTS (SELECT TOP 1 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'LJ_ETL_ARQUIVO' AND COLUMN_NAME = 'DATA_HORA_INICIO')
BEGIN
	ALTER TABLE dbo.LJ_ETL_ARQUIVO ADD
	DATA_HORA_INICIO datetime NULL
END
GO
IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'Linx.ETL9002.BO')
BEGIN
	INSERT INTO PARAMETROS (PARAMETRO, DESC_PARAMETRO, TIPO_DADO, GLOBAL, POR_USUARIO_OK, PERMITE_POR_EMPRESA, ENVIA_PARA_LOJA, PERMITE_POR_LOJA, PERMITE_POR_TERMINAL, PERMITE_ALTERAR_NA_LOJA, PERMITE_ALTERAR_NO_TERMINAL, ENVIA_PARA_REPRESENTANTE, PERMITE_POR_REPRESENTANTE, PERMITE_ALTERAR_NO_REPRESENTANTE, PENULT_ATUALIZACAO, ULT_ATUALIZACAO, VALOR_ATUAL) VALUES ('Linx.ETL9002.BO','Indica a versão do objeto de negócio utilizado pelo Linx ETL nas Lojas.','C', 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, GETDATE(), GETDATE(), '')
END
GO
IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'Linx.ETL9004.BO')
BEGIN
	INSERT INTO PARAMETROS (PARAMETRO, DESC_PARAMETRO, TIPO_DADO, GLOBAL, POR_USUARIO_OK, PERMITE_POR_EMPRESA, ENVIA_PARA_LOJA, PERMITE_POR_LOJA, PERMITE_POR_TERMINAL, PERMITE_ALTERAR_NA_LOJA, PERMITE_ALTERAR_NO_TERMINAL, ENVIA_PARA_REPRESENTANTE, PERMITE_POR_REPRESENTANTE, PERMITE_ALTERAR_NO_REPRESENTANTE, PENULT_ATUALIZACAO, ULT_ATUALIZACAO, VALOR_ATUAL) VALUES ('Linx.ETL9004.BO','Indica a versão do objeto de negócio utilizado pelo Linx ETL nas Lojas.','C', 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, GETDATE(), GETDATE(), '')
END
GO
IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_TIMEPROCESS')
BEGIN
	INSERT INTO dbo.PARAMETROS (PARAMETRO,PENULT_ATUALIZACAO,ULT_ATUALIZACAO,VALOR_ATUAL,DESC_PARAMETRO,TIPO_DADO,DATA_PARA_TRANSFERENCIA,ENVIA_PARA_LOJA,APLICACAO) VALUES ('ETL_TIMEPROCESS',getdate(),getdate(),5,'Parâmetro de intervalo de tempo do serviço','I',getdate(),1,'ETL')
END
GO
IF EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_ULTIMO_PING')
BEGIN
	DELETE PARAMETROS WHERE  PARAMETRO = 'ETL_ULTIMO_PING'

	INSERT INTO dbo.PARAMETROS 
		(PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,APLICACAO) 
	VALUES 
		('ETL_ULTIMO_PING'
		,getdate()
		,getdate()
		,''
		,'Indica a data e hora do último ping de comunicação do Linx ETL entre loja e retaguarda'
		,'D'
		,getdate()
		,1
		,'ETL')
END
ELSE
BEGIN
	INSERT INTO dbo.PARAMETROS 
		(PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,APLICACAO) 
	VALUES 
		('ETL_ULTIMO_PING'
		,getdate()
		,getdate()
		,''
		,'Indica a data e hora do último ping de comunicação do Linx ETL entre loja e retaguarda'
		,'D'
		,getdate()
		,0
		,'ETL')
END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETLFATORCARGA')
BEGIN
	INSERT INTO dbo.PARAMETROS (PARAMETRO,PENULT_ATUALIZACAO,ULT_ATUALIZACAO,VALOR_ATUAL,DESC_PARAMETRO,TIPO_DADO,DATA_PARA_TRANSFERENCIA,ENVIA_PARA_LOJA,APLICACAO) VALUES ('ETLFATORCARGA',getdate(),getdate(),'10','Configura o valor que será multiplicado por 100 para definir a quantidade de registro no pacote','C',getdate(),0,'ETL')
END
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_HABILITA_TRACE')
BEGIN
	INSERT INTO dbo.PARAMETROS (PARAMETRO,PENULT_ATUALIZACAO,ULT_ATUALIZACAO,VALOR_ATUAL,DESC_PARAMETRO,TIPO_DADO,DATA_PARA_TRANSFERENCIA,ENVIA_PARA_LOJA,APLICACAO) VALUES ('ETL_HABILITA_TRACE',getdate(),getdate(),'.F.','Habilita/desabilita o trace do ETL (.F. - Desabilita,  .T. - Habilita','L',getdate(),1,'ETL')
END
GO

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 EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_ENVIA_VERSAO')
	BEGIN
		DELETE PARAMETROS WHERE PARAMETRO = 'ETL_ENVIA_VERSAO'
	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 * FROM sys.objects WHERE object_id = OBJECT_ID(N'LJ_ETL_INSTANCIA') AND type in (N'U'))
BEGIN

INSERT INTO LJ_ETL_INSTANCIA 
       SELECT       0 AS ID_ETL_INSTANCIA
                           , 'DEFAULT INSTÂNCIA ETL' AS DESCRICAO
                           , 10 AS FATOR_PROCESSADOR
						   , 0 AS PERIODO_ARQUIVO
       WHERE  NOT EXISTS (SELECT * FROM LJ_ETL_INSTANCIA WHERE ID_ETL_INSTANCIA = 0)
END
GO

IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'LJ_ETL_INSTANCIA_ACAO') AND type in (N'U'))
BEGIN

INSERT INTO LJ_ETL_INSTANCIA_ACAO
       SELECT       0 AS ID_ETL_INSTANCIA_ACAO
                           , 0 AS ID_ETL_INSTANCIA
                           , 'DEFAULT INSTÂNCIA AÇÃO ETL' AS DESCRICAO
                           , 100 AS QTDE_REGISTRO
						   , 1000 AS QTDE_REPETICAO
       WHERE  NOT EXISTS (SELECT * FROM LJ_ETL_INSTANCIA_ACAO WHERE ID_ETL_INSTANCIA_ACAO = 0)
END
GO

IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'LJ_ETL_INSTANCIA_ACAO_TIPO') AND type in (N'U'))
BEGIN
INSERT INTO LJ_ETL_INSTANCIA_ACAO_TIPO
       SELECT       0 AS ID_ETL_INSTANCIA_ACAO_TIPO
                           , ID_ETL_TIPO
             FROM   LJ_LX_ETL_TIPO
       WHERE  NOT EXISTS (SELECT * FROM LJ_ETL_INSTANCIA_ACAO_TIPO WHERE ID_ETL_INSTANCIA_ACAO = 0 AND ID_ETL_TIPO = LJ_LX_ETL_TIPO.ID_ETL_TIPO)
END
GO

IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'LJ_ETL_VERSAO_LOJA') AND type in (N'U'))
BEGIN
	IF EXISTS(SELECT TOP 1 1 FROM LJ_ETL_VERSAO_LOJA WHERE INATIVO IS NULL)
		BEGIN
			UPDATE LJ_ETL_VERSAO_LOJA SET INATIVO = 0 WHERE INATIVO IS NULL
		END
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()
		,'500'		
		,'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 = 'ETL_HABILITA_LX_TRANSITO')
	BEGIN
		INSERT INTO PARAMETROS (
		PARAMETRO
		,PENULT_ATUALIZACAO
		,ULT_ATUALIZACAO
		,VALOR_ATUAL
		,DESC_PARAMETRO
		,TIPO_DADO
		,DATA_PARA_TRANSFERENCIA
		,ENVIA_PARA_LOJA
		,APLICACAO
		) 
		VALUES (
		'ETL_HABILITA_LX_TRANSITO'
		,getdate()
		,getdate()
		,'.T.'		
		,'Habilita/desabilita a chamada da LX_VERIFICA_TRANSITO .F. - Desabilita,  .T. - Habilita'
		,'L'
		,getdate()
		,1
		,'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_TAMANHO_IMAGEM')
	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_TAMANHO_IMAGEM'
		,getdate()
		,getdate()
		,'1'		
		,'Tamanho Máximo, em MB, da Imagem do Produto, que o ETL deverá levar.'
		,'N'
		,getdate()
		,0
		,0
		,'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
GO

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'UTILIZA_ETL_MONITORIA')
	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 (
		'UTILIZA_ETL_MONITORIA'
		,getdate()
		,getdate()
		,'.F.'		
		,'Habilita o produto ETL gerar os logs da monitoria fiscal e Venda na loja'
		,'L'
		,getdate()
		,1
		,1
		,'ETL'
		)
	END
go

IF NOT EXISTS(SELECT TOP 1 1 FROM PARAMETROS WHERE PARAMETRO = 'ETL_PRODUCT_STOCK_ONLINE')
BEGIN
	INSERT INTO PARAMETROS (PARAMETRO, DESC_PARAMETRO, TIPO_DADO, GLOBAL, POR_USUARIO_OK, PERMITE_POR_EMPRESA, ENVIA_PARA_LOJA, 
	PERMITE_POR_LOJA, PERMITE_POR_TERMINAL, PERMITE_ALTERAR_NA_LOJA, PERMITE_ALTERAR_NO_TERMINAL, ENVIA_PARA_REPRESENTANTE, 
	PERMITE_POR_REPRESENTANTE, PERMITE_ALTERAR_NO_REPRESENTANTE, PENULT_ATUALIZACAO, ULT_ATUALIZACAO, VALOR_ATUAL) 
	VALUES ('ETL_PRODUCT_STOCK_ONLINE','Habilita atualização online do estoque produtos no Linx ETL no ambiente do ERP.',
	'L', 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, GETDATE(), GETDATE(), '.F.')
END
go