Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
7| Name | Data Type | Length | Description |
|---|---|---|---|
| @id_cliente1 | varchar | 20 | |
| @user_id1 | varchar | 20 | |
| @fecha_desde1 | varchar | 20 | |
| @fecha_hasta1 | varchar | 20 | |
| @prod | int | 4 | |
| @tipo_consulta | char | 1 | |
| @todos | char | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec [obtener_registro_consumos] '5300349',0,'2025-01-08','2025-01-08', '86','A','T'
exec [obtener_registro_consumos] '1028886332',0,'2024-06-18','2024-06-19', '26','C','T'
exec [obtener_registro_consumos] 2254875,614149624,'2025-01-01','2025-01-08',12,'C'
exec [obtener_registro_consumos] 2254875,614149624,'2025-01-01','2025-01-08',12,'A'
*/
CREATE OR ALTER PROCEDURE dbo.obtener_registro_consumos
@id_cliente1 varchar(20),
@user_id1 varchar(20),
@fecha_desde1 varchar(20),
@fecha_hasta1 varchar(20),
@prod int,
@tipo_consulta char(1), -- C: Todo el cliente, U: Solo el user_id, F: Todos los clientes unificados en la factura -- A: APIs
@todos char(1) = null
AS
BEGIN
SET NOCOUNT ON;
set @id_cliente1 = RTRIM(@id_cliente1)
set @user_id1 = RTRIM(@user_id1)
set @fecha_desde1 = RTRIM(@fecha_desde1)
set @fecha_hasta1 = RTRIM(@fecha_hasta1)
if (@id_cliente1 = '') begin set @id_cliente1 = null end
if (@user_id1 = '') begin set @user_id1 = null end
if (@fecha_desde1 = '') begin set @fecha_desde1 = null end
if (@fecha_hasta1 = '') begin set @fecha_hasta1 = null end
declare @id_cliente int = convert(int, @id_cliente1)
declare @user_id int = convert(int, @user_id1)
declare @fecha_desde date = convert(date, @fecha_desde1)
declare @fecha_hasta date = convert(date, @fecha_hasta1)
/*
set @fecha_hasta = '2024-03-31'
set @fecha_desde = '2024-03-01'
*/
/* Enero 2025: PARA PANEL DE APIS */
if (@tipo_consulta = 'A')
begin
select /*@id_cliente, @prod, @fecha_desde1,@fecha_hasta1, 'MARITAaaaa' as GGGG, */
usuarios_consumos.url as endpoint,
usuarios_consumos.ip as ip,
null as nombre_persona,
cuit_consultado ,
usuarios_consumos.created2 as fecha_oculta,
(CONVERT(VARCHAR(10),usuarios_consumos.created2, 103)) as fecha,
id_producto,
upper(productos.nombre_producto) as nombre_producto,
/*
'PERSONAL CREDIT VALIDATION' as nombre_producto,
*/
id_transaccion,
username
from usuarios_consumos
INNER JOIN dbo.DelimitedSplit8K(@prod, ',') Segmentado on usuarios_consumos.id_producto = Segmentado.Item
inner join resultados_api on usuarios_consumos.id_transaccion = resultados_api.transaction_id
left join productos on productos.producto = usuarios_consumos.id_producto
--saco estos join porque no muestra datos de esas tablas
--left join padrones on (padrones.identificacion = cuit_consultado and padrones.habilitado = '1' and identificador in (select identificador from identificadores where identificadores.country_code = 'AR'))
left join users on users.user_id = usuarios_consumos.user_id
--left join clientes on cliente = @cliente
/* where id_producto = @id_producto*/
where convert(date,usuarios_consumos.created) between @fecha_desde1 and @fecha_hasta1 --> lo agregamos para que la consulta sea más rápida por los índices
and convert(date,usuarios_consumos.created2) between @fecha_desde1 and @fecha_hasta1 --> exacto por segundos
and usuarios_consumos.user_id in (select distinct user_id from usuarios_productos where cliente = @id_cliente)
and (ip not in ('186.189.232.93') or ip like '192%')
--and resultados_api.codigo_resultado != '306'
and isnull(resultados_api.codigo_resultado,'0') !='306'
and ARREGLO_DATOS_POR_FALLAS is null
order by fecha_oculta
RETURN
end
if (@prod = 16) -- Si es Monitoreo de Cartera
begin
if (@tipo_consulta = 'C')
begin
if (@todos = 'T')
begin
select 'A', nombre_persona,
monitoreos.cuit as cuit_consultado,
fecha_vigencia_mantenimiento as fecha_oculta,
fecha_vigencia_mantenimiento as fecha,
productos.nombre_producto,
username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = @id_cliente
where monitoreos.cliente = @id_cliente
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
else
begin
select distinct 'A',nombre_persona,
monitoreos.cuit as cuit_consultado,
convert(date, monitoreos.fecha_vigencia_mantenimiento) as fecha_oculta,
(CONVERT(VARCHAR(10),monitoreos.fecha_vigencia_mantenimiento, 103)) as fecha,
productos.nombre_producto,
username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = @id_cliente
where monitoreos.cliente = @id_cliente
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
end
if (@tipo_consulta = 'U')
begin
if (@todos = 'T')
begin
select 'B',nombre_persona,
monitoreos.cuit as cuit_consultado,
monitoreos.fecha_desde as fecha_oculta,
monitoreos.fecha_desde as fecha,
productos.nombre_producto,
username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = @id_cliente
where monitoreos.user_id = @user_id
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
else
begin
select distinct 'B',nombre_persona,
monitoreos.cuit as cuit_consultado,
convert(date, monitoreos.fecha_desde) as fecha_oculta,
(CONVERT(VARCHAR(10),monitoreos.fecha_desde, 103)) as fecha,
productos.nombre_producto,
username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = @id_cliente
where monitoreos.user_id = @user_id
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
end
if (@tipo_consulta = 'F')
begin
if (@todos = 'T')
begin
select 'c',nombre_persona,
monitoreos.cuit as cuit_consultado,
monitoreos.fecha_desde as fecha_oculta,
monitoreos.fecha_desde as fecha,
productos.nombre_producto,
iif(isnull(clientes.cuit,'')!='',clientes.nombre_cliente + ' (' + clientes.cuit + ')',clientes.nombre_cliente) as username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = monitoreos.cliente
where monitoreos.cliente in (select distinct clientes_union.cliente
from clientes_union
inner join clientes_productos on (clientes_productos.cliente = clientes_union.cliente and producto = @prod and activo = 1)
where cliente_union = @id_cliente
)
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
else
begin
select distinct 'c',nombre_persona,
monitoreos.cuit as cuit_consultado,
convert(date, monitoreos.fecha_desde) as fecha_oculta,
(CONVERT(VARCHAR(10),monitoreos.fecha_desde, 103)) as fecha,
productos.nombre_producto,
iif(isnull(clientes.cuit,'')!='',clientes.nombre_cliente + ' (' + clientes.cuit + ')',clientes.nombre_cliente) as username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = monitoreos.cliente
where monitoreos.cliente in (select distinct clientes_union.cliente
from clientes_union
inner join clientes_productos on (clientes_productos.cliente = clientes_union.cliente and producto = @prod and activo = 1)
where cliente_union = @id_cliente
)
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
end
end
else
begin
if (@tipo_consulta = 'C')
begin
if (@prod = 90) --FIDECHECK ONLINE NECESITA EL ID DE LA TABLA Y REPETIRÍA LOS CONSUMOS EN LOS OTROS CASOS
begin
if (@todos = 'T')
begin
select nombre_persona,
cuit_consultado,
usuarios_consumos.created as fecha_oculta,
usuarios_consumos.created as fecha,
productos.nombre_producto,
username,usuarios_consumos.id_transaccion AS idpdf
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
end
else
begin
select distinct nombre_persona,
cuit_consultado,
convert(date, usuarios_consumos.created) as fecha_oculta,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
productos.nombre_producto,
username,usuarios_consumos.id_transaccion AS idpdf
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
end
end
if (@prod = 10) -- IV cuenta por gestiones de contrapartes
begin
select nombre_persona,
identificacion as cuit_consultado,
ln_gestiones.desde as fecha_oculta,
ln_gestiones.desde as fecha,
productos.nombre_producto,
username,ln_contrapartes.contraparte AS idpdf
from ln_contrapartes
inner join ln_gestiones on ln_gestiones.contraparte = ln_contrapartes.contraparte
inner join padrones on padrones.id_padron = ln_contrapartes.id_padron
left join productos on productos.producto = ln_contrapartes.servicio_contratado
left join users on users.user_id = ln_contrapartes.created_by
where ln_contrapartes.cliente = @id_cliente
and ln_contrapartes.servicio_contratado = @prod
and ln_gestiones.desde between @fecha_desde and @fecha_hasta
end
if (@prod != 90 and @prod != 10)
begin
if (@todos = 'T')
begin
--select nombre_persona,
select /*nombre_persona as full_name ,*/
/*cuit_consultado as tax_id,*/
iif(padrones.cuerpo_clave is null, cuit_consultado,cuerpo_clave) as national_id,
/* usuarios_consumos.created as fecha_oculta,*/
usuarios_consumos.created2 as transaction_date,
productos.nombre_producto as api_name,
username, usuarios_consumos.id_transaccion as transaction_id
from usuarios_consumos
left join padrones on (padrones.identificacion = cuit_consultado and padrones.habilitado = '1')
--and padrones.identificador = 'CUIT'
/*left join padrones on (padrones.identificacion = cuit_consultado or
(LEN(cuit_consultado) <= 8 and LEN(cuit_consultado) >=4
and (padrones.cuerpo_clave = cuit_consultado or
padrones.cuerpo_clave = right('00000000'+cuit_consultado,8)))
and padrones.habilitado = '1')*/
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, transaction_date
end
else
begin
--select nombre_persona,
select distinct 'gd' as GGGG ,nombre_persona,
cuit_consultado,
convert(date, usuarios_consumos.created) as fecha_oculta,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
productos.nombre_producto,
username
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
/*left join padrones on (padrones.identificacion = cuit_consultado or
(LEN(cuit_consultado) <= 8 and LEN(cuit_consultado) >=4
and (padrones.cuerpo_clave = cuit_consultado or
padrones.cuerpo_clave = right('00000000'+cuit_consultado,8)))
and padrones.habilitado = '1')*/
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
RETURN
end
end
end
if (@tipo_consulta = 'U')
begin
if (@todos = 'T')
begin
select nombre_persona,
cuit_consultado,
usuarios_consumos.created as fecha_oculta,
usuarios_consumos.created as fecha,
productos.nombre_producto,
username
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id = @user_id
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
end
else
begin
select distinct nombre_persona,
cuit_consultado,
convert(date, usuarios_consumos.created) as fecha_oculta,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
productos.nombre_producto,
username
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id = @user_id
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
end
end
if (@tipo_consulta = 'F')
begin
if (@todos = 'T')
begin
select nombre_persona,
cuit_consultado,
usuarios_consumos.created as fecha_oculta,
usuarios_consumos.created as fecha,
productos.nombre_producto,
--clientes.nombre_cliente as username
iif(isnull(clientes.cuit,'')!='',clientes.nombre_cliente + ' (' + clientes.cuit + ')',clientes.nombre_cliente) as username
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join usuarios_productos on usuarios_productos.user_id = usuarios_consumos.user_id
left join clientes on clientes.cliente = usuarios_productos.cliente
where usuarios_consumos.id_producto = @prod
and usuarios_consumos.user_id
in (select distinct user_id from usuarios_productos
where cliente
--in (select distinct cliente from clientes_union where cliente_union = @id_cliente))
in (select distinct clientes_union.cliente
from clientes_union
inner join clientes_productos on (clientes_productos.cliente = clientes_union.cliente and producto = @prod and activo = 1)
where cliente_union = @id_cliente
))
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
end
else
begin
select distinct nombre_persona,
cuit_consultado,
convert(date, usuarios_consumos.created) as fecha_oculta,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
productos.nombre_producto,
--clientes.nombre_cliente as username
iif(isnull(clientes.cuit,'')!='',clientes.nombre_cliente + ' (' + clientes.cuit + ')',clientes.nombre_cliente) as username
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join usuarios_productos on usuarios_productos.user_id = usuarios_consumos.user_id
left join clientes on clientes.cliente = usuarios_productos.cliente
where usuarios_consumos.id_producto = @prod
and usuarios_consumos.user_id
in (select distinct user_id from usuarios_productos
where cliente
--in (select distinct cliente from clientes_union where cliente_union = @id_cliente))
in (select distinct clientes_union.cliente
from clientes_union
inner join clientes_productos on (clientes_productos.cliente = clientes_union.cliente and producto = @prod and activo = 1)
where cliente_union = @id_cliente
))
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
end
end
end
END
GO
GO
/*
exec [obtener_registro_consumos] '5300349',0,'2025-01-08','2025-01-08', '86','A','T'
exec [obtener_registro_consumos] '1028886332',0,'2024-06-18','2024-06-19', '26','C','T'
exec [obtener_registro_consumos] 2254875,614149624,'2025-01-01','2025-01-08',12,'C'
exec [obtener_registro_consumos] 2254875,614149624,'2025-01-01','2025-01-08',12,'A'
*/
CREATE OR ALTER PROCEDURE dbo.obtener_registro_consumos
@id_cliente1 varchar(20),
@user_id1 varchar(20),
@fecha_desde1 varchar(20),
@fecha_hasta1 varchar(20),
@prod int,
@tipo_consulta char(1), -- C: Todo el cliente, U: Solo el user_id, F: Todos los clientes unificados en la factura -- A: APIs
@todos char(1) = null
AS
BEGIN
SET NOCOUNT ON;
set @id_cliente1 = RTRIM(@id_cliente1)
set @user_id1 = RTRIM(@user_id1)
set @fecha_desde1 = RTRIM(@fecha_desde1)
set @fecha_hasta1 = RTRIM(@fecha_hasta1)
if (@id_cliente1 = '') begin set @id_cliente1 = null end
if (@user_id1 = '') begin set @user_id1 = null end
if (@fecha_desde1 = '') begin set @fecha_desde1 = null end
if (@fecha_hasta1 = '') begin set @fecha_hasta1 = null end
declare @id_cliente int = convert(int, @id_cliente1)
declare @user_id int = convert(int, @user_id1)
declare @fecha_desde date = convert(date, @fecha_desde1)
declare @fecha_hasta date = convert(date, @fecha_hasta1)
/*
set @fecha_hasta = '2024-03-31'
set @fecha_desde = '2024-03-01'
*/
/* Enero 2025: PARA PANEL DE APIS */
if (@tipo_consulta = 'A')
begin
select /*@id_cliente, @prod, @fecha_desde1,@fecha_hasta1, 'MARITAaaaa' as GGGG, */
usuarios_consumos.url as endpoint,
usuarios_consumos.ip as ip,
null as nombre_persona,
cuit_consultado ,
usuarios_consumos.created2 as fecha_oculta,
(CONVERT(VARCHAR(10),usuarios_consumos.created2, 103)) as fecha,
id_producto,
upper(productos.nombre_producto) as nombre_producto,
/*
'PERSONAL CREDIT VALIDATION' as nombre_producto,
*/
id_transaccion,
username
from usuarios_consumos
INNER JOIN dbo.DelimitedSplit8K(@prod, ',') Segmentado on usuarios_consumos.id_producto = Segmentado.Item
inner join resultados_api on usuarios_consumos.id_transaccion = resultados_api.transaction_id
left join productos on productos.producto = usuarios_consumos.id_producto
--saco estos join porque no muestra datos de esas tablas
--left join padrones on (padrones.identificacion = cuit_consultado and padrones.habilitado = '1' and identificador in (select identificador from identificadores where identificadores.country_code = 'AR'))
left join users on users.user_id = usuarios_consumos.user_id
--left join clientes on cliente = @cliente
/* where id_producto = @id_producto*/
where convert(date,usuarios_consumos.created) between @fecha_desde1 and @fecha_hasta1 --> lo agregamos para que la consulta sea más rápida por los índices
and convert(date,usuarios_consumos.created2) between @fecha_desde1 and @fecha_hasta1 --> exacto por segundos
and usuarios_consumos.user_id in (select distinct user_id from usuarios_productos where cliente = @id_cliente)
and (ip not in ('186.189.232.93') or ip like '192%')
--and resultados_api.codigo_resultado != '306'
and isnull(resultados_api.codigo_resultado,'0') !='306'
and ARREGLO_DATOS_POR_FALLAS is null
order by fecha_oculta
RETURN
end
if (@prod = 16) -- Si es Monitoreo de Cartera
begin
if (@tipo_consulta = 'C')
begin
if (@todos = 'T')
begin
select 'A', nombre_persona,
monitoreos.cuit as cuit_consultado,
fecha_vigencia_mantenimiento as fecha_oculta,
fecha_vigencia_mantenimiento as fecha,
productos.nombre_producto,
username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = @id_cliente
where monitoreos.cliente = @id_cliente
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
else
begin
select distinct 'A',nombre_persona,
monitoreos.cuit as cuit_consultado,
convert(date, monitoreos.fecha_vigencia_mantenimiento) as fecha_oculta,
(CONVERT(VARCHAR(10),monitoreos.fecha_vigencia_mantenimiento, 103)) as fecha,
productos.nombre_producto,
username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = @id_cliente
where monitoreos.cliente = @id_cliente
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
end
if (@tipo_consulta = 'U')
begin
if (@todos = 'T')
begin
select 'B',nombre_persona,
monitoreos.cuit as cuit_consultado,
monitoreos.fecha_desde as fecha_oculta,
monitoreos.fecha_desde as fecha,
productos.nombre_producto,
username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = @id_cliente
where monitoreos.user_id = @user_id
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
else
begin
select distinct 'B',nombre_persona,
monitoreos.cuit as cuit_consultado,
convert(date, monitoreos.fecha_desde) as fecha_oculta,
(CONVERT(VARCHAR(10),monitoreos.fecha_desde, 103)) as fecha,
productos.nombre_producto,
username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = @id_cliente
where monitoreos.user_id = @user_id
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
end
if (@tipo_consulta = 'F')
begin
if (@todos = 'T')
begin
select 'c',nombre_persona,
monitoreos.cuit as cuit_consultado,
monitoreos.fecha_desde as fecha_oculta,
monitoreos.fecha_desde as fecha,
productos.nombre_producto,
iif(isnull(clientes.cuit,'')!='',clientes.nombre_cliente + ' (' + clientes.cuit + ')',clientes.nombre_cliente) as username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = monitoreos.cliente
where monitoreos.cliente in (select distinct clientes_union.cliente
from clientes_union
inner join clientes_productos on (clientes_productos.cliente = clientes_union.cliente and producto = @prod and activo = 1)
where cliente_union = @id_cliente
)
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
else
begin
select distinct 'c',nombre_persona,
monitoreos.cuit as cuit_consultado,
convert(date, monitoreos.fecha_desde) as fecha_oculta,
(CONVERT(VARCHAR(10),monitoreos.fecha_desde, 103)) as fecha,
productos.nombre_producto,
iif(isnull(clientes.cuit,'')!='',clientes.nombre_cliente + ' (' + clientes.cuit + ')',clientes.nombre_cliente) as username
from monitoreos
inner join padrones on padrones.identificacion = monitoreos.cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @prod
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = monitoreos.cliente
where monitoreos.cliente in (select distinct clientes_union.cliente
from clientes_union
inner join clientes_productos on (clientes_productos.cliente = clientes_union.cliente and producto = @prod and activo = 1)
where cliente_union = @id_cliente
)
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @prod)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)
order by username, fecha_oculta
end
end
end
else
begin
if (@tipo_consulta = 'C')
begin
if (@prod = 90) --FIDECHECK ONLINE NECESITA EL ID DE LA TABLA Y REPETIRÍA LOS CONSUMOS EN LOS OTROS CASOS
begin
if (@todos = 'T')
begin
select nombre_persona,
cuit_consultado,
usuarios_consumos.created as fecha_oculta,
usuarios_consumos.created as fecha,
productos.nombre_producto,
username,usuarios_consumos.id_transaccion AS idpdf
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
end
else
begin
select distinct nombre_persona,
cuit_consultado,
convert(date, usuarios_consumos.created) as fecha_oculta,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
productos.nombre_producto,
username,usuarios_consumos.id_transaccion AS idpdf
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
end
end
if (@prod = 10) -- IV cuenta por gestiones de contrapartes
begin
select nombre_persona,
identificacion as cuit_consultado,
ln_gestiones.desde as fecha_oculta,
ln_gestiones.desde as fecha,
productos.nombre_producto,
username,ln_contrapartes.contraparte AS idpdf
from ln_contrapartes
inner join ln_gestiones on ln_gestiones.contraparte = ln_contrapartes.contraparte
inner join padrones on padrones.id_padron = ln_contrapartes.id_padron
left join productos on productos.producto = ln_contrapartes.servicio_contratado
left join users on users.user_id = ln_contrapartes.created_by
where ln_contrapartes.cliente = @id_cliente
and ln_contrapartes.servicio_contratado = @prod
and ln_gestiones.desde between @fecha_desde and @fecha_hasta
end
if (@prod != 90 and @prod != 10)
begin
if (@todos = 'T')
begin
--select nombre_persona,
select /*nombre_persona as full_name ,*/
/*cuit_consultado as tax_id,*/
iif(padrones.cuerpo_clave is null, cuit_consultado,cuerpo_clave) as national_id,
/* usuarios_consumos.created as fecha_oculta,*/
usuarios_consumos.created2 as transaction_date,
productos.nombre_producto as api_name,
username, usuarios_consumos.id_transaccion as transaction_id
from usuarios_consumos
left join padrones on (padrones.identificacion = cuit_consultado and padrones.habilitado = '1')
--and padrones.identificador = 'CUIT'
/*left join padrones on (padrones.identificacion = cuit_consultado or
(LEN(cuit_consultado) <= 8 and LEN(cuit_consultado) >=4
and (padrones.cuerpo_clave = cuit_consultado or
padrones.cuerpo_clave = right('00000000'+cuit_consultado,8)))
and padrones.habilitado = '1')*/
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, transaction_date
end
else
begin
--select nombre_persona,
select distinct 'gd' as GGGG ,nombre_persona,
cuit_consultado,
convert(date, usuarios_consumos.created) as fecha_oculta,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
productos.nombre_producto,
username
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
/*left join padrones on (padrones.identificacion = cuit_consultado or
(LEN(cuit_consultado) <= 8 and LEN(cuit_consultado) >=4
and (padrones.cuerpo_clave = cuit_consultado or
padrones.cuerpo_clave = right('00000000'+cuit_consultado,8)))
and padrones.habilitado = '1')*/
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
RETURN
end
end
end
if (@tipo_consulta = 'U')
begin
if (@todos = 'T')
begin
select nombre_persona,
cuit_consultado,
usuarios_consumos.created as fecha_oculta,
usuarios_consumos.created as fecha,
productos.nombre_producto,
username
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id = @user_id
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
end
else
begin
select distinct nombre_persona,
cuit_consultado,
convert(date, usuarios_consumos.created) as fecha_oculta,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
productos.nombre_producto,
username
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join clientes on cliente = @id_cliente
where id_producto = @prod
and usuarios_consumos.user_id = @user_id
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
end
end
if (@tipo_consulta = 'F')
begin
if (@todos = 'T')
begin
select nombre_persona,
cuit_consultado,
usuarios_consumos.created as fecha_oculta,
usuarios_consumos.created as fecha,
productos.nombre_producto,
--clientes.nombre_cliente as username
iif(isnull(clientes.cuit,'')!='',clientes.nombre_cliente + ' (' + clientes.cuit + ')',clientes.nombre_cliente) as username
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join usuarios_productos on usuarios_productos.user_id = usuarios_consumos.user_id
left join clientes on clientes.cliente = usuarios_productos.cliente
where usuarios_consumos.id_producto = @prod
and usuarios_consumos.user_id
in (select distinct user_id from usuarios_productos
where cliente
--in (select distinct cliente from clientes_union where cliente_union = @id_cliente))
in (select distinct clientes_union.cliente
from clientes_union
inner join clientes_productos on (clientes_productos.cliente = clientes_union.cliente and producto = @prod and activo = 1)
where cliente_union = @id_cliente
))
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
end
else
begin
select distinct nombre_persona,
cuit_consultado,
convert(date, usuarios_consumos.created) as fecha_oculta,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
productos.nombre_producto,
--clientes.nombre_cliente as username
iif(isnull(clientes.cuit,'')!='',clientes.nombre_cliente + ' (' + clientes.cuit + ')',clientes.nombre_cliente) as username
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = usuarios_consumos.id_producto
left join users on users.user_id = usuarios_consumos.user_id
left join usuarios_productos on usuarios_productos.user_id = usuarios_consumos.user_id
left join clientes on clientes.cliente = usuarios_productos.cliente
where usuarios_consumos.id_producto = @prod
and usuarios_consumos.user_id
in (select distinct user_id from usuarios_productos
where cliente
--in (select distinct cliente from clientes_union where cliente_union = @id_cliente))
in (select distinct clientes_union.cliente
from clientes_union
inner join clientes_productos on (clientes_productos.cliente = clientes_union.cliente and producto = @prod and activo = 1)
where cliente_union = @id_cliente
))
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
order by username, fecha_oculta
end
end
end
END
GO