dbo.backend_valoracion_balances

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

Used By

No items found