dbo.LN_contrapartes_queue_cliente

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 100
@cliente int 4
@servicio char 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
EXEC LN_contrapartes_queue_cliente 'cliente', 5546348
exec LN_contrapartes_queue_cliente 'pendientes' , 5546348
EXEC LN_contrapartes_queue_'pending',null,null,null,null,null,1
EXEC LN_contrapartes_queue_cliente 'pendientes_servicio', 1226057645, 'C'
*/

CREATE OR ALTER PROCEDURE dbo.LN_contrapartes_queue_cliente 
 @accion varchar(100),
 @cliente int = 0,
 @servicio char(1) = null 

AS
BEGIN
 
 SET NOCOUNT ON;
 declare @servicio_contratado int = null
 declare @subcontratista int = 0 
 
 if (@accion = 'pendientes')
 begin
 select count(*) as pendientes 
   from ln_contrapartes_queue
   inner join ln_contrapartes on ln_contrapartes.contraparte = LN_contrapartes_queue.contraparte
  where ln_contrapartes.cliente = @cliente
    and ln_contrapartes_queue.processed = 0 
 end

 if (@accion = 'pendientes_servicio')
 begin
  if (@servicio = 'C') set @servicio_contratado = 47
  if (@servicio = 'S') begin 
        set @servicio_contratado = 47 set @subcontratista = 1 
        end
  if (@servicio = 'I') set @servicio_contratado = 73
  if (@servicio = 'V') set @servicio_contratado = 10
  /*
   select count(*) as pendientes 
     from ln_contrapartes_queue
     inner join ln_contrapartes on ln_contrapartes.contraparte = LN_contrapartes_queue.contraparte
    where ln_contrapartes.cliente = @cliente
      and ln_contrapartes_queue.processed = 0 
      and ln_contrapartes.servicio_contratado = @servicio_contratado 
      and LN_contrapartes.activo = 1
      and ln_contrapartes.subcontratista = @subcontratista
   */

  select count(*) as pendientes 
     from ln_contrapartes_queue Q
     inner join LN_contrapartes C   on (C.contraparte = Q.contraparte)
     inner join LN_gestiones G    on (G.contraparte = Q.contraparte and G.vigente = 1)
     inner join ln_contraparte_familias CF on (CF.contraparte = Q.contraparte and isnull(CF.activo,1) = 1)
     inner join ln_familias F    on (F.familia = CF.familia and isnull(F.visible,1) = 1)
    where C.cliente = @cliente 
      and C.servicio_contratado = @servicio_contratado 
      and C.activo = 1 
      and C.subcontratista = @subcontratista
      and Q.processed = 0 
 end

 if (@accion = 'todos')
 begin
  select distinct ln_contrapartes.cliente as cliente, 
   clientes.nombre_cliente as nombre_cliente, 'C' as cs
   from LN_contrapartes 
   inner join clientes on clientes.cliente = LN_contrapartes.cliente
   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
         AND LN_contrapartes.cliente = LN_familias.cliente)       
   where LN_contrapartes.activo = 1
   and LN_contrapartes.subcontratista = 0
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and ln_contrapartes.servicio_contratado = 47
   
   union 

   select distinct ln_contrapartes.cliente as cliente, 
   clientes.nombre_cliente as nombre_cliente, 'S' as cs 
   from LN_contrapartes 
   inner join clientes on clientes.cliente = LN_contrapartes.cliente
   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
         AND LN_contrapartes.cliente = LN_familias.cliente)       
   where LN_contrapartes.activo = 1
   and LN_contrapartes.subcontratista = 1
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_contrapartes.vigencia_desde <= GETDATE()
   and LN_contrapartes.vigencia_hasta >= GETDATE()
   and ln_contrapartes.servicio_contratado = 47

   union 

   select distinct ln_contrapartes.cliente as cliente, 
   clientes.nombre_cliente as nombre_cliente, 'I' as cs 
   from LN_contrapartes 
   inner join clientes on clientes.cliente = LN_contrapartes.cliente
   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
         AND LN_contrapartes.cliente = LN_familias.cliente)       
   where LN_contrapartes.activo = 1
   --and LN_contrapartes.subcontratista = 0
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_contrapartes.vigencia_desde <= GETDATE()
   and LN_contrapartes.vigencia_hasta >= GETDATE()
   and ln_contrapartes.servicio_contratado = 73
                 
   order by cliente
 end
 if (@accion = 'cliente')

 begin
 select distinct ln_contrapartes.cliente as cliente, 
   clientes.nombre_cliente as nombre_cliente, 'C' as cs
   from LN_contrapartes 
   inner join clientes on clientes.cliente = LN_contrapartes.cliente
   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
         AND LN_contrapartes.cliente = LN_familias.cliente)       
   where LN_contrapartes.activo = 1
   and ln_contrapartes.cliente = @cliente
   and LN_contrapartes.subcontratista = 0
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and ln_contrapartes.servicio_contratado = 47

   union 

   select distinct ln_contrapartes.cliente as cliente, 
   clientes.nombre_cliente as nombre_cliente, 'S' as cs 
   from LN_contrapartes 
   inner join clientes on clientes.cliente = LN_contrapartes.cliente
   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
         AND LN_contrapartes.cliente = LN_familias.cliente)       
   where LN_contrapartes.activo = 1
   and ln_contrapartes.cliente = @cliente
   and LN_contrapartes.subcontratista = 1
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_contrapartes.vigencia_desde <= GETDATE()
   and LN_contrapartes.vigencia_hasta >= GETDATE()
   and ln_contrapartes.servicio_contratado = 47

   --and clientes.cliente not in (110864291)

   union 

   select distinct ln_contrapartes.cliente as cliente, 
   clientes.nombre_cliente as nombre_cliente, 'I' as cs 
   from LN_contrapartes 
   inner join clientes on clientes.cliente = LN_contrapartes.cliente
   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
         AND LN_contrapartes.cliente = LN_familias.cliente)       
   where LN_contrapartes.activo = 1
   and ln_contrapartes.cliente = @cliente
   --and LN_contrapartes.subcontratista = 0
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and ln_contrapartes.servicio_contratado = 73



   union 

   select distinct ln_contrapartes.cliente as cliente, 
   clientes.nombre_cliente as nombre_cliente, 'V' as cs 
   from LN_contrapartes 
   inner join clientes on clientes.cliente = LN_contrapartes.cliente
   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
         AND LN_contrapartes.cliente = LN_familias.cliente)       
   where LN_contrapartes.activo = 1
   and ln_contrapartes.cliente = @cliente
   --and LN_contrapartes.subcontratista = 0
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and ln_contrapartes.servicio_contratado = 10 



 end 
END

GO

Used By

No items found