ALTER PROCEDURE [dbo].[sp_conLibroDeCaja]
(
@fecini date,
@fecfin date,
@proveedor int 
)	
AS

SELECT
    d.correlativo, 
    convert(varchar(50), e.mes) as periodo, 
    CASE d.tipo_ingreso
        WHEN 1 THEN 'Egreso'
        WHEN 2 THEN 'Ingreso'
    END AS tipo_operacion,
    ISNULL(
        CASE d.tipo_ingreso
            WHEN 2 THEN ISNULL((CASE tipo_docto
								WHEN 61 THEN -monto_total
								ELSE monto_total END), 0)
        END, 0
    ) AS Monto_Ingreso,
    ISNULL(
        CASE d.tipo_ingreso
            WHEN 1 THEN ISNULL((CASE tipo_docto
								WHEN 61 THEN -monto_total
								ELSE monto_total END), 0)
        END, 0
    ) AS Monto_Egreso,
    e.num_documento AS [FOLIO], 
    --tipo_docto, 
	doc.alias_doc AS tipo_docto,
	--ctacte AS [rut proveedor],
    CONVERT(VARCHAR(15),ctacte) + '-' + digcte AS [rut proveedor],  
    e.fecha_ing AS [fecha operacion], 
    glosa_linea,
    CASE tipo_docto
        WHEN 61 THEN -monto_total
        ELSE (CASE d.tipo_ingreso
		      WHEN 2 THEN -monto_total
			  ELSE monto_total
			  END)
    END AS monto_total,
    CASE tipo_docto
        WHEN 61 THEN -monto_afecto
        WHEN 111 THEN -monto_afecto
        ELSE monto_afecto
    END AS monto_afecto
FROM 
    cyvDetalle d
INNER JOIN 
    venDocumentosSii s ON d.tipo_documento = s.codsii
LEFT JOIN
	venDocumentos doc ON s.codsii = doc.coddoc
INNER JOIN 
    cyvEncabezado e ON d.mes = e.mes 
                     AND d.periodo = e.periodo 
                     AND d.tipo_ingreso = e.tipo_ingreso
                     AND d.correlativo = e.correlativo
INNER JOIN 
    conCtacte c ON c.rutcte = e.rut
WHERE  
    CONVERT(DATE, e.fecha_ing) BETWEEN @fecini AND @fecfin
    AND (d.ctacte = @proveedor OR @proveedor = 0)
	AND concepto = 8
ORDER BY 
    e.mes,
	e.fecha_ing