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_contraparte | int | 4 | |
| @p_cliente | int | 4 | |
| @p_dias | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
/*
exec ln_email_data 'contrapartes_vencimiento',null,null,15
*/
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_email_data
-- Add the parameters for the stored procedure here
@accion varchar(50) = NULL,
@p_contraparte int = NULL,
@p_cliente int = NULL,
@p_dias 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
--- Todas las contrapartes de todos los clientes o filtrado, obtener las contrapartes con documentacion pendiente a vencer en al menos @p_dias
IF (@accion = 'contrapartes_vencimiento') BEGIN
if (@p_contraparte is null AND @p_cliente is null)
select LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
from LN_docs
inner join LN_contrapartes on LN_docs.contraparte = LN_contrapartes.contraparte
inner join clientes on LN_contrapartes.cliente = clientes.cliente
inner join LN_gestiones on (LN_docs.contraparte = LN_gestiones.contraparte
and LN_docs.gestion = LN_gestiones.gestion)
where DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) <= @p_dias
AND DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) >= 0
and LN_docs.estado_doc IN ('N','R')
and LN_contrapartes.activo = 1
and LN_docs.aplica = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
group by LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
else if (@p_contraparte is not null AND @p_cliente is null)
select LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
from LN_docs
inner join LN_contrapartes on LN_docs.contraparte = LN_contrapartes.contraparte
inner join clientes on LN_contrapartes.cliente = clientes.cliente
inner join LN_gestiones on (LN_docs.contraparte = LN_gestiones.contraparte
and LN_docs.gestion = LN_gestiones.gestion)
where DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) <= @p_dias
AND DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) >= 0
and LN_docs.estado_doc IN ('N','R')
and LN_contrapartes.activo = 1
and LN_docs.aplica = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and LN_contrapartes.contraparte = @p_contraparte
group by LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
else if (@p_contraparte is null AND @p_cliente is not null)
select LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
from LN_docs
inner join LN_contrapartes on LN_docs.contraparte = LN_contrapartes.contraparte
inner join clientes on LN_contrapartes.cliente = clientes.cliente
inner join LN_gestiones on (LN_docs.contraparte = LN_gestiones.contraparte
and LN_docs.gestion = LN_gestiones.gestion)
where DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) <= @p_dias
AND DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) >= 0
and LN_docs.estado_doc IN ('N','R')
and LN_contrapartes.activo = 1
and LN_docs.aplica = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and LN_contrapartes.cliente = @p_cliente
group by LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
else
select LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
from LN_docs
inner join LN_contrapartes on LN_docs.contraparte = LN_contrapartes.contraparte
inner join clientes on LN_contrapartes.cliente = clientes.cliente
inner join LN_gestiones on (LN_docs.contraparte = LN_gestiones.contraparte
and LN_docs.gestion = LN_gestiones.gestion)
where DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) <= @p_dias
AND DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) >= 0
and LN_docs.estado_doc IN ('N','R')
and LN_contrapartes.activo = 1
and LN_docs.aplica = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and LN_contrapartes.contraparte = @p_contraparte
and LN_contrapartes.cliente = @p_cliente
group by LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
END ELSE
--- Dado un ID de contraparte lista los documentos pendientes a vencer en al menos @p_dias
IF (@accion = 'documentos_vencimiento') BEGIN
select LN_docs.doc_id, LN_docs.tipo_doc,
convert(varchar, LN_docs.vencimiento_carga, 103) as vencimiento_carga,
LN_docs.estado_doc,
LN_docs.es_balance,
CASE
WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
END AS estado_documento,
CASE
WHEN traducciones.app_key IS NULL THEN LN_tipos_doc.nombre_tipo_doc
ELSE
CASE
WHEN LN_contrapartes.codigo_idioma = 'spa' THEN traducciones.spa
WHEN LN_contrapartes.codigo_idioma = 'por' THEN traducciones.por
WHEN LN_contrapartes.codigo_idioma = 'eng' THEN traducciones.eng
ELSE traducciones.spa
END
END AS nombre_tipo_doc,
iif(ISNULL(LN_docs.es_balance,0) > 0, CONVERT(VARCHAR,LN_docs.fin_ejercicio,103), NULL) AS cierre
from LN_docs
inner join LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
inner join LN_contrapartes ON LN_docs.contraparte = LN_contrapartes.contraparte
left outer join traducciones on (LN_tipos_doc.nombre_tipo_doc = traducciones.app_key
and traducciones.app_id = 4
and traducciones.blade = 'home legajos')
where LN_docs.contraparte = @p_contraparte
and DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) <= @p_dias
and LN_docs.estado_doc IN ('N','R')
and LN_docs.aplica = 1
order by LN_docs.vencimiento_carga, LN_tipos_doc.nombre_tipo_doc
END
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
/*
exec ln_email_data 'contrapartes_vencimiento',null,null,15
*/
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_email_data
-- Add the parameters for the stored procedure here
@accion varchar(50) = NULL,
@p_contraparte int = NULL,
@p_cliente int = NULL,
@p_dias 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
--- Todas las contrapartes de todos los clientes o filtrado, obtener las contrapartes con documentacion pendiente a vencer en al menos @p_dias
IF (@accion = 'contrapartes_vencimiento') BEGIN
if (@p_contraparte is null AND @p_cliente is null)
select LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
from LN_docs
inner join LN_contrapartes on LN_docs.contraparte = LN_contrapartes.contraparte
inner join clientes on LN_contrapartes.cliente = clientes.cliente
inner join LN_gestiones on (LN_docs.contraparte = LN_gestiones.contraparte
and LN_docs.gestion = LN_gestiones.gestion)
where DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) <= @p_dias
AND DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) >= 0
and LN_docs.estado_doc IN ('N','R')
and LN_contrapartes.activo = 1
and LN_docs.aplica = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
group by LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
else if (@p_contraparte is not null AND @p_cliente is null)
select LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
from LN_docs
inner join LN_contrapartes on LN_docs.contraparte = LN_contrapartes.contraparte
inner join clientes on LN_contrapartes.cliente = clientes.cliente
inner join LN_gestiones on (LN_docs.contraparte = LN_gestiones.contraparte
and LN_docs.gestion = LN_gestiones.gestion)
where DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) <= @p_dias
AND DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) >= 0
and LN_docs.estado_doc IN ('N','R')
and LN_contrapartes.activo = 1
and LN_docs.aplica = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and LN_contrapartes.contraparte = @p_contraparte
group by LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
else if (@p_contraparte is null AND @p_cliente is not null)
select LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
from LN_docs
inner join LN_contrapartes on LN_docs.contraparte = LN_contrapartes.contraparte
inner join clientes on LN_contrapartes.cliente = clientes.cliente
inner join LN_gestiones on (LN_docs.contraparte = LN_gestiones.contraparte
and LN_docs.gestion = LN_gestiones.gestion)
where DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) <= @p_dias
AND DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) >= 0
and LN_docs.estado_doc IN ('N','R')
and LN_contrapartes.activo = 1
and LN_docs.aplica = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and LN_contrapartes.cliente = @p_cliente
group by LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
else
select LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
from LN_docs
inner join LN_contrapartes on LN_docs.contraparte = LN_contrapartes.contraparte
inner join clientes on LN_contrapartes.cliente = clientes.cliente
inner join LN_gestiones on (LN_docs.contraparte = LN_gestiones.contraparte
and LN_docs.gestion = LN_gestiones.gestion)
where DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) <= @p_dias
AND DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) >= 0
and LN_docs.estado_doc IN ('N','R')
and LN_contrapartes.activo = 1
and LN_docs.aplica = 1
and LN_gestiones.desde <= GETDATE()
and LN_gestiones.hasta >= GETDATE()
and LN_contrapartes.contraparte = @p_contraparte
and LN_contrapartes.cliente = @p_cliente
group by LN_docs.contraparte, LN_docs.cliente, clientes.nombre_cliente, LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto
END ELSE
--- Dado un ID de contraparte lista los documentos pendientes a vencer en al menos @p_dias
IF (@accion = 'documentos_vencimiento') BEGIN
select LN_docs.doc_id, LN_docs.tipo_doc,
convert(varchar, LN_docs.vencimiento_carga, 103) as vencimiento_carga,
LN_docs.estado_doc,
LN_docs.es_balance,
CASE
WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
END AS estado_documento,
CASE
WHEN traducciones.app_key IS NULL THEN LN_tipos_doc.nombre_tipo_doc
ELSE
CASE
WHEN LN_contrapartes.codigo_idioma = 'spa' THEN traducciones.spa
WHEN LN_contrapartes.codigo_idioma = 'por' THEN traducciones.por
WHEN LN_contrapartes.codigo_idioma = 'eng' THEN traducciones.eng
ELSE traducciones.spa
END
END AS nombre_tipo_doc,
iif(ISNULL(LN_docs.es_balance,0) > 0, CONVERT(VARCHAR,LN_docs.fin_ejercicio,103), NULL) AS cierre
from LN_docs
inner join LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
inner join LN_contrapartes ON LN_docs.contraparte = LN_contrapartes.contraparte
left outer join traducciones on (LN_tipos_doc.nombre_tipo_doc = traducciones.app_key
and traducciones.app_id = 4
and traducciones.blade = 'home legajos')
where LN_docs.contraparte = @p_contraparte
and DATEDIFF(DAY,CONVERT(DATE,GETDATE()),CONVERT(DATE,LN_docs.vencimiento_carga)) <= @p_dias
and LN_docs.estado_doc IN ('N','R')
and LN_docs.aplica = 1
order by LN_docs.vencimiento_carga, LN_tipos_doc.nombre_tipo_doc
END
END
GO
Depends On
6Used By
No items found