Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
5| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_accion | varchar | 20 | |
| @p_cliente | int | 4 | |
| @p_servicio | int | 4 | |
| @p_user_id | int | 4 | |
| @p_lista_familias | varchar | -1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
/*
exec [LN_demo_fidecheck_reporte] 'reporte', 2046807993, 47, null,'348'
exec [LN_demo_fidecheck_reporte] 'familias', 2046807993, 47
select * from ln_familias where cliente = 2046807993
declare @p_lista_familias varchar(max) = '348,0'
select * from dbo.DelimitedSplit8K(@p_lista_familias, ',')
*/
CREATE OR ALTER PROCEDURE dbo.LN_demo_fidecheck_reporte
@p_accion varchar(20),
@p_cliente int,
@p_servicio int = 47,
@p_user_id int = 0,
@p_lista_familias varchar(max) = null
AS
BEGIN
SET NOCOUNT ON;
if (@p_accion = 'reporte')
begin
set @p_lista_familias = LTRIM(RTRIM(@p_lista_familias))
if (isnull(@p_lista_familias,'') = '')
return
if (@p_lista_familias like '%,')
set @p_lista_familias = @p_lista_familias + '0'
select distinct LN_contrapartes.contraparte, pais_ser.country_name as pais_servicio,
country.country_name as pais_contraparte,
LN_familias.nombre_familia,
padrones.nombre_persona, identificadores.abreviatura, padrones.identificacion,
LN_demo_fidecheck.seccion,
CASE
WHEN LN_demo_fidecheck.seccion = 'S' THEN 'Socios / Accionistas'
WHEN LN_demo_fidecheck.seccion = 'R' THEN 'Vinculaciones / Empresas relacionadas'
WHEN LN_demo_fidecheck.seccion = 'D' THEN 'Directivos'
WHEN LN_demo_fidecheck.seccion = 'P' THEN 'Propio'
ELSE NULL
END AS nombre_seccion,
LN_demo_fidecheck.orden,
iif (LN_demo_fidecheck.seccion = 'P' , null, LN_demo_fidecheck.nombre) as nombre,
iif (LN_demo_fidecheck.seccion = 'P' , null, LN_demo_fidecheck.tax_id) as tax_id,
LN_demo_fidecheck.cargo,
LN_demo_fidecheck.porcentaje,
LN_demo_fidecheck.fidecheck,
CASE
WHEN LN_demo_fidecheck.fidecheck = 'N' THEN 'Negativo'
WHEN LN_demo_fidecheck.fidecheck = 'R' THEN 'Relacioando'
WHEN LN_demo_fidecheck.fidecheck = 'P' THEN 'Positivo'
WHEN LN_demo_fidecheck.fidecheck = 'E' THEN 'PEP'
WHEN LN_demo_fidecheck.fidecheck = 'S' THEN 'Sujeto Obligado'
ELSE NULL
END AS pep,
LN_demo_fidecheck.detalle,
convert(date,iif(LN_demo_fidecheck.modified is not null, LN_demo_fidecheck.modified, LN_demo_fidecheck.created)) as fecha
from LN_contrapartes
inner join LN_gestiones on
(LN_gestiones.contraparte = LN_contrapartes.contraparte and
LN_gestiones.vigente = 1 and LN_gestiones.desde <= getdate() and ln_gestiones.hasta >= getdate())
inner join LN_demo_fidecheck on (LN_demo_fidecheck.gestion = LN_gestiones.gestion and LN_demo_fidecheck.visible = 1)
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on country.country_code = ln_contrapartes.country_code
inner join country pais_ser on pais_ser.country_code = ln_contrapartes.pais_servicio
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 dbo.DelimitedSplit8K(@p_lista_familias, ',') fam ON fam.Item = LN_contraparte_familias.familia
where ln_contrapartes.cliente = @p_cliente
and LN_contrapartes.activo = 1
and LN_contrapartes.servicio_contratado = @p_servicio
order by pais_ser.country_name,
country.country_name,
ln_familias.nombre_familia, padrones.nombre_persona,
LN_demo_fidecheck.seccion, LN_demo_fidecheck.orden,
LN_demo_fidecheck.porcentaje desc, nombre
return
end
if (@p_accion = 'familias')
begin
select familia,nombre_familia
from ln_familias
where cliente = @p_cliente and visible = 1 and subfamilia = 0 and servicio_contratado = @p_servicio
and familia not in (select distinct familia from usuarios_restricciones
where cliente = @p_cliente and user_id = @p_user_id
and servicio_contratado = @p_servicio
and FAMILIA is not null)
order by nombre_familia
return
end
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
/*
exec [LN_demo_fidecheck_reporte] 'reporte', 2046807993, 47, null,'348'
exec [LN_demo_fidecheck_reporte] 'familias', 2046807993, 47
select * from ln_familias where cliente = 2046807993
declare @p_lista_familias varchar(max) = '348,0'
select * from dbo.DelimitedSplit8K(@p_lista_familias, ',')
*/
CREATE OR ALTER PROCEDURE dbo.LN_demo_fidecheck_reporte
@p_accion varchar(20),
@p_cliente int,
@p_servicio int = 47,
@p_user_id int = 0,
@p_lista_familias varchar(max) = null
AS
BEGIN
SET NOCOUNT ON;
if (@p_accion = 'reporte')
begin
set @p_lista_familias = LTRIM(RTRIM(@p_lista_familias))
if (isnull(@p_lista_familias,'') = '')
return
if (@p_lista_familias like '%,')
set @p_lista_familias = @p_lista_familias + '0'
select distinct LN_contrapartes.contraparte, pais_ser.country_name as pais_servicio,
country.country_name as pais_contraparte,
LN_familias.nombre_familia,
padrones.nombre_persona, identificadores.abreviatura, padrones.identificacion,
LN_demo_fidecheck.seccion,
CASE
WHEN LN_demo_fidecheck.seccion = 'S' THEN 'Socios / Accionistas'
WHEN LN_demo_fidecheck.seccion = 'R' THEN 'Vinculaciones / Empresas relacionadas'
WHEN LN_demo_fidecheck.seccion = 'D' THEN 'Directivos'
WHEN LN_demo_fidecheck.seccion = 'P' THEN 'Propio'
ELSE NULL
END AS nombre_seccion,
LN_demo_fidecheck.orden,
iif (LN_demo_fidecheck.seccion = 'P' , null, LN_demo_fidecheck.nombre) as nombre,
iif (LN_demo_fidecheck.seccion = 'P' , null, LN_demo_fidecheck.tax_id) as tax_id,
LN_demo_fidecheck.cargo,
LN_demo_fidecheck.porcentaje,
LN_demo_fidecheck.fidecheck,
CASE
WHEN LN_demo_fidecheck.fidecheck = 'N' THEN 'Negativo'
WHEN LN_demo_fidecheck.fidecheck = 'R' THEN 'Relacioando'
WHEN LN_demo_fidecheck.fidecheck = 'P' THEN 'Positivo'
WHEN LN_demo_fidecheck.fidecheck = 'E' THEN 'PEP'
WHEN LN_demo_fidecheck.fidecheck = 'S' THEN 'Sujeto Obligado'
ELSE NULL
END AS pep,
LN_demo_fidecheck.detalle,
convert(date,iif(LN_demo_fidecheck.modified is not null, LN_demo_fidecheck.modified, LN_demo_fidecheck.created)) as fecha
from LN_contrapartes
inner join LN_gestiones on
(LN_gestiones.contraparte = LN_contrapartes.contraparte and
LN_gestiones.vigente = 1 and LN_gestiones.desde <= getdate() and ln_gestiones.hasta >= getdate())
inner join LN_demo_fidecheck on (LN_demo_fidecheck.gestion = LN_gestiones.gestion and LN_demo_fidecheck.visible = 1)
inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on country.country_code = ln_contrapartes.country_code
inner join country pais_ser on pais_ser.country_code = ln_contrapartes.pais_servicio
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 dbo.DelimitedSplit8K(@p_lista_familias, ',') fam ON fam.Item = LN_contraparte_familias.familia
where ln_contrapartes.cliente = @p_cliente
and LN_contrapartes.activo = 1
and LN_contrapartes.servicio_contratado = @p_servicio
order by pais_ser.country_name,
country.country_name,
ln_familias.nombre_familia, padrones.nombre_persona,
LN_demo_fidecheck.seccion, LN_demo_fidecheck.orden,
LN_demo_fidecheck.porcentaje desc, nombre
return
end
if (@p_accion = 'familias')
begin
select familia,nombre_familia
from ln_familias
where cliente = @p_cliente and visible = 1 and subfamilia = 0 and servicio_contratado = @p_servicio
and familia not in (select distinct familia from usuarios_restricciones
where cliente = @p_cliente and user_id = @p_user_id
and servicio_contratado = @p_servicio
and FAMILIA is not null)
order by nombre_familia
return
end
END
GO
Depends On
10Used By
No items found