set ANSI_NULLS OFF
set QUOTED_IDENTIFIER OFF
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[a_sel_recordatoriosXItems]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[a_sel_recordatoriosXItems]
GO
CREATE PROCEDURE [dbo].[a_sel_recordatoriosXItems]
 @p_id  as int =0,
@p_filtro as varchar(8000)=' 1=1',
@p_usuario as int =0
AS BEGIN
declare @usuario varchar(100)
declare @id varchar(100)
set @usuario =convert(varchar(100),@p_usuario)
set @id=convert(varchar(100),@p_id)


exec ('
    declare @lunes as smalldatetime
	declare @viernes as smalldatetime
 	set @lunes=dateadd(day,-DATEPART(dw, GETDATE()),getdate())
	set @viernes=dateadd(day,(7-DATEPART(dw, GETDATE())),getdate())
   
/*vencidos*/
/*otros años*/

if exists(select * from doc_documentoComentario where datepart(year,fechaRecordar_fh)<datepart(year,getdate()) and  id= '+ @id +' and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0 )
begin 
select *from doc_documentoComentario where datepart(year,fechaRecordar_fh)<datepart(year,getdate())   and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0	 order by fechaRecordar_fh asc
end 

/*este año*/
if exists(select *from doc_documentoComentario where datepart(year,fechaRecordar_fh)=datepart(year,getdate()) and datepart(month,fechaRecordar_fh)<datepart(month,getdate())  and  id= '+ @id +' and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0)
begin
select *from doc_documentoComentario where datepart(year,fechaRecordar_fh)=datepart(year,getdate()) 
and datepart(month,fechaRecordar_fh)<datepart(month,getdate())   and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0  order by fechaRecordar_fh asc
end 

/*este mes*/
if exists(select *from doc_documentoComentario where datepart(year,fechaRecordar_fh)=datepart(year,getdate()) 
and datepart(month,fechaRecordar_fh)=datepart(month,getdate())and fechaRecordar_fh<@lunes  and  id= '+ @id +' and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0   )
begin 
select *from doc_documentoComentario where datepart(year,fechaRecordar_fh)=datepart(year,getdate()) 
and datepart(month,fechaRecordar_fh)=datepart(month,getdate())and fechaRecordar_fh<@lunes  and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0   order by fechaRecordar_fh asc
end

/*esta semana*/
if exists(select *from doc_documentoComentario where fechaRecordar_fh>=@lunes and fechaRecordar_fh<getdate()
and day(fechaRecordar_fh)<day(getdate())  and  id= '+ @id +'  and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0  )
begin 
select *from doc_documentoComentario where fechaRecordar_fh>=@lunes and fechaRecordar_fh<getdate()and day(fechaRecordar_fh)<day(getdate())   and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+'  and cerrada=0  order by fechaRecordar_fh asc
end
/*esta dia*/
if exists(select *from doc_documentoComentario where fechaRecordar_fh>=@lunes and fechaRecordar_fh<getdate()	
and day(fechaRecordar_fh)=day(getdate())and datepart(hour,fechaRecordar_fh)<datepart(hour,getdate()) and  id='+ @id +'  and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0  )
begin 
select *from doc_documentoComentario where fechaRecordar_fh>=@lunes and fechaRecordar_fh<getdate()	
and day(fechaRecordar_fh)=day(getdate())and datepart(hour,fechaRecordar_fh)<datepart(hour,getdate())   and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+'  and cerrada=0 	 order by fechaRecordar_fh asc
end
/*esta hora*/
if exists(select *from doc_documentoComentario where (fechaRecordar_fh>=@lunes and fechaRecordar_fh<getdate()
and day(fechaRecordar_fh)=day(getdate())and datepart(hour,fechaRecordar_fh)=datepart(hour,getdate()) and  id='+ @id +'	 and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0  ) )
begin 
select *from doc_documentoComentario where fechaRecordar_fh>=@lunes and fechaRecordar_fh<getdate()	
and day(fechaRecordar_fh)=day(getdate())and datepart(hour,fechaRecordar_fh)=datepart(hour,getdate())   and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+'	 and cerrada=0  order by fechaRecordar_fh asc
end
	 



/*proximos*/	

/*otros años*/
if exists(select *from doc_documentoComentario where (datepart(year,fechaRecordar_fh)>datepart(year,getdate())and  id='+ @id +'	 and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+'  and cerrada=0  ) )
begin 
select *from doc_documentoComentario where datepart(year,fechaRecordar_fh)>datepart(year,getdate())  	 and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0 	 order by fechaRecordar_fh asc
end
/*este año*/
if exists(select *from doc_documentoComentario where  (datepart(year,fechaRecordar_fh)=datepart(year,getdate()) 
and datepart(month,fechaRecordar_fh)>datepart(month,getdate()) and  id='+ @id +'	 and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0  ))
begin 
select *from doc_documentoComentario where   datepart(year,fechaRecordar_fh)=datepart(year,getdate()) 
and datepart(month,fechaRecordar_fh)>datepart(month,getdate())  	 and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0 	 order by fechaRecordar_fh asc
end

/*este mes*/
if exists(select *from doc_documentoComentario where ( datepart(year,fechaRecordar_fh)=datepart(year,getdate()) 
					and datepart(month,fechaRecordar_fh)=datepart(month,getdate())
					and fechaRecordar_fh>@viernes and  id='+ @id +'	 and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0 ) )
begin 
select *from doc_documentoComentario where   datepart(year,fechaRecordar_fh)=datepart(year,getdate()) 
					and datepart(month,fechaRecordar_fh)=datepart(month,getdate())
					and fechaRecordar_fh>@viernes  	 and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+'  and cerrada=0 	 order by fechaRecordar_fh asc
end


/*esta semana*/	
if exists(select *from doc_documentoComentario where (fechaRecordar_fh<=@viernes
				and fechaRecordar_fh>getdate()
				and day(fechaRecordar_fh)>day(getdate()) and  id='+ @id +'	 and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0  ))
begin 
select *from doc_documentoComentario where  fechaRecordar_fh<=@viernes
				and fechaRecordar_fh>getdate()
				and day(fechaRecordar_fh)>day(getdate())   and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0 	 order by fechaRecordar_fh asc
end


/*esta dia*/	
if exists(select *from doc_documentoComentario where( fechaRecordar_fh<=@viernes
				and fechaRecordar_fh>getdate()
				and day(fechaRecordar_fh)=day(getdate())
				and datepart(hour,fechaRecordar_fh)>datepart(hour,getdate()) and  id='+ @id +'	 and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0 ) )
begin 
select *from doc_documentoComentario where fechaRecordar_fh<=@viernes
				and fechaRecordar_fh>getdate()
				and day(fechaRecordar_fh)=day(getdate())
				and datepart(hour,fechaRecordar_fh)>datepart(hour,getdate())    and id_documento in (select id from view_doc_documento where '+@p_filtro+')  and id_usuario='+ @usuario+' and cerrada=0 	 order by fechaRecordar_fh asc
end



	/*esta hora*/	
if exists(select *from doc_documentoComentario where fechaRecordar_fh<=@viernes
				and fechaRecordar_fh>getdate()
				and day(fechaRecordar_fh)=day(getdate())
				and datepart(hour,fechaRecordar_fh)=datepart(hour,getdate()) and  id='+ @id +'	 and id_documento in (select id from view_doc_documento where '+@p_filtro+') and id_usuario='+ @usuario+' and cerrada=0   )
begin 
select *from doc_documentoComentario where fechaRecordar_fh<=@viernes
				and fechaRecordar_fh>getdate()
				and day(fechaRecordar_fh)=day(getdate())
				and datepart(hour,fechaRecordar_fh)=datepart(hour,getdate())   and id_documento in (select id from view_doc_documento where '+@p_filtro+')  and id_usuario='+ @usuario+' and cerrada=0 	 order by fechaRecordar_fh asc

end
')
end 


