dbo.obtener_consulta_por_ramos_08092021

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_08092021
@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
  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

Used By

No items found