dbo.LN_panel_control_excel_deuda_previsional

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@p_cliente int 4
@p_lista varchar -1
@p_servicio_contratado int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
/*
select * from clientes where cli_codigo = 2000
exec [LN_panel_control_excel_deuda_previsional] 2046807993,'151669,156425,32013'
EXEC LN_dashboard_cliente 'VALORES_GRILLA_NEW','2046807993',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0,NULL,'47'
*/


CREATE OR ALTER PROCEDURE dbo.LN_panel_control_excel_deuda_previsional 
  @p_cliente int,
  @p_lista varchar(max) = null, 
  @p_servicio_contratado int = 47
AS
BEGIN
 SET NOCOUNT ON;
 declare @contraparte int 
 declare @cuit varchar(20) 
 declare @lista_301 varchar(max) = null
 declare @lista_351 varchar(max) = null
 /* '301'  'Aportes a la Seg. Social'
     '351'  'Contribuciones a la Seg. Social' */

 declare @valores table (contraparte int, deuda_301 varchar(max), deuda_351 varchar(max))
 if (@p_lista is NOT null)
 begin
  DECLARE C_Cursor CURSOR FOR
    select ln_contrapartes.contraparte, padrones.identificacion 
    from ln_contrapartes 
    inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
    INNER JOIN dbo.DelimitedSplit8K(@p_lista, ',') Contrapartes ON LN_contrapartes.contraparte = Contrapartes.Item
    where cliente = @p_cliente 
    and ln_contrapartes.activo = 1
    and servicio_contratado = @p_servicio_contratado
 end
 else
 begin
  DECLARE C_Cursor CURSOR FOR
    select ln_contrapartes.contraparte, padrones.identificacion 
    from ln_contrapartes 
    inner join padrones on padrones.id_padron = LN_contrapartes.id_padron   
    where cliente = @p_cliente 
    and ln_contrapartes.activo = 1
    and servicio_contratado = @p_servicio_contratado

 end 
 OPEN C_Cursor
 FETCH NEXT FROM C_Cursor INTO @contraparte, @cuit
  WHILE @@fetch_status = 0
  BEGIN
   set @lista_301 = null
   set @lista_351 = null
   select @lista_301 = STUFF((
    SELECT '-' + SUBSTRING(convert(varchar,periodo),5,2) + '/' + SUBSTRING(convert(varchar,periodo),1,4)  
    from deuda_previsional
    inner join padrones on (identificacion = cuit and habilitado = 1)
    where cuit = @cuit and codigo = 301 and periodo is not null 
    and visible = 1 
    order by periodo 

    FOR XML PATH('')
    ), 1, 1, '') 

   select @lista_351 = STUFF((
    SELECT '-' + SUBSTRING(convert(varchar,periodo),5,2) + '/' + SUBSTRING(convert(varchar,periodo),1,4)  
    from deuda_previsional
    inner join padrones on (identificacion = cuit and habilitado = 1)
    where cuit = @cuit and codigo = 351 and periodo is not null 
    and visible = 1 
    order by periodo 

    FOR XML PATH('')
    ), 1, 1, '')  

   insert into @valores (contraparte, deuda_301, deuda_351) values (@contraparte, @lista_301, @lista_351) 
   FETCH NEXT FROM C_Cursor INTO @contraparte, @cuit
  END 
 CLOSE C_Cursor
 DEALLOCATE C_Cursor 

  select * from @valores
END 
GO

Used By

No items found