Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
12| Name | Data Type | Length | Description |
|---|---|---|---|
| @prod | varchar | 10 | |
| @accion | varchar | 20 | |
| @contraparte | int | 4 | |
| @cliente | int | 4 | |
| @producto | int | 4 | |
| @desde | date | 3 | |
| @hasta | date | 3 | |
| @visible | bit | 1 | |
| @monto | float | 8 | |
| @moneda | varchar | 10 | |
| @id | int | 4 | |
| @texto | varchar | 100 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
23-07-2020
Marita Soria
Busca cifras de la tabla ln_dep_econ_compras para el producto Dependencia economica o Limite de Credito de la contraparte solicitada
exec [LN_contrapartes_DE_LCS] 'DE','productos', 95, 5546348
select * from clientes where cli_codigo = 10314
select * from ln_dep_econ_compras where cliente = 528397
*/
/*
exec [LN_contrapartes_DE_LCS] 'MLCS','delete', 31319,null,null,null,null,null,null,null,6621
select * from LN_contrapartes_queue where processed = 0
LN_contrapartes_DE_LCS 'DE', 'productos', 147069, 1226057645,2035,'2020-01-01','2020-12-01',1,50000,'ARS'
*/
CREATE OR ALTER PROCEDURE dbo.LN_contrapartes_DE_LCS
@prod varchar(10),
@accion varchar(20),
@contraparte int,
@cliente int,
@producto int = null,
@desde date = null,
@hasta date = null,
@visible bit = null,
@monto float = null,
@moneda varchar(10) = null,
@id int = null,
@texto varchar(100) = null
AS
BEGIN
SET NOCOUNT ON;
declare @identificacion varchar(20),
@id_padron int
declare @familia int = (select familia from ln_contraparte_familias where contraparte = @contraparte and activo = 1)
select @identificacion = padrones.identificacion, @id_padron = padrones.id_padron
from ln_contrapartes
inner join padrones on padrones.id_padron = ln_contrapartes.id_padron
where contraparte = @contraparte
if (@prod = 'DE')
begin
if (@accion = 'productos')
begin
select top 1 P.producto, P.nombre_producto
from LN_productos P
inner join LN_cliente_productos CP on CP.producto = P.producto
inner join LN_familia_productos FP on FP.producto = P.producto
where CP.cliente = @cliente
and FP.familia = @familia
and FP.activo = 1
and P.visible = 1
and P.producto_id in ('dependEconomica','dependEconomicaBal')
end
if (@accion = 'select')
begin
select distinct cliente, contraparte, total_compras as monto, desde, convert(varchar,desde,103) as desde_dmy,
hasta, convert(varchar,hasta,103) as hasta_dmy, DE.producto, P.producto_id, P.nombre_producto,
moneda, cotizacion, DE.visible, DE.id
from ln_dep_econ_compras DE
inner join LN_productos P on P.producto = DE.producto
inner join LN_familia_productos FP on FP.producto = P.producto
where DE.cliente = @cliente and DE.contraparte = @contraparte --and DE.visible = 1
and FP.familia = @familia
and FP.activo = 1
and P.visible = 1
and P.producto_id in ('dependEconomica','dependEconomicaBal')
order by hasta desc
end
if (@accion = 'delete')
begin
update Ln_dep_econ_compras
set visible = iif(visible = 0, 1, 0),
modified = getdate()
where id = @id
end
if (@accion = 'insert')
begin
set @hasta = dateadd(mm,+1,@hasta)
if (@desde is null) set @desde = dateadd(yy,-1,@hasta)
set @hasta = dateadd(dd,-1,@hasta)
insert into Ln_dep_econ_compras (cliente, contraparte, identificacion, id_padron,
producto, desde, hasta, total_compras, valor_cliente, moneda,
cotizacion, visible, created)
values (@cliente, @contraparte, @identificacion, @id_padron,
@producto, @desde, @hasta, @monto, @monto, @moneda,
1, 1, getdate())
select 'insert OK'
end
end
if (@prod = 'LCS')
begin
if (@accion = 'select')
begin
select distinct cliente, contraparte, monto_credito_solicitado as monto, fecha_solicitud as desde, convert(varchar,fecha_solicitud,103) as desde_dmy,
fecha_solicitud, convert(varchar,fecha_solicitud,103) as hasta_dmy, DE.producto, P.producto_id, P.nombre_producto,
moneda, cotizacion, DE.visible, DE.id, texto
from ln_dep_econ_compras DE
inner join LN_productos P on P.producto = DE.producto
inner join LN_familia_productos FP on FP.producto = P.producto
where DE.cliente = @cliente and DE.contraparte = @contraparte --and DE.visible = 1
and FP.familia = @familia
and FP.activo = 1
and P.visible = 1
and P.producto_id in ('limiteCredito')
end
end
if (@prod = 'LCS' or @prod = 'MLCS')
begin
if (@accion = 'delete')
begin
update Ln_dep_econ_compras
set visible = iif(visible = 0, 1, 0),
modified = getdate()
where id = @id
end
if (@accion = 'insert')
begin
insert into Ln_dep_econ_compras (cliente, contraparte, identificacion, id_padron,
producto, fecha_solicitud, monto_credito_solicitado, moneda,
cotizacion, visible, created, texto)
values (@cliente, @contraparte, @identificacion, @id_padron,
@producto, @desde, @monto, @moneda,
1, 1, getdate(), @texto)
end
end
if (@prod = 'MLCS')
begin
if (@accion = 'select')
begin
select distinct cliente, contraparte, monto_credito_solicitado as monto, fecha_solicitud as desde, convert(varchar,fecha_solicitud,103) as desde_dmy,
fecha_solicitud, convert(varchar,fecha_solicitud,103) as hasta_dmy, DE.producto, P.producto_id, P.nombre_producto,
moneda, cotizacion, DE.visible, DE.id, texto
from ln_dep_econ_compras DE
inner join LN_productos P on P.producto = DE.producto
inner join LN_familia_productos FP on FP.producto = P.producto
where DE.cliente = @cliente and DE.contraparte = @contraparte --and DE.visible = 1
and FP.familia = @familia
and FP.activo = 1
and P.visible = 1
and P.producto_id in ('limiteCreditoMultiple')
end
end
if (@accion = 'insert' or @accion = 'delete')
begin
if not exists (select * from LN_contrapartes_queue where contraparte = @contraparte and processed = 0)
insert into LN_contrapartes_queue(contraparte) values (@contraparte)
end
END
GO
GO
/*
23-07-2020
Marita Soria
Busca cifras de la tabla ln_dep_econ_compras para el producto Dependencia economica o Limite de Credito de la contraparte solicitada
exec [LN_contrapartes_DE_LCS] 'DE','productos', 95, 5546348
select * from clientes where cli_codigo = 10314
select * from ln_dep_econ_compras where cliente = 528397
*/
/*
exec [LN_contrapartes_DE_LCS] 'MLCS','delete', 31319,null,null,null,null,null,null,null,6621
select * from LN_contrapartes_queue where processed = 0
LN_contrapartes_DE_LCS 'DE', 'productos', 147069, 1226057645,2035,'2020-01-01','2020-12-01',1,50000,'ARS'
*/
CREATE OR ALTER PROCEDURE dbo.LN_contrapartes_DE_LCS
@prod varchar(10),
@accion varchar(20),
@contraparte int,
@cliente int,
@producto int = null,
@desde date = null,
@hasta date = null,
@visible bit = null,
@monto float = null,
@moneda varchar(10) = null,
@id int = null,
@texto varchar(100) = null
AS
BEGIN
SET NOCOUNT ON;
declare @identificacion varchar(20),
@id_padron int
declare @familia int = (select familia from ln_contraparte_familias where contraparte = @contraparte and activo = 1)
select @identificacion = padrones.identificacion, @id_padron = padrones.id_padron
from ln_contrapartes
inner join padrones on padrones.id_padron = ln_contrapartes.id_padron
where contraparte = @contraparte
if (@prod = 'DE')
begin
if (@accion = 'productos')
begin
select top 1 P.producto, P.nombre_producto
from LN_productos P
inner join LN_cliente_productos CP on CP.producto = P.producto
inner join LN_familia_productos FP on FP.producto = P.producto
where CP.cliente = @cliente
and FP.familia = @familia
and FP.activo = 1
and P.visible = 1
and P.producto_id in ('dependEconomica','dependEconomicaBal')
end
if (@accion = 'select')
begin
select distinct cliente, contraparte, total_compras as monto, desde, convert(varchar,desde,103) as desde_dmy,
hasta, convert(varchar,hasta,103) as hasta_dmy, DE.producto, P.producto_id, P.nombre_producto,
moneda, cotizacion, DE.visible, DE.id
from ln_dep_econ_compras DE
inner join LN_productos P on P.producto = DE.producto
inner join LN_familia_productos FP on FP.producto = P.producto
where DE.cliente = @cliente and DE.contraparte = @contraparte --and DE.visible = 1
and FP.familia = @familia
and FP.activo = 1
and P.visible = 1
and P.producto_id in ('dependEconomica','dependEconomicaBal')
order by hasta desc
end
if (@accion = 'delete')
begin
update Ln_dep_econ_compras
set visible = iif(visible = 0, 1, 0),
modified = getdate()
where id = @id
end
if (@accion = 'insert')
begin
set @hasta = dateadd(mm,+1,@hasta)
if (@desde is null) set @desde = dateadd(yy,-1,@hasta)
set @hasta = dateadd(dd,-1,@hasta)
insert into Ln_dep_econ_compras (cliente, contraparte, identificacion, id_padron,
producto, desde, hasta, total_compras, valor_cliente, moneda,
cotizacion, visible, created)
values (@cliente, @contraparte, @identificacion, @id_padron,
@producto, @desde, @hasta, @monto, @monto, @moneda,
1, 1, getdate())
select 'insert OK'
end
end
if (@prod = 'LCS')
begin
if (@accion = 'select')
begin
select distinct cliente, contraparte, monto_credito_solicitado as monto, fecha_solicitud as desde, convert(varchar,fecha_solicitud,103) as desde_dmy,
fecha_solicitud, convert(varchar,fecha_solicitud,103) as hasta_dmy, DE.producto, P.producto_id, P.nombre_producto,
moneda, cotizacion, DE.visible, DE.id, texto
from ln_dep_econ_compras DE
inner join LN_productos P on P.producto = DE.producto
inner join LN_familia_productos FP on FP.producto = P.producto
where DE.cliente = @cliente and DE.contraparte = @contraparte --and DE.visible = 1
and FP.familia = @familia
and FP.activo = 1
and P.visible = 1
and P.producto_id in ('limiteCredito')
end
end
if (@prod = 'LCS' or @prod = 'MLCS')
begin
if (@accion = 'delete')
begin
update Ln_dep_econ_compras
set visible = iif(visible = 0, 1, 0),
modified = getdate()
where id = @id
end
if (@accion = 'insert')
begin
insert into Ln_dep_econ_compras (cliente, contraparte, identificacion, id_padron,
producto, fecha_solicitud, monto_credito_solicitado, moneda,
cotizacion, visible, created, texto)
values (@cliente, @contraparte, @identificacion, @id_padron,
@producto, @desde, @monto, @moneda,
1, 1, getdate(), @texto)
end
end
if (@prod = 'MLCS')
begin
if (@accion = 'select')
begin
select distinct cliente, contraparte, monto_credito_solicitado as monto, fecha_solicitud as desde, convert(varchar,fecha_solicitud,103) as desde_dmy,
fecha_solicitud, convert(varchar,fecha_solicitud,103) as hasta_dmy, DE.producto, P.producto_id, P.nombre_producto,
moneda, cotizacion, DE.visible, DE.id, texto
from ln_dep_econ_compras DE
inner join LN_productos P on P.producto = DE.producto
inner join LN_familia_productos FP on FP.producto = P.producto
where DE.cliente = @cliente and DE.contraparte = @contraparte --and DE.visible = 1
and FP.familia = @familia
and FP.activo = 1
and P.visible = 1
and P.producto_id in ('limiteCreditoMultiple')
end
end
if (@accion = 'insert' or @accion = 'delete')
begin
if not exists (select * from LN_contrapartes_queue where contraparte = @contraparte and processed = 0)
insert into LN_contrapartes_queue(contraparte) values (@contraparte)
end
END
GO
Depends On
8Used By
No items found