Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
3| Name | Data Type | Length | Description |
|---|---|---|---|
| @id_cliente | int | 4 | |
| @user_id | int | 4 | |
| @id_producto | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
--exec backend_obtener_total_consumos 8558396, 0, 16
CREATE OR ALTER PROCEDURE dbo.backend_obtener_total_consumos
@id_cliente int,
@user_id int,
@id_producto int
AS
BEGIN
SET NOCOUNT ON;
declare @tipo_paquete char(1)
declare @fecha_desde date
declare @fecha_hasta date
declare @consumos int
declare @dias int
select @tipo_paquete = clientes_productos.tipo_paquete,
@fecha_desde = clientes_productos.fecha_desde,
@fecha_hasta = clientes_productos.fecha_hasta
from clientes_productos
where cliente = @id_cliente
and id_producto = @id_producto
if (@tipo_paquete != 'P' or @tipo_paquete is null)
begin
set @fecha_hasta = GETDATE()
set @dias = CONVERT(int, DAY(getdate()))
set @dias = @dias - 1
set @fecha_desde = dateadd(day,@dias*(-1),@fecha_hasta)
end
if (@id_producto = 10)
begin
/* Para Inquiro IV, se ven las contrapartes con gestion entre esas fechas - no se toma en cuanta el usuario */
select count(*) as consultas
from ln_contrapartes
inner join ln_gestiones on ln_gestiones.contraparte = ln_contrapartes.contraparte
where ln_contrapartes.cliente = @id_cliente
and ln_contrapartes.servicio_contratado = @id_producto
and ln_gestiones.desde between @fecha_desde and @fecha_hasta
return
end
if (@id_producto = 16)
begin
if (@user_id = 0)
begin
if (exists (select * from clientes_union where cliente_union = @id_cliente))
begin
select count(*) as consultas from (select distinct 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 = cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @id_producto
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = @id_cliente
where monitoreos.cliente
in (select distinct cliente from clientes_union where cliente_union = @id_cliente)
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @id_producto)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)) sql
end
else
begin
select count(*) as consultas from (select distinct 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 = cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @id_producto
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 = @id_producto)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)) sql
end
end
else
begin
select count(*) as consultas from (select distinct 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 = cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @id_producto
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 = @id_producto)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)) sql
end
end
else
begin
if (@user_id = 0)
begin
select count(cuit_consultado) as consultas
from usuarios_consumos
where usuarios_consumos.id_producto = @id_producto
and (usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
or 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)))
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
/*
AGB 11/11/2021 hay consumos como dni y los join los pierden
select count(subquery.resultado) as consultas
from (
/*
select distinct --nombre_persona,
cuit_consultado,
--(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as resultado,
(CONVERT(date,usuarios_consumos.created)) as resultado,
user_id
from usuarios_consumos
--left join padrones on padrones.identificacion = cuit_consultado
--and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
where id_producto = @id_producto
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
*/
select distinct nombre_persona,
cuit_consultado,
convert(date, usuarios_consumos.created) as resultado,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
productos.nombre_producto,
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 = @id_producto
and (usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
or 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)))
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
)
subquery
*/
end
else
begin
select count(subquery.resultado) as consultas
from (
select distinct nombre_persona,
cuit_consultado,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
(CONVERT(date,usuarios_consumos.created)) as resultado,
user_id
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
where id_producto = @id_producto
and usuarios_consumos.user_id = @user_id
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta)
subquery
end
end
END
GO
GO
--exec backend_obtener_total_consumos 8558396, 0, 16
CREATE OR ALTER PROCEDURE dbo.backend_obtener_total_consumos
@id_cliente int,
@user_id int,
@id_producto int
AS
BEGIN
SET NOCOUNT ON;
declare @tipo_paquete char(1)
declare @fecha_desde date
declare @fecha_hasta date
declare @consumos int
declare @dias int
select @tipo_paquete = clientes_productos.tipo_paquete,
@fecha_desde = clientes_productos.fecha_desde,
@fecha_hasta = clientes_productos.fecha_hasta
from clientes_productos
where cliente = @id_cliente
and id_producto = @id_producto
if (@tipo_paquete != 'P' or @tipo_paquete is null)
begin
set @fecha_hasta = GETDATE()
set @dias = CONVERT(int, DAY(getdate()))
set @dias = @dias - 1
set @fecha_desde = dateadd(day,@dias*(-1),@fecha_hasta)
end
if (@id_producto = 10)
begin
/* Para Inquiro IV, se ven las contrapartes con gestion entre esas fechas - no se toma en cuanta el usuario */
select count(*) as consultas
from ln_contrapartes
inner join ln_gestiones on ln_gestiones.contraparte = ln_contrapartes.contraparte
where ln_contrapartes.cliente = @id_cliente
and ln_contrapartes.servicio_contratado = @id_producto
and ln_gestiones.desde between @fecha_desde and @fecha_hasta
return
end
if (@id_producto = 16)
begin
if (@user_id = 0)
begin
if (exists (select * from clientes_union where cliente_union = @id_cliente))
begin
select count(*) as consultas from (select distinct 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 = cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @id_producto
left join users on users.user_id = monitoreos.user_id
left join clientes on clientes.cliente = @id_cliente
where monitoreos.cliente
in (select distinct cliente from clientes_union where cliente_union = @id_cliente)
and monitoreos.visible = 1
and exists (select * from clientes_productos where cliente = monitoreos.cliente and id_producto = @id_producto)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)) sql
end
else
begin
select count(*) as consultas from (select distinct 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 = cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @id_producto
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 = @id_producto)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)) sql
end
end
else
begin
select count(*) as consultas from (select distinct 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 = cuit
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
left join productos on productos.producto = @id_producto
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 = @id_producto)
and (fecha_vigencia_mantenimiento is null or fecha_vigencia_mantenimiento > @fecha_desde)) sql
end
end
else
begin
if (@user_id = 0)
begin
select count(cuit_consultado) as consultas
from usuarios_consumos
where usuarios_consumos.id_producto = @id_producto
and (usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
or 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)))
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
/*
AGB 11/11/2021 hay consumos como dni y los join los pierden
select count(subquery.resultado) as consultas
from (
/*
select distinct --nombre_persona,
cuit_consultado,
--(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as resultado,
(CONVERT(date,usuarios_consumos.created)) as resultado,
user_id
from usuarios_consumos
--left join padrones on padrones.identificacion = cuit_consultado
--and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
where id_producto = @id_producto
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
*/
select distinct nombre_persona,
cuit_consultado,
convert(date, usuarios_consumos.created) as resultado,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
productos.nombre_producto,
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 = @id_producto
and (usuarios_consumos.user_id in(select distinct user_id from usuarios_productos where cliente = @id_cliente)
or 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)))
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta
)
subquery
*/
end
else
begin
select count(subquery.resultado) as consultas
from (
select distinct nombre_persona,
cuit_consultado,
(CONVERT(VARCHAR(10),usuarios_consumos.created, 103)) as fecha,
(CONVERT(date,usuarios_consumos.created)) as resultado,
user_id
from usuarios_consumos
left join padrones on padrones.identificacion = cuit_consultado
and padrones.habilitado = '1'
--and padrones.identificador = 'CUIT'
where id_producto = @id_producto
and usuarios_consumos.user_id = @user_id
and convert(date,usuarios_consumos.created) between @fecha_desde and @fecha_hasta)
subquery
end
end
END
GO
Depends On
11Used By
No items found