DROP PROCEDURE WMAN_Impresora_GetInfo
GO

CREATE PROCEDURE WMAN_Impresora_GetInfo
	@id_oper INT,
	@id_repo INT
AS
BEGIN

	--EXEC WMAN_Impresora_GetInfo 1, 1
	
	-- 01. Obtener el Tipo de Impresora para el Reporte
	
	DECLARE @tipo_impresora INT = ISNULL((SELECT tipo_impresora FROM SECUREPO WHERE id_repo = @id_repo), 3) -- Predeterminada Documentos
	
	-- 02. Obtener la impresora para el tipo de reporte del usuario
	
	DECLARE @origen TINYINT = 0

	DECLARE @impresora VARCHAR(500) = ISNULL((SELECT CASE @tipo_impresora 
	                                                      WHEN 0 THEN impresora_cheq
	                                                      WHEN 1 THEN impresora_fact
	                                                      WHEN 2 THEN impresora_rec
	                                                      ELSE impresora 
	                                                      END FROM SECUCOUS WHERE IdOperador = @id_oper), '')
	
	-- 03. Si no tiene una configurada, entonces leer la del sistema para ese tipo
	IF LEN(LTRIM(RTRIM(@impresora))) = 0
	BEGIN
		SET @origen = 1
		SET @impresora = ISNULL((SELECT TOP 1 CASE @tipo_impresora 
	                                               WHEN 0 THEN impresora_sys_cheq
	                                               WHEN 1 THEN impresora_sys_fact
	                                               WHEN 2 THEN impresora_sys_rec
	                                               ELSE impresora_sys 
	                                               END FROM SECUWCON), '')
	END
	
	-- 04. Si no tiene una configurada, leer la de documentos del usuario
	IF LEN(LTRIM(RTRIM(@impresora))) = 0
	BEGIN
		SET @origen = 2
		SET @impresora = ISNULL((SELECT impresora FROM SECUCOUS WHERE IdOperador = @id_oper), '')
	END
	
	-- 05. Si no hay, entonces la de documentos del sistema
	IF LEN(LTRIM(RTRIM(@impresora))) = 0
	BEGIN
		SET @origen = 3
		SET @impresora = ISNULL((SELECT TOP 1 impresora_sys FROM SECUWCON), '')
	END
	
	SELECT CASE @tipo_impresora 
                WHEN 0 THEN 'Cheque'
                WHEN 1 THEN 'Factura'
                WHEN 2 THEN 'Recibos'
                ELSE 'Documentos'
                END tipo_impresora, 
           CASE @origen 
                WHEN 0 THEN 'Usuario'
                WHEN 1 THEN 'Sistema'
                WHEN 2 THEN 'Usuario Predet.'
                WHEN 4 THEN 'Sistema Predet.'
                END origen,
           @impresora impresora_sys
	
	RETURN
	
END