Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
3| Name | Data Type | Length | Description |
|---|---|---|---|
| @clave_indicador | varchar | 100 | |
| @p_contraparte | int | 4 | |
| @p_user_id | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =====================================================================================
-- Author: Marita Soria
-- Create date: 29/06/2023
-- Description: Calculo de los indicadadores de Cumplimiento de Documentos de Imperium
-- =====================================================================================
/*
Tener en cuenta:
en la tabla ln_indicadores:
el campo tipo_dato tiene que ser 'S' para que se vea bien en el panel de control
y el servicio_contratado = 73, para que solo se vea en panel de control de Imperium
update ln_indicadores set tipo_dato = 'S',servicio_contratado = 73 where indicador in (523,524,525,526,527,528)
@clave_indicador
% Cumplimiento Mes en análisis (Todos) CUMPLIMIENTO_ULTIMO_MES_T_1
% Cumplimiento 12 Meses Anteriores (Todos) CUMPLIMIENTO_MESES_ANTERIORES_T_1_12
% Cumplimiento Mes en análisis (Propios del Contratista) CUMPLIMIENTO_ULTIMO_MES_C_1
% Cumplimiento 12 Meses Anteriores (Propios del Contratista) CUMPLIMIENTO_MESES_ANTERIORES_C_1_12
% Cumplimiento Mes en análisis (Subcontratistas) CUMPLIMIENTO_ULTIMO_MES_S_1
% Cumplimiento 12 Meses Anteriores (Subontratistas) CUMPLIMIENTO_MESES_ANTERIORES_S_1_12
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_MESES_ANTERIORES_T_3_1_COLOR',191509,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_periodo',191515,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_pendientes',191515,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_ingresados',191515,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_VERIFICADOS',191515,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_rechazados',191515,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_totales',191515,null
insert into ln_contrapartes_queue (contraparte, id_taken) values (191515,1)
select * from ln_indicadores where producto = 2066 order by orden
select * from ln_contrapartes_queue where processed = 0
select i.clave_indicador, c.* from ln_contraparte_indicadores c
inner join ln_indicadores i on i.indicador = c.indicador
where contraparte = 191509
order by clave_indicador
*/
CREATE OR ALTER PROCEDURE dbo.Imperium_cumplimientos_indicadores_2024
@clave_indicador varchar(100),
@p_contraparte int,
@p_user_id int = null
AS
BEGIN
SET NOCOUNT ON;
declare @gest int = null
declare @contratista int = null
declare @indicador int = null
select @indicador = LN_indicadores.indicador
from LN_indicadores
where clave_indicador = @clave_indicador
/* Si se grabo hace menos de 15 minutos no hace nada,
porque ya lo calculo con alguno de los indicadores del mismo tipo
como por cada uno graba todos los que tiene (periodo, verificados, ingresados, etc), no se vuelve a calcular
Esto lo hice porque va a repetir el mismo calculo por eje. para CUMPLIMIENTO_ULTIMO_MES_T_1
CUMPLIMIENTO_ULTIMO_MES_T_1_PERIODO
CUMPLIMIENTO_ULTIMO_MES_T_1_PEDIENTES
CUMPLIMIENTO_ULTIMO_MES_T_1_INGRESADOS
CUMPLIMIENTO_ULTIMO_MES_T_1_VERIFICADOS
CUMPLIMIENTO_ULTIMO_MES_T_1_RECHAZADOS
CUMPLIMIENTO_ULTIMO_MES_T_1_TOTALES
*/
/*
if exists (select contraparte, gestion, indicador
from LN_contraparte_indicadores
where contraparte = @p_contraparte
and gestion = @gest
and visible = 1
and indicador = @indicador
and (created = dateadd(MI,-15,getdate()) or modified = dateadd(MI,-15,getdate())))
begin
return
end
*/
SELECT @gest = LN_gestiones.gestion, @contratista = LN_CONTRAPARTES.id_imperium
FROM LN_gestiones
INNER JOIN LN_contrapartes ON LN_gestiones.contraparte = LN_contrapartes.contraparte
WHERE LN_gestiones.desde <= GETDATE()
AND LN_gestiones.hasta >= GETDATE()
AND LN_contrapartes.activo = 1
AND LN_contrapartes.contraparte = @p_contraparte
declare @cumplimiento int = null
declare @cumplimiento_txt varchar(100) = null
declare @per varchar(50) = null
declare @pendientes FLOAT = null
declare @ingresados FLOAT = null
declare @verificados FLOAT = null
declare @rechazados FLOAT = null
declare @totales FLOAT = null
-- % Cumplimiento Mes en análisis (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_ULTIMO_MES_T_1%')
BEGIN
exec [Imperium_cumplimientos_2024] @contratista, @cumplimiento output, 'T','U',1,11, --EL 11 NO SE MANDABA Y EL DEFAULT EN EL SP ES 11, POR ESO LE MANDO 11
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento 12 Meses Anteriores (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_T_1_12%')
BEGIN
--exec [Imperium_cumplimientos] @contratista, @cumplimiento output, 'T','A',1,12
exec [Imperium_cumplimientos_2024] @contratista, @cumplimiento output, 'T','A',2,12, -- de 1 año para atras hasta 2 meses para atras de hoy
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento de UN mes (del mes actual - 2) (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_T_2_1%')
BEGIN
exec [Imperium_cumplimientos_2024] @contratista, @cumplimiento output, 'T','A',2,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento de UN mes (del mes actual - 3) (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_T_3_1%')
BEGIN
exec [Imperium_cumplimientos_2024] @contratista, @cumplimiento output, 'T','A',3,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento de UN mes (del mes actual - 4) (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_T_4_1%')
BEGIN
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'T','A',4,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- PROMEDIO % Cumplimiento los meses (-2 -3 y -4) (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_PROMEDIO_MESES_ANTERIORES_T_2_3%')
BEGIN
declare @total int = 0
declare @cantidad int = 0
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'T','A',2,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
if (@cumplimiento is not null)
begin
set @total = @total + @cumplimiento
set @cantidad = @cantidad + 1
end
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'T','A',3,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
if (@cumplimiento is not null)
begin
set @total = @total + @cumplimiento
set @cantidad = @cantidad + 1
end
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'T','A',4,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
if (@cumplimiento is not null)
begin
set @total = @total + @cumplimiento
set @cantidad = @cantidad + 1
end
IF @cantidad = 0
set @cumplimiento = null
else
set @cumplimiento = floor(@total / @cantidad) --> redondea para abajo 99.99 = 99
END
-- % Cumplimiento Mes en análisis (Propios del Contratista)
if (@clave_indicador LIKE 'CUMPLIMIENTO_ULTIMO_MES_C_1%')
BEGIN
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'C','U',1,11, --EL 11 NO SE MANDABA Y EL DEFAULT EN EL SP ES 11, POR ESO LE MANDO 11
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento 12 Meses Anteriores (Propios del Contratista)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_C_1_12%')
BEGIN
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'C','A',1,12,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento Mes en análisis (Subcontratistas)
if (@clave_indicador LIKE 'CUMPLIMIENTO_ULTIMO_MES_S_1%')
BEGIN
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'S','U',1,11, --EL 11 NO SE MANDABA Y EL DEFAULT EN EL SP ES 11, POR ESO LE MANDO 11
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento 12 Meses Anteriores (Subontratistas)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_S_1_12%')
BEGIN
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'S','A',1,12,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
if (@cumplimiento is not null)
begin
set @cumplimiento_txt = convert(varchar, @cumplimiento) + '%'
end
declare @cumplimiento_memo varchar(100) = null
if (@clave_indicador LIKE '%COLOR')
begin
set @cumplimiento_txt = null
set @cumplimiento_txt = case
when @cumplimiento >= 98 then 'Verde: Presentó todo'
when @cumplimiento > 0 and @cumplimiento < 98 then 'Amarillo: Presentación parcial'
when @cumplimiento = 0 then 'Rojo: Adeuda todo'
end
set @cumplimiento_memo = case
when @cumplimiento >= 98 then '2e7d32'
when @cumplimiento > 0 and @cumplimiento < 98 then 'FFB81C'
when @cumplimiento = 0 then 'A72B2A'
end
end
if (@clave_indicador LIKE '%PERIODO')
begin
set @cumplimiento_txt = @per
set @cumplimiento = null
end
if (@clave_indicador LIKE '%PENDIENTES')
begin
set @cumplimiento_txt = @pendientes
set @cumplimiento = @pendientes
end
if (@clave_indicador LIKE '%INGRESADOS')
begin
set @cumplimiento_txt = @ingresados
set @cumplimiento = @ingresados
end
if (@clave_indicador LIKE '%VERIFICADOS')
begin
set @cumplimiento_txt = @verificados
set @cumplimiento = @verificados
end
if (@clave_indicador LIKE '%RECHAZADOS')
begin
set @cumplimiento_txt = @rechazados
set @cumplimiento = @rechazados
end
if (@clave_indicador LIKE '%TOTALES')
begin
set @cumplimiento_txt = @totales
set @cumplimiento = @totales
end
if not exists (select contraparte, gestion, indicador
from LN_contraparte_indicadores
where contraparte = @p_contraparte
and gestion = @gest
and visible = 1
and indicador = @indicador)
INSERT INTO LN_contraparte_indicadores
(contraparte, gestion, indicador, valor_numerico, valor_texto, valor_memo, created, created_by)
VALUES
(@p_contraparte, @gest, @indicador, @cumplimiento, @cumplimiento_txt, @cumplimiento_memo, GETDATE(), @p_user_id)
ELSE
UPDATE LN_contraparte_indicadores SET
valor_numerico = @cumplimiento,
valor_texto = @cumplimiento_txt,
valor_memo = @cumplimiento_memo,
modified = GETDATE(),
modified_by = @p_user_id
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND indicador = @indicador
and visible = 1
select @clave_indicador as indicador, @cumplimiento as cumplimiento, @cumplimiento_txt as txt, @cumplimiento_memo as color
END
GO
GO
-- =====================================================================================
-- Author: Marita Soria
-- Create date: 29/06/2023
-- Description: Calculo de los indicadadores de Cumplimiento de Documentos de Imperium
-- =====================================================================================
/*
Tener en cuenta:
en la tabla ln_indicadores:
el campo tipo_dato tiene que ser 'S' para que se vea bien en el panel de control
y el servicio_contratado = 73, para que solo se vea en panel de control de Imperium
update ln_indicadores set tipo_dato = 'S',servicio_contratado = 73 where indicador in (523,524,525,526,527,528)
@clave_indicador
% Cumplimiento Mes en análisis (Todos) CUMPLIMIENTO_ULTIMO_MES_T_1
% Cumplimiento 12 Meses Anteriores (Todos) CUMPLIMIENTO_MESES_ANTERIORES_T_1_12
% Cumplimiento Mes en análisis (Propios del Contratista) CUMPLIMIENTO_ULTIMO_MES_C_1
% Cumplimiento 12 Meses Anteriores (Propios del Contratista) CUMPLIMIENTO_MESES_ANTERIORES_C_1_12
% Cumplimiento Mes en análisis (Subcontratistas) CUMPLIMIENTO_ULTIMO_MES_S_1
% Cumplimiento 12 Meses Anteriores (Subontratistas) CUMPLIMIENTO_MESES_ANTERIORES_S_1_12
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_MESES_ANTERIORES_T_3_1_COLOR',191509,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_periodo',191515,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_pendientes',191515,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_ingresados',191515,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_VERIFICADOS',191515,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_rechazados',191515,null
exec [Imperium_cumplimientos_indicadores_2024] 'CUMPLIMIENTO_ULTIMO_MES_T_1_totales',191515,null
insert into ln_contrapartes_queue (contraparte, id_taken) values (191515,1)
select * from ln_indicadores where producto = 2066 order by orden
select * from ln_contrapartes_queue where processed = 0
select i.clave_indicador, c.* from ln_contraparte_indicadores c
inner join ln_indicadores i on i.indicador = c.indicador
where contraparte = 191509
order by clave_indicador
*/
CREATE OR ALTER PROCEDURE dbo.Imperium_cumplimientos_indicadores_2024
@clave_indicador varchar(100),
@p_contraparte int,
@p_user_id int = null
AS
BEGIN
SET NOCOUNT ON;
declare @gest int = null
declare @contratista int = null
declare @indicador int = null
select @indicador = LN_indicadores.indicador
from LN_indicadores
where clave_indicador = @clave_indicador
/* Si se grabo hace menos de 15 minutos no hace nada,
porque ya lo calculo con alguno de los indicadores del mismo tipo
como por cada uno graba todos los que tiene (periodo, verificados, ingresados, etc), no se vuelve a calcular
Esto lo hice porque va a repetir el mismo calculo por eje. para CUMPLIMIENTO_ULTIMO_MES_T_1
CUMPLIMIENTO_ULTIMO_MES_T_1_PERIODO
CUMPLIMIENTO_ULTIMO_MES_T_1_PEDIENTES
CUMPLIMIENTO_ULTIMO_MES_T_1_INGRESADOS
CUMPLIMIENTO_ULTIMO_MES_T_1_VERIFICADOS
CUMPLIMIENTO_ULTIMO_MES_T_1_RECHAZADOS
CUMPLIMIENTO_ULTIMO_MES_T_1_TOTALES
*/
/*
if exists (select contraparte, gestion, indicador
from LN_contraparte_indicadores
where contraparte = @p_contraparte
and gestion = @gest
and visible = 1
and indicador = @indicador
and (created = dateadd(MI,-15,getdate()) or modified = dateadd(MI,-15,getdate())))
begin
return
end
*/
SELECT @gest = LN_gestiones.gestion, @contratista = LN_CONTRAPARTES.id_imperium
FROM LN_gestiones
INNER JOIN LN_contrapartes ON LN_gestiones.contraparte = LN_contrapartes.contraparte
WHERE LN_gestiones.desde <= GETDATE()
AND LN_gestiones.hasta >= GETDATE()
AND LN_contrapartes.activo = 1
AND LN_contrapartes.contraparte = @p_contraparte
declare @cumplimiento int = null
declare @cumplimiento_txt varchar(100) = null
declare @per varchar(50) = null
declare @pendientes FLOAT = null
declare @ingresados FLOAT = null
declare @verificados FLOAT = null
declare @rechazados FLOAT = null
declare @totales FLOAT = null
-- % Cumplimiento Mes en análisis (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_ULTIMO_MES_T_1%')
BEGIN
exec [Imperium_cumplimientos_2024] @contratista, @cumplimiento output, 'T','U',1,11, --EL 11 NO SE MANDABA Y EL DEFAULT EN EL SP ES 11, POR ESO LE MANDO 11
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento 12 Meses Anteriores (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_T_1_12%')
BEGIN
--exec [Imperium_cumplimientos] @contratista, @cumplimiento output, 'T','A',1,12
exec [Imperium_cumplimientos_2024] @contratista, @cumplimiento output, 'T','A',2,12, -- de 1 año para atras hasta 2 meses para atras de hoy
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento de UN mes (del mes actual - 2) (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_T_2_1%')
BEGIN
exec [Imperium_cumplimientos_2024] @contratista, @cumplimiento output, 'T','A',2,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento de UN mes (del mes actual - 3) (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_T_3_1%')
BEGIN
exec [Imperium_cumplimientos_2024] @contratista, @cumplimiento output, 'T','A',3,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento de UN mes (del mes actual - 4) (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_T_4_1%')
BEGIN
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'T','A',4,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- PROMEDIO % Cumplimiento los meses (-2 -3 y -4) (Todos)
if (@clave_indicador LIKE 'CUMPLIMIENTO_PROMEDIO_MESES_ANTERIORES_T_2_3%')
BEGIN
declare @total int = 0
declare @cantidad int = 0
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'T','A',2,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
if (@cumplimiento is not null)
begin
set @total = @total + @cumplimiento
set @cantidad = @cantidad + 1
end
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'T','A',3,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
if (@cumplimiento is not null)
begin
set @total = @total + @cumplimiento
set @cantidad = @cantidad + 1
end
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'T','A',4,1,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
if (@cumplimiento is not null)
begin
set @total = @total + @cumplimiento
set @cantidad = @cantidad + 1
end
IF @cantidad = 0
set @cumplimiento = null
else
set @cumplimiento = floor(@total / @cantidad) --> redondea para abajo 99.99 = 99
END
-- % Cumplimiento Mes en análisis (Propios del Contratista)
if (@clave_indicador LIKE 'CUMPLIMIENTO_ULTIMO_MES_C_1%')
BEGIN
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'C','U',1,11, --EL 11 NO SE MANDABA Y EL DEFAULT EN EL SP ES 11, POR ESO LE MANDO 11
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento 12 Meses Anteriores (Propios del Contratista)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_C_1_12%')
BEGIN
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'C','A',1,12,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento Mes en análisis (Subcontratistas)
if (@clave_indicador LIKE 'CUMPLIMIENTO_ULTIMO_MES_S_1%')
BEGIN
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'S','U',1,11, --EL 11 NO SE MANDABA Y EL DEFAULT EN EL SP ES 11, POR ESO LE MANDO 11
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
-- % Cumplimiento 12 Meses Anteriores (Subontratistas)
if (@clave_indicador LIKE 'CUMPLIMIENTO_MESES_ANTERIORES_S_1_12%')
BEGIN
exec Imperium_cumplimientos_2024 @contratista, @cumplimiento output, 'S','A',1,12,
@per output,
@pendientes output,
@ingresados output ,
@verificados output ,
@rechazados output ,
@totales output
END
if (@cumplimiento is not null)
begin
set @cumplimiento_txt = convert(varchar, @cumplimiento) + '%'
end
declare @cumplimiento_memo varchar(100) = null
if (@clave_indicador LIKE '%COLOR')
begin
set @cumplimiento_txt = null
set @cumplimiento_txt = case
when @cumplimiento >= 98 then 'Verde: Presentó todo'
when @cumplimiento > 0 and @cumplimiento < 98 then 'Amarillo: Presentación parcial'
when @cumplimiento = 0 then 'Rojo: Adeuda todo'
end
set @cumplimiento_memo = case
when @cumplimiento >= 98 then '2e7d32'
when @cumplimiento > 0 and @cumplimiento < 98 then 'FFB81C'
when @cumplimiento = 0 then 'A72B2A'
end
end
if (@clave_indicador LIKE '%PERIODO')
begin
set @cumplimiento_txt = @per
set @cumplimiento = null
end
if (@clave_indicador LIKE '%PENDIENTES')
begin
set @cumplimiento_txt = @pendientes
set @cumplimiento = @pendientes
end
if (@clave_indicador LIKE '%INGRESADOS')
begin
set @cumplimiento_txt = @ingresados
set @cumplimiento = @ingresados
end
if (@clave_indicador LIKE '%VERIFICADOS')
begin
set @cumplimiento_txt = @verificados
set @cumplimiento = @verificados
end
if (@clave_indicador LIKE '%RECHAZADOS')
begin
set @cumplimiento_txt = @rechazados
set @cumplimiento = @rechazados
end
if (@clave_indicador LIKE '%TOTALES')
begin
set @cumplimiento_txt = @totales
set @cumplimiento = @totales
end
if not exists (select contraparte, gestion, indicador
from LN_contraparte_indicadores
where contraparte = @p_contraparte
and gestion = @gest
and visible = 1
and indicador = @indicador)
INSERT INTO LN_contraparte_indicadores
(contraparte, gestion, indicador, valor_numerico, valor_texto, valor_memo, created, created_by)
VALUES
(@p_contraparte, @gest, @indicador, @cumplimiento, @cumplimiento_txt, @cumplimiento_memo, GETDATE(), @p_user_id)
ELSE
UPDATE LN_contraparte_indicadores SET
valor_numerico = @cumplimiento,
valor_texto = @cumplimiento_txt,
valor_memo = @cumplimiento_memo,
modified = GETDATE(),
modified_by = @p_user_id
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND indicador = @indicador
and visible = 1
select @clave_indicador as indicador, @cumplimiento as cumplimiento, @cumplimiento_txt as txt, @cumplimiento_memo as color
END
GO
Depends On
5Used By
No items found