Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
3| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 50 | |
| @cliente | int | 4 | |
| @familias | varchar | 20 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec [LN_panel_vrm_cambios] 'INDICADORES_PENDIENTES'
exec [LN_panel_vrm_cambios] 'SOLICITAR_DDR'
exec [LN_panel_vrm_cambios] 'WORLDCHECK'
exec [LN_panel_vrm_cambios] 'SOSTENIBILIDAD'
*/
/*
DICTAMEN_VRM: Busca contrapartes que no coindicide el Dictamen VRM con el Dictamen VRM automático
SOLICITAR_DDR: Busca contapartes con Solicitar DDR PENDIENTE (por condiciones automáticas se debería solicitar DDR pero queda pendiente para que un usuario lo confirme)
*/
/*
select * from LN_indicadores where indicador = 384
select * from LN_indicadores where indicador = 452
select * from ln_productos where producto = 2080
select * from LN_indicadores where producto = 2080
LN_indicadores_manual_cliente 188060,'INDICADOR',384
select * from LN_contraparte_indicadores where indicador = 454
select * from ln_contraparte_comentarios where contraparte = 162668
select * from trazabilidad where contraparte = 162668 order by id_trazabilidad desc
delete from ln_contraparte_comentarios where indicador = 454
delete from ln_contraparte_indicadores where indicador = 454
select * from padrones where identificacion = '30710077181'
select * from LN_contrapartes where contraparte =188060
select * from LN_gestiones where contraparte =188060
select * from LN_contraparte_familias where contraparte =188060
select * from ln_familias where familia = 518
LN_indicadores_manual_cliente 188060,'SELECT_PRUEBA'
LN_panel_vrm_cambios 'INDICADORES_PENDIENTES'
select * from ln_productos where producto = 2060
select * from ln_indicadores where indicador = 383
select * from ln_contraparte_indicadores where contraparte = 184552 and indicador = 383
*/
CREATE OR ALTER PROCEDURE dbo.LN_panel_vrm_cambios
@accion varchar(50) = 'DICTAMEN_VRM',
@cliente int = 1226057645,
@familias varchar(20) = 'VRM'
AS
BEGIN
SET NOCOUNT ON;
IF (@accion = 'DICTAMEN_VRM')
select nombre_familia, ln_contrapartes.contraparte, padrones.nombre_persona, identificacion,
a.valor_texto as Dictamen_vrm, isnull(a.valor_memo,'Sin Cargar') as Dictamen_vrm_memo,
iif(ut.last_name is not null, ut.first_name + ' ' + isnull(ut.last_name,''), isnull(ut.username,'-')) as usuario,
b.valor_texto as Dictamen_vrm_automatico, b.valor_memo as Dictamen_vrm_automatico_memo,
d.detalle as detalle
from LN_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
inner join LN_gestiones on LN_contrapartes.contraparte = LN_gestiones.contraparte
inner join LN_contraparte_familias on LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
inner join LN_familias on LN_contraparte_familias.familia = LN_familias.familia
left join ln_contraparte_indicadores a on (a.contraparte = ln_contrapartes.contraparte and a.gestion = ln_gestiones.gestion and a.indicador = 384) -- Dictamen VRM
left join ln_contraparte_indicadores b on (b.contraparte = ln_contrapartes.contraparte and b.gestion = ln_gestiones.gestion and b.indicador = 452) -- Dictamen VRM Automático
left join ln_dictamen_vrm_detalle d on (d.contraparte = b.contraparte and d.gestion = b.gestion and d.visible = 1 and d.indicador = 452)
left join trazabilidad t on (
t.contraparte = a.contraparte and t.accion = 'CAMBIO_INDICADOR_384' and t.created = (select max(created) from trazabilidad t2 where t2.contraparte = a.contraparte and t2.accion = 'CAMBIO_INDICADOR_384')
)
left join users ut on ut.user_id = t.user_id
where LN_contrapartes.cliente = @cliente
and LN_contrapartes.activo = 1
and LN_familias.visible = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and ln_gestiones.vigente = 1
and ln_familias.nombre_familia like @familias + '%'
-- Tienen calculado Dictamen automatico y no coincide con el Dictamen
and b.valor_texto is not null
and isnull(a.valor_texto,'') != isnull(b.valor_texto,'')
-- 1/7/2022: No comparamos los que aun no se calcularon o estan En Tolerancia (ET)
and a.valor_texto != '' and a.valor_texto is not null and a.valor_texto != 'ET'
-- 1/7/2022: Descarta los que están desestimados
and not exists (select * from LN_contraparte_indicadores ci
where indicador = 454
and ci.contraparte = b.contraparte and ci.gestion = b.gestion
and ci.valor_fecha is not null and ci.visible = 1)
order by nombre_persona
IF (@accion = 'WORLDCHECK')
select nombre_familia, ln_contrapartes.contraparte, padrones.nombre_persona, identificacion,
a.valor_texto as Worldcheck, isnull(a.valor_memo,'Sin cargar') as Worldcheck_memo,
iif(ut.last_name is not null, ut.first_name + ' ' + isnull(ut.last_name,''), isnull(ut.username,'-')) as usuario,
b.valor_texto as Worldcheck_automatico, b.valor_memo as Worldcheck_automatico_memo
from LN_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
inner join LN_gestiones on LN_contrapartes.contraparte = LN_gestiones.contraparte
inner join LN_contraparte_familias on LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
inner join LN_familias on LN_contraparte_familias.familia = LN_familias.familia
left join ln_contraparte_indicadores a on (a.contraparte = ln_contrapartes.contraparte and a.gestion = ln_gestiones.gestion and a.indicador = 383) -- Worldcheck
left join ln_contraparte_indicadores b on (b.contraparte = ln_contrapartes.contraparte and b.gestion = ln_gestiones.gestion and b.indicador = 491) -- Worldcheck Automático
left join trazabilidad t on (
t.contraparte = a.contraparte and t.accion = 'CAMBIO_INDICADOR_383' and t.created = (select max(created) from trazabilidad t2 where t2.contraparte = a.contraparte and t2.accion = 'CAMBIO_INDICADOR_383')
)
left join users ut on ut.user_id = t.user_id
where LN_contrapartes.cliente = @cliente
and LN_contrapartes.activo = 1
and LN_familias.visible = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and ln_gestiones.vigente = 1
and ln_familias.nombre_familia like @familias + '%'
-- Tienen calculado worldcheck automatico y no coincide con el worldcheck manual
and b.valor_texto is not null
and isnull(a.valor_texto,'') != isnull(b.valor_texto,'')
-- 1/7/2022: Descarta los que están desestimados
and not exists (select * from LN_contraparte_indicadores ci
where indicador = 492
and ci.contraparte = b.contraparte and ci.gestion = b.gestion
and ci.valor_fecha is not null and ci.visible = 1)
order by nombre_persona
IF (@accion = 'SOSTENIBILIDAD')
select nombre_familia, ln_contrapartes.contraparte, padrones.nombre_persona, identificacion,
a.valor_texto as Sostenibilidad, isnull(a.valor_memo,'Sin cargar') as Sostenibilidad_memo,
iif(ut.last_name is not null, ut.first_name + ' ' + isnull(ut.last_name,''), isnull(ut.username,'-')) as usuario,
b.valor_texto as Sostenibilidad_automatico, isnull(b.valor_memo,'Sin datos para calcular') as Sostenibilidad_automatico_memo
from LN_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
inner join LN_gestiones on LN_contrapartes.contraparte = LN_gestiones.contraparte
inner join LN_contraparte_familias on LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
inner join LN_familias on LN_contraparte_familias.familia = LN_familias.familia
left join ln_contraparte_indicadores a on (a.contraparte = ln_contrapartes.contraparte and a.gestion = ln_gestiones.gestion and a.indicador = 495) -- Tipo Empresa Sostenibilidad
left join ln_contraparte_indicadores b on (b.contraparte = ln_contrapartes.contraparte and b.gestion = ln_gestiones.gestion and b.indicador = 496) -- Tipo Empresa Sostenibilidad Automático
left join trazabilidad t on (
t.contraparte = a.contraparte and t.accion = 'CAMBIO_INDICADOR_495' and t.created = (select max(created) from trazabilidad t2 where t2.contraparte = a.contraparte and t2.accion = 'CAMBIO_INDICADOR_383')
)
left join users ut on ut.user_id = t.user_id
where LN_contrapartes.cliente = @cliente
and LN_contrapartes.activo = 1
and LN_familias.visible = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and ln_gestiones.vigente = 1
and ln_familias.nombre_familia like @familias + '%'
-- Tienen calculado Tipo Empresa automatico y no coincide con el Tipo Empresa manual
--and b.valor_texto is not null
and ( a.valor_texto != b.valor_texto
OR (a.valor_texto is null and b.valor_texto is not null)
OR (a.valor_texto is null and b.valor_texto is null)
)
-- 1/7/2022: Descarta los que están desestimados
and not exists (select * from LN_contraparte_indicadores ci
where indicador = 503
and ci.contraparte = b.contraparte and ci.gestion = b.gestion
and ci.valor_fecha is not null and ci.visible = 1)
order by nombre_persona
IF (@accion = 'SOLICITAR_DDR')
select nombre_familia, ln_contrapartes.contraparte, padrones.nombre_persona, identificacion,
c.valor_texto as solicitar_ddr, d.detalle as detalle
from LN_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
inner join LN_gestiones on LN_contrapartes.contraparte = LN_gestiones.contraparte
inner join LN_contraparte_familias on LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
inner join LN_familias on LN_contraparte_familias.familia = LN_familias.familia
left join ln_contraparte_indicadores c on (c.contraparte = ln_contrapartes.contraparte and c.gestion = ln_gestiones.gestion and c.indicador = 396) -- Solicitar DDR
left join ln_dictamen_vrm_detalle d on (d.contraparte = c.contraparte and d.gestion = c.gestion and d.visible = 1 and d.indicador = 396)
where LN_contrapartes.cliente = @cliente
and LN_contrapartes.activo = 1
and LN_familias.visible = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and ln_gestiones.vigente = 1
and ln_familias.nombre_familia like @familias + '%'
-- Tiene solicitar ddr pendiente por alguna razón
and c.valor_texto = 'PENDIENTE'
order by nombre_persona
IF (@accion = 'INDICADORES_PENDIENTES')
select distinct padrones.nombre_persona, padrones.identificacion, ln_familias.nombre_familia, ln_productos.producto,
ln_productos.nombre_producto as nombre_producto1, upper(ln_productos.etiqueta) as nombre_producto, ln_indicadores.indicador, ln_indicadores.clave_indicador, nombre_indicador, ln_contrapartes.contraparte
from ln_indicadores
inner join ln_productos on ln_productos.producto = ln_indicadores.producto
inner join LN_familia_productos on (ln_productos.producto = LN_familia_productos.producto and LN_familia_productos.activo = 1)
inner join ln_familias on (ln_familias.familia = LN_familia_productos.familia and ln_familias.cliente = @cliente and ln_familias.nombre_familia like @familias + '%')
inner join ln_contraparte_familias on (ln_contraparte_familias.familia = LN_familia_productos.familia)
inner join ln_contrapartes on (ln_contrapartes.contraparte = ln_contraparte_familias.contraparte and ln_contrapartes.activo = 1)
inner join ln_gestiones on (ln_contrapartes.contraparte = ln_gestiones.contraparte and ln_gestiones.vigente = 1 and ln_gestiones.desde <= getdate() and ln_gestiones.hasta >= getdate())
inner join padrones on padrones.id_padron = ln_contrapartes.id_padron
inner join ln_cliente_indicadores on (ln_cliente_indicadores.cliente = @cliente and LN_cliente_indicadores.indicador = ln_indicadores.indicador and LN_cliente_indicadores.activo = 1)
where LN_indicadores.valoracion = 'C'
and (LN_productos.visible_home = 1 or LN_productos.producto in ( 2080,2082,2084,2085,2060,2079))
and not exists (select * from LN_contraparte_indicadores where LN_contraparte_indicadores.contraparte = ln_contrapartes.contraparte and LN_contraparte_indicadores.gestion = ln_gestiones.gestion and LN_contraparte_indicadores.indicador = ln_indicadores.indicador
and (LN_contraparte_indicadores.valor_numerico is not null or LN_contraparte_indicadores.valor_texto is not null or LN_contraparte_indicadores.valor_fecha is not null or LN_contraparte_indicadores.valor_memo is not null))
and ln_indicadores.indicador not in (408,396)
order by nombre_persona,contraparte, nombre_producto
IF (@accion = 'DOCUMENTOS_PENDIENTES')
select distinct ln_contrapartes.contraparte, padrones.nombre_persona, padrones.identificacion, ln_familias.nombre_familia, ln_tipos_doc.nombre_tipo_doc ,
(select convert(varchar, MAX(created),103) from trazabilidad where contraparte = LN_contrapartes.contraparte and accion = 'ENVIO_LINK_CONTRAPARTE') as mail_enviado
from ln_contrapartes
inner join ln_gestiones on (ln_contrapartes.contraparte = ln_gestiones.contraparte and ln_gestiones.vigente = 1 and ln_gestiones.desde <= getdate() and ln_gestiones.hasta >= getdate())
inner join ln_docs on (ln_contrapartes.contraparte = ln_docs.contraparte and ln_docs.gestion = ln_gestiones.gestion)
inner join ln_contraparte_familias on (ln_contraparte_familias.contraparte = ln_contrapartes.contraparte)
inner join ln_familias on (ln_familias.familia = ln_contraparte_familias.familia)
inner join padrones on padrones.id_padron = ln_contrapartes.id_padron
inner join LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
where ln_contrapartes.cliente = @cliente
and ln_familias.nombre_familia like @familias + '%'
and ln_docs.estado_doc = 'N'
and LN_docs.aplica = 1
order by nombre_persona,ln_contrapartes.contraparte, nombre_tipo_doc
END
GO
GO
/*
exec [LN_panel_vrm_cambios] 'INDICADORES_PENDIENTES'
exec [LN_panel_vrm_cambios] 'SOLICITAR_DDR'
exec [LN_panel_vrm_cambios] 'WORLDCHECK'
exec [LN_panel_vrm_cambios] 'SOSTENIBILIDAD'
*/
/*
DICTAMEN_VRM: Busca contrapartes que no coindicide el Dictamen VRM con el Dictamen VRM automático
SOLICITAR_DDR: Busca contapartes con Solicitar DDR PENDIENTE (por condiciones automáticas se debería solicitar DDR pero queda pendiente para que un usuario lo confirme)
*/
/*
select * from LN_indicadores where indicador = 384
select * from LN_indicadores where indicador = 452
select * from ln_productos where producto = 2080
select * from LN_indicadores where producto = 2080
LN_indicadores_manual_cliente 188060,'INDICADOR',384
select * from LN_contraparte_indicadores where indicador = 454
select * from ln_contraparte_comentarios where contraparte = 162668
select * from trazabilidad where contraparte = 162668 order by id_trazabilidad desc
delete from ln_contraparte_comentarios where indicador = 454
delete from ln_contraparte_indicadores where indicador = 454
select * from padrones where identificacion = '30710077181'
select * from LN_contrapartes where contraparte =188060
select * from LN_gestiones where contraparte =188060
select * from LN_contraparte_familias where contraparte =188060
select * from ln_familias where familia = 518
LN_indicadores_manual_cliente 188060,'SELECT_PRUEBA'
LN_panel_vrm_cambios 'INDICADORES_PENDIENTES'
select * from ln_productos where producto = 2060
select * from ln_indicadores where indicador = 383
select * from ln_contraparte_indicadores where contraparte = 184552 and indicador = 383
*/
CREATE OR ALTER PROCEDURE dbo.LN_panel_vrm_cambios
@accion varchar(50) = 'DICTAMEN_VRM',
@cliente int = 1226057645,
@familias varchar(20) = 'VRM'
AS
BEGIN
SET NOCOUNT ON;
IF (@accion = 'DICTAMEN_VRM')
select nombre_familia, ln_contrapartes.contraparte, padrones.nombre_persona, identificacion,
a.valor_texto as Dictamen_vrm, isnull(a.valor_memo,'Sin Cargar') as Dictamen_vrm_memo,
iif(ut.last_name is not null, ut.first_name + ' ' + isnull(ut.last_name,''), isnull(ut.username,'-')) as usuario,
b.valor_texto as Dictamen_vrm_automatico, b.valor_memo as Dictamen_vrm_automatico_memo,
d.detalle as detalle
from LN_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
inner join LN_gestiones on LN_contrapartes.contraparte = LN_gestiones.contraparte
inner join LN_contraparte_familias on LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
inner join LN_familias on LN_contraparte_familias.familia = LN_familias.familia
left join ln_contraparte_indicadores a on (a.contraparte = ln_contrapartes.contraparte and a.gestion = ln_gestiones.gestion and a.indicador = 384) -- Dictamen VRM
left join ln_contraparte_indicadores b on (b.contraparte = ln_contrapartes.contraparte and b.gestion = ln_gestiones.gestion and b.indicador = 452) -- Dictamen VRM Automático
left join ln_dictamen_vrm_detalle d on (d.contraparte = b.contraparte and d.gestion = b.gestion and d.visible = 1 and d.indicador = 452)
left join trazabilidad t on (
t.contraparte = a.contraparte and t.accion = 'CAMBIO_INDICADOR_384' and t.created = (select max(created) from trazabilidad t2 where t2.contraparte = a.contraparte and t2.accion = 'CAMBIO_INDICADOR_384')
)
left join users ut on ut.user_id = t.user_id
where LN_contrapartes.cliente = @cliente
and LN_contrapartes.activo = 1
and LN_familias.visible = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and ln_gestiones.vigente = 1
and ln_familias.nombre_familia like @familias + '%'
-- Tienen calculado Dictamen automatico y no coincide con el Dictamen
and b.valor_texto is not null
and isnull(a.valor_texto,'') != isnull(b.valor_texto,'')
-- 1/7/2022: No comparamos los que aun no se calcularon o estan En Tolerancia (ET)
and a.valor_texto != '' and a.valor_texto is not null and a.valor_texto != 'ET'
-- 1/7/2022: Descarta los que están desestimados
and not exists (select * from LN_contraparte_indicadores ci
where indicador = 454
and ci.contraparte = b.contraparte and ci.gestion = b.gestion
and ci.valor_fecha is not null and ci.visible = 1)
order by nombre_persona
IF (@accion = 'WORLDCHECK')
select nombre_familia, ln_contrapartes.contraparte, padrones.nombre_persona, identificacion,
a.valor_texto as Worldcheck, isnull(a.valor_memo,'Sin cargar') as Worldcheck_memo,
iif(ut.last_name is not null, ut.first_name + ' ' + isnull(ut.last_name,''), isnull(ut.username,'-')) as usuario,
b.valor_texto as Worldcheck_automatico, b.valor_memo as Worldcheck_automatico_memo
from LN_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
inner join LN_gestiones on LN_contrapartes.contraparte = LN_gestiones.contraparte
inner join LN_contraparte_familias on LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
inner join LN_familias on LN_contraparte_familias.familia = LN_familias.familia
left join ln_contraparte_indicadores a on (a.contraparte = ln_contrapartes.contraparte and a.gestion = ln_gestiones.gestion and a.indicador = 383) -- Worldcheck
left join ln_contraparte_indicadores b on (b.contraparte = ln_contrapartes.contraparte and b.gestion = ln_gestiones.gestion and b.indicador = 491) -- Worldcheck Automático
left join trazabilidad t on (
t.contraparte = a.contraparte and t.accion = 'CAMBIO_INDICADOR_383' and t.created = (select max(created) from trazabilidad t2 where t2.contraparte = a.contraparte and t2.accion = 'CAMBIO_INDICADOR_383')
)
left join users ut on ut.user_id = t.user_id
where LN_contrapartes.cliente = @cliente
and LN_contrapartes.activo = 1
and LN_familias.visible = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and ln_gestiones.vigente = 1
and ln_familias.nombre_familia like @familias + '%'
-- Tienen calculado worldcheck automatico y no coincide con el worldcheck manual
and b.valor_texto is not null
and isnull(a.valor_texto,'') != isnull(b.valor_texto,'')
-- 1/7/2022: Descarta los que están desestimados
and not exists (select * from LN_contraparte_indicadores ci
where indicador = 492
and ci.contraparte = b.contraparte and ci.gestion = b.gestion
and ci.valor_fecha is not null and ci.visible = 1)
order by nombre_persona
IF (@accion = 'SOSTENIBILIDAD')
select nombre_familia, ln_contrapartes.contraparte, padrones.nombre_persona, identificacion,
a.valor_texto as Sostenibilidad, isnull(a.valor_memo,'Sin cargar') as Sostenibilidad_memo,
iif(ut.last_name is not null, ut.first_name + ' ' + isnull(ut.last_name,''), isnull(ut.username,'-')) as usuario,
b.valor_texto as Sostenibilidad_automatico, isnull(b.valor_memo,'Sin datos para calcular') as Sostenibilidad_automatico_memo
from LN_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
inner join LN_gestiones on LN_contrapartes.contraparte = LN_gestiones.contraparte
inner join LN_contraparte_familias on LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
inner join LN_familias on LN_contraparte_familias.familia = LN_familias.familia
left join ln_contraparte_indicadores a on (a.contraparte = ln_contrapartes.contraparte and a.gestion = ln_gestiones.gestion and a.indicador = 495) -- Tipo Empresa Sostenibilidad
left join ln_contraparte_indicadores b on (b.contraparte = ln_contrapartes.contraparte and b.gestion = ln_gestiones.gestion and b.indicador = 496) -- Tipo Empresa Sostenibilidad Automático
left join trazabilidad t on (
t.contraparte = a.contraparte and t.accion = 'CAMBIO_INDICADOR_495' and t.created = (select max(created) from trazabilidad t2 where t2.contraparte = a.contraparte and t2.accion = 'CAMBIO_INDICADOR_383')
)
left join users ut on ut.user_id = t.user_id
where LN_contrapartes.cliente = @cliente
and LN_contrapartes.activo = 1
and LN_familias.visible = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and ln_gestiones.vigente = 1
and ln_familias.nombre_familia like @familias + '%'
-- Tienen calculado Tipo Empresa automatico y no coincide con el Tipo Empresa manual
--and b.valor_texto is not null
and ( a.valor_texto != b.valor_texto
OR (a.valor_texto is null and b.valor_texto is not null)
OR (a.valor_texto is null and b.valor_texto is null)
)
-- 1/7/2022: Descarta los que están desestimados
and not exists (select * from LN_contraparte_indicadores ci
where indicador = 503
and ci.contraparte = b.contraparte and ci.gestion = b.gestion
and ci.valor_fecha is not null and ci.visible = 1)
order by nombre_persona
IF (@accion = 'SOLICITAR_DDR')
select nombre_familia, ln_contrapartes.contraparte, padrones.nombre_persona, identificacion,
c.valor_texto as solicitar_ddr, d.detalle as detalle
from LN_contrapartes
inner join padrones on padrones.id_padron = LN_contrapartes.id_padron
inner join LN_gestiones on LN_contrapartes.contraparte = LN_gestiones.contraparte
inner join LN_contraparte_familias on LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
inner join LN_familias on LN_contraparte_familias.familia = LN_familias.familia
left join ln_contraparte_indicadores c on (c.contraparte = ln_contrapartes.contraparte and c.gestion = ln_gestiones.gestion and c.indicador = 396) -- Solicitar DDR
left join ln_dictamen_vrm_detalle d on (d.contraparte = c.contraparte and d.gestion = c.gestion and d.visible = 1 and d.indicador = 396)
where LN_contrapartes.cliente = @cliente
and LN_contrapartes.activo = 1
and LN_familias.visible = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and ln_gestiones.vigente = 1
and ln_familias.nombre_familia like @familias + '%'
-- Tiene solicitar ddr pendiente por alguna razón
and c.valor_texto = 'PENDIENTE'
order by nombre_persona
IF (@accion = 'INDICADORES_PENDIENTES')
select distinct padrones.nombre_persona, padrones.identificacion, ln_familias.nombre_familia, ln_productos.producto,
ln_productos.nombre_producto as nombre_producto1, upper(ln_productos.etiqueta) as nombre_producto, ln_indicadores.indicador, ln_indicadores.clave_indicador, nombre_indicador, ln_contrapartes.contraparte
from ln_indicadores
inner join ln_productos on ln_productos.producto = ln_indicadores.producto
inner join LN_familia_productos on (ln_productos.producto = LN_familia_productos.producto and LN_familia_productos.activo = 1)
inner join ln_familias on (ln_familias.familia = LN_familia_productos.familia and ln_familias.cliente = @cliente and ln_familias.nombre_familia like @familias + '%')
inner join ln_contraparte_familias on (ln_contraparte_familias.familia = LN_familia_productos.familia)
inner join ln_contrapartes on (ln_contrapartes.contraparte = ln_contraparte_familias.contraparte and ln_contrapartes.activo = 1)
inner join ln_gestiones on (ln_contrapartes.contraparte = ln_gestiones.contraparte and ln_gestiones.vigente = 1 and ln_gestiones.desde <= getdate() and ln_gestiones.hasta >= getdate())
inner join padrones on padrones.id_padron = ln_contrapartes.id_padron
inner join ln_cliente_indicadores on (ln_cliente_indicadores.cliente = @cliente and LN_cliente_indicadores.indicador = ln_indicadores.indicador and LN_cliente_indicadores.activo = 1)
where LN_indicadores.valoracion = 'C'
and (LN_productos.visible_home = 1 or LN_productos.producto in ( 2080,2082,2084,2085,2060,2079))
and not exists (select * from LN_contraparte_indicadores where LN_contraparte_indicadores.contraparte = ln_contrapartes.contraparte and LN_contraparte_indicadores.gestion = ln_gestiones.gestion and LN_contraparte_indicadores.indicador = ln_indicadores.indicador
and (LN_contraparte_indicadores.valor_numerico is not null or LN_contraparte_indicadores.valor_texto is not null or LN_contraparte_indicadores.valor_fecha is not null or LN_contraparte_indicadores.valor_memo is not null))
and ln_indicadores.indicador not in (408,396)
order by nombre_persona,contraparte, nombre_producto
IF (@accion = 'DOCUMENTOS_PENDIENTES')
select distinct ln_contrapartes.contraparte, padrones.nombre_persona, padrones.identificacion, ln_familias.nombre_familia, ln_tipos_doc.nombre_tipo_doc ,
(select convert(varchar, MAX(created),103) from trazabilidad where contraparte = LN_contrapartes.contraparte and accion = 'ENVIO_LINK_CONTRAPARTE') as mail_enviado
from ln_contrapartes
inner join ln_gestiones on (ln_contrapartes.contraparte = ln_gestiones.contraparte and ln_gestiones.vigente = 1 and ln_gestiones.desde <= getdate() and ln_gestiones.hasta >= getdate())
inner join ln_docs on (ln_contrapartes.contraparte = ln_docs.contraparte and ln_docs.gestion = ln_gestiones.gestion)
inner join ln_contraparte_familias on (ln_contraparte_familias.contraparte = ln_contrapartes.contraparte)
inner join ln_familias on (ln_familias.familia = ln_contraparte_familias.familia)
inner join padrones on padrones.id_padron = ln_contrapartes.id_padron
inner join LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
where ln_contrapartes.cliente = @cliente
and ln_familias.nombre_familia like @familias + '%'
and ln_docs.estado_doc = 'N'
and LN_docs.aplica = 1
order by nombre_persona,ln_contrapartes.contraparte, nombre_tipo_doc
END
GO
Depends On
15Used By
No items found