/****** Object:  StoredProcedure [dbo].[P_EST_PROD_PRECO_ROLLBACK]    Script Date: 04/02/2014 12:39:26 ******/
IF EXISTS( SELECT * FROM sys.objects
				WHERE  object_id = OBJECT_ID(N'[dbo].[P_EST_PROD_PRECO_ROLLBACK]')
					   AND type IN(N'P', N'PC'))
	DROP PROCEDURE [dbo].[P_EST_PROD_PRECO_ROLLBACK];
GO
GO
--EXEC P_EST_PROD_PRECO_ROLLBACK 1,1,'2018-05-09'
CREATE PROCEDURE P_EST_PROD_PRECO_ROLLBACK (@CD_EMP    INT, @CD_FILIAL INT, @DT_REF    DATETIME)
AS
	 BEGIN

		/*
			--Query para validacao
			
			declare @CD_EMP		INT =1, 
				@CD_FILIAL		INT=10, 
				@CD_PROD		INT=38114, 
				@DT_REF			DATETIME='20180505'


			SELECT
	   
				   EST_PROD_CPL_ANALISE_DIARIO.DT_VD DT_REF
				 , EST_PROD_CPL_ANALISE_DIARIO.CD_PROD
				 , EST_PROD_CPL_ANALISE_DIARIO.CD_FILIAL
				 , EST_PROD_CPL_ANALISE_DIARIO.VLR_TABELA
				 , EST_PROD_CPL_ANALISE_DIARIO.VLR_OFERTA
				 , EST_PROD_PRECO.VLR_TABELA VLR_TABELA_ATUAL
				 , EST_PROD_PRECO.VLR_OFERTA VLR_OFERTA_ATUAL
			FROM
				EST_PROD_CPL_ANALISE_DIARIO
				INNER JOIN EST_PROD_PRECO ON EST_PROD_CPL_ANALISE_DIARIO.CD_EMP = EST_PROD_PRECO.CD_EMP
											 AND EST_PROD_CPL_ANALISE_DIARIO.CD_FILIAL = EST_PROD_PRECO.CD_FILIAL
											 AND EST_PROD_CPL_ANALISE_DIARIO.CD_PROD = EST_PROD_PRECO.CD_PROD
			WHERE  EST_PROD_CPL_ANALISE_DIARIO.CD_EMP = 1
						   --AND	EST_PROD_CPL_ANALISE_DIARIO.CD_FILIAL = @CD_FILIAL
				   AND EST_PROD_CPL_ANALISE_DIARIO.CD_PROD = @CD_PROD
				   AND EST_PROD_CPL_ANALISE_DIARIO.DT_VD = @DT_REF
				   AND (EST_PROD_PRECO.VLR_TABELA <> EST_PROD_CPL_ANALISE_DIARIO.VLR_TABELA			
							OR EST_PROD_PRECO.VLR_OFERTA <> EST_PROD_CPL_ANALISE_DIARIO.VLR_OFERTA);

		*/


		 UPDATE EST_PROD_PRECO
		   SET
			   EST_PROD_PRECO.VLR_TABELA = EST_PROD_CPL_ANALISE_DIARIO.VLR_TABELA
			 , EST_PROD_PRECO.VLR_OFERTA = EST_PROD_CPL_ANALISE_DIARIO.VLR_OFERTA
		 FROM   EST_PROD_CPL_ANALISE_DIARIO
				INNER JOIN EST_PROD_PRECO ON EST_PROD_CPL_ANALISE_DIARIO.CD_EMP = EST_PROD_PRECO.CD_EMP
											 AND EST_PROD_CPL_ANALISE_DIARIO.CD_FILIAL = EST_PROD_PRECO.CD_FILIAL
											 AND EST_PROD_CPL_ANALISE_DIARIO.CD_PROD = EST_PROD_PRECO.CD_PROD
		 WHERE
			   EST_PROD_CPL_ANALISE_DIARIO.CD_EMP = @CD_EMP
			   AND EST_PROD_CPL_ANALISE_DIARIO.CD_FILIAL = @CD_FILIAL
			   AND EST_PROD_CPL_ANALISE_DIARIO.DT_VD = @DT_REF
			   AND (EST_PROD_PRECO.VLR_TABELA <> EST_PROD_CPL_ANALISE_DIARIO.VLR_TABELA
					OR EST_PROD_PRECO.VLR_OFERTA <> EST_PROD_CPL_ANALISE_DIARIO.VLR_OFERTA);
	 END;