

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[a_sel_listasPrecioXAlquiler]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[a_sel_listasPrecioXAlquiler]
GO
CREATE PROCEDURE [a_sel_listasPrecioXAlquiler]
	@p_id INT
AS
BEGIN
exec('


select listacat.id_catalogo as tarifa
,listacat.PrecioVenta  as precio
,detalleAlq .id as id_detalle
,detalleAlq .id_equipo as id_equipo
,detalleAlq .id_catalogo as id_catalogo
,subcat .id as id_subtipocatalogo
,subcat .id_tipoCatalogo as id_tipocatalogo
,(case when  listatipocat .porcentaje IS null then 0 else listatipocat .porcentaje end  )  as porcdescuentoTipo
,lista.porcentajeDescuento as descuentoGlobal
 from [equ_detalleAlquiler]  detalleAlq
inner join ter_sucursal sucursal  on sucursal .active =1 and detallealq.active=1 and detalleAlq .id_sucursal =sucursal.id  and detalleAlq.id>0
inner join cat_listaPrecio  lista on lista.active =1   and lista.id= sucursal .id_listaPrecio
inner join cat_catalogo_listaPrecio listacat on listacat.id_listaPrecio =lista.id and listacat .active=1
inner join cat_catalogo catalogo on catalogo.id=listacat.id_catalogo 
inner join cat_subtipoCatalogo subcat on subcat .active=1 and subcat .id=catalogo .id_subTipoCatalogo 
left join cat_tipoCatalogo_listaPrecio listatipocat on listatipocat .id_listaPrecio =lista.id and subcat.id_tipoCatalogo =listatipocat .id_tipoCatalogo 
where detalleAlq.[id_documento.alquiler] >0  and detalleAlq.[id_documento.alquiler]= '+ @p_id+ '
group by listacat.id_catalogo 
,listacat.PrecioVenta  
,detalleAlq .id
,subcat .id_tipoCatalogo
,lista.porcentajeDescuento
,listatipocat .porcentaje
,detalleAlq .id_equipo 
,detalleAlq .id_catalogo 
,subcat .id

union all

select 0 as tarifa
,0  as precio
,detalleAlq.id as id_detalle
,detalleAlq.id_equipo as id_equipo
,detalleAlq.id_catalogo as id_catalogo
,0 as id_subtipocatalogo
,listatipocat.id_tipoCatalogo  as id_tipocatalogo
,(case when  listatipocat .porcentaje IS null then 0 else listatipocat .porcentaje end  )  as porcdescuentoTipo
,lista.porcentajeDescuento as descuentoGlobal
 from [equ_detalleAlquiler]  detalleAlq
inner join ter_sucursal sucursal  on sucursal .active =1 and detallealq.active=1 and detalleAlq .id_sucursal =sucursal.id  and detalleAlq.id>0
inner join cat_listaPrecio  lista on lista.active =1   and lista.id= sucursal .id_listaPrecio
inner join cat_tipoCatalogo_listaPrecio listatipocat on listatipocat .id_listaPrecio =lista.id 
where detalleAlq.[id_documento.alquiler] >0  and detalleAlq.[id_documento.alquiler] ='+ @p_id+ '

group by  
 detalleAlq .id
,listatipocat.id_tipoCatalogo
,lista.porcentajeDescuento
,listatipocat .porcentaje
,detalleAlq .id_equipo 
,detalleAlq .id_catalogo 

union all
select 0 as tarifa
,0  as precio
,detalleAlq.id as id_detalle
,detalleAlq.id_equipo as id_equipo
,detalleAlq.id_catalogo as id_catalogo
,0 as id_subtipocatalogo
,0  as id_tipocatalogo
,0  as porcdescuentoTipo
,lista.porcentajeDescuento as descuentoGlobal
 from [equ_detalleAlquiler]  detalleAlq
inner join ter_sucursal sucursal  on sucursal .active =1 and detallealq.active=1 and detalleAlq .id_sucursal =sucursal.id  and detalleAlq.id>0
inner join cat_listaPrecio  lista on lista.active =1   and lista.id= sucursal .id_listaPrecio
where detalleAlq.[id_documento.alquiler] >0  and detalleAlq.[id_documento.alquiler] ='+ @p_id+ '
group by  
 detalleAlq .id
,lista.porcentajeDescuento
,detalleAlq .id_equipo 
,detalleAlq .id_catalogo') 
END
