IF EXISTS ( SELECT * 
            FROM   sysobjects 
            WHERE  id = object_id(N'dbo.[CPJ_Clientes_CtaCte]') 
                   and OBJECTPROPERTY(id, N'IsProcedure') = 1 )
BEGIN
    DROP PROCEDURE dbo.[CPJ_Clientes_CtaCte]
END
GO

CREATE  PROCEDURE [dbo].[CPJ_Clientes_CtaCte] @pJson VARCHAR(8000)
AS 
SET NOCOUNT ON

/*Declaracion Variables Locales*/

DECLARE @pFecha_Desde DATETIME
		,@pFecha_Hasta DATETIME
		,@pId_Cliente INT
		


SET @pFecha_Desde					= ISNULL(CONVERT(DATETIME, dbo.CF_JSON_VALUE(@pJson,'Fecha_Desde')), '19000101')
SET @pFecha_Hasta					= ISNULL(CONVERT(DATETIME, dbo.CF_JSON_VALUE(@pJson,'Fecha_Hasta')), GETDATE())
SET @pId_Cliente					= ISNULL(CONVERT(INT, dbo.CF_JSON_VALUE(@pJson,'Id_Cliente')), 0)



DECLARE @Cli_Ref_CtaCte_Agrup	INT
					


SET @Cli_Ref_CtaCte_Agrup = CAST(dbo.CF_xParam('Cli_Ref_CtaCte_Agrup') AS INT)


IF ISNULL(@Cli_Ref_CtaCte_Agrup,0) = 0
BEGIN
	 SELECT cc.fecha_vence,cc.fecha,cc.descripcion,cc.nro_cuota,cc.id_moneda,cc.importe,cc.saldo,c.id_cliente,c.destinatario,c.id_trans 
		FROM clientes_ctacte CC, cbtes c, cbtes_tipos T, clientes K
		WHERE c.id_trans = cc.id_trans and c.id_tipo_cbte = t.id_tipo_cbte
		and c.id_cliente = k.id_cliente 
		and c.id_cliente = @pid_Cliente 
		and c.id_estado_cbte NOT IN (0,3)
		and cc.saldo <> 0 ORDER BY cc.Fecha_Vence

END
ELSE
BEGIN
	 SELECT cc.fecha_vence,cc.fecha,cc.descripcion,cc.nro_cuota,cc.id_moneda,cc.importe,cc.saldo,c.id_cliente,c.destinatario,c.id_trans 
		FROM clientes_ctacte CC, cbtes c, cbtes_tipos T, clientes K
		WHERE c.id_trans = cc.id_trans and c.id_tipo_cbte = t.id_tipo_cbte
		and c.id_cliente = k.id_cliente 
		and ((k.id_cliente = @pid_Cliente and isnull(k.id_cliente_ref ,0) = 0) 
			OR (isnull(k.id_cliente ,0) != 0  AND k.Id_cliente_ref = @pid_Cliente))
		and c.id_estado_cbte NOT IN (0,3)
		and cc.saldo <> 0 ORDER BY cc.Fecha_Vence
END
 



 --  exec CPJ_Clientes_CtaCte '{"Id_Cliente":"633787","Fecha_Desde":"","Fecha_Hasta":""}'
