Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_contraparte | int | 4 | |
| @p_user_id | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
select * from users_by_group ug where ug.group_id in (1000,1001)
exec backend_valoracion_balances 90
*/
CREATE OR ALTER PROCEDURE dbo.backend_valoracion_balances
@p_contraparte int,
@p_user_id int = 0
AS
BEGIN
SET NOCOUNT ON;
set @p_user_id = 15342812
select c.contraparte as contraparte,
p.nombre_persona as nombre,
p.identificacion as cuit,
--b.clave_indicador as indicador,
IND.valor_numerico as valor,
IND.valor_texto as texto,
IND.clave_indicador as indicador,
case when IND.clave_indicador = 'VALORACION_BAL' then
case
when IND.valor_texto = 'P' then 'Positivo'
when IND.valor_texto = 'U' then 'Ascendente'
when IND.valor_texto = 'E' then 'Neutro'
when IND.valor_texto = 'D' then 'Descendente'
when IND.valor_texto = 'N' then 'Negativo'
else NULL
end
else null
end as textcaption,
IND.valor_memo as memo,
case IND.visible
when 1 then 'PUBLICADO'
when 0 then 'NO PUBLICADO'
else 'SIN COMPLETAR'
end as estado,
t.task_id as task_id,
t.user_id as usuario,
t.fecha_inicio_tarea as fecha_inicio,
t.fecha_fin_tarea as fecha_fin,
-- Si el usuario tiene permiso para publicar BALANCES-COMPLETO --> autorizado
-- Si el usuario tiene peromiso para publicar BALANCES-PUBLICACION y la tarea es de el, o no es de nadie --> autorizado, si la tarea es de otro --> NOautorizado
-- Si el usuario no tiene permiso para publicar --> NOautorizado
iif((isnull(ug.group_id,0)=1001 or
(isnull(ug.group_id,0)=1000 and ug.user_id = t.user_id) or
(isnull(ug.group_id,0)=1000 and isnull(t.task_id,0) = 0))
,'autorizado','NOautorizado') as autorizado,
clientes.nombre_cliente as cliente
from LN_Contrapartes c
inner join padrones p on p.id_padron = c.id_padron
left join clientes on clientes.cliente = c.cliente
left join tareas_usuarios_documentos t on t.contraparte = C.contraparte
left join users_by_group ug on ug.user_id = @p_user_id and ug.group_id in (1000,1001)
left join
(select a.contraparte,
a.valor_numerico,
a.valor_texto,
a.valor_memo,
i.clave_indicador,
isnull(a.visible,0) as visible
from LN_contraparte_indicadores a
inner join ln_indicadores i on i.indicador = a.indicador
WHERE i.clave_indicador in ('VALORACION_BAL','ANALISIS_BAL')
) IND on (IND.contraparte = c.contraparte)
where c.contraparte = @p_contraparte
END
GO
GO
/*
select * from users_by_group ug where ug.group_id in (1000,1001)
exec backend_valoracion_balances 90
*/
CREATE OR ALTER PROCEDURE dbo.backend_valoracion_balances
@p_contraparte int,
@p_user_id int = 0
AS
BEGIN
SET NOCOUNT ON;
set @p_user_id = 15342812
select c.contraparte as contraparte,
p.nombre_persona as nombre,
p.identificacion as cuit,
--b.clave_indicador as indicador,
IND.valor_numerico as valor,
IND.valor_texto as texto,
IND.clave_indicador as indicador,
case when IND.clave_indicador = 'VALORACION_BAL' then
case
when IND.valor_texto = 'P' then 'Positivo'
when IND.valor_texto = 'U' then 'Ascendente'
when IND.valor_texto = 'E' then 'Neutro'
when IND.valor_texto = 'D' then 'Descendente'
when IND.valor_texto = 'N' then 'Negativo'
else NULL
end
else null
end as textcaption,
IND.valor_memo as memo,
case IND.visible
when 1 then 'PUBLICADO'
when 0 then 'NO PUBLICADO'
else 'SIN COMPLETAR'
end as estado,
t.task_id as task_id,
t.user_id as usuario,
t.fecha_inicio_tarea as fecha_inicio,
t.fecha_fin_tarea as fecha_fin,
-- Si el usuario tiene permiso para publicar BALANCES-COMPLETO --> autorizado
-- Si el usuario tiene peromiso para publicar BALANCES-PUBLICACION y la tarea es de el, o no es de nadie --> autorizado, si la tarea es de otro --> NOautorizado
-- Si el usuario no tiene permiso para publicar --> NOautorizado
iif((isnull(ug.group_id,0)=1001 or
(isnull(ug.group_id,0)=1000 and ug.user_id = t.user_id) or
(isnull(ug.group_id,0)=1000 and isnull(t.task_id,0) = 0))
,'autorizado','NOautorizado') as autorizado,
clientes.nombre_cliente as cliente
from LN_Contrapartes c
inner join padrones p on p.id_padron = c.id_padron
left join clientes on clientes.cliente = c.cliente
left join tareas_usuarios_documentos t on t.contraparte = C.contraparte
left join users_by_group ug on ug.user_id = @p_user_id and ug.group_id in (1000,1001)
left join
(select a.contraparte,
a.valor_numerico,
a.valor_texto,
a.valor_memo,
i.clave_indicador,
isnull(a.visible,0) as visible
from LN_contraparte_indicadores a
inner join ln_indicadores i on i.indicador = a.indicador
WHERE i.clave_indicador in ('VALORACION_BAL','ANALISIS_BAL')
) IND on (IND.contraparte = c.contraparte)
where c.contraparte = @p_contraparte
END
GO
Depends On
7Used By
No items found