Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
29| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 50 | |
| @p_contraparte | int | 4 | |
| @p_cliente | int | 4 | |
| @p_producto | int | 4 | |
| @p_inicio_actividades | date | 3 | |
| @p_empleados | int | 4 | |
| @p_resenia | text | -1 | |
| @p_status_formales | varchar | 1 | |
| @p_status_relaciones | varchar | 1 | |
| @p_status_comerciales | varchar | 1 | |
| @p_status_fiscales | varchar | 1 | |
| @p_status_legales | varchar | 1 | |
| @p_status_bancos | varchar | 1 | |
| @p_status_comex | varchar | 1 | |
| @p_status_contables | varchar | 1 | |
| @p_status_prensa | varchar | 1 | |
| @p_status_peps | varchar | 1 | |
| @p_analisis | text | -1 | |
| @p_score | int | 4 | |
| @p_informe | int | 4 | |
| @gest | int | 4 | |
| @p_visible | int | 4 | |
| @p_user_id | int | 4 | |
| @p_familia | int | 4 | |
| @p_score_txt | varchar | -1 | |
| @p_integ_carga | tinyint | 1 | |
| @p_integ_verif | tinyint | 1 | |
| @p_integ_rech | tinyint | 1 | |
| @p_docs_ok | bit | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- exec ln_demo_ 'seleccionar_informe',218469
CREATE OR ALTER PROCEDURE dbo.LN_demo_
@accion varchar(50) = null,
@p_contraparte int = null,
@p_cliente int = null,
@p_producto int = null,
@p_inicio_actividades date = NULL,
@p_empleados int = NULL,
@p_resenia text = NULL,
@p_status_formales varchar(1) = NULL,
@p_status_relaciones varchar(1) = NULL,
@p_status_comerciales varchar(1) = NULL,
@p_status_fiscales varchar(1) = NULL,
@p_status_legales varchar(1) = NULL,
@p_status_bancos varchar(1) = NULL,
@p_status_comex varchar(1) = NULL,
@p_status_contables varchar(1) = NULL,
@p_status_prensa varchar(1) = NULL,
@p_status_peps varchar(1) = NULL,
@p_analisis text = NULL,
@p_score int = NULL,
@p_informe int = NULL,
@gest int = NULL,
@p_visible int = NULL,
@p_user_id int = NULL,
@p_familia int = null,
@p_score_txt varchar(max) = null,
@p_integ_carga tinyint = 0,
@p_integ_verif tinyint = 0,
@p_integ_rech tinyint = 0,
@p_docs_ok bit = 0
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
--DECLARE @gest int = null
IF (@accion = 'ACTUALIZAR_INTEGRIDADES')
BEGIN
UPDATE LN_demo
SET docs_ok=@p_docs_ok,
integ_carga=@p_integ_carga,
integ_verif=@p_integ_verif,
integ_rech=@p_integ_rech
WHERE
contraparte=@p_contraparte
AND LN_demo.gestion=@gest;
--
RETURN;
END
IF (@accion = 'SELECCIONAR_INFORME')
BEGIN
if @gest is null
begin
select @gest = gestion from ln_gestiones where contraparte = @p_contraparte and vigente = 1
end
SELECT informes.id_tipo_informe,LN_tipo_informes.nombre_tipo_informe,
LN_demo.informe,
LN_demo.gestion,
LN_demo.idteam,
LN_demo.visible, ln_demo.producto, integ_verif , integ_rech, integ_carga , docs_ok, producto
FROM LN_demo inner join informes on ln_demo.informe = informes.informe
inner join LN_tipo_informes on informes.id_tipo_informe=LN_tipo_informes.idTipoInforme
WHERE
LN_demo.contraparte=@p_contraparte
AND LN_demo.gestion=@gest;
RETURN;
END
IF ( @accion='ACTUALIZAR_INTEGRIDAD' )
BEGIN
UPDATE LN_demo
SET integ_carga=@p_integ_carga,integ_rech=@p_integ_rech,integ_verif=@p_integ_verif,docs_ok=@p_docs_ok
WHERE informe=@p_informe
AND contraparte=@p_contraparte
AND gestion=@gest
AND producto=@p_producto;
--
RETURN;
END
IF (@accion = 'check_prensa_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'Prensa'
-- AND isnull(lN_productos.country_code,'') != 'AR'
END
IF (@accion = 'check_infexterior_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'informeComercial'
AND isnull(country_code,'') != 'AR'
END
IF (@accion = 'check_dossier_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND (LN_productos.producto_id = 'dossierdemo' OR LN_productos.producto_id = 'legajo')
/* and LN_cliente_productos.activo=1 and LN_productos.visible=1
AND (LN_productos.producto_id = 'dossierdemo' OR LN_productos.producto_id = 'legajo' or LN_productos.dossier=1)
*/
END
IF (@accion = 'check_business_report_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'businessreport'
END
IF (@accion = 'check_wordcheck_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'wordcheck'
END
IF (@accion = 'check_wordcheck_familias') BEGIN
SELECT LN_familias.familia as familia, LN_familias.nombre_familia
FROM ln_familias
inner join LN_familia_productos on LN_familia_productos.familia = LN_familias.familia
inner join ln_productos on LN_productos.producto = LN_familia_productos.producto
WHERE LN_familia_productos.activo = 1
AND ln_familias.cliente = @p_cliente
AND LN_productos.producto_id = 'wordcheck'
END
IF (@accion = 'check_scorevrm_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'ScoreVrm'
END
IF (@accion = 'check_scorevrm_familias') BEGIN
SELECT LN_familias.familia as familia, LN_familias.nombre_familia
FROM ln_familias
inner join LN_familia_productos on LN_familia_productos.familia = LN_familias.familia
inner join ln_productos on LN_productos.producto = LN_familia_productos.producto
WHERE LN_familia_productos.activo = 1
AND ln_familias.cliente = @p_cliente
AND LN_productos.producto_id = 'ScoreVrm'
END
IF (@accion = 'check_fidecheck_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'fidecheck'
END
IF (@accion = 'check_inquirovitae_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'inquiroVitae'
END
IF (@accion = 'check_infexterior_contraparte') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_productos.producto_id = 'informeComercial'
AND isnull(lN_productos.country_code,'') != 'AR'
END
IF (@accion = 'check_dossier_contraparte') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
AND (LN_productos.producto_id = 'dossierdemo' OR LN_productos.producto_id = 'legajo')
END
IF (@accion = 'check_business_report_contraparte') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_productos.producto_id = 'businessreport'
END
IF (@accion = 'check_inquiro_vitae_contraparte') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_productos.producto_id = 'inquiroVitae'
END
IF (@accion = 'check_reprisk_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'reprisk'
END
IF (@accion = 'check_reprisk_familias') BEGIN
SELECT LN_familias.familia as familia, LN_familias.nombre_familia
FROM ln_familias
inner join LN_familia_productos on LN_familia_productos.familia = LN_familias.familia
inner join ln_productos on LN_productos.producto = LN_familia_productos.producto
WHERE LN_familia_productos.activo = 1
AND ln_familias.cliente = @p_cliente
AND LN_productos.producto_id = 'reprisk'
END
IF (@accion = 'check_reprisk_contraparte') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_productos.producto_id = 'reprisk'
END
IF (@accion = 'reports') BEGIN
if (@p_contraparte is not null)
SELECT LN_productos.producto, LN_productos.nombre_producto, ISNULL(LN_productos.visible_brief, 0) as visible_brief
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
--AND LN_productos.producto_id IN ('dossierdemo', 'businessreport')
AND LN_productos.dossier = 1
ORDER BY LN_productos.nombre_producto
else
if (@p_cliente is not null)
begin
if (@p_familia is null)
begin
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos
inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
--AND LN_productos.producto_id IN ('dossierdemo', 'businessreport')
AND LN_productos.dossier = 1
ORDER BY LN_productos.nombre_producto
end
else
begin
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos
inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
inner join LN_familia_productos on
LN_familia_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
--AND LN_productos.producto_id IN ('dossierdemo', 'businessreport')
AND LN_productos.dossier = 1
and LN_familia_productos.familia = @p_familia
and LN_familia_productos.activo = 1
ORDER BY LN_productos.nombre_producto
end
end
END
IF (@accion = 'UPDATE')
BEGIN
SELECT @gest = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
/*
select @p_contraparte contraparte,
@gest gestion,
@p_producto producto,
@p_inicio_actividades inicio,
@p_empleados empleados,
@p_resenia resenia
*/
if (@gest is not null)
begin
declare @visible_ant tinyint = 0
if not exists ( select LN_demo.contraparte, LN_demo.gestion
from LN_demo
where LN_demo.contraparte = @p_contraparte
and LN_demo.gestion = @gest
and LN_demo.producto = @p_producto )
begin
INSERT INTO LN_demo
(contraparte, gestion, producto, inicio_actividades, empleados, resenia, status_formales, status_relaciones, status_comerciales, status_fiscales, status_legales, status_bancos, status_comex, status_contables, status_prensa, status_peps, analisis, informe, visible, fecha_publicacion)
VALUES
(@p_contraparte, @gest, @p_producto, @p_inicio_actividades, @p_empleados, @p_resenia, @p_status_formales, @p_status_relaciones, @p_status_comerciales, @p_status_fiscales, @p_status_legales, @p_status_bancos, @p_status_comex, @p_status_contables, @p_status_prensa, @p_status_peps, @p_analisis, @p_informe, @p_visible, iif(@p_visible > 0, CONVERT(date, getdate()), NULL))
end
else
begin
select @visible_ant = visible
from LN_demo
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND producto = @p_producto
UPDATE LN_demo SET
inicio_actividades = @p_inicio_actividades,
empleados = @p_empleados,
resenia = @p_resenia,
status_formales = @p_status_formales,
status_relaciones = @p_status_relaciones,
status_comerciales = @p_status_comerciales,
status_fiscales = @p_status_fiscales,
status_legales = @p_status_legales,
status_bancos = @p_status_bancos,
status_comex = @p_status_comex,
status_contables = @p_status_contables,
status_prensa = @p_status_prensa,
status_peps = @p_status_peps,
analisis = @p_analisis,
informe = @p_informe,
visible = @p_visible,
fecha_publicacion = iif(@p_visible > 0, CONVERT(date, getdate()), NULL),
integ_carga = @p_integ_carga,
integ_verif = @p_integ_verif,
integ_rech = @p_integ_rech,
docs_ok = @p_docs_ok
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND producto = @p_producto
end
end
if (@visible_ant != @p_visible)
begin
EXEC LN_demo_ 'actualizar_fecha_publicacion', @p_contraparte, NULL, @p_producto
end
END
IF (@accion = 'SELECT') BEGIN
SELECT LN_demo.contraparte, LN_demo.gestion,
LN_demo.status_formales, LN_demo.status_relaciones, LN_demo.status_comerciales, LN_demo.status_fiscales, LN_demo.status_legales,
LN_demo.status_bancos, LN_demo.status_comex, LN_demo.status_contables, LN_demo.status_prensa,
LN_demo.status_peps, LN_demo.analisis, LN_demo.pep_html, LN_demo.visible, LN_demo.producto, LN_demo.informe,
/*
CONVERT(varchar(10), LN_contrapartes.inicio_actividades, 103) as inicio_actividades_dmy,
LN_contrapartes.empleados, LN_contrapartes.resenia, */
CONVERT(varchar(10), LN_demo.inicio_actividades, 103) as inicio_actividades_dmy,
LN_demo.empleados, LN_demo.resenia,
LN_gestiones.desde, LN_gestiones.hasta,ln_demo.informe
FROM LN_demo inner join LN_gestiones on (LN_demo.contraparte = LN_gestiones.contraparte
and LN_demo.gestion = LN_gestiones.gestion)
INNER JOIN LN_contrapartes ON LN_demo.contraparte = LN_contrapartes.contraparte
WHERE LN_demo.contraparte = @p_contraparte
AND LN_demo.producto = @p_producto
AND LN_gestiones.desde <= GETDATE()
AND LN_gestiones.hasta >= GETDATE()
END
IF (@accion = 'DELETE') BEGIN
SELECT @gest = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
if (@gest is not null) begin
/** Cancelo informe de producción asociado en caso de existir (sólo se cancelará si no está iniciado) **/
declare @informe int = NULL
select @informe = informe from LN_demo
where contraparte = @p_contraparte
and gestion = @gest
and producto = @p_producto
DELETE FROM LN_demo
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND producto = @p_producto
DECLARE @producto_id varchar(50)
SELECT @producto_id = producto_id FROM LN_productos WHERE producto = @p_producto
if (@producto_id = 'dossierdemo') begin
EXEC LN_demo_ 'BORRAR_SCORE_DOSSIER', @p_contraparte, @p_producto
EXEC LN_demo_ 'BORRAR_NIVEL_RIESGO', @p_contraparte, @p_producto
EXEC LN_demo_ 'BORRAR_DEP_ECON', @p_contraparte, @p_producto
end
if (@producto_id = 'businessreport') begin
EXEC LN_demo_ 'BORRAR_SCORE_BR', @p_contraparte, @p_producto
end
end
END
IF (@accion = 'BORRAR_SCORE_DOSSIER') BEGIN
SELECT @gest = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
if (@gest is not null) begin
DECLARE @isdd int = null
SELECT @isdd = LN_indicadores.indicador
FROM LN_indicadores
INNER JOIN LN_familia_productos on LN_indicadores.producto = LN_familia_productos.producto
INNER JOIN LN_contraparte_familias on LN_familia_productos.familia = LN_contraparte_familias.familia
INNER JOIN LN_contrapartes ON LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
INNER JOIN LN_cliente_productos ON (LN_contrapartes.cliente = LN_cliente_productos.cliente
AND LN_indicadores.producto = LN_cliente_productos.producto)
WHERE LN_indicadores.clave_indicador = 'SCORE_DOSSIER'
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.activo = 1
AND LN_cliente_productos.activo = 1
if (@isdd is not null)
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND indicador = @isdd
end
END
IF (@accion = 'BORRAR_NIVEL_RIESGO') BEGIN
IF(@gest = NULL)
BEGIN
SELECT gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
END
if (@gest is not null) begin
DECLARE @inr int = null
SELECT @inr = LN_indicadores.indicador
FROM LN_indicadores
INNER JOIN LN_familia_productos on LN_indicadores.producto = LN_familia_productos.producto
INNER JOIN LN_contraparte_familias on LN_familia_productos.familia = LN_contraparte_familias.familia
INNER JOIN LN_contrapartes ON LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
INNER JOIN LN_cliente_productos ON (LN_contrapartes.cliente = LN_cliente_productos.cliente
AND LN_indicadores.producto = LN_cliente_productos.producto)
WHERE LN_indicadores.clave_indicador = 'NIVEL_RIESGO'
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.activo = 1
AND LN_cliente_productos.activo = 1
if (@inr is not null)
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND indicador = @inr
end
END
IF (@accion = 'BORRAR_DEP_ECON') BEGIN
SELECT @gest = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
if (@gest is not null) begin
DECLARE @ide int = null
SELECT @ide = LN_indicadores.indicador
FROM LN_indicadores
INNER JOIN LN_familia_productos on LN_indicadores.producto = LN_familia_productos.producto
INNER JOIN LN_contraparte_familias on LN_familia_productos.familia = LN_contraparte_familias.familia
INNER JOIN LN_contrapartes ON LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
INNER JOIN LN_cliente_productos ON (LN_contrapartes.cliente = LN_cliente_productos.cliente
AND LN_indicadores.producto = LN_cliente_productos.producto)
WHERE LN_indicadores.clave_indicador = 'DEP_ECON'
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.activo = 1
AND LN_cliente_productos.activo = 1
if (@ide is not null)
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND indicador = @ide
end
END
IF (@accion = 'BORRAR_SCORE_BR') BEGIN
SELECT @gest = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
if (@gest is not null) begin
DECLARE @isbr int = null
SELECT @isbr = LN_indicadores.indicador
FROM LN_indicadores
INNER JOIN LN_familia_productos on LN_indicadores.producto = LN_familia_productos.producto
INNER JOIN LN_contraparte_familias on LN_familia_productos.familia = LN_contraparte_familias.familia
INNER JOIN LN_contrapartes ON LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
INNER JOIN LN_cliente_productos ON (LN_contrapartes.cliente = LN_cliente_productos.cliente
AND LN_indicadores.producto = LN_cliente_productos.producto)
WHERE LN_indicadores.clave_indicador = 'SCORE_BR'
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.activo = 1
AND LN_cliente_productos.activo = 1
if (@isbr is not null)
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND indicador = @isbr
end
END
if (@accion = 'actualizar_analisis') begin
if (@p_contraparte is not null AND @p_producto is not null) begin
UPDATE LN_demo SET analisis = @p_analisis
FROM LN_demo
INNER JOIN LN_gestiones ON LN_demo.contraparte = LN_gestiones.contraparte
WHERE LN_demo.contraparte = @p_contraparte
AND LN_demo.producto = @p_producto
AND LN_gestiones.desde <= GETDATE()
AND LN_gestiones.hasta >= GETDATE()
end
end
/***************************************************************************************************************/
declare @cliente int = null
declare @gestion int = null
declare @producto int = null
declare @isddSI int = null
declare @detalle varchar(max) = null
declare @texto varchar(max) = null
declare @memo varchar(max) = null
declare @numero int = null
IF (@accion = 'BORRAR_SCORE_IC') BEGIN
SELECT @gestion = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
select @cliente = cliente
FROM LN_contrapartes
WHERE contraparte = @p_contraparte
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @cliente
AND LN_productos.producto_id = 'informeComercial'
AND isnull(country_code,'') != 'AR'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_IC'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
end
END
IF (@accion = 'UPDATE_SCORE_IC')
BEGIN
SELECT @gestion = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
select @cliente = cliente
FROM LN_contrapartes
WHERE contraparte = @p_contraparte
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @cliente
AND LN_productos.producto_id = 'informeComercial'
AND isnull(country_code,'') != 'AR'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_IC'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
if not exists (select * FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
AND visible = 1)
begin
--select 'graba', @p_contraparte, @gestion, @isddSI, @p_score, GETDATE(), 1
insert into LN_contraparte_indicadores
(contraparte,gestion,indicador,valor_numerico,valor_memo,created,visible)
values
(@p_contraparte, @gestion, @isddSI, @p_score, @p_analisis, GETDATE(), 1)
end
else
begin
-- select 'update', @p_contraparte, @gestion, @isddSI, @p_score, GETDATE(), 1
UPDATE LN_contraparte_indicadores
set valor_numerico = @p_score, modified = getdate(),
valor_memo = @p_analisis
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
end
end
if (@p_score != -100)
begin
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
end
if (@p_score = -100)
begin
set @detalle = convert(varchar(max),@p_analisis)
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer != isnull(@detalle,'')
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
if (isnull(@detalle,'')!= '')
begin
if not exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer = isnull(@detalle,'')
and visible = 1)
insert into ln_score_detalle_killer
(contraparte, gestion, indicador, detalle_killer, visible, created)
values (@p_contraparte, @gestion, @isddSI, @detalle, 1, getdate())
end
end
END
IF (@accion = 'TIENE_SCORE_IC')
BEGIN
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'informeComercial'
AND isnull(LN_productos.country_code,'') != 'AR'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_IC'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
select LN_contraparte_indicadores.contraparte as contraparte, LN_contraparte_indicadores.valor_numerico as valor
FROM LN_contraparte_indicadores
inner join LN_gestiones on LN_gestiones.contraparte = ln_contraparte_indicadores.contraparte
inner join ln_contrapartes on ln_contrapartes.contraparte = ln_contraparte_indicadores.contraparte
WHERE LN_gestiones.desde <= GETDATE()
AND LN_gestiones.hasta >= GETDATE()
AND LN_contraparte_indicadores.indicador = @isddSI
AND LN_contraparte_indicadores.visible = 1
AND LN_contrapartes.cliente = @p_cliente
end
END
/* Rep Risk */
IF (@accion = 'BORRAR_SCORE_RR') BEGIN
SELECT @gestion = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
select @cliente = cliente
FROM LN_contrapartes
WHERE contraparte = @p_contraparte
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @cliente
AND LN_productos.producto_id = 'RepRisk'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_RR'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
end
END
IF (@accion = 'UPDATE_SCORE_RR')
BEGIN
SELECT @gestion = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
select @cliente = cliente
FROM LN_contrapartes
WHERE contraparte = @p_contraparte
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @cliente
AND LN_productos.producto_id = 'RepRisk'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_RR'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
select @texto = texto, @memo = texto_largo
from ln_cliente_nivel where indicador = @isddSI and cliente = @cliente
and desde = @p_score
if not exists (select * FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
AND visible = 1)
begin
--select 'graba', @p_contraparte, @gestion, @isddSI, @p_score, GETDATE(), 1
insert into LN_contraparte_indicadores
(contraparte,gestion,indicador,valor_numerico,valor_texto,valor_memo,created,visible)
values
(@p_contraparte, @gestion, @isddSI, @p_score, @texto, @memo, GETDATE(), 1)
end
else
begin
-- select 'update', @p_contraparte, @gestion, @isddSI, @p_score, GETDATE(), 1
UPDATE LN_contraparte_indicadores
set valor_numerico = @p_score, modified = getdate(),
valor_texto = @texto,
valor_memo = @memo
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
end
end
if (@p_score != -100)
begin
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
end
if (@p_score = -100)
begin
set @detalle = convert(varchar(max),@p_analisis)
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer != isnull(@detalle,'')
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
if (isnull(@detalle,'')!= '')
begin
if not exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer = isnull(@detalle,'')
and visible = 1)
insert into ln_score_detalle_killer
(contraparte, gestion, indicador, detalle_killer, visible, created)
values (@p_contraparte, @gestion, @isddSI, @detalle, 1, getdate())
end
end
END
IF (@accion = 'TIENE_SCORE_RR')
BEGIN
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'reprisk'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_RR'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
select LN_contraparte_indicadores.contraparte as contraparte, LN_contraparte_indicadores.valor_numerico as valor
FROM LN_contraparte_indicadores
inner join LN_gestiones on LN_gestiones.contraparte = ln_contraparte_indicadores.contraparte
inner join ln_contrapartes on ln_contrapartes.contraparte = ln_contraparte_indicadores.contraparte
WHERE LN_gestiones.desde <= GETDATE()
AND LN_gestiones.hasta >= GETDATE()
AND LN_contraparte_indicadores.indicador = @isddSI
AND LN_contraparte_indicadores.visible = 1
AND LN_contrapartes.cliente = @p_cliente
end
END
/**/
if (@accion = 'activar') begin
select @gestion = LN_gestiones.gestion
from LN_gestiones
inner join LN_contrapartes on LN_gestiones.contraparte = LN_contrapartes.contraparte
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
where LN_gestiones.contraparte = @p_contraparte
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
if not exists (select LN_demo.contraparte, LN_demo.gestion
from LN_demo
where LN_demo.contraparte = @p_contraparte
and LN_demo.gestion = @gestion
and LN_demo.producto = @p_producto)
INSERT INTO LN_demo
(contraparte, gestion, producto, visible, fecha_publicacion)
VALUES
(@p_contraparte, @gestion, @producto, 1, CONVERT(date, getdate()))
else
UPDATE LN_demo SET LN_demo.visible = 1, fecha_publicacion = CONVERT(date, getdate())
where LN_demo.contraparte = @p_contraparte
and LN_demo.gestion = @gestion
and LN_demo.producto = @p_producto
EXEC LN_demo_ 'actualizar_fecha_publicacion', @p_contraparte, NULL, @p_producto
end
if (@accion = 'desactivar') begin
select @gestion = LN_gestiones.gestion
from LN_gestiones
inner join LN_contrapartes on LN_gestiones.contraparte = LN_contrapartes.contraparte
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
where LN_gestiones.contraparte = @p_contraparte
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
if not exists (select LN_demo.contraparte, LN_demo.gestion
from LN_demo
where LN_demo.contraparte = @p_contraparte
and LN_demo.gestion = @gestion
and LN_demo.producto = @p_producto)
INSERT INTO LN_demo
(contraparte, gestion, producto, visible)
VALUES
(@p_contraparte, @gestion, @p_producto, 0)
else
UPDATE LN_demo SET LN_demo.visible = 0, fecha_publicacion = null
where LN_demo.contraparte = @p_contraparte
and LN_demo.gestion = @gestion
and LN_demo.producto = @p_producto
EXEC LN_demo_ 'actualizar_fecha_publicacion', @p_contraparte, NULL, @p_producto
end
/*********** Acciones para generación de informes en producción relacionados al producto LED *********/
/* Dada la contraparte, obtener qué usuarios pueden figurar como solicitante del nuevo informe */
if (@accion = 'usuarios_solicitantes') begin
if (@p_contraparte is not null)
select users.user_id, users.first_name, users.last_name, users.email
from users inner join clientes_usuarios on users.user_id = clientes_usuarios.user_id
inner join grupos_clientes on clientes_usuarios.cliente = grupos_clientes.cliente
inner join LN_contrapartes on grupos_clientes.cliente = LN_contrapartes.cliente
where LN_contrapartes.contraparte = @p_contraparte
and users.active_user = 'Y'
else if (@p_cliente is not null)
select users.user_id, users.first_name, users.last_name, users.email
from users inner join clientes_usuarios on users.user_id = clientes_usuarios.user_id
inner join grupos_clientes on clientes_usuarios.cliente = grupos_clientes.cliente
where clientes_usuarios.cliente = @p_cliente
and users.active_user = 'Y'
order by users.first_name, users.last_name
end
if (@accion = 'prioridades') begin
select prioridad, nombre_prioridad from prioridades order by prioridad
end
/* Dada una contraparte y producto, obtener los datos completos del informe vinculado */
if (@accion = 'datos_informe') begin
select informes.informe, informes.estado_informe, informes.historial_informe, informes.id_tipo_informe,
convert(varchar,informes.fecha_ingreso,103) as fecha_ingreso,
convert(varchar,informes.fecha_asignado,103) as fecha_asignado,
convert(varchar,informes.fecha_aceptacion,103) as fecha_aceptacion,
convert(varchar,informes.fecha_estimada,103) as fecha_estimada,
convert(varchar,informes.fecha_iniciado,103) as fecha_iniciado,
convert(varchar,informes.fecha_entregado,103) as fecha_entregado,
convert(varchar,informes.fecha_aprobacion,103) as fecha_aprobacion,
informes.cliente, clientes.nombre_cliente, informes.identificador, informes.numero, identificadores.abreviatura,
identificadores.country_code, country.country_name, informes.prioridad, informes.filial,
informes.ingresado_por, informes.asignado, informes.datamanager, informes.idioma, informes.moneda, informes.precio,
monedas.nombre_moneda, idiomas.nombre_idioma, idiomas.codigo_idioma, prioridades.nombre_prioridad,
users.first_name + ' ' + users.last_name as solicitado_por_usuario,
users2.first_name + ' ' + users2.last_name as asignado_usuario,
users3.first_name + ' ' + users3.last_name as datamanager_usuario,
case
when informes.estado_informe = 'X' then 'Carga comercial'
when informes.estado_informe = 'I' then 'Ingresado'
when informes.estado_informe = 'A' then 'Asignado'
when informes.estado_informe = 'T' then 'Aceptado'
when informes.estado_informe = 'P' then 'En gestión'
when informes.estado_informe = 'W' then 'En espera'
when informes.estado_informe = 'E' then 'En proceso'
when informes.estado_informe = 'M' then 'A completar'
when informes.estado_informe = 'F' then 'Finalizado'
when informes.estado_informe = 'K' then 'Aprobado'
when informes.estado_informe = 'C' then 'Cancelado'
when informes.estado_informe = 'N' then 'Anulado'
when informes.estado_informe = 'R' then 'Rechazado'
else NULL
end as nombre_estado
from informes
inner join clientes on informes.cliente = clientes.cliente
inner join padrones on (informes.identificador = padrones.identificador and informes.numero = padrones.identificacion)
inner join identificadores on informes.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join monedas on (isnull(informes.moneda,'ARS') = monedas.moneda)
inner join idiomas on informes.idioma = idiomas.idioma
inner join prioridades on informes.prioridad = prioridades.prioridad
inner join LN_demo on informes.informe = LN_demo.informe
inner join LN_gestiones on (LN_demo.contraparte = LN_gestiones.contraparte
and LN_demo.gestion = LN_gestiones.gestion)
inner join users on informes.ingresado_por = users.user_id
left outer join users as users2 on informes.asignado = users2.user_id
left outer join users as users3 on informes.datamanager = users3.user_id
where LN_demo.contraparte = @p_contraparte
and LN_demo.producto = @p_producto
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
end
--pato
IF(@accion ='select_prod_dossier')
BEGIN
SELECT
LN_contrapartes.contraparte, LN_gestiones.gestion, LN_contrapartes.inicio_actividades,
/*
CONVERT(VARCHAR, LN_contrapartes.inicio_actividades,103) AS inicio_actividades_dmy,
LN_contrapartes.empleados, LN_contrapartes.resenia,
*/
CONVERT(VARCHAR, ln_demo.inicio_actividades,103) AS inicio_actividades_dmy,
ln_demo.empleados, ln_demo.resenia,
LN_demo.status_formales, LN_demo.status_relaciones, LN_demo.status_comerciales, LN_demo.status_fiscales, LN_demo.status_legales,
LN_demo.status_bancos, LN_demo.status_comex, LN_demo.status_contables, LN_demo.status_prensa, LN_demo.status_peps,
LN_demo.analisis, LN_demo.pep_html, LN_demo.visible, LN_demo.producto,
substring(convert(varchar(10),LN_contrapartes.inicio_actividades,103),4,7) as mes_inicio
FROM LN_contrapartes
inner join LN_demo on LN_contrapartes.contraparte = LN_demo.contraparte
inner join LN_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte and LN_demo.gestion = LN_gestiones.gestion)
inner join LN_productos on LN_demo.producto = LN_productos.producto
WHERE LN_demo.contraparte = @p_contraparte and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and LN_productos.producto = @p_producto
END
/* Dada una contraparte y producto, se chequea el estado del informe vinculado. En caso de existir un informe,
éste debe estar Aprobado (estado_informe= 'K') para permitirse la publicación a la web www del producto LED
Devuelve un query con una columna 'publicar' con valor 1 si se puede publicar o 0 si no se puede publicar
*/
if (@accion = 'verificar_publicacion_producto') begin
if (@p_contraparte is not null AND @p_producto is not null) begin
declare @informe_vinculado int = NULL
if exists (select informes.informe
from LN_demo inner join informes on LN_demo.informe = informes.informe
inner join LN_gestiones on (LN_demo.contraparte = LN_gestiones.contraparte
and LN_demo.gestion = LN_gestiones.gestion)
where LN_demo.contraparte = @p_contraparte
and LN_demo.producto = @p_producto
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and informes.estado_informe = 'K') begin
-- informe aprobado vinculado en producción
select 1 AS publicar
end
else begin
select @informe_vinculado = LN_demo.informe
from LN_demo
inner join LN_gestiones on (LN_demo.contraparte = LN_gestiones.contraparte
and LN_demo.gestion = LN_gestiones.gestion)
where LN_demo.contraparte = @p_contraparte
and LN_demo.producto = @p_producto
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
-- si no hay informe en producción vinculado debo dejar publicar, si hay es porque no está aprobado entonces no puede publicar
select iif(@informe_vinculado is null, 1, 0) as publicar
end
end
end
/*** Actualizar el indicador de fecha de publicación del producto (requiere contraparte y producto) ***/
if (@accion = 'actualizar_fecha_publicacion') begin
if (@p_contraparte is not null AND @p_producto is not null) begin
declare @fecha_pub date = NULL, @vis tinyint
select @fecha_pub = LN_demo.fecha_publicacion,
@gest = LN_demo.gestion,
@vis = LN_demo.visible
from LN_demo inner join LN_gestiones on
(LN_demo.contraparte = LN_gestiones.contraparte
and LN_demo.gestion = LN_gestiones.gestion)
where LN_demo.contraparte = @p_contraparte
and LN_demo.producto = @p_producto
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
if (@gest is not null) begin
declare @indicador int = null
select @indicador = LN_indicadores.indicador
from LN_indicadores inner join LN_cliente_productos
on LN_indicadores.producto = LN_cliente_productos.producto
inner join LN_contrapartes on LN_cliente_productos.cliente = LN_contrapartes.cliente
inner join LN_contraparte_familias on LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
inner join LN_familia_productos on (LN_contraparte_familias.familia = LN_familia_productos.familia
and LN_cliente_productos.producto = LN_familia_productos.producto)
where LN_indicadores.producto = @p_producto
and LN_contrapartes.contraparte = @p_contraparte
and LN_cliente_productos.activo = 1
and LN_familia_productos.activo = 1
and LN_contraparte_familias.activo = 1
and LN_indicadores.clave_indicador = 'FECHA_PUBLICACION'
if (@indicador is not null) begin
if (@fecha_pub is not null AND @vis = 1) begin
if not exists (select LN_contraparte_indicadores.valor_fecha
from LN_contraparte_indicadores
where LN_contraparte_indicadores.contraparte = @p_contraparte
and LN_contraparte_indicadores.gestion = @gest
and LN_contraparte_indicadores.indicador = @indicador)
insert into LN_contraparte_indicadores
(contraparte, gestion, indicador, valor_fecha, visible, created, created_by)
values
(@p_contraparte, @gest, @indicador, @fecha_pub, 1, GETDATE(), @p_user_id)
else
update LN_contraparte_indicadores set
valor_fecha = @fecha_pub,
visible = 1,
modified = GETDATE(),
modified_by = @p_user_id
where contraparte = @p_contraparte
and gestion = @gest
and indicador = @indicador
end
else
delete from LN_contraparte_indicadores
where contraparte = @p_contraparte
and gestion = @gest
and indicador = @indicador
SELECT convert(varchar(10), @fecha_pub, 103) as fecha_publicacion
end
end
end
end
IF (@accion = 'UPDATE_SCORE_VRM')
BEGIN
SELECT @gestion = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
select @cliente = cliente
FROM LN_contrapartes
WHERE contraparte = @p_contraparte
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @cliente
AND LN_productos.producto_id = 'ScoreVrm'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'Score_VRM'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
select @numero = desde, @memo = texto_largo
from ln_cliente_nivel where indicador = @isddSI and cliente = @cliente
and texto = @p_score_txt
if not exists (select * FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
AND visible = 1)
begin
insert into LN_contraparte_indicadores
(contraparte,gestion,indicador,valor_numerico,valor_texto,valor_memo,created,visible)
values
(@p_contraparte, @gestion, @isddSI, @numero, @p_score_txt, @memo, GETDATE(), 1)
end
else
begin
UPDATE LN_contraparte_indicadores
set valor_numerico = @numero,
modified = getdate(),
valor_texto = @p_score_txt,
valor_memo = @memo
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
end
end
if (@numero != -100)
begin
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
end
if (@numero = -100)
begin
set @detalle = 'DICTAMEN VRM: ' + @memo
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer != isnull(@detalle,'')
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
if (isnull(@detalle,'')!= '')
begin
if not exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer = isnull(@detalle,'')
and visible = 1)
insert into ln_score_detalle_killer
(contraparte, gestion, indicador, detalle_killer, visible, created)
values (@p_contraparte, @gestion, @isddSI, @detalle, 1, getdate())
end
end
END
END
GO
GO
-- exec ln_demo_ 'seleccionar_informe',218469
CREATE OR ALTER PROCEDURE dbo.LN_demo_
@accion varchar(50) = null,
@p_contraparte int = null,
@p_cliente int = null,
@p_producto int = null,
@p_inicio_actividades date = NULL,
@p_empleados int = NULL,
@p_resenia text = NULL,
@p_status_formales varchar(1) = NULL,
@p_status_relaciones varchar(1) = NULL,
@p_status_comerciales varchar(1) = NULL,
@p_status_fiscales varchar(1) = NULL,
@p_status_legales varchar(1) = NULL,
@p_status_bancos varchar(1) = NULL,
@p_status_comex varchar(1) = NULL,
@p_status_contables varchar(1) = NULL,
@p_status_prensa varchar(1) = NULL,
@p_status_peps varchar(1) = NULL,
@p_analisis text = NULL,
@p_score int = NULL,
@p_informe int = NULL,
@gest int = NULL,
@p_visible int = NULL,
@p_user_id int = NULL,
@p_familia int = null,
@p_score_txt varchar(max) = null,
@p_integ_carga tinyint = 0,
@p_integ_verif tinyint = 0,
@p_integ_rech tinyint = 0,
@p_docs_ok bit = 0
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
--DECLARE @gest int = null
IF (@accion = 'ACTUALIZAR_INTEGRIDADES')
BEGIN
UPDATE LN_demo
SET docs_ok=@p_docs_ok,
integ_carga=@p_integ_carga,
integ_verif=@p_integ_verif,
integ_rech=@p_integ_rech
WHERE
contraparte=@p_contraparte
AND LN_demo.gestion=@gest;
--
RETURN;
END
IF (@accion = 'SELECCIONAR_INFORME')
BEGIN
if @gest is null
begin
select @gest = gestion from ln_gestiones where contraparte = @p_contraparte and vigente = 1
end
SELECT informes.id_tipo_informe,LN_tipo_informes.nombre_tipo_informe,
LN_demo.informe,
LN_demo.gestion,
LN_demo.idteam,
LN_demo.visible, ln_demo.producto, integ_verif , integ_rech, integ_carga , docs_ok, producto
FROM LN_demo inner join informes on ln_demo.informe = informes.informe
inner join LN_tipo_informes on informes.id_tipo_informe=LN_tipo_informes.idTipoInforme
WHERE
LN_demo.contraparte=@p_contraparte
AND LN_demo.gestion=@gest;
RETURN;
END
IF ( @accion='ACTUALIZAR_INTEGRIDAD' )
BEGIN
UPDATE LN_demo
SET integ_carga=@p_integ_carga,integ_rech=@p_integ_rech,integ_verif=@p_integ_verif,docs_ok=@p_docs_ok
WHERE informe=@p_informe
AND contraparte=@p_contraparte
AND gestion=@gest
AND producto=@p_producto;
--
RETURN;
END
IF (@accion = 'check_prensa_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'Prensa'
-- AND isnull(lN_productos.country_code,'') != 'AR'
END
IF (@accion = 'check_infexterior_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'informeComercial'
AND isnull(country_code,'') != 'AR'
END
IF (@accion = 'check_dossier_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND (LN_productos.producto_id = 'dossierdemo' OR LN_productos.producto_id = 'legajo')
/* and LN_cliente_productos.activo=1 and LN_productos.visible=1
AND (LN_productos.producto_id = 'dossierdemo' OR LN_productos.producto_id = 'legajo' or LN_productos.dossier=1)
*/
END
IF (@accion = 'check_business_report_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'businessreport'
END
IF (@accion = 'check_wordcheck_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'wordcheck'
END
IF (@accion = 'check_wordcheck_familias') BEGIN
SELECT LN_familias.familia as familia, LN_familias.nombre_familia
FROM ln_familias
inner join LN_familia_productos on LN_familia_productos.familia = LN_familias.familia
inner join ln_productos on LN_productos.producto = LN_familia_productos.producto
WHERE LN_familia_productos.activo = 1
AND ln_familias.cliente = @p_cliente
AND LN_productos.producto_id = 'wordcheck'
END
IF (@accion = 'check_scorevrm_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'ScoreVrm'
END
IF (@accion = 'check_scorevrm_familias') BEGIN
SELECT LN_familias.familia as familia, LN_familias.nombre_familia
FROM ln_familias
inner join LN_familia_productos on LN_familia_productos.familia = LN_familias.familia
inner join ln_productos on LN_productos.producto = LN_familia_productos.producto
WHERE LN_familia_productos.activo = 1
AND ln_familias.cliente = @p_cliente
AND LN_productos.producto_id = 'ScoreVrm'
END
IF (@accion = 'check_fidecheck_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'fidecheck'
END
IF (@accion = 'check_inquirovitae_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'inquiroVitae'
END
IF (@accion = 'check_infexterior_contraparte') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_productos.producto_id = 'informeComercial'
AND isnull(lN_productos.country_code,'') != 'AR'
END
IF (@accion = 'check_dossier_contraparte') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
AND (LN_productos.producto_id = 'dossierdemo' OR LN_productos.producto_id = 'legajo')
END
IF (@accion = 'check_business_report_contraparte') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_productos.producto_id = 'businessreport'
END
IF (@accion = 'check_inquiro_vitae_contraparte') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_productos.producto_id = 'inquiroVitae'
END
IF (@accion = 'check_reprisk_cliente') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'reprisk'
END
IF (@accion = 'check_reprisk_familias') BEGIN
SELECT LN_familias.familia as familia, LN_familias.nombre_familia
FROM ln_familias
inner join LN_familia_productos on LN_familia_productos.familia = LN_familias.familia
inner join ln_productos on LN_productos.producto = LN_familia_productos.producto
WHERE LN_familia_productos.activo = 1
AND ln_familias.cliente = @p_cliente
AND LN_productos.producto_id = 'reprisk'
END
IF (@accion = 'check_reprisk_contraparte') BEGIN
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_productos.producto_id = 'reprisk'
END
IF (@accion = 'reports') BEGIN
if (@p_contraparte is not null)
SELECT LN_productos.producto, LN_productos.nombre_producto, ISNULL(LN_productos.visible_brief, 0) as visible_brief
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_cliente_productos.activo = 1
AND LN_familias.visible = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.contraparte = @p_contraparte
--AND LN_productos.producto_id IN ('dossierdemo', 'businessreport')
AND LN_productos.dossier = 1
ORDER BY LN_productos.nombre_producto
else
if (@p_cliente is not null)
begin
if (@p_familia is null)
begin
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos
inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
--AND LN_productos.producto_id IN ('dossierdemo', 'businessreport')
AND LN_productos.dossier = 1
ORDER BY LN_productos.nombre_producto
end
else
begin
SELECT LN_productos.producto, LN_productos.nombre_producto
FROM LN_productos
inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
inner join LN_familia_productos on
LN_familia_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
--AND LN_productos.producto_id IN ('dossierdemo', 'businessreport')
AND LN_productos.dossier = 1
and LN_familia_productos.familia = @p_familia
and LN_familia_productos.activo = 1
ORDER BY LN_productos.nombre_producto
end
end
END
IF (@accion = 'UPDATE')
BEGIN
SELECT @gest = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
/*
select @p_contraparte contraparte,
@gest gestion,
@p_producto producto,
@p_inicio_actividades inicio,
@p_empleados empleados,
@p_resenia resenia
*/
if (@gest is not null)
begin
declare @visible_ant tinyint = 0
if not exists ( select LN_demo.contraparte, LN_demo.gestion
from LN_demo
where LN_demo.contraparte = @p_contraparte
and LN_demo.gestion = @gest
and LN_demo.producto = @p_producto )
begin
INSERT INTO LN_demo
(contraparte, gestion, producto, inicio_actividades, empleados, resenia, status_formales, status_relaciones, status_comerciales, status_fiscales, status_legales, status_bancos, status_comex, status_contables, status_prensa, status_peps, analisis, informe, visible, fecha_publicacion)
VALUES
(@p_contraparte, @gest, @p_producto, @p_inicio_actividades, @p_empleados, @p_resenia, @p_status_formales, @p_status_relaciones, @p_status_comerciales, @p_status_fiscales, @p_status_legales, @p_status_bancos, @p_status_comex, @p_status_contables, @p_status_prensa, @p_status_peps, @p_analisis, @p_informe, @p_visible, iif(@p_visible > 0, CONVERT(date, getdate()), NULL))
end
else
begin
select @visible_ant = visible
from LN_demo
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND producto = @p_producto
UPDATE LN_demo SET
inicio_actividades = @p_inicio_actividades,
empleados = @p_empleados,
resenia = @p_resenia,
status_formales = @p_status_formales,
status_relaciones = @p_status_relaciones,
status_comerciales = @p_status_comerciales,
status_fiscales = @p_status_fiscales,
status_legales = @p_status_legales,
status_bancos = @p_status_bancos,
status_comex = @p_status_comex,
status_contables = @p_status_contables,
status_prensa = @p_status_prensa,
status_peps = @p_status_peps,
analisis = @p_analisis,
informe = @p_informe,
visible = @p_visible,
fecha_publicacion = iif(@p_visible > 0, CONVERT(date, getdate()), NULL),
integ_carga = @p_integ_carga,
integ_verif = @p_integ_verif,
integ_rech = @p_integ_rech,
docs_ok = @p_docs_ok
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND producto = @p_producto
end
end
if (@visible_ant != @p_visible)
begin
EXEC LN_demo_ 'actualizar_fecha_publicacion', @p_contraparte, NULL, @p_producto
end
END
IF (@accion = 'SELECT') BEGIN
SELECT LN_demo.contraparte, LN_demo.gestion,
LN_demo.status_formales, LN_demo.status_relaciones, LN_demo.status_comerciales, LN_demo.status_fiscales, LN_demo.status_legales,
LN_demo.status_bancos, LN_demo.status_comex, LN_demo.status_contables, LN_demo.status_prensa,
LN_demo.status_peps, LN_demo.analisis, LN_demo.pep_html, LN_demo.visible, LN_demo.producto, LN_demo.informe,
/*
CONVERT(varchar(10), LN_contrapartes.inicio_actividades, 103) as inicio_actividades_dmy,
LN_contrapartes.empleados, LN_contrapartes.resenia, */
CONVERT(varchar(10), LN_demo.inicio_actividades, 103) as inicio_actividades_dmy,
LN_demo.empleados, LN_demo.resenia,
LN_gestiones.desde, LN_gestiones.hasta,ln_demo.informe
FROM LN_demo inner join LN_gestiones on (LN_demo.contraparte = LN_gestiones.contraparte
and LN_demo.gestion = LN_gestiones.gestion)
INNER JOIN LN_contrapartes ON LN_demo.contraparte = LN_contrapartes.contraparte
WHERE LN_demo.contraparte = @p_contraparte
AND LN_demo.producto = @p_producto
AND LN_gestiones.desde <= GETDATE()
AND LN_gestiones.hasta >= GETDATE()
END
IF (@accion = 'DELETE') BEGIN
SELECT @gest = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
if (@gest is not null) begin
/** Cancelo informe de producción asociado en caso de existir (sólo se cancelará si no está iniciado) **/
declare @informe int = NULL
select @informe = informe from LN_demo
where contraparte = @p_contraparte
and gestion = @gest
and producto = @p_producto
DELETE FROM LN_demo
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND producto = @p_producto
DECLARE @producto_id varchar(50)
SELECT @producto_id = producto_id FROM LN_productos WHERE producto = @p_producto
if (@producto_id = 'dossierdemo') begin
EXEC LN_demo_ 'BORRAR_SCORE_DOSSIER', @p_contraparte, @p_producto
EXEC LN_demo_ 'BORRAR_NIVEL_RIESGO', @p_contraparte, @p_producto
EXEC LN_demo_ 'BORRAR_DEP_ECON', @p_contraparte, @p_producto
end
if (@producto_id = 'businessreport') begin
EXEC LN_demo_ 'BORRAR_SCORE_BR', @p_contraparte, @p_producto
end
end
END
IF (@accion = 'BORRAR_SCORE_DOSSIER') BEGIN
SELECT @gest = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
if (@gest is not null) begin
DECLARE @isdd int = null
SELECT @isdd = LN_indicadores.indicador
FROM LN_indicadores
INNER JOIN LN_familia_productos on LN_indicadores.producto = LN_familia_productos.producto
INNER JOIN LN_contraparte_familias on LN_familia_productos.familia = LN_contraparte_familias.familia
INNER JOIN LN_contrapartes ON LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
INNER JOIN LN_cliente_productos ON (LN_contrapartes.cliente = LN_cliente_productos.cliente
AND LN_indicadores.producto = LN_cliente_productos.producto)
WHERE LN_indicadores.clave_indicador = 'SCORE_DOSSIER'
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.activo = 1
AND LN_cliente_productos.activo = 1
if (@isdd is not null)
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND indicador = @isdd
end
END
IF (@accion = 'BORRAR_NIVEL_RIESGO') BEGIN
IF(@gest = NULL)
BEGIN
SELECT gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
END
if (@gest is not null) begin
DECLARE @inr int = null
SELECT @inr = LN_indicadores.indicador
FROM LN_indicadores
INNER JOIN LN_familia_productos on LN_indicadores.producto = LN_familia_productos.producto
INNER JOIN LN_contraparte_familias on LN_familia_productos.familia = LN_contraparte_familias.familia
INNER JOIN LN_contrapartes ON LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
INNER JOIN LN_cliente_productos ON (LN_contrapartes.cliente = LN_cliente_productos.cliente
AND LN_indicadores.producto = LN_cliente_productos.producto)
WHERE LN_indicadores.clave_indicador = 'NIVEL_RIESGO'
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.activo = 1
AND LN_cliente_productos.activo = 1
if (@inr is not null)
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND indicador = @inr
end
END
IF (@accion = 'BORRAR_DEP_ECON') BEGIN
SELECT @gest = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
if (@gest is not null) begin
DECLARE @ide int = null
SELECT @ide = LN_indicadores.indicador
FROM LN_indicadores
INNER JOIN LN_familia_productos on LN_indicadores.producto = LN_familia_productos.producto
INNER JOIN LN_contraparte_familias on LN_familia_productos.familia = LN_contraparte_familias.familia
INNER JOIN LN_contrapartes ON LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
INNER JOIN LN_cliente_productos ON (LN_contrapartes.cliente = LN_cliente_productos.cliente
AND LN_indicadores.producto = LN_cliente_productos.producto)
WHERE LN_indicadores.clave_indicador = 'DEP_ECON'
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.activo = 1
AND LN_cliente_productos.activo = 1
if (@ide is not null)
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND indicador = @ide
end
END
IF (@accion = 'BORRAR_SCORE_BR') BEGIN
SELECT @gest = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
if (@gest is not null) begin
DECLARE @isbr int = null
SELECT @isbr = LN_indicadores.indicador
FROM LN_indicadores
INNER JOIN LN_familia_productos on LN_indicadores.producto = LN_familia_productos.producto
INNER JOIN LN_contraparte_familias on LN_familia_productos.familia = LN_contraparte_familias.familia
INNER JOIN LN_contrapartes ON LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
INNER JOIN LN_cliente_productos ON (LN_contrapartes.cliente = LN_cliente_productos.cliente
AND LN_indicadores.producto = LN_cliente_productos.producto)
WHERE LN_indicadores.clave_indicador = 'SCORE_BR'
AND LN_contraparte_familias.contraparte = @p_contraparte
AND LN_familia_productos.activo = 1
AND LN_contraparte_familias.activo = 1
AND LN_cliente_productos.activo = 1
if (@isbr is not null)
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND indicador = @isbr
end
END
if (@accion = 'actualizar_analisis') begin
if (@p_contraparte is not null AND @p_producto is not null) begin
UPDATE LN_demo SET analisis = @p_analisis
FROM LN_demo
INNER JOIN LN_gestiones ON LN_demo.contraparte = LN_gestiones.contraparte
WHERE LN_demo.contraparte = @p_contraparte
AND LN_demo.producto = @p_producto
AND LN_gestiones.desde <= GETDATE()
AND LN_gestiones.hasta >= GETDATE()
end
end
/***************************************************************************************************************/
declare @cliente int = null
declare @gestion int = null
declare @producto int = null
declare @isddSI int = null
declare @detalle varchar(max) = null
declare @texto varchar(max) = null
declare @memo varchar(max) = null
declare @numero int = null
IF (@accion = 'BORRAR_SCORE_IC') BEGIN
SELECT @gestion = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
select @cliente = cliente
FROM LN_contrapartes
WHERE contraparte = @p_contraparte
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @cliente
AND LN_productos.producto_id = 'informeComercial'
AND isnull(country_code,'') != 'AR'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_IC'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
end
END
IF (@accion = 'UPDATE_SCORE_IC')
BEGIN
SELECT @gestion = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
select @cliente = cliente
FROM LN_contrapartes
WHERE contraparte = @p_contraparte
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @cliente
AND LN_productos.producto_id = 'informeComercial'
AND isnull(country_code,'') != 'AR'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_IC'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
if not exists (select * FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
AND visible = 1)
begin
--select 'graba', @p_contraparte, @gestion, @isddSI, @p_score, GETDATE(), 1
insert into LN_contraparte_indicadores
(contraparte,gestion,indicador,valor_numerico,valor_memo,created,visible)
values
(@p_contraparte, @gestion, @isddSI, @p_score, @p_analisis, GETDATE(), 1)
end
else
begin
-- select 'update', @p_contraparte, @gestion, @isddSI, @p_score, GETDATE(), 1
UPDATE LN_contraparte_indicadores
set valor_numerico = @p_score, modified = getdate(),
valor_memo = @p_analisis
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
end
end
if (@p_score != -100)
begin
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
end
if (@p_score = -100)
begin
set @detalle = convert(varchar(max),@p_analisis)
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer != isnull(@detalle,'')
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
if (isnull(@detalle,'')!= '')
begin
if not exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer = isnull(@detalle,'')
and visible = 1)
insert into ln_score_detalle_killer
(contraparte, gestion, indicador, detalle_killer, visible, created)
values (@p_contraparte, @gestion, @isddSI, @detalle, 1, getdate())
end
end
END
IF (@accion = 'TIENE_SCORE_IC')
BEGIN
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'informeComercial'
AND isnull(LN_productos.country_code,'') != 'AR'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_IC'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
select LN_contraparte_indicadores.contraparte as contraparte, LN_contraparte_indicadores.valor_numerico as valor
FROM LN_contraparte_indicadores
inner join LN_gestiones on LN_gestiones.contraparte = ln_contraparte_indicadores.contraparte
inner join ln_contrapartes on ln_contrapartes.contraparte = ln_contraparte_indicadores.contraparte
WHERE LN_gestiones.desde <= GETDATE()
AND LN_gestiones.hasta >= GETDATE()
AND LN_contraparte_indicadores.indicador = @isddSI
AND LN_contraparte_indicadores.visible = 1
AND LN_contrapartes.cliente = @p_cliente
end
END
/* Rep Risk */
IF (@accion = 'BORRAR_SCORE_RR') BEGIN
SELECT @gestion = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
select @cliente = cliente
FROM LN_contrapartes
WHERE contraparte = @p_contraparte
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @cliente
AND LN_productos.producto_id = 'RepRisk'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_RR'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
DELETE FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
end
END
IF (@accion = 'UPDATE_SCORE_RR')
BEGIN
SELECT @gestion = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
select @cliente = cliente
FROM LN_contrapartes
WHERE contraparte = @p_contraparte
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @cliente
AND LN_productos.producto_id = 'RepRisk'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_RR'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
select @texto = texto, @memo = texto_largo
from ln_cliente_nivel where indicador = @isddSI and cliente = @cliente
and desde = @p_score
if not exists (select * FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
AND visible = 1)
begin
--select 'graba', @p_contraparte, @gestion, @isddSI, @p_score, GETDATE(), 1
insert into LN_contraparte_indicadores
(contraparte,gestion,indicador,valor_numerico,valor_texto,valor_memo,created,visible)
values
(@p_contraparte, @gestion, @isddSI, @p_score, @texto, @memo, GETDATE(), 1)
end
else
begin
-- select 'update', @p_contraparte, @gestion, @isddSI, @p_score, GETDATE(), 1
UPDATE LN_contraparte_indicadores
set valor_numerico = @p_score, modified = getdate(),
valor_texto = @texto,
valor_memo = @memo
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
end
end
if (@p_score != -100)
begin
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
end
if (@p_score = -100)
begin
set @detalle = convert(varchar(max),@p_analisis)
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer != isnull(@detalle,'')
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
if (isnull(@detalle,'')!= '')
begin
if not exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer = isnull(@detalle,'')
and visible = 1)
insert into ln_score_detalle_killer
(contraparte, gestion, indicador, detalle_killer, visible, created)
values (@p_contraparte, @gestion, @isddSI, @detalle, 1, getdate())
end
end
END
IF (@accion = 'TIENE_SCORE_RR')
BEGIN
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @p_cliente
AND LN_productos.producto_id = 'reprisk'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'SCORE_RR'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
select LN_contraparte_indicadores.contraparte as contraparte, LN_contraparte_indicadores.valor_numerico as valor
FROM LN_contraparte_indicadores
inner join LN_gestiones on LN_gestiones.contraparte = ln_contraparte_indicadores.contraparte
inner join ln_contrapartes on ln_contrapartes.contraparte = ln_contraparte_indicadores.contraparte
WHERE LN_gestiones.desde <= GETDATE()
AND LN_gestiones.hasta >= GETDATE()
AND LN_contraparte_indicadores.indicador = @isddSI
AND LN_contraparte_indicadores.visible = 1
AND LN_contrapartes.cliente = @p_cliente
end
END
/**/
if (@accion = 'activar') begin
select @gestion = LN_gestiones.gestion
from LN_gestiones
inner join LN_contrapartes on LN_gestiones.contraparte = LN_contrapartes.contraparte
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
where LN_gestiones.contraparte = @p_contraparte
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
if not exists (select LN_demo.contraparte, LN_demo.gestion
from LN_demo
where LN_demo.contraparte = @p_contraparte
and LN_demo.gestion = @gestion
and LN_demo.producto = @p_producto)
INSERT INTO LN_demo
(contraparte, gestion, producto, visible, fecha_publicacion)
VALUES
(@p_contraparte, @gestion, @producto, 1, CONVERT(date, getdate()))
else
UPDATE LN_demo SET LN_demo.visible = 1, fecha_publicacion = CONVERT(date, getdate())
where LN_demo.contraparte = @p_contraparte
and LN_demo.gestion = @gestion
and LN_demo.producto = @p_producto
EXEC LN_demo_ 'actualizar_fecha_publicacion', @p_contraparte, NULL, @p_producto
end
if (@accion = 'desactivar') begin
select @gestion = LN_gestiones.gestion
from LN_gestiones
inner join LN_contrapartes on LN_gestiones.contraparte = LN_contrapartes.contraparte
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
where LN_gestiones.contraparte = @p_contraparte
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
if not exists (select LN_demo.contraparte, LN_demo.gestion
from LN_demo
where LN_demo.contraparte = @p_contraparte
and LN_demo.gestion = @gestion
and LN_demo.producto = @p_producto)
INSERT INTO LN_demo
(contraparte, gestion, producto, visible)
VALUES
(@p_contraparte, @gestion, @p_producto, 0)
else
UPDATE LN_demo SET LN_demo.visible = 0, fecha_publicacion = null
where LN_demo.contraparte = @p_contraparte
and LN_demo.gestion = @gestion
and LN_demo.producto = @p_producto
EXEC LN_demo_ 'actualizar_fecha_publicacion', @p_contraparte, NULL, @p_producto
end
/*********** Acciones para generación de informes en producción relacionados al producto LED *********/
/* Dada la contraparte, obtener qué usuarios pueden figurar como solicitante del nuevo informe */
if (@accion = 'usuarios_solicitantes') begin
if (@p_contraparte is not null)
select users.user_id, users.first_name, users.last_name, users.email
from users inner join clientes_usuarios on users.user_id = clientes_usuarios.user_id
inner join grupos_clientes on clientes_usuarios.cliente = grupos_clientes.cliente
inner join LN_contrapartes on grupos_clientes.cliente = LN_contrapartes.cliente
where LN_contrapartes.contraparte = @p_contraparte
and users.active_user = 'Y'
else if (@p_cliente is not null)
select users.user_id, users.first_name, users.last_name, users.email
from users inner join clientes_usuarios on users.user_id = clientes_usuarios.user_id
inner join grupos_clientes on clientes_usuarios.cliente = grupos_clientes.cliente
where clientes_usuarios.cliente = @p_cliente
and users.active_user = 'Y'
order by users.first_name, users.last_name
end
if (@accion = 'prioridades') begin
select prioridad, nombre_prioridad from prioridades order by prioridad
end
/* Dada una contraparte y producto, obtener los datos completos del informe vinculado */
if (@accion = 'datos_informe') begin
select informes.informe, informes.estado_informe, informes.historial_informe, informes.id_tipo_informe,
convert(varchar,informes.fecha_ingreso,103) as fecha_ingreso,
convert(varchar,informes.fecha_asignado,103) as fecha_asignado,
convert(varchar,informes.fecha_aceptacion,103) as fecha_aceptacion,
convert(varchar,informes.fecha_estimada,103) as fecha_estimada,
convert(varchar,informes.fecha_iniciado,103) as fecha_iniciado,
convert(varchar,informes.fecha_entregado,103) as fecha_entregado,
convert(varchar,informes.fecha_aprobacion,103) as fecha_aprobacion,
informes.cliente, clientes.nombre_cliente, informes.identificador, informes.numero, identificadores.abreviatura,
identificadores.country_code, country.country_name, informes.prioridad, informes.filial,
informes.ingresado_por, informes.asignado, informes.datamanager, informes.idioma, informes.moneda, informes.precio,
monedas.nombre_moneda, idiomas.nombre_idioma, idiomas.codigo_idioma, prioridades.nombre_prioridad,
users.first_name + ' ' + users.last_name as solicitado_por_usuario,
users2.first_name + ' ' + users2.last_name as asignado_usuario,
users3.first_name + ' ' + users3.last_name as datamanager_usuario,
case
when informes.estado_informe = 'X' then 'Carga comercial'
when informes.estado_informe = 'I' then 'Ingresado'
when informes.estado_informe = 'A' then 'Asignado'
when informes.estado_informe = 'T' then 'Aceptado'
when informes.estado_informe = 'P' then 'En gestión'
when informes.estado_informe = 'W' then 'En espera'
when informes.estado_informe = 'E' then 'En proceso'
when informes.estado_informe = 'M' then 'A completar'
when informes.estado_informe = 'F' then 'Finalizado'
when informes.estado_informe = 'K' then 'Aprobado'
when informes.estado_informe = 'C' then 'Cancelado'
when informes.estado_informe = 'N' then 'Anulado'
when informes.estado_informe = 'R' then 'Rechazado'
else NULL
end as nombre_estado
from informes
inner join clientes on informes.cliente = clientes.cliente
inner join padrones on (informes.identificador = padrones.identificador and informes.numero = padrones.identificacion)
inner join identificadores on informes.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join monedas on (isnull(informes.moneda,'ARS') = monedas.moneda)
inner join idiomas on informes.idioma = idiomas.idioma
inner join prioridades on informes.prioridad = prioridades.prioridad
inner join LN_demo on informes.informe = LN_demo.informe
inner join LN_gestiones on (LN_demo.contraparte = LN_gestiones.contraparte
and LN_demo.gestion = LN_gestiones.gestion)
inner join users on informes.ingresado_por = users.user_id
left outer join users as users2 on informes.asignado = users2.user_id
left outer join users as users3 on informes.datamanager = users3.user_id
where LN_demo.contraparte = @p_contraparte
and LN_demo.producto = @p_producto
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
end
--pato
IF(@accion ='select_prod_dossier')
BEGIN
SELECT
LN_contrapartes.contraparte, LN_gestiones.gestion, LN_contrapartes.inicio_actividades,
/*
CONVERT(VARCHAR, LN_contrapartes.inicio_actividades,103) AS inicio_actividades_dmy,
LN_contrapartes.empleados, LN_contrapartes.resenia,
*/
CONVERT(VARCHAR, ln_demo.inicio_actividades,103) AS inicio_actividades_dmy,
ln_demo.empleados, ln_demo.resenia,
LN_demo.status_formales, LN_demo.status_relaciones, LN_demo.status_comerciales, LN_demo.status_fiscales, LN_demo.status_legales,
LN_demo.status_bancos, LN_demo.status_comex, LN_demo.status_contables, LN_demo.status_prensa, LN_demo.status_peps,
LN_demo.analisis, LN_demo.pep_html, LN_demo.visible, LN_demo.producto,
substring(convert(varchar(10),LN_contrapartes.inicio_actividades,103),4,7) as mes_inicio
FROM LN_contrapartes
inner join LN_demo on LN_contrapartes.contraparte = LN_demo.contraparte
inner join LN_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte and LN_demo.gestion = LN_gestiones.gestion)
inner join LN_productos on LN_demo.producto = LN_productos.producto
WHERE LN_demo.contraparte = @p_contraparte and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and LN_productos.producto = @p_producto
END
/* Dada una contraparte y producto, se chequea el estado del informe vinculado. En caso de existir un informe,
éste debe estar Aprobado (estado_informe= 'K') para permitirse la publicación a la web www del producto LED
Devuelve un query con una columna 'publicar' con valor 1 si se puede publicar o 0 si no se puede publicar
*/
if (@accion = 'verificar_publicacion_producto') begin
if (@p_contraparte is not null AND @p_producto is not null) begin
declare @informe_vinculado int = NULL
if exists (select informes.informe
from LN_demo inner join informes on LN_demo.informe = informes.informe
inner join LN_gestiones on (LN_demo.contraparte = LN_gestiones.contraparte
and LN_demo.gestion = LN_gestiones.gestion)
where LN_demo.contraparte = @p_contraparte
and LN_demo.producto = @p_producto
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and informes.estado_informe = 'K') begin
-- informe aprobado vinculado en producción
select 1 AS publicar
end
else begin
select @informe_vinculado = LN_demo.informe
from LN_demo
inner join LN_gestiones on (LN_demo.contraparte = LN_gestiones.contraparte
and LN_demo.gestion = LN_gestiones.gestion)
where LN_demo.contraparte = @p_contraparte
and LN_demo.producto = @p_producto
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
-- si no hay informe en producción vinculado debo dejar publicar, si hay es porque no está aprobado entonces no puede publicar
select iif(@informe_vinculado is null, 1, 0) as publicar
end
end
end
/*** Actualizar el indicador de fecha de publicación del producto (requiere contraparte y producto) ***/
if (@accion = 'actualizar_fecha_publicacion') begin
if (@p_contraparte is not null AND @p_producto is not null) begin
declare @fecha_pub date = NULL, @vis tinyint
select @fecha_pub = LN_demo.fecha_publicacion,
@gest = LN_demo.gestion,
@vis = LN_demo.visible
from LN_demo inner join LN_gestiones on
(LN_demo.contraparte = LN_gestiones.contraparte
and LN_demo.gestion = LN_gestiones.gestion)
where LN_demo.contraparte = @p_contraparte
and LN_demo.producto = @p_producto
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
if (@gest is not null) begin
declare @indicador int = null
select @indicador = LN_indicadores.indicador
from LN_indicadores inner join LN_cliente_productos
on LN_indicadores.producto = LN_cliente_productos.producto
inner join LN_contrapartes on LN_cliente_productos.cliente = LN_contrapartes.cliente
inner join LN_contraparte_familias on LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
inner join LN_familia_productos on (LN_contraparte_familias.familia = LN_familia_productos.familia
and LN_cliente_productos.producto = LN_familia_productos.producto)
where LN_indicadores.producto = @p_producto
and LN_contrapartes.contraparte = @p_contraparte
and LN_cliente_productos.activo = 1
and LN_familia_productos.activo = 1
and LN_contraparte_familias.activo = 1
and LN_indicadores.clave_indicador = 'FECHA_PUBLICACION'
if (@indicador is not null) begin
if (@fecha_pub is not null AND @vis = 1) begin
if not exists (select LN_contraparte_indicadores.valor_fecha
from LN_contraparte_indicadores
where LN_contraparte_indicadores.contraparte = @p_contraparte
and LN_contraparte_indicadores.gestion = @gest
and LN_contraparte_indicadores.indicador = @indicador)
insert into LN_contraparte_indicadores
(contraparte, gestion, indicador, valor_fecha, visible, created, created_by)
values
(@p_contraparte, @gest, @indicador, @fecha_pub, 1, GETDATE(), @p_user_id)
else
update LN_contraparte_indicadores set
valor_fecha = @fecha_pub,
visible = 1,
modified = GETDATE(),
modified_by = @p_user_id
where contraparte = @p_contraparte
and gestion = @gest
and indicador = @indicador
end
else
delete from LN_contraparte_indicadores
where contraparte = @p_contraparte
and gestion = @gest
and indicador = @indicador
SELECT convert(varchar(10), @fecha_pub, 103) as fecha_publicacion
end
end
end
end
IF (@accion = 'UPDATE_SCORE_VRM')
BEGIN
SELECT @gestion = gestion
FROM LN_gestiones
WHERE contraparte = @p_contraparte
AND desde <= GETDATE()
AND hasta >= GETDATE()
select @cliente = cliente
FROM LN_contrapartes
WHERE contraparte = @p_contraparte
SELECT @producto = LN_productos.producto
FROM LN_productos inner join LN_cliente_productos on
LN_productos.producto = LN_cliente_productos.producto
WHERE LN_cliente_productos.activo = 1
AND LN_cliente_productos.cliente = @cliente
AND LN_productos.producto_id = 'ScoreVrm'
SELECT @isddSI = LN_indicadores.indicador
FROM LN_indicadores
WHERE LN_indicadores.clave_indicador = 'Score_VRM'
and LN_indicadores.producto = @producto
if (@isddSI is not null)
begin
select @numero = desde, @memo = texto_largo
from ln_cliente_nivel where indicador = @isddSI and cliente = @cliente
and texto = @p_score_txt
if not exists (select * FROM LN_contraparte_indicadores
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
AND visible = 1)
begin
insert into LN_contraparte_indicadores
(contraparte,gestion,indicador,valor_numerico,valor_texto,valor_memo,created,visible)
values
(@p_contraparte, @gestion, @isddSI, @numero, @p_score_txt, @memo, GETDATE(), 1)
end
else
begin
UPDATE LN_contraparte_indicadores
set valor_numerico = @numero,
modified = getdate(),
valor_texto = @p_score_txt,
valor_memo = @memo
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
end
end
if (@numero != -100)
begin
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
end
if (@numero = -100)
begin
set @detalle = 'DICTAMEN VRM: ' + @memo
if exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer != isnull(@detalle,'')
and visible = 1)
UPDATE LN_score_detalle_killer
set visible = 0, modified = getdate()
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
if (isnull(@detalle,'')!= '')
begin
if not exists (select * From ln_score_detalle_killer
where contraparte = @p_contraparte
and gestion = @gestion
and indicador = @isddSI
and detalle_killer = isnull(@detalle,'')
and visible = 1)
insert into ln_score_detalle_killer
(contraparte, gestion, indicador, detalle_killer, visible, created)
values (@p_contraparte, @gestion, @isddSI, @detalle, 1, getdate())
end
end
END
END
GO
Depends On
24- dbo.clientes
- dbo.clientes_usuarios
- dbo.country
- dbo.grupos_clientes
- dbo.identificadores
- dbo.idiomas
- dbo.informes
- dbo.LN_cliente_nivel
- dbo.LN_cliente_productos
- dbo.LN_contraparte_familias
- dbo.LN_contraparte_indicadores
- dbo.LN_contrapartes
- dbo.LN_demo
- dbo.LN_familia_productos
- dbo.LN_familias
- dbo.LN_gestiones
- dbo.LN_indicadores
- dbo.LN_productos
- dbo.ln_score_detalle_killer
- dbo.LN_tipo_informes
- dbo.monedas
- dbo.padrones
- dbo.prioridades
- dbo.users