Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_cliente | int | 4 | |
| @p_contraparte | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
--
-- =============================================
-- Author: María Inés Soria
-- Create date: 29/12/2021
-- Description: Panel de Control para clientes con SAAS (como Coface) -
-- Guarda datos en la tabla LN_Panel_Control_Coface, para luego tomar los datos de ahi, para armar el panel de control
-- No se guarda historial, se van pisando los registros de cada contraparte, por eso el created quedo siempre el mismo (de la primera vez que se corrio...)
-- =============================================
/*
exec LN_Panel_Control_SAAS_file 515494256
exec [SAAS_historial] 0,0,0, 515494256
select count(*) from ln_panel_control_coface --22515
EXEC LN_Panel_Control_SAAS_file 515494256,148623
EXEC LN_Panel_Control_SAAS_file 515494256,148644
select * from ln_contrapartes where cliente = 515494256 and activo = 1
*/
CREATE OR ALTER PROCEDURE dbo.LN_Panel_Control_SAAS_file
@p_cliente int = 515494256,
@p_contraparte int = 0
AS
BEGIN
SET NOCOUNT ON;
/*
select * From SAAS_Historial_Consultas where contraparte = 45099
136,
247
)
select * from SAAS_Usuarios_Contratos where saas_usuario_contrato in (1,3)
*/
declare @historial table
(estado char(1),
bancos_estado char(1),
cheques_estado char(1),
contables_estado char(1),
patrimonio_estado char(1),
fiscales_estado char(1),
formales_estado char(1),
legales_estado char(1),
black_list varchar(1),
fecha_consulta date, numero_contrato varchar(50),razon_social varchar(max),identificacion varchar(100),
nombre varchar(max), email varchar(max), texto varchar(max),contraparte int,asegurado varchar(max), color_final varchar(10), estado_final varchar(50)
/*,
black_list varchar(1),
black_list_score int
*/
, contrato_activo bit, cliente_activo bit)
declare @contrapartes table (contraparte int)
declare @created datetime
/* Si es para una contraparte sola, borra el ultimo registro de esa contraparte y lo vuelve a cargar con el mismo created que tenia el último registro */
/* Si es una contraparte nueva, la va a agregar con el mismo created de la última generación del panel */
if (isnull(@p_contraparte,0) != 0)
begin
set @created = (select iif(MAX(created) is null, getdate(), MAX(created)) from LN_Panel_Control_Coface where cliente = @p_cliente)
delete from ln_panel_control_coface where contraparte = @p_contraparte and created = @created -- Si es una contraparte nueva, no va a borrar ningún registro
insert into @historial exec [SAAS_historial] 0,0,@p_contraparte,0
insert into @contrapartes
select contraparte from LN_contrapartes where contraparte = @p_contraparte
if (isnull(@p_cliente,0) = 0)
begin
set @p_cliente = (select cliente from ln_contrapartes where contraparte = @p_contraparte)
end
end
else
begin
/* Si lo quiere de todas las contrartes genera el archivo completo de todas las contrapartes, con fecha actual */
--delete from ln_panel_control_coface where cliente = @p_cliente
set @created = getdate()
insert into @historial exec [SAAS_historial] 0,0,0,@p_cliente
insert into @contrapartes
select contraparte from LN_contrapartes
where cliente = @p_cliente
and activo = 1
end
insert into ln_panel_control_coface
select distinct @p_cliente, @created, upper(historial.asegurado) as asegurado,
historial.numero_contrato as contrato,
historial.razon_social as analizado,
historial.identificacion as identificacion,
convert(varchar(10),historial.fecha_consulta, 103) as Fecha,
historial.fecha_consulta,
historial.estado as estado_consulta,
novedad.valor as ultima_novedad,
final.color as color_final,
final.valor as estado,
black.valor as blacklist_estado,
formales.valor as formales_estado,
fiscales.valor as fiscales_estado,
contables.valor as contables_estado,
patrimonio.valor as patrimonio_estado,
legales.valor as legales_estado,
bancos.valor as bancos_estado,
cheques.valor as cheques_estado,
lnc.contraparte as contraparte,
LN_excepciones_final.tipo_excepcion as excepcion,
historial.contrato_activo,
historial.cliente_activo
/* ,black_list,black_list_score*/
from LN_contrapartes lnc
inner JOIN @historial historial on historial.contraparte = lnc.contraparte
inner join LN_gestiones on lnc.contraparte = LN_gestiones.contraparte
inner join LN_contraparte_familias on lnc.contraparte = LN_contraparte_familias.contraparte
inner join LN_familias on LN_contraparte_familias.familia = LN_familias.familia
inner join LN_cliente_productos on lnc.cliente = LN_cliente_productos.cliente
inner join LN_familia_productos on (LN_cliente_productos.producto = LN_familia_productos.producto
and LN_contraparte_familias.familia = LN_familia_productos.familia)
left outer join LN_excepciones_final on (LN_excepciones_final.contraparte = lnc.contraparte
AND LN_excepciones_final.estado = 1
AND LN_excepciones_final.vigencia >= GETDATE())
LEFT OUTER JOIN
(select contraparte, gestion, convert(varchar(10),valor_fecha,103) as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'ULTIMA_NOVEDAD') as novedad
on (novedad.contraparte = lnc.contraparte and
novedad.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionBlackList') as black
on (black.contraparte = lnc.contraparte and
black.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionFormales') as formales
on (formales.contraparte = lnc.contraparte and
formales.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionFiscales') as fiscales
on (fiscales.contraparte = lnc.contraparte and
fiscales.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionLegales') as legales
on (legales.contraparte = lnc.contraparte and
legales.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionContables') as contables
on (contables.contraparte = lnc.contraparte and
contables.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionPatrimonio') as patrimonio
on (patrimonio.contraparte = lnc.contraparte and
patrimonio.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionBancos') as bancos
on (bancos.contraparte = lnc.contraparte and
bancos.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionCheques') as cheques
on (cheques.contraparte = lnc.contraparte and
cheques.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion,
valor = isnull(ln_cliente_nivel.texto_largo,LN_contraparte_indicadores.valor_texto),
color = isnull(ln_cliente_nivel.color_fondo,'')
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
left outer join ln_cliente_nivel
on (ln_cliente_nivel.cliente = @p_cliente
and ln_cliente_nivel.indicador = LN_indicadores.indicador
and desde <= LN_contraparte_indicadores.valor_numerico and hasta > LN_contraparte_indicadores.valor_numerico)
where clave_indicador = 'AprobacionFinal') as final
on (final.contraparte = lnc.contraparte and
final.gestion = LN_gestiones.gestion)
where lnc.cliente = @p_cliente
and lnc.activo = 1
and LN_familias.visible = 1
and LN_contraparte_familias.activo = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and LN_familia_productos.activo = 1
and LN_cliente_productos.activo = 1
--and (isnull(@p_contraparte,0) = 0 or lnc.contraparte = @p_contraparte)
and lnc.contraparte in (select contraparte from @contrapartes)
and not exists (select * from @historial historial2 where historial2.contraparte = historial.contraparte and historial2.numero_contrato = historial.numero_contrato and historial2.fecha_consulta > historial.fecha_consulta)
ORDER BY analizado
END
GO
GO
--
-- =============================================
-- Author: María Inés Soria
-- Create date: 29/12/2021
-- Description: Panel de Control para clientes con SAAS (como Coface) -
-- Guarda datos en la tabla LN_Panel_Control_Coface, para luego tomar los datos de ahi, para armar el panel de control
-- No se guarda historial, se van pisando los registros de cada contraparte, por eso el created quedo siempre el mismo (de la primera vez que se corrio...)
-- =============================================
/*
exec LN_Panel_Control_SAAS_file 515494256
exec [SAAS_historial] 0,0,0, 515494256
select count(*) from ln_panel_control_coface --22515
EXEC LN_Panel_Control_SAAS_file 515494256,148623
EXEC LN_Panel_Control_SAAS_file 515494256,148644
select * from ln_contrapartes where cliente = 515494256 and activo = 1
*/
CREATE OR ALTER PROCEDURE dbo.LN_Panel_Control_SAAS_file
@p_cliente int = 515494256,
@p_contraparte int = 0
AS
BEGIN
SET NOCOUNT ON;
/*
select * From SAAS_Historial_Consultas where contraparte = 45099
136,
247
)
select * from SAAS_Usuarios_Contratos where saas_usuario_contrato in (1,3)
*/
declare @historial table
(estado char(1),
bancos_estado char(1),
cheques_estado char(1),
contables_estado char(1),
patrimonio_estado char(1),
fiscales_estado char(1),
formales_estado char(1),
legales_estado char(1),
black_list varchar(1),
fecha_consulta date, numero_contrato varchar(50),razon_social varchar(max),identificacion varchar(100),
nombre varchar(max), email varchar(max), texto varchar(max),contraparte int,asegurado varchar(max), color_final varchar(10), estado_final varchar(50)
/*,
black_list varchar(1),
black_list_score int
*/
, contrato_activo bit, cliente_activo bit)
declare @contrapartes table (contraparte int)
declare @created datetime
/* Si es para una contraparte sola, borra el ultimo registro de esa contraparte y lo vuelve a cargar con el mismo created que tenia el último registro */
/* Si es una contraparte nueva, la va a agregar con el mismo created de la última generación del panel */
if (isnull(@p_contraparte,0) != 0)
begin
set @created = (select iif(MAX(created) is null, getdate(), MAX(created)) from LN_Panel_Control_Coface where cliente = @p_cliente)
delete from ln_panel_control_coface where contraparte = @p_contraparte and created = @created -- Si es una contraparte nueva, no va a borrar ningún registro
insert into @historial exec [SAAS_historial] 0,0,@p_contraparte,0
insert into @contrapartes
select contraparte from LN_contrapartes where contraparte = @p_contraparte
if (isnull(@p_cliente,0) = 0)
begin
set @p_cliente = (select cliente from ln_contrapartes where contraparte = @p_contraparte)
end
end
else
begin
/* Si lo quiere de todas las contrartes genera el archivo completo de todas las contrapartes, con fecha actual */
--delete from ln_panel_control_coface where cliente = @p_cliente
set @created = getdate()
insert into @historial exec [SAAS_historial] 0,0,0,@p_cliente
insert into @contrapartes
select contraparte from LN_contrapartes
where cliente = @p_cliente
and activo = 1
end
insert into ln_panel_control_coface
select distinct @p_cliente, @created, upper(historial.asegurado) as asegurado,
historial.numero_contrato as contrato,
historial.razon_social as analizado,
historial.identificacion as identificacion,
convert(varchar(10),historial.fecha_consulta, 103) as Fecha,
historial.fecha_consulta,
historial.estado as estado_consulta,
novedad.valor as ultima_novedad,
final.color as color_final,
final.valor as estado,
black.valor as blacklist_estado,
formales.valor as formales_estado,
fiscales.valor as fiscales_estado,
contables.valor as contables_estado,
patrimonio.valor as patrimonio_estado,
legales.valor as legales_estado,
bancos.valor as bancos_estado,
cheques.valor as cheques_estado,
lnc.contraparte as contraparte,
LN_excepciones_final.tipo_excepcion as excepcion,
historial.contrato_activo,
historial.cliente_activo
/* ,black_list,black_list_score*/
from LN_contrapartes lnc
inner JOIN @historial historial on historial.contraparte = lnc.contraparte
inner join LN_gestiones on lnc.contraparte = LN_gestiones.contraparte
inner join LN_contraparte_familias on lnc.contraparte = LN_contraparte_familias.contraparte
inner join LN_familias on LN_contraparte_familias.familia = LN_familias.familia
inner join LN_cliente_productos on lnc.cliente = LN_cliente_productos.cliente
inner join LN_familia_productos on (LN_cliente_productos.producto = LN_familia_productos.producto
and LN_contraparte_familias.familia = LN_familia_productos.familia)
left outer join LN_excepciones_final on (LN_excepciones_final.contraparte = lnc.contraparte
AND LN_excepciones_final.estado = 1
AND LN_excepciones_final.vigencia >= GETDATE())
LEFT OUTER JOIN
(select contraparte, gestion, convert(varchar(10),valor_fecha,103) as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'ULTIMA_NOVEDAD') as novedad
on (novedad.contraparte = lnc.contraparte and
novedad.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionBlackList') as black
on (black.contraparte = lnc.contraparte and
black.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionFormales') as formales
on (formales.contraparte = lnc.contraparte and
formales.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionFiscales') as fiscales
on (fiscales.contraparte = lnc.contraparte and
fiscales.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionLegales') as legales
on (legales.contraparte = lnc.contraparte and
legales.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionContables') as contables
on (contables.contraparte = lnc.contraparte and
contables.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionPatrimonio') as patrimonio
on (patrimonio.contraparte = lnc.contraparte and
patrimonio.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionBancos') as bancos
on (bancos.contraparte = lnc.contraparte and
bancos.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion, valor_texto as valor
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
where clave_indicador = 'AprobacionCheques') as cheques
on (cheques.contraparte = lnc.contraparte and
cheques.gestion = LN_gestiones.gestion)
LEFT OUTER JOIN
(select contraparte, gestion,
valor = isnull(ln_cliente_nivel.texto_largo,LN_contraparte_indicadores.valor_texto),
color = isnull(ln_cliente_nivel.color_fondo,'')
from LN_contraparte_indicadores
inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
left outer join ln_cliente_nivel
on (ln_cliente_nivel.cliente = @p_cliente
and ln_cliente_nivel.indicador = LN_indicadores.indicador
and desde <= LN_contraparte_indicadores.valor_numerico and hasta > LN_contraparte_indicadores.valor_numerico)
where clave_indicador = 'AprobacionFinal') as final
on (final.contraparte = lnc.contraparte and
final.gestion = LN_gestiones.gestion)
where lnc.cliente = @p_cliente
and lnc.activo = 1
and LN_familias.visible = 1
and LN_contraparte_familias.activo = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and LN_familia_productos.activo = 1
and LN_cliente_productos.activo = 1
--and (isnull(@p_contraparte,0) = 0 or lnc.contraparte = @p_contraparte)
and lnc.contraparte in (select contraparte from @contrapartes)
and not exists (select * from @historial historial2 where historial2.contraparte = historial.contraparte and historial2.numero_contrato = historial.numero_contrato and historial2.fecha_consulta > historial.fecha_consulta)
ORDER BY analizado
END
GO