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
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
Depends On
10Used By
No items found