Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_Cuit | varchar | 20 | |
| @p_producto | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec obtener_consulta_por_ramos_nueva '30501677643',12
*/
CREATE OR ALTER PROCEDURE dbo.obtener_consulta_por_ramos_nueva
@p_Cuit varchar(20),
@p_producto int = 12
AS
BEGIN
SET NOCOUNT ON;
declare @consultas table (fecha date, cli_codigo int, ramo int)
insert into @consultas
select distinct
CONVERT(date,usuarios_consumos.created) as fecha,
clientes.cli_codigo,
clientes.ram_codigo
from usuarios_consumos
left join padrones
on padrones.identificacion = cuit_consultado
and habilitado = 1
and padrones.identificador = 'CUIT'
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.cuit_consultado = @p_cuit
and usuarios_consumos.id_producto = @p_producto
and ram_codigo > 100
and datediff(DD,usuarios_consumos.created,getdate()) < 1825
union all
select
CONVERT(date,contador_consultas.fecha_consulta) as fecha,
clientes.cli_codigo,
clientes.ram_codigo
from contador_consultas
inner join clientes on clientes.cli_codigo = contador_consultas.id_cliente
where cuit_consultado = @p_cuit
and ram_codigo > 100
and tipo_consulta != 'S' and tipo_consulta != 'V'
and datediff(DD,contador_consultas.fecha_consulta,getdate()) < 1825
--select * from @consultas order by fecha
--
select ramos.descripcion,
count(*) as cantidad,
'entre_0_1' as antiguedad
from @consultas consultas
inner join ramos on ramos.cod_ramo = consultas.ramo and ramos.tipo_ramo = 'R'
where datediff(DD,fecha,getdate()) < 365
group by consultas.ramo,ramos.descripcion
union all
select ramos.descripcion,
count(*) as cantidad,
'entre_1_2' as antiguedad
from @consultas consultas
inner join ramos on ramos.cod_ramo = consultas.ramo and ramos.tipo_ramo = 'R'
where datediff(DD,fecha,getdate()) >= 365 AND datediff(DD,fecha,getdate()) < 730
group by consultas.ramo,ramos.descripcion
union all
select ramos.descripcion,
count(*) as cantidad,
'entre_2_5' as antiguedad
from @consultas consultas
inner join ramos on ramos.cod_ramo = consultas.ramo and ramos.tipo_ramo = 'R'
where datediff(DD,fecha,getdate()) >= 730 AND datediff(DD,fecha,getdate()) < 1825
group by consultas.ramo,ramos.descripcion
order by 1,3
/*
select ramos.descripcion,count(ramos.descripcion) as cantidad,'entre_0_1' as antiguedad
from contador_consultas
inner join clientes on clientes.cuit = contador_consultas.cuit_cliente
left join ramos on ramos.cod_ramo = clientes.ram_codigo and ramos.tipo_ramo = 'R'
where cuit_consultado = @p_Cuit and (cuit_cliente != '' and tipo_consulta != 'S' and tipo_consulta != 'V')
AND ram_codigo != 99 and datediff(DD,fecha_consulta,getdate()) < 365 and visible = 1 AND user_consulta not in('sidi','f0000','f0001')
group by descripcion
union all
select ramos.descripcion,count(ramos.descripcion) as cantidad,'entre_1_2' as antiguedad
from contador_consultas
inner join clientes on clientes.cuit = contador_consultas.cuit_cliente
left join ramos on ramos.cod_ramo = clientes.ram_codigo and ramos.tipo_ramo = 'R'
where cuit_consultado = @p_Cuit and (cuit_cliente != '' and tipo_consulta != 'S' and tipo_consulta != 'V')
AND ram_codigo != 99 and datediff(DD,fecha_consulta,getdate()) >= 365 AND datediff(DD,fecha_consulta,getdate()) < 730 and visible = 1 AND user_consulta not in('sidi','f0000','f0001')
group by descripcion
union all
select ramos.descripcion,count(ramos.descripcion) as cantidad,'entre_2_5' as antiguedad
from contador_consultas
inner join clientes on clientes.cuit = contador_consultas.cuit_cliente
left join ramos on ramos.cod_ramo = clientes.ram_codigo and ramos.tipo_ramo = 'R'
where cuit_consultado = @p_Cuit and (cuit_cliente != '' and tipo_consulta != 'S' and tipo_consulta != 'V')
AND ram_codigo != 99 and datediff(DD,fecha_consulta,getdate()) >= 730 AND datediff(DD,fecha_consulta,getdate()) <= 1825 and visible = 1 AND user_consulta not in('sidi','f0000','f0001')
group by descripcion
order by descripcion
*/
END
GO
GO
/*
exec obtener_consulta_por_ramos_nueva '30501677643',12
*/
CREATE OR ALTER PROCEDURE dbo.obtener_consulta_por_ramos_nueva
@p_Cuit varchar(20),
@p_producto int = 12
AS
BEGIN
SET NOCOUNT ON;
declare @consultas table (fecha date, cli_codigo int, ramo int)
insert into @consultas
select distinct
CONVERT(date,usuarios_consumos.created) as fecha,
clientes.cli_codigo,
clientes.ram_codigo
from usuarios_consumos
left join padrones
on padrones.identificacion = cuit_consultado
and habilitado = 1
and padrones.identificador = 'CUIT'
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.cuit_consultado = @p_cuit
and usuarios_consumos.id_producto = @p_producto
and ram_codigo > 100
and datediff(DD,usuarios_consumos.created,getdate()) < 1825
union all
select
CONVERT(date,contador_consultas.fecha_consulta) as fecha,
clientes.cli_codigo,
clientes.ram_codigo
from contador_consultas
inner join clientes on clientes.cli_codigo = contador_consultas.id_cliente
where cuit_consultado = @p_cuit
and ram_codigo > 100
and tipo_consulta != 'S' and tipo_consulta != 'V'
and datediff(DD,contador_consultas.fecha_consulta,getdate()) < 1825
--select * from @consultas order by fecha
--
select ramos.descripcion,
count(*) as cantidad,
'entre_0_1' as antiguedad
from @consultas consultas
inner join ramos on ramos.cod_ramo = consultas.ramo and ramos.tipo_ramo = 'R'
where datediff(DD,fecha,getdate()) < 365
group by consultas.ramo,ramos.descripcion
union all
select ramos.descripcion,
count(*) as cantidad,
'entre_1_2' as antiguedad
from @consultas consultas
inner join ramos on ramos.cod_ramo = consultas.ramo and ramos.tipo_ramo = 'R'
where datediff(DD,fecha,getdate()) >= 365 AND datediff(DD,fecha,getdate()) < 730
group by consultas.ramo,ramos.descripcion
union all
select ramos.descripcion,
count(*) as cantidad,
'entre_2_5' as antiguedad
from @consultas consultas
inner join ramos on ramos.cod_ramo = consultas.ramo and ramos.tipo_ramo = 'R'
where datediff(DD,fecha,getdate()) >= 730 AND datediff(DD,fecha,getdate()) < 1825
group by consultas.ramo,ramos.descripcion
order by 1,3
/*
select ramos.descripcion,count(ramos.descripcion) as cantidad,'entre_0_1' as antiguedad
from contador_consultas
inner join clientes on clientes.cuit = contador_consultas.cuit_cliente
left join ramos on ramos.cod_ramo = clientes.ram_codigo and ramos.tipo_ramo = 'R'
where cuit_consultado = @p_Cuit and (cuit_cliente != '' and tipo_consulta != 'S' and tipo_consulta != 'V')
AND ram_codigo != 99 and datediff(DD,fecha_consulta,getdate()) < 365 and visible = 1 AND user_consulta not in('sidi','f0000','f0001')
group by descripcion
union all
select ramos.descripcion,count(ramos.descripcion) as cantidad,'entre_1_2' as antiguedad
from contador_consultas
inner join clientes on clientes.cuit = contador_consultas.cuit_cliente
left join ramos on ramos.cod_ramo = clientes.ram_codigo and ramos.tipo_ramo = 'R'
where cuit_consultado = @p_Cuit and (cuit_cliente != '' and tipo_consulta != 'S' and tipo_consulta != 'V')
AND ram_codigo != 99 and datediff(DD,fecha_consulta,getdate()) >= 365 AND datediff(DD,fecha_consulta,getdate()) < 730 and visible = 1 AND user_consulta not in('sidi','f0000','f0001')
group by descripcion
union all
select ramos.descripcion,count(ramos.descripcion) as cantidad,'entre_2_5' as antiguedad
from contador_consultas
inner join clientes on clientes.cuit = contador_consultas.cuit_cliente
left join ramos on ramos.cod_ramo = clientes.ram_codigo and ramos.tipo_ramo = 'R'
where cuit_consultado = @p_Cuit and (cuit_cliente != '' and tipo_consulta != 'S' and tipo_consulta != 'V')
AND ram_codigo != 99 and datediff(DD,fecha_consulta,getdate()) >= 730 AND datediff(DD,fecha_consulta,getdate()) <= 1825 and visible = 1 AND user_consulta not in('sidi','f0000','f0001')
group by descripcion
order by descripcion
*/
END
GO
Depends On
7Used By
No items found