Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
6| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_contraparte | int | 4 | |
| @p_contratista | int | 4 | |
| @p_puntos | int | 4 | |
| @p_estado | char | 1 | |
| @p_estado_txt | varchar | 500 | |
| @p_color | varchar | 20 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- ===============================================================
-- Author: Marita Soria
-- Create date: 30/09/2021
-- Description:
/*
BBVA IMPERIUM nuevo indicador
Nuevo semáforo en la plataforma, en donde se mida la presentación de estos 3 documentos (considerados indispensables):
Constancia de ART con clausula de no repetición
Seguro de vida
F. 931
Solicitamos que el color del semáforo sea como los otros:
Verde: al día
Amarillo: Con una demora de entre 30 y 60 días
Rojo: Más de 60 días
*/
-- ===============================================================
/*
declare @p_puntos_cum int = null,
@p_estado_cum char(1) = null ,
@p_estado_txt_cum varchar(500) = null ,
@p_color_cum varchar(20) = null
exec [LN_CUMPLIMIENTO_ART_VIDA_931] 199280,
null,
@p_puntos_cum output,
@p_estado_cum output,
@p_estado_txt_cum output,
@p_color_cum output
select @p_puntos_cum ,
@p_estado_cum,
@p_estado_txt_cum,
@p_color_cum
*/
CREATE OR ALTER PROCEDUREdbo.LN_CUMPLIMIENTO_ART_VIDA_931 -- Hay que mandar como parametro contraparte, o contratista
@p_contraparte int,
@p_contratista int = null,
@p_puntos int = null output,
@p_estado char(1) = null output,
@p_estado_txt varchar(500) = null output,
@p_color varchar(20) = null output
AS
BEGIN
SET NOCOUNT ON;
declare @p_cliente int
--declare @periodo1 int = (select dbo.PeriodoVencido())
--declare @periodo2 int = (select dbo.PeriodoMenosDos())
/* Porque a principio de mes nunca va a tener verificados los documentos del periodo vencido */
declare @periodo1 int = (select dbo.PeriodoMenosDos())
declare @periodo2 int = (select dbo.PeriodoMenosTres())
declare @indicador int = (select indicador from ln_indicadores where clave_indicador = 'CUMPLIMIENTO_ART_VIDA_931')
if (@p_contraparte is null)
select @p_contraparte = contraparte,
@p_cliente = cliente
from ln_contrapartes
where id_imperium = @p_contratista
and activo = 1
select @p_contratista = id_imperium,
@p_cliente = cliente
from ln_contrapartes
where contraparte = @p_contraparte
--select @p_contraparte as contraparte, @p_contratista as contratista, @p_cliente as cliente, /* dbo.PeriodoVencido() */ @periodo_hasta as periodo
set @p_puntos = null
set @p_estado = null
set @p_estado_txt = null
set @p_color = null
-- Si no tiene documentos en el periodo1, el indicador debe quedar vacio
IF (select count(*) from led_docs where contratista = @p_contratista and periodo = @periodo1 and tipo_doc in (649,650,1033)) = 0
begin
set @p_puntos = null
set @p_estado = null
set @p_estado_txt = null
set @p_color = null
return
end
/*
Documentos
649 A.R.T.: Certificado de Cobertura con nómina, Cláusula de no repetición a favor del Cliente
650 Seguro de Vida Obligatorio (Dec.1567/74): Certificado de Cobertura con nómina.
1033 AFIP F.931 y Pago c/detalle de período y conceptos abonados. Presentación/ Acuse de Recibo DJ
*/
--select * from led_tipos_doc where tipo_doc in (649,650,1033)
if exists (select * from led_docs
where contratista = @p_contratista and tipo_doc in (649,650,1033) and estado_doc not in ('X','V')
and periodo < @periodo2)
begin
set @p_estado = 'R'
end
else
begin
if exists (select * from led_docs
where contratista = @p_contratista and tipo_doc in (649,650,1033) and estado_doc not in ('X','V')
and periodo = @periodo2)
begin
set @p_estado = 'A'
end
else
begin
set @p_estado = 'V'
end
end
if not exists(select *
from ln_cliente_nivel
where indicador = @indicador and cliente = @p_cliente and texto = @p_estado)
begin
set @p_estado_txt = case @p_estado
when 'R' then 'Demora más de 60 días'
when 'A' then 'Demora de entre 30 y 60 días'
when 'V' then 'Al día'
else NULL
end
set @p_color = case @p_estado
when 'R' then 'A72B2A'
when 'A' then 'FFB81C'
when 'V' then '63b68c'
else NULL
end
set @p_puntos = case @p_estado
when 'R' then 4
when 'A' then 2
when 'V' then 1
else NULL
end
end
else
begin
select @p_puntos = desde, @p_estado = texto, @p_estado_txt = texto_largo, @p_color = color_fondo
from ln_cliente_nivel
where indicador = @indicador and cliente = @p_cliente and texto = @p_estado
end
END
/*
select * from ln_indicadores where clave_indicador = 'CUMPLIMIENTO_ART_VIDA_931'
select * from ln_cliente_nivel where indicador = 544 and cliente = 1226057645
update ln_cliente_nivel set desde = 3, hasta = 4 where id = 613
update ln_cliente_nivel set desde = 2, hasta = 3 where id = 612
*/
GO
GO
-- ===============================================================
-- Author: Marita Soria
-- Create date: 30/09/2021
-- Description:
/*
BBVA IMPERIUM nuevo indicador
Nuevo semáforo en la plataforma, en donde se mida la presentación de estos 3 documentos (considerados indispensables):
Constancia de ART con clausula de no repetición
Seguro de vida
F. 931
Solicitamos que el color del semáforo sea como los otros:
Verde: al día
Amarillo: Con una demora de entre 30 y 60 días
Rojo: Más de 60 días
*/
-- ===============================================================
/*
declare @p_puntos_cum int = null,
@p_estado_cum char(1) = null ,
@p_estado_txt_cum varchar(500) = null ,
@p_color_cum varchar(20) = null
exec [LN_CUMPLIMIENTO_ART_VIDA_931] 199280,
null,
@p_puntos_cum output,
@p_estado_cum output,
@p_estado_txt_cum output,
@p_color_cum output
select @p_puntos_cum ,
@p_estado_cum,
@p_estado_txt_cum,
@p_color_cum
*/
CREATE OR ALTER PROCEDUREdbo.LN_CUMPLIMIENTO_ART_VIDA_931 -- Hay que mandar como parametro contraparte, o contratista
@p_contraparte int,
@p_contratista int = null,
@p_puntos int = null output,
@p_estado char(1) = null output,
@p_estado_txt varchar(500) = null output,
@p_color varchar(20) = null output
AS
BEGIN
SET NOCOUNT ON;
declare @p_cliente int
--declare @periodo1 int = (select dbo.PeriodoVencido())
--declare @periodo2 int = (select dbo.PeriodoMenosDos())
/* Porque a principio de mes nunca va a tener verificados los documentos del periodo vencido */
declare @periodo1 int = (select dbo.PeriodoMenosDos())
declare @periodo2 int = (select dbo.PeriodoMenosTres())
declare @indicador int = (select indicador from ln_indicadores where clave_indicador = 'CUMPLIMIENTO_ART_VIDA_931')
if (@p_contraparte is null)
select @p_contraparte = contraparte,
@p_cliente = cliente
from ln_contrapartes
where id_imperium = @p_contratista
and activo = 1
select @p_contratista = id_imperium,
@p_cliente = cliente
from ln_contrapartes
where contraparte = @p_contraparte
--select @p_contraparte as contraparte, @p_contratista as contratista, @p_cliente as cliente, /* dbo.PeriodoVencido() */ @periodo_hasta as periodo
set @p_puntos = null
set @p_estado = null
set @p_estado_txt = null
set @p_color = null
-- Si no tiene documentos en el periodo1, el indicador debe quedar vacio
IF (select count(*) from led_docs where contratista = @p_contratista and periodo = @periodo1 and tipo_doc in (649,650,1033)) = 0
begin
set @p_puntos = null
set @p_estado = null
set @p_estado_txt = null
set @p_color = null
return
end
/*
Documentos
649 A.R.T.: Certificado de Cobertura con nómina, Cláusula de no repetición a favor del Cliente
650 Seguro de Vida Obligatorio (Dec.1567/74): Certificado de Cobertura con nómina.
1033 AFIP F.931 y Pago c/detalle de período y conceptos abonados. Presentación/ Acuse de Recibo DJ
*/
--select * from led_tipos_doc where tipo_doc in (649,650,1033)
if exists (select * from led_docs
where contratista = @p_contratista and tipo_doc in (649,650,1033) and estado_doc not in ('X','V')
and periodo < @periodo2)
begin
set @p_estado = 'R'
end
else
begin
if exists (select * from led_docs
where contratista = @p_contratista and tipo_doc in (649,650,1033) and estado_doc not in ('X','V')
and periodo = @periodo2)
begin
set @p_estado = 'A'
end
else
begin
set @p_estado = 'V'
end
end
if not exists(select *
from ln_cliente_nivel
where indicador = @indicador and cliente = @p_cliente and texto = @p_estado)
begin
set @p_estado_txt = case @p_estado
when 'R' then 'Demora más de 60 días'
when 'A' then 'Demora de entre 30 y 60 días'
when 'V' then 'Al día'
else NULL
end
set @p_color = case @p_estado
when 'R' then 'A72B2A'
when 'A' then 'FFB81C'
when 'V' then '63b68c'
else NULL
end
set @p_puntos = case @p_estado
when 'R' then 4
when 'A' then 2
when 'V' then 1
else NULL
end
end
else
begin
select @p_puntos = desde, @p_estado = texto, @p_estado_txt = texto_largo, @p_color = color_fondo
from ln_cliente_nivel
where indicador = @indicador and cliente = @p_cliente and texto = @p_estado
end
END
/*
select * from ln_indicadores where clave_indicador = 'CUMPLIMIENTO_ART_VIDA_931'
select * from ln_cliente_nivel where indicador = 544 and cliente = 1226057645
update ln_cliente_nivel set desde = 3, hasta = 4 where id = 613
update ln_cliente_nivel set desde = 2, hasta = 3 where id = 612
*/
GO