dbo.LN_informe_familia_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

4
Name Data Type Length Description
@accion varchar 50
@p_familia int 4
@p_contraparte int 4
@p_producto int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: Marita Soria 
-- Create date: 10/11/2020
-- Description: Búsquedas en la tabla ln_informes_familias 
-- =============================================
/*
select * from LN_informe_familia



select * from users where username = 'sistemas'
insert into ln_informe_familia (familia, producto, id_tipo_informe, idioma, informe_default, activo,created) 
values (26,2045,6407707,29523,1, 1, getdate())

select * from idiomas
exec ln_demo_ 'reports', NULL, 5546348,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26
exec [LN_informe_familia_] 'productos', 26

exec LN_informes 'tipos_informe_cliente', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 5546348
exec [LN_informe_familia_] 'tipo_informe', 26, NULL, 2045

SELECT * FROM informes where cliente = 5546348 and fecha_ingreso >= '2020-01-01' and   numero = '20309334249' 

select * from ln_demo where contraparte = 584
SELECT id_tipo_informe, * FROM informes where cliente = 5546348 and fecha_ingreso >= '2020-01-01' and numero = '20309334249' and informe = 1298531

select * from tipos_informe where id_tipo_informe = 6407707

LN_demo_ 'prioridades'

*/

CREATE OR ALTER PROCEDURE dbo.LN_informe_familia_ 
 @accion  varchar(50) = null,
 @p_familia  int = null, 
 @p_contraparte int = null, 
 @p_producto int = null 
AS
BEGIN

 SET NOCOUNT ON

 IF (@accion = 'productos' or @accion = 'tipo_informe') 
 BEGIN
  ----------------------------
  -- 1) Si tenemos la contraparte, buscamos familia, si no vino como parámetro
  -- familia (solo 1) 
  if (@p_contraparte is not null and @p_familia is null) 
  begin
   select top 1 @p_familia = familia 
   from LN_Contrapartes 
   inner join LN_contraparte_familias on LN_contraparte_familias.contraparte = LN_Contrapartes.contraparte 
   where ln_contrapartes.contraparte = @p_contraparte
   and LN_contraparte_familias.activo = 1 
  end 
 END 
 
 IF (@accion = 'productos') 
 BEGIN
   SELECT distinct LN_productos.producto, LN_productos.nombre_producto, LN_informe_familia.informe_default
   FROM LN_informe_familia
   inner join LN_productos on LN_productos.producto = LN_informe_familia.producto 
   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_informe_familia.familia = @p_familia
   and LN_informe_familia.activo = 1
   and LN_cliente_productos.activo = 1
   and LN_contraparte_familias.activo = 1 
   and LN_familia_productos.activo = 1 
   and LN_familias.visible = 1   
 END

 IF (@accion = 'tipo_informe') 
 BEGIN

  select LN_informe_familia.familia,  
    LN_informe_familia.producto, 
    LN_informe_familia.id_tipo_informe, 
    LN_informe_familia.dedicacion, 
    LN_informe_familia.user_id_solicitante, 
    u1.username user_name_solicitante, 
    LN_informe_familia.user_id_responsable, 
    u2.username user_name_responsable, 
    LN_informe_familia.estado_inicial,
    LN_informe_familia.user_id_asignado, 
    u3.username user_name_asignado, 
    LN_informe_familia.dias_comprometidos, 
    LN_informe_familia.idioma, 
    LN_informe_familia.informe_tarea, 
    LN_informe_familia.requiere_call_center, 
    LN_informe_familia.id_tipo_informe_carga_doc, 
    LN_informe_familia.enviar_mail_alta,
    LN_informe_familia.informe_default
    from LN_informe_familia
    left outer join users u1 on u1.user_id = user_id_solicitante
    left outer join users u2 on u2.user_id = user_id_responsable
    left outer join users u3 on u3.user_id = user_id_asignado

    where LN_informe_familia.producto = @p_producto 
      and LN_informe_familia.familia  = @p_familia 
      and LN_informe_familia.activo   = 1
 
 /*
  select LN_informe_familia.producto,  LN_informe_familia.informe_default, 
         tipos_informe.id_tipo_informe, tipos_informe.nombre_tipo_informe,
        tipos_informe.tipo_informe, tipos_informe.version,
     contratos_items.item_contrato, contratos_items.id_contrato,
     contratos_items.producto, grupos_clientes.cliente,
     contratos_items.moneda, contratos_items.precio_unitario
  from LN_informe_familia
  inner join ln_familias on ln_familias.familia = LN_informe_familia.familia
  inner join grupos_clientes on grupos_clientes.cliente = LN_familias.cliente 
  inner join contratos_grupos on grupos_clientes.grupo = contratos_grupos.grupo
  inner join contratos_items on (contratos_grupos.id_contrato = contratos_items.id_contrato
  and grupos_clientes.cliente = contratos_items.cliente)
  inner join productos on contratos_items.producto = productos.producto
  inner join tipos_informe on tipos_informe.tipo_informe = LN_informe_familia.id_tipo_informe 
        
  where LN_informe_familia.producto = @p_producto 
    and LN_informe_familia.familia  = @p_familia 
    and LN_informe_familia.activo   = 1
    and contratos_grupos.fecha_vigencia <= GETDATE()
    and contratos_grupos.fecha_vencimiento >= GETDATE()
    and contratos_grupos.estado_contrato = 'A'
    and productos.estado_producto = 'A'
    and tipos_informe.vigente = 1
    and tipos_informe.selec_nuevo_informe = 1
 
  group by LN_informe_familia.producto, LN_informe_familia.informe_default,
           tipos_informe.id_tipo_informe, tipos_informe.nombre_tipo_informe,
   tipos_informe.tipo_informe, tipos_informe.version,
   contratos_items.item_contrato, contratos_items.id_contrato,
   contratos_items.producto, grupos_clientes.cliente,
   contratos_items.moneda, contratos_items.precio_unitario
 
   */

 END 
 
END

GO

Used By

No items found