USE GLPLUGINS
GO
SET DATEFORMAT YMD;

-- VER. 1.0.0.27
-- USAR FECHAINI EN PROCESAR CERTIFICADOREGALOMINUTA


-- SP_PROCESARCERTIFICADOREGALOMINUTA
	DROP PROCEDURE IF EXISTS [dbo].[SP_PROCESARCERTIFICADOREGALOMINUTA]
	GO

	SET ANSI_NULLS ON
	GO
	SET QUOTED_IDENTIFIER ON
	GO
	-- =============================================
	-- Author:		EChevez
	-- Create date: 2022-08-08
	-- Update date: 2022-08-08
	-- Description:	Procesar certificados de regalo en ventas
	-- =============================================
	CREATE PROCEDURE [dbo].[SP_PROCESARCERTIFICADOREGALOMINUTA] 
		@FO INT,
		@SERIE VARCHAR(4), 
		@NUMERO INT,
		@N VARCHAR(1), 
		@IDCERTIFICADOREGALO INT, 
		@IDTIPOTRANSACCION INT 
	AS
	BEGIN
		SET NOCOUNT ON;

		BEGIN TRY
			SET NOCOUNT ON;
			SET DATEFORMAT YMD;

			DECLARE @IDMINUTA BIGINT;

			DECLARE @FECHAINI DATETIME;

			-- SET @FECHAINI = (SELECT FECHA FROM CERTIFICADOSREGALOMINUTAS WHERE IDMINUTA = @IDMINUTA AND IDCERTIFICADOREGALO = @IDCERTIFICADOREGALO AND IDTIPOTRANSACCION = @IDTIPOTRANSACCION);

			SELECT @IDMINUTA = ISNULL(IDMINUTA, 0), 
			@FECHAINI = FECHAINI 
			FROM ICGFRONTREST.DBO.TIQUETSCAB 
			WHERE FO = @FO 
			AND SERIE = @SERIE 
			AND NUMERO = @NUMERO 
			AND N = @N;

			UPDATE CERTIFICADOSREGALOMINUTAS 
			SET FO = @FO, 
			SERIE = @SERIE,
			NUMERO = @NUMERO, 
			N = @N, 
			PROCESADO = 1, 
			FECHAPROCESADO = GETDATE() 
			WHERE FECHA = @FECHAINI 
			AND IDCERTIFICADOREGALO = @IDCERTIFICADOREGALO 
			AND IDTIPOTRANSACCION = @IDTIPOTRANSACCION
			AND PROCESADO = 0;

			SELECT 1 AS RESULTADO;
		END TRY
		BEGIN CATCH
			--ROLLBACK TRAN
			SELECT 0 AS RESULTADO;
		END CATCH
	END
	GO
-- END SP_PROCESARCERTIFICADOREGALOMINUTA