dbo.LN_contrapartes_email

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 70
@p_plazo int 4
@p_cliente int 4
@p_contraparte 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_contrapartes_email
 -- Add the parameters for the stored procedure here

 @accion              varchar(70) NULL,
 @p_plazo             int = 7,
 @p_cliente             int = NULL,
 @p_contraparte            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 (@accion = 'vencimiento_carga') begin

  if (@p_cliente IS NULL AND @p_contraparte IS NULL)

   select LN_contrapartes.limite_carga_inicial, CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) AS fecha_limite,
     LN_contrapartes.contraparte, LN_contrapartes.cliente, LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente,
     CONVERT(VARCHAR(10), LN_contrapartes.limite_carga_inicial, 21) AS expira,
     DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) as restan_dias

   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 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
   inner join LN_set_tipo_doc ON LN_familias.set_doc = LN_set_tipo_doc.set_doc
   inner join LN_docs ON (LN_contrapartes.contraparte = LN_docs.contraparte
         AND LN_set_tipo_doc.tipo_doc = LN_docs.tipo_doc)

   left outer join LN_tipos_doc_carga_verif ON (LN_docs.cliente = LN_tipos_doc_carga_verif.cliente
              AND LN_docs.tipo_doc = LN_tipos_doc_carga_verif.tipo_doc
              AND LN_tipos_doc_carga_verif.familia = LN_contraparte_familias.familia )

   left outer join pagos_transacciones on LN_contrapartes.contraparte = pagos_transacciones.contraparte

   where LN_contrapartes.limite_carga_inicial > GETDATE()
   and LN_contrapartes.carga_inicial = 1
   and DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) = @p_plazo
   and LN_contrapartes.activo = 1
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and LN_docs.estado_doc = 'N'
   and ISNULL(LN_tipos_doc_carga_verif.quien_carga, 'L') = 'L'
   and LN_contrapartes.email_contacto IS NOT NULL
   and ISNULL(pagos_transacciones.status, 'approved') = 'approved'

   group by LN_contrapartes.limite_carga_inicial , LN_contrapartes.contraparte, LN_contrapartes.cliente, 
     LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente

   order by clientes.nombre_cliente, padrones.nombre_persona


  else

  if (@p_cliente IS NOT NULL AND @p_contraparte IS NULL)


   select LN_contrapartes.limite_carga_inicial, CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) AS fecha_limite,
     LN_contrapartes.contraparte, LN_contrapartes.cliente, LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente,
     CONVERT(VARCHAR(10), LN_contrapartes.limite_carga_inicial, 21) AS expira,
     DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) as restan_dias
   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 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
   inner join LN_set_tipo_doc ON LN_familias.set_doc = LN_set_tipo_doc.set_doc
   inner join LN_docs ON (LN_contrapartes.contraparte = LN_docs.contraparte
         AND LN_set_tipo_doc.tipo_doc = LN_docs.tipo_doc)

   left outer join LN_tipos_doc_carga_verif ON (LN_docs.cliente = LN_tipos_doc_carga_verif.cliente
              AND LN_docs.tipo_doc = LN_tipos_doc_carga_verif.tipo_doc
              AND LN_tipos_doc_carga_verif.familia = LN_contraparte_familias.familia )

   left outer join pagos_transacciones on LN_contrapartes.contraparte = pagos_transacciones.contraparte

   where LN_contrapartes.limite_carga_inicial > GETDATE()
   and LN_contrapartes.carga_inicial = 1
   and DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) = @p_plazo
   and LN_contrapartes.activo = 1
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and LN_docs.estado_doc = 'N'
   and ISNULL(LN_tipos_doc_carga_verif.quien_carga, 'L') = 'L'
   and LN_contrapartes.email_contacto IS NOT NULL
   and LN_contrapartes.cliente = @p_cliente
   and ISNULL(pagos_transacciones.status, 'approved') = 'approved'

   group by LN_contrapartes.limite_carga_inicial , LN_contrapartes.contraparte, LN_contrapartes.cliente, 
     LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente

   order by clientes.nombre_cliente, padrones.nombre_persona


  else


  if (@p_cliente IS NULL AND @p_contraparte IS NOT NULL)

   select LN_contrapartes.limite_carga_inicial, CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) AS fecha_limite,
     LN_contrapartes.contraparte, LN_contrapartes.cliente, LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente,
     CONVERT(VARCHAR(10), LN_contrapartes.limite_carga_inicial, 21) AS expira,
     DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) as restan_dias
   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 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
   inner join LN_set_tipo_doc ON LN_familias.set_doc = LN_set_tipo_doc.set_doc
   inner join LN_docs ON (LN_contrapartes.contraparte = LN_docs.contraparte
         AND LN_set_tipo_doc.tipo_doc = LN_docs.tipo_doc)

   left outer join LN_tipos_doc_carga_verif ON (LN_docs.cliente = LN_tipos_doc_carga_verif.cliente
              AND LN_docs.tipo_doc = LN_tipos_doc_carga_verif.tipo_doc
              AND LN_tipos_doc_carga_verif.familia = LN_contraparte_familias.familia)

   left outer join pagos_transacciones on LN_contrapartes.contraparte = pagos_transacciones.contraparte

   where LN_contrapartes.limite_carga_inicial > GETDATE()
   and LN_contrapartes.carga_inicial = 1
   and DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) = @p_plazo
   and LN_contrapartes.activo = 1
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and LN_docs.estado_doc = 'N'
   and ISNULL(LN_tipos_doc_carga_verif.quien_carga, 'L') = 'L'
   and LN_contrapartes.email_contacto IS NOT NULL
   and LN_contrapartes.contraparte = @p_contraparte
   and ISNULL(pagos_transacciones.status, 'approved') = 'approved'

   group by LN_contrapartes.limite_carga_inicial , LN_contrapartes.contraparte, LN_contrapartes.cliente, 
     LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente

   order by clientes.nombre_cliente, padrones.nombre_persona


  else

   select LN_contrapartes.limite_carga_inicial, CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) AS fecha_limite,
     LN_contrapartes.contraparte, LN_contrapartes.cliente, LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente,
     CONVERT(VARCHAR(10), LN_contrapartes.limite_carga_inicial, 21) AS expira,
     DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) as restan_dias
   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 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
   inner join LN_set_tipo_doc ON LN_familias.set_doc = LN_set_tipo_doc.set_doc
   inner join LN_docs ON (LN_contrapartes.contraparte = LN_docs.contraparte
         AND LN_set_tipo_doc.tipo_doc = LN_docs.tipo_doc)

   left outer join LN_tipos_doc_carga_verif ON (LN_docs.cliente = LN_tipos_doc_carga_verif.cliente
              AND LN_docs.tipo_doc = LN_tipos_doc_carga_verif.tipo_doc
              AND LN_tipos_doc_carga_verif.familia = LN_contraparte_familias.familia)

   left outer join pagos_transacciones on LN_contrapartes.contraparte = pagos_transacciones.contraparte

   where LN_contrapartes.limite_carga_inicial > GETDATE()
   and LN_contrapartes.carga_inicial = 1
   and DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) = @p_plazo
   and LN_contrapartes.activo = 1
   and LN_contraparte_familias.activo = 1
   and LN_familias.visible = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and LN_docs.estado_doc = 'N'
   and ISNULL(LN_tipos_doc_carga_verif.quien_carga, 'L') = 'L'
   and LN_contrapartes.email_contacto IS NOT NULL
   and LN_contrapartes.cliente = @p_cliente
   and LN_contrapartes.contraparte = @p_contraparte
   and ISNULL(pagos_transacciones.status, 'approved') = 'approved'

   group by LN_contrapartes.limite_carga_inicial , LN_contrapartes.contraparte, LN_contrapartes.cliente, 
     LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente

   order by clientes.nombre_cliente, padrones.nombre_persona

 end else

 /** Contrapartes con pago pendiente creados hace NN días y que aún no han ingresado al sitio a pagar **/
 if (@accion = 'pago_no_recibido') begin

  if (@p_cliente IS NULL AND @p_contraparte IS NULL)

   select LN_contrapartes.limite_carga_inicial, CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) AS fecha_limite,
     LN_contrapartes.contraparte, LN_contrapartes.cliente, LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente,
     CONVERT(VARCHAR(10), LN_contrapartes.limite_carga_inicial, 21) AS expira,
     DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) as restan_dias,
     CONVERT(VARCHAR,pagos_transacciones.created,103) AS pago_requerido

   from LN_contrapartes inner join pagos_transacciones on LN_contrapartes.contraparte = pagos_transacciones.contraparte
   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 LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
   where pagos_transacciones.status = 'pending'
   and pagos_transacciones.vigencia > GETDATE()
   and LN_contrapartes.activo = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and LN_contrapartes.email_contacto IS NOT NULL
   --and LN_contrapartes.last_login IS NULL
   and DATEDIFF(DAY, CONVERT(DATE,pagos_transacciones.created), CONVERT(DATE,GETDATE())) = @p_plazo

  else

  if (@p_cliente IS NOT NULL AND @p_contraparte IS NULL)

   select LN_contrapartes.limite_carga_inicial, CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) AS fecha_limite,
     LN_contrapartes.contraparte, LN_contrapartes.cliente, LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente,
     CONVERT(VARCHAR(10), LN_contrapartes.limite_carga_inicial, 21) AS expira,
     DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) as restan_dias,
     CONVERT(VARCHAR,pagos_transacciones.created,103) AS pago_requerido

   from LN_contrapartes inner join pagos_transacciones on LN_contrapartes.contraparte = pagos_transacciones.contraparte
   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 LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
   where pagos_transacciones.status = 'pending'
   and pagos_transacciones.vigencia > GETDATE()
   and LN_contrapartes.cliente = @p_cliente
   and LN_contrapartes.activo = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and LN_contrapartes.email_contacto IS NOT NULL
   --and LN_contrapartes.last_login IS NULL
   and DATEDIFF(DAY, CONVERT(DATE,pagos_transacciones.created), CONVERT(DATE,GETDATE())) = @p_plazo

  else

  if (@p_cliente IS NULL AND @p_contraparte IS NOT NULL)

   select LN_contrapartes.limite_carga_inicial, CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) AS fecha_limite,
     LN_contrapartes.contraparte, LN_contrapartes.cliente, LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente,
     CONVERT(VARCHAR(10), LN_contrapartes.limite_carga_inicial, 21) AS expira,
     DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) as restan_dias,
     CONVERT(VARCHAR,pagos_transacciones.created,103) AS pago_requerido

   from LN_contrapartes inner join pagos_transacciones on LN_contrapartes.contraparte = pagos_transacciones.contraparte
   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 LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
   where pagos_transacciones.status = 'pending'
   and pagos_transacciones.vigencia > GETDATE()
   and LN_contrapartes.contraparte = @p_contraparte
   and LN_contrapartes.activo = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and LN_contrapartes.email_contacto IS NOT NULL
   --and LN_contrapartes.last_login IS NULL
   and DATEDIFF(DAY, CONVERT(DATE,pagos_transacciones.created), CONVERT(DATE,GETDATE())) = @p_plazo

  else

   select LN_contrapartes.limite_carga_inicial, CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) AS fecha_limite,
     LN_contrapartes.contraparte, LN_contrapartes.cliente, LN_contrapartes.codigo_idioma, LN_contrapartes.email_contacto, 
     LN_contrapartes.nombre_contacto, identificadores.country_code, identificadores.abreviatura, padrones.numero,
     padrones.identificador, padrones.identificacion, padrones.nombre_persona, country.country_name, clientes.nombre_cliente,
     CONVERT(VARCHAR(10), LN_contrapartes.limite_carga_inicial, 21) AS expira,
     DATEDIFF(DAY, CONVERT(DATE,GETDATE()), CONVERT(DATE,LN_contrapartes.limite_carga_inicial)) as restan_dias,
     CONVERT(VARCHAR,pagos_transacciones.created,103) AS pago_requerido

   from LN_contrapartes inner join pagos_transacciones on LN_contrapartes.contraparte = pagos_transacciones.contraparte
   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 LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
   where pagos_transacciones.status = 'pending'
   and pagos_transacciones.vigencia > GETDATE()
   and LN_contrapartes.contraparte = @p_contraparte
   and LN_contrapartes.cliente = @p_cliente
   and LN_contrapartes.activo = 1
   and LN_gestiones.desde <= GETDATE()
   and LN_gestiones.hasta >= GETDATE()
   and LN_contrapartes.email_contacto IS NOT NULL
   --and LN_contrapartes.last_login IS NULL
   and DATEDIFF(DAY, CONVERT(DATE,pagos_transacciones.created), CONVERT(DATE,GETDATE())) = @p_plazo


 end
 
END
GO

Used By

No items found