dbo.LN_contraparte_clasificacion_

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 10
@p_contraparte int 4
@p_item int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_contraparte_clasificacion_
 -- Add the parameters for the stored procedure here

 @accion        varchar(10),
 @p_contraparte      int,
 @p_item        int
 

AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here

 if (@accion = 'insert') begin

  insert into LN_contraparte_clasificacion
  (contraparte, item)
  values
  (@p_contraparte, @p_item)

 end else

  if (@accion = 'delete_all') begin

   delete from LN_contraparte_clasificacion
   where contraparte = @p_contraparte

  end else

   if (@accion = 'delete') begin

    delete from LN_contraparte_clasificacion
    where contraparte = @p_contraparte
    and item = @p_item

   end else

    if (@accion = 'select') begin

     select LN_clasificacion_items.valor, LN_contrapartes.id_padron,
      padrones.nombre_persona, padrones.identificador, padrones.numero,
      identificadores.abreviatura, identificadores.country_code,
      country.country_name, LN_contrapartes.activo, LN_contraparte_clasificacion.item,
      LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
      CONVERT(varchar(19), LN_contrapartes.last_login, 121) as last_login, clientes.cliente, clientes.nombre_cliente,
      LN_clasificaciones.clasificacion, LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion
       

     from LN_contraparte_clasificacion
     inner join LN_contrapartes on LN_contraparte_clasificacion.contraparte = LN_contrapartes.contraparte
     inner join LN_clasificacion_items ON LN_contraparte_clasificacion.item = LN_clasificacion_items.item
     inner join LN_clasificaciones on LN_clasificacion_items.clasificacion = LN_clasificaciones.clasificacion
     inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
     inner join identificadores on padrones.identificador = identificadores.identificador
     inner join country on identificadores.country_code = country.country_code
     inner join clientes on LN_contrapartes.cliente = clientes.cliente
     where LN_contraparte_clasificacion.contraparte = @p_contraparte
     and LN_contraparte_clasificacion.item = @p_item


    end else 
    
     if (@accion = 'all') begin

      /* caso particular dado el parametro @p_contraparte trae todas las clasificaciones
       del cliente y una columna adicional indicando si está asignada o no a la contraparte */


      /*select LN_clasificacion_items.valor, LN_contrapartes.id_padron,
       padrones.nombre_persona, padrones.identificador, padrones.numero,
       identificadores.abreviatura, identificadores.country_code,
       country.country_name, LN_contrapartes.activo, 
       LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
       CONVERT(varchar(19), LN_contrapartes.last_login, 121) as last_login, clientes.cliente, clientes.nombre_cliente,
       LN_clasificaciones.clasificacion, LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion
      
      
       from LN_contraparte_clasificacion
       inner join LN_contrapartes on LN_contraparte_clasificacion.contraparte = LN_contrapartes.contraparte
       inner join LN_clasificacion_items ON LN_contraparte_clasificacion.item = LN_clasificacion_items.item
       inner join LN_clasificaciones on LN_clasificacion_items.clasificacion = LN_clasificaciones.clasificacion
       inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
       inner join identificadores on padrones.identificador = identificadores.identificador
       inner join country on identificadores.country_code = country.country_code
       inner join clientes on LN_contrapartes.cliente = clientes.cliente
      
       where LN_contraparte_clasificacion.contraparte = @p_contraparte
       order by clientes.nombre_cliente, country.country_name, padrones.nombre_persona,
       LN_clasificaciones.nombre_clasificacion*/


      declare @cliente int 

      select @cliente = cliente from LN_contrapartes where contraparte = @p_contraparte


      SELECT LN_clasificacion_items.item, LN_clasificacion_items.clasificacion, 
        LN_clasificacion_items.valor, LN_clasificaciones.nombre_clasificacion,
        LN_clasificaciones.tipo_clasificacion, LN_clasificaciones.cliente,
        clientes.nombre_cliente, 
        CASE WHEN LN_contraparte_clasificacion.item IS NOT NULL THEN 1
         ELSE 0 END AS asignada

      FROM LN_clasificacion_items INNER JOIN LN_clasificaciones ON
       LN_clasificacion_items.clasificacion = LN_clasificaciones.clasificacion
      INNER JOIN clientes ON LN_clasificaciones.cliente = clientes.cliente
      LEFT OUTER JOIN LN_contraparte_clasificacion ON
       (LN_clasificacion_items.item = LN_contraparte_clasificacion.item
        AND LN_contraparte_clasificacion.contraparte = @p_contraparte)
     
      WHERE LN_clasificaciones.cliente = @cliente
      ORDER BY LN_clasificaciones.nombre_clasificacion, LN_clasificacion_items.valor

      

     end else
    

      if (@p_contraparte is null AND @p_item is null) begin

       select LN_clasificacion_items.valor, LN_contrapartes.id_padron,
        padrones.nombre_persona, padrones.identificador, padrones.numero,
        identificadores.abreviatura, identificadores.country_code,
        country.country_name, LN_contrapartes.activo, LN_contraparte_clasificacion.item,
        LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
        CONVERT(varchar(19), LN_contrapartes.last_login, 121) as last_login, clientes.cliente, clientes.nombre_cliente,
        LN_clasificaciones.clasificacion, LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion
       

       from LN_contraparte_clasificacion
       inner join LN_contrapartes on LN_contraparte_clasificacion.contraparte = LN_contrapartes.contraparte
       inner join LN_clasificacion_items ON LN_contraparte_clasificacion.item = LN_clasificacion_items.item
       inner join LN_clasificaciones on LN_clasificacion_items.clasificacion = LN_clasificaciones.clasificacion
       inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
       inner join identificadores on padrones.identificador = identificadores.identificador
       inner join country on identificadores.country_code = country.country_code
       inner join clientes on LN_contrapartes.cliente = clientes.cliente

       order by clientes.nombre_cliente, country.country_name, padrones.nombre_persona,
          LN_clasificaciones.nombre_clasificacion


      end else

       if (@p_contraparte is not null AND @p_item is null) begin

        select LN_clasificacion_items.valor, LN_contrapartes.id_padron,
         padrones.nombre_persona, padrones.identificador, padrones.numero,
         identificadores.abreviatura, identificadores.country_code,
         country.country_name, LN_contrapartes.activo, LN_contraparte_clasificacion.item,
         LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
         CONVERT(varchar(19), LN_contrapartes.last_login, 121) as last_login, clientes.cliente, clientes.nombre_cliente,
         LN_clasificaciones.clasificacion, LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion
       

        from LN_contraparte_clasificacion
        inner join LN_contrapartes on LN_contraparte_clasificacion.contraparte = LN_contrapartes.contraparte
        inner join LN_clasificacion_items ON LN_contraparte_clasificacion.item = LN_clasificacion_items.item
        inner join LN_clasificaciones on LN_clasificacion_items.clasificacion = LN_clasificaciones.clasificacion
        inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
        inner join identificadores on padrones.identificador = identificadores.identificador
        inner join country on identificadores.country_code = country.country_code
        inner join clientes on LN_contrapartes.cliente = clientes.cliente

        where LN_contraparte_clasificacion.contraparte = @p_contraparte
        order by clientes.nombre_cliente, country.country_name, padrones.nombre_persona,
           LN_clasificaciones.nombre_clasificacion


       end else

        if (@p_contraparte is null AND @p_item is not null) begin

         select LN_clasificacion_items.valor, LN_contrapartes.id_padron,
          padrones.nombre_persona, padrones.identificador, padrones.numero,
          identificadores.abreviatura, identificadores.country_code,
          country.country_name, LN_contrapartes.activo, LN_contraparte_clasificacion.item,
          LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
          CONVERT(varchar(19), LN_contrapartes.last_login, 121) as last_login, clientes.cliente, clientes.nombre_cliente,
          LN_clasificaciones.clasificacion, LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion
       

         from LN_contraparte_clasificacion
         inner join LN_contrapartes on LN_contraparte_clasificacion.contraparte = LN_contrapartes.contraparte
         inner join LN_clasificacion_items ON LN_contraparte_clasificacion.item = LN_clasificacion_items.item
         inner join LN_clasificaciones on LN_clasificacion_items.clasificacion = LN_clasificaciones.clasificacion
         inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
         inner join identificadores on padrones.identificador = identificadores.identificador
         inner join country on identificadores.country_code = country.country_code
         inner join clientes on LN_contrapartes.cliente = clientes.cliente
         where LN_contraparte_clasificacion.item = @p_item

         order by clientes.nombre_cliente, country.country_name, padrones.nombre_persona,
            LN_clasificaciones.nombre_clasificacion

        end

     

 
END

GO

Used By

No items found