dbo.trazabilidad_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@p_accion varchar 100
@p_contraparte int 4
@p_cliente int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: LUIS PRENAFETA
-- Create date: 16/01/2020
-- Description: PARA CONSULTAR EL HISTORIAL DE TRAZABILIDAD ORDENADO POR FECHA DESCENDENTE
-- =============================================
CREATE OR ALTER PROCEDURE dbo.trazabilidad_
 -- Add the parameters for the stored procedure here

 @p_accion           varchar(100) = NULL,
 @p_contraparte          int = NULL,
 @p_cliente           int = NULL
 
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 (@p_accion is null) begin

  if (@p_contraparte is null AND @p_cliente is not null)

   select LN_contrapartes.contraparte, country.country_name, identificadores.abreviatura, identificadores.country_code,
     padrones.nombre_persona, padrones.numero, padrones.identificacion, padrones.identificador, padrones.id_padron,
     clientes.nombre_cliente, LN_contrapartes.cliente, trazabilidad.accion, trazabilidad.texto, trazabilidad.created,
     CONVERT(varchar(10), trazabilidad.created, 103) + ' ' + CONVERT(varchar(5), trazabilidad.created, 14) as horario

   from LN_contrapartes 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
   inner join trazabilidad on (clientes.cliente = trazabilidad.cliente AND LN_contrapartes.contraparte = trazabilidad.contraparte)
   where trazabilidad.cliente = @p_cliente
   order by trazabilidad.created desc

  else

  if (@p_contraparte is not null AND @p_cliente is null)

   select LN_contrapartes.contraparte, country.country_name, identificadores.abreviatura, identificadores.country_code,
     padrones.nombre_persona, padrones.numero, padrones.identificacion, padrones.identificador, padrones.id_padron,
     clientes.nombre_cliente, LN_contrapartes.cliente, trazabilidad.accion, trazabilidad.texto, trazabilidad.created,
     CONVERT(varchar(10), trazabilidad.created, 103) + ' ' + CONVERT(varchar(5), trazabilidad.created, 14) as horario

   from LN_contrapartes 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
   inner join trazabilidad on (clientes.cliente = trazabilidad.cliente AND LN_contrapartes.contraparte = trazabilidad.contraparte)
   where trazabilidad.contraparte = @p_contraparte
   order by trazabilidad.created desc
      
  end else begin

  if (@p_contraparte is null AND @p_cliente is not null)

   select LN_contrapartes.contraparte, country.country_name, identificadores.abreviatura, identificadores.country_code,
     padrones.nombre_persona, padrones.numero, padrones.identificacion, padrones.identificador, padrones.id_padron,
     clientes.nombre_cliente, LN_contrapartes.cliente, trazabilidad.accion, trazabilidad.texto, trazabilidad.created,
     CONVERT(varchar(10), trazabilidad.created, 103) + ' ' + CONVERT(varchar(5), trazabilidad.created, 14) as horario

   from LN_contrapartes 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
   inner join trazabilidad on (clientes.cliente = trazabilidad.cliente AND LN_contrapartes.contraparte = trazabilidad.contraparte)
   where trazabilidad.cliente = @p_cliente
   and trazabilidad.accion = @p_accion
   order by trazabilidad.created desc

  else

  if (@p_contraparte is not null AND @p_cliente is null)

   select LN_contrapartes.contraparte, country.country_name, identificadores.abreviatura, identificadores.country_code,
     padrones.nombre_persona, padrones.numero, padrones.identificacion, padrones.identificador, padrones.id_padron,
     clientes.nombre_cliente, LN_contrapartes.cliente, trazabilidad.accion, trazabilidad.texto, trazabilidad.created,
     CONVERT(varchar(10), trazabilidad.created, 103) + ' ' + CONVERT(varchar(5), trazabilidad.created, 14) as horario

   from LN_contrapartes 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
   inner join trazabilidad on (clientes.cliente = trazabilidad.cliente AND LN_contrapartes.contraparte = trazabilidad.contraparte)
   where trazabilidad.contraparte = @p_contraparte
   and trazabilidad.accion = @p_accion
   order by trazabilidad.created desc

  else


  -- para consultar por acción, permito contraparte y cliente nulo
  if (@p_contraparte is null AND @p_cliente is null)
 
   select LN_contrapartes.contraparte, country.country_name, identificadores.abreviatura, identificadores.country_code,
     padrones.nombre_persona, padrones.numero, padrones.identificacion, padrones.identificador, padrones.id_padron,
     clientes.nombre_cliente, LN_contrapartes.cliente, trazabilidad.accion, trazabilidad.texto, trazabilidad.created,
     CONVERT(varchar(10), trazabilidad.created, 103) + ' ' + CONVERT(varchar(5), trazabilidad.created, 14) as horario

   from LN_contrapartes 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
   inner join trazabilidad on (clientes.cliente = trazabilidad.cliente AND LN_contrapartes.contraparte = trazabilidad.contraparte)
   where trazabilidad.accion = @p_accion
   order by trazabilidad.created desc

 end

END
GO

Used By

No items found