dbo.LN_graficos_imperium_14062022

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

4
Name Data Type Length Description
@accion varchar 50
@cliente int 4
@servicio_contratado int 4
@userID int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec [LN_graficos_imperium] 'DEUDA_PREVISIONAL', 2046807993, 73, 583706793
exec [LN_graficos_imperium] 'RESP_CIVIL', 2046807993, 73, 583706793
exec [LN_graficos_imperium] 'CUMPLIMIENTO_ULTIMO_MES', 2046807993, 73, 583706793
exec [LN_graficos_imperium] 'CUMPLIMIENTO_ANUAL', 2046807993, 73, 583706793


*/

CREATE OR ALTER PROCEDURE dbo.LN_graficos_imperium_14062022 

 @accion varchar(50), -- @accion 'DEUDA_PREVISIONAL' -- Indicadores 'DP_301' (Aportes) Aportes Exigibles s/ AFIP 
                    -- 'DP_351' (Contribuciones) Contribuciones Exigibles s/ AFIP
       -- @accion = 'RESP_CIVIL' -- Indicador 'pago_resp_civil' Pago poliza resp civil
 @cliente int,
 @servicio_contratado int = 73, 
 @userID int = 0 
 AS
BEGIN

 SET NOCOUNT ON;

 declare @lista varchar(max) 

 if (@accion = 'DEUDA_PREVISIONAL' or @accion = 'RESP_CIVIL'  or @accion = 'CUMPLIMIENTO_ULTIMO_MES' or @accion = 'CUMPLIMIENTO_ANUAL')
 begin 

  if (@accion = 'DEUDA_PREVISIONAL') 
  begin
   set @lista = 'DP_301,DP_351'
  end 
  if (@accion = 'RESP_CIVIL')
  begin
   set @lista = 'pago_resp_civil'
  end 
  if (@accion = 'CUMPLIMIENTO_ULTIMO_MES')
  begin
   set @lista = 'CUMPLIMIENTO_ULTIMO_MES'
  end 
   if (@accion = 'CUMPLIMIENTO_ANUAL')
  begin
   set @lista = 'CUMPLIMIENTO_ANUAL'
  end 
  SELECT case LN_indicadores.clave_indicador 
    when 'DP_301' then 'APORTES'
    when 'DP_351' then 'CONTRIBUCIONES'
    when 'pago_resp_civil' then 'RESP_CIVIL'
    when 'CUMPLIMIENTO_ULTIMO_MES' then 'CUMPLIMIENTO_ULTIMO_MES'
    when 'CUMPLIMIENTO_ANUAL' then 'CUMPLIMIENTO_ANUAL'
    end 
    as grafico,
   LN_contraparte_familias.familia, LN_familias.nombre_familia, 
   case @accion 
   when 'DEUDA_PREVISIONAL' then convert(varchar,LN_contraparte_indicadores.valor_numerico)
   when 'RESP_CIVIL'        then iif(LN_contraparte_indicadores.valor_texto='I','N',LN_contraparte_indicadores.valor_texto)
   when 'CUMPLIMIENTO_ULTIMO_MES' then LN_contraparte_indicadores.valor_texto
   when 'CUMPLIMIENTO_ANUAL' then 
   case 
   when LN_contraparte_indicadores.valor_numerico = 0 then '0'
   when LN_contraparte_indicadores.valor_numerico > 0 and LN_contraparte_indicadores.valor_numerico <= 25 then '1-25' 
   when LN_contraparte_indicadores.valor_numerico > 25 and LN_contraparte_indicadores.valor_numerico <= 50 then '26-50'
   when LN_contraparte_indicadores.valor_numerico > 50 and LN_contraparte_indicadores.valor_numerico <= 75 then '51-75'
   when LN_contraparte_indicadores.valor_numerico > 75 and LN_contraparte_indicadores.valor_numerico < 100 then '76-99'
   when LN_contraparte_indicadores.valor_numerico = 100 then '100'
   else null 
   end 
   else null 
      end 
   as estado, 

   case @accion 
   when 'DEUDA_PREVISIONAL' then case LN_contraparte_indicadores.valor_numerico
          when 1 then 'Registra'
          when 0 then 'No registra'
          else null 
          end 
   when 'RESP_CIVIL' then case LN_contraparte_indicadores.valor_texto
          when 'I' then 'No presentado'
          when 'N' then 'No presentado'
          when 'V' then 'Verificado y Vigente'
          when 'R' then 'Verificado y No vigente'
          else null 
          end 
   when 'CUMPLIMIENTO_ULTIMO_MES' then convert(varchar,LN_contraparte_indicadores.valor_memo)
   when 'CUMPLIMIENTO_ANUAL' then 
   case 
   when LN_contraparte_indicadores.valor_numerico = 0 then '0'
   when LN_contraparte_indicadores.valor_numerico > 0 and LN_contraparte_indicadores.valor_numerico <= 25 then '1-25' 
   when LN_contraparte_indicadores.valor_numerico > 25 and LN_contraparte_indicadores.valor_numerico <= 50 then '26-50'
   when LN_contraparte_indicadores.valor_numerico > 50 and LN_contraparte_indicadores.valor_numerico <= 75 then '51-75'
   when LN_contraparte_indicadores.valor_numerico > 75 and LN_contraparte_indicadores.valor_numerico < 100 then '76-99'
   when LN_contraparte_indicadores.valor_numerico = 100 then '100'
   else null 
   end 
   else null  
  end as detalle,
   
   count(*) as cantidad
    FROM LN_contraparte_indicadores 
   INNER JOIN LN_contrapartes         ON  LN_contrapartes.contraparte = LN_contraparte_indicadores.contraparte
   INNER JOIN LN_contraparte_familias ON (LN_contraparte_familias.contraparte = LN_contrapartes.contraparte and 
                                          LN_contraparte_familias.activo = 1) 
   INNER JOIN LN_gestiones            ON (LN_gestiones.contraparte = LN_contraparte_indicadores.contraparte and 
                  LN_gestiones.gestion     = LN_contraparte_indicadores.gestion) 
   INNER JOIN LN_indicadores          ON (LN_indicadores.indicador = LN_contraparte_indicadores.indicador)
   INNER JOIN LN_productos            ON  LN_indicadores.producto = LN_productos.producto
   INNER JOIN LN_familia_productos    ON (LN_familia_productos.producto = LN_productos.producto and 
                                          LN_familia_productos.familia = LN_contraparte_familias.familia) 
   INNER JOIN LN_familias             ON  LN_familias.familia = LN_contraparte_familias.familia

  WHERE LN_indicadores.clave_indicador in (select Item from dbo.DelimitedSplit8K(@lista,',') ) 
    AND LN_contraparte_indicadores.visible = 1 
    AND LN_contraparte_indicadores.contraparte 
        in (select contraparte from ln_contrapartes where cliente = @cliente and activo = 1 and servicio_contratado = @servicio_contratado) 

    AND LN_familia_productos.activo = 1

    AND LN_gestiones.desde <= getdate()
    AND LN_gestiones.hasta >= getdate()
    AND LN_gestiones.vigente = 1 

    AND NOT EXISTS (select * from usuarios_restricciones where USER_ID = @userID and familia   = LN_contraparte_indicadores.familia)
    AND NOT EXISTS (select * from usuarios_restricciones where USER_ID = @userID and indicador = LN_contraparte_indicadores.indicador and servicio_contratado = @servicio_contratado)

    group by LN_indicadores.clave_indicador , LN_contraparte_familias.familia, LN_familias.nombre_familia,   
     case @accion 
   when 'DEUDA_PREVISIONAL' then convert(varchar,LN_contraparte_indicadores.valor_numerico)
   when 'RESP_CIVIL'        then iif(LN_contraparte_indicadores.valor_texto='I','N',LN_contraparte_indicadores.valor_texto)
   when 'CUMPLIMIENTO_ULTIMO_MES' then LN_contraparte_indicadores.valor_texto
   when 'CUMPLIMIENTO_ANUAL' then 
   case 
   when LN_contraparte_indicadores.valor_numerico = 0 then '0'
   when LN_contraparte_indicadores.valor_numerico > 0 and LN_contraparte_indicadores.valor_numerico <= 25 then '1-25' 
   when LN_contraparte_indicadores.valor_numerico > 25 and LN_contraparte_indicadores.valor_numerico <= 50 then '26-50'
   when LN_contraparte_indicadores.valor_numerico > 50 and LN_contraparte_indicadores.valor_numerico <= 75 then '51-75'
   when LN_contraparte_indicadores.valor_numerico > 75 and LN_contraparte_indicadores.valor_numerico < 100 then '76-99'
   when LN_contraparte_indicadores.valor_numerico = 100 then '100'
   else null 
   end 
   else null 
      end ,

   case @accion 
   when 'DEUDA_PREVISIONAL' then case LN_contraparte_indicadores.valor_numerico
          when 1 then 'Registra'
          when 0 then 'No registra'
          else null 
          end 
   when 'RESP_CIVIL' then case LN_contraparte_indicadores.valor_texto
          when 'I' then 'No presentado'
          when 'N' then 'No presentado'
          when 'V' then 'Verificado y Vigente'
          when 'R' then 'Verificado y No vigente'
          else null 
          end 
   when 'CUMPLIMIENTO_ULTIMO_MES' then convert(varchar,LN_contraparte_indicadores.valor_memo)
   when 'CUMPLIMIENTO_ANUAL' then 
   case 
   when LN_contraparte_indicadores.valor_numerico = 0 then '0'
   when LN_contraparte_indicadores.valor_numerico > 0 and LN_contraparte_indicadores.valor_numerico <= 25 then '1-25' 
   when LN_contraparte_indicadores.valor_numerico > 25 and LN_contraparte_indicadores.valor_numerico <= 50 then '26-50'
   when LN_contraparte_indicadores.valor_numerico > 50 and LN_contraparte_indicadores.valor_numerico <= 75 then '51-75'
   when LN_contraparte_indicadores.valor_numerico > 75 and LN_contraparte_indicadores.valor_numerico < 100 then '76-99'
   when LN_contraparte_indicadores.valor_numerico = 100 then '100'
   else null 
   end 
   else null  
  end
   order by LN_indicadores.clave_indicador, LN_familias.nombre_familia,  
  case @accion 
   when 'DEUDA_PREVISIONAL' then convert(varchar,LN_contraparte_indicadores.valor_numerico)
   when 'RESP_CIVIL'        then iif(LN_contraparte_indicadores.valor_texto='I','N',LN_contraparte_indicadores.valor_texto)
   when 'CUMPLIMIENTO_ULTIMO_MES' then LN_contraparte_indicadores.valor_texto
   when 'CUMPLIMIENTO_ANUAL' then 
   case 
   when LN_contraparte_indicadores.valor_numerico = 0 then '0'
   when LN_contraparte_indicadores.valor_numerico > 0 and LN_contraparte_indicadores.valor_numerico <= 25 then '1-25' 
   when LN_contraparte_indicadores.valor_numerico > 25 and LN_contraparte_indicadores.valor_numerico <= 50 then '26-50'
   when LN_contraparte_indicadores.valor_numerico > 50 and LN_contraparte_indicadores.valor_numerico <= 75 then '51-75'
   when LN_contraparte_indicadores.valor_numerico > 75 and LN_contraparte_indicadores.valor_numerico < 100 then '76-99'
   when LN_contraparte_indicadores.valor_numerico = 100 then '100'
   else null 
   end 
   else null 
      end 
  
  

 end
 
END
GO

Used By

No items found