Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
25| 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 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/*
exec ln_demo_ 'TIENE_SCORE_IC',NULL, 5546348
exec ln_demo_ 'reports',null,3920694
*/
-- Description: <Description,,>
-- =============================================
--EXEC LN_demo_ UPDATE,31288,,2002,1930-02-13,214,,V,A,R,V,A,R,V,A,R,V,<p><span style="text-align: center;">EMSICA S.R.L da inicio a sus actividades en el año 1981 como empresa de servicios en instrumentación y controlautomático, constituida en la ciudad de Bahía Blanca, brindando atención a todas las empresas del PoloPetroquímico .Manifiesta tener un plantel de 15 empleados y cumple regularmente con las obligaciones Previsionales y LaboralesNo se detectan contratos de Seguro de Riesgos del trabajo extinguidos por falta de pago.Opera con los bancos en forma normal. Presenta un incumplimiento fiscal según consta en Agencia de RecaudaciónTributaria de la Provincia de Río Negro ( situación 2).No se detectan eventos negativos de prensa ni compliance.Según los Estados Contables cerrados al 31/12/2017 las ventas mostraron un incremento interanual del 12%alcanzando un total de $34.384M versus $30.733M en el ejercicio anterior, aunque fue muy inferior a la inflación deperíodo por lo que se pude inferir un menor nivel de actividad. Esto ocasionó que la performance económica sedeteriorara aunque manteniéndose dentro de parámetros razonablesLos principales indicadores se ubicaron dentro de niveles aceptables, aunque ajustados: la liquidez corriente 1.75,capital de trabajo, un 5% respecto del ejercicio anterior alcanzando un total de $5.459M . Se evidencia una ajustadacapacidad de generación de fondos en función de sus de sus obligaciones.La situación patrimonial a 12/2017 resultaba debilitada presentando inadecuado indicador de solvencia (0.41) ,elevado endeudamiento corriente y muy volátil conformación del PN.Por lo expuesto , teniendo en cuenta la antigüedad de la información , se recomienda operar con cautela y analizarno bien sea posible e ejercicio 2018.</span><br></p>,,4400526,29606,0)
CREATE OR ALTER PROCEDURE dbo.LN_demo_19112021
-- Add the parameters for the stored procedure here
@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
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 = '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()
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 )
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))
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)
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND producto = @p_producto
end
end
if (@visible_ant != @p_visible)
EXEC LN_demo_ 'actualizar_fecha_publicacion', @p_contraparte, NULL, @p_producto
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,
LN_gestiones.desde, LN_gestiones.hasta
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
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
declare @texto varchar(max) = null
declare @memo varchar(max) = null
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,
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 = 'VrmScore'
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
insert into LN_contraparte_indicadores
(contraparte,gestion,indicador,valor_texto,created,visible)
values
(@p_contraparte, @gestion, @isddSI, @p_score_txt, GETDATE(), 1)
end
else
begin
UPDATE LN_contraparte_indicadores
set valor_texto = @p_score_txt, modified = getdate()
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
end
end
END
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/*
exec ln_demo_ 'TIENE_SCORE_IC',NULL, 5546348
exec ln_demo_ 'reports',null,3920694
*/
-- Description: <Description,,>
-- =============================================
--EXEC LN_demo_ UPDATE,31288,,2002,1930-02-13,214,,V,A,R,V,A,R,V,A,R,V,<p><span style="text-align: center;">EMSICA S.R.L da inicio a sus actividades en el año 1981 como empresa de servicios en instrumentación y controlautomático, constituida en la ciudad de Bahía Blanca, brindando atención a todas las empresas del PoloPetroquímico .Manifiesta tener un plantel de 15 empleados y cumple regularmente con las obligaciones Previsionales y LaboralesNo se detectan contratos de Seguro de Riesgos del trabajo extinguidos por falta de pago.Opera con los bancos en forma normal. Presenta un incumplimiento fiscal según consta en Agencia de RecaudaciónTributaria de la Provincia de Río Negro ( situación 2).No se detectan eventos negativos de prensa ni compliance.Según los Estados Contables cerrados al 31/12/2017 las ventas mostraron un incremento interanual del 12%alcanzando un total de $34.384M versus $30.733M en el ejercicio anterior, aunque fue muy inferior a la inflación deperíodo por lo que se pude inferir un menor nivel de actividad. Esto ocasionó que la performance económica sedeteriorara aunque manteniéndose dentro de parámetros razonablesLos principales indicadores se ubicaron dentro de niveles aceptables, aunque ajustados: la liquidez corriente 1.75,capital de trabajo, un 5% respecto del ejercicio anterior alcanzando un total de $5.459M . Se evidencia una ajustadacapacidad de generación de fondos en función de sus de sus obligaciones.La situación patrimonial a 12/2017 resultaba debilitada presentando inadecuado indicador de solvencia (0.41) ,elevado endeudamiento corriente y muy volátil conformación del PN.Por lo expuesto , teniendo en cuenta la antigüedad de la información , se recomienda operar con cautela y analizarno bien sea posible e ejercicio 2018.</span><br></p>,,4400526,29606,0)
CREATE OR ALTER PROCEDURE dbo.LN_demo_19112021
-- Add the parameters for the stored procedure here
@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
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 = '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()
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 )
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))
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)
WHERE contraparte = @p_contraparte
AND gestion = @gest
AND producto = @p_producto
end
end
if (@visible_ant != @p_visible)
EXEC LN_demo_ 'actualizar_fecha_publicacion', @p_contraparte, NULL, @p_producto
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,
LN_gestiones.desde, LN_gestiones.hasta
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
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
declare @texto varchar(max) = null
declare @memo varchar(max) = null
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,
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 = 'VrmScore'
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
insert into LN_contraparte_indicadores
(contraparte,gestion,indicador,valor_texto,created,visible)
values
(@p_contraparte, @gestion, @isddSI, @p_score_txt, GETDATE(), 1)
end
else
begin
UPDATE LN_contraparte_indicadores
set valor_texto = @p_score_txt, modified = getdate()
WHERE contraparte = @p_contraparte
AND gestion = @gestion
AND indicador = @isddSI
end
end
END
END
GO
Depends On
24- dbo.LN_demo_
- 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.monedas
- dbo.padrones
- dbo.prioridades
- dbo.users
Used By
No items found