
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[a_sel_comentariosXDocumento]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[a_sel_comentariosXDocumento]
GO
CREATE PROCEDURE  [dbo].[a_sel_comentariosXDocumento]	
@idDocumento as int
as begin
WITH comentarios (id,idpadre,idUsuario,idUsuarioCreo,fechaRecordar,comentario,titulo,cerrada,finalizado)  
AS  
(  
     
   select id
		  ,id_documentoComentario
		  ,id_usuario
		  ,id_usuario_creo
		  ,fechaRecordar_fh
		  ,comentario
		  ,documentoComentario_codigo
		  ,cerrada
		  ,finalizado
		from doc_documentoComentario 
	    where active=1 and  id_documentoComentario =0 and id_documento =@idDocumento
   UNION ALL 
   select temp.id
		  ,temp.id_documentoComentario
		  ,temp.id_usuario
		  ,temp.id_usuario_creo 
		  ,temp.fechaRecordar_fh
		  ,temp.comentario
		  ,documentoComentario_codigo
		  ,temp.cerrada
		  ,temp.finalizado
   from doc_documentoComentario temp inner join 
   comentarios on  temp.active=1 
   and  temp.id_documentoComentario =comentarios.id 
   and  temp.id_documento =@idDocumento
)
SELECT 
isnull(usuarioARecordar.nombre,'') doc_documentocomentario_id_usuario
,isnull(usuarioCreador.nombre,'') seg_usuario_usuario
,case when convert(varchar(15),fechaRecordar,103)='01/01/1900'then ''  else  convert(varchar(15),fechaRecordar,103) end  doc_documentocomentario_fecharecordar_fh
,comentario doc_documentoComentario_comentario
,titulo doc_documentocomentario_documentocomentario_codigo
,case when cerrada=0 then 'si'else'no'end doc_documentocomentario_cerrada
,case when finalizado= 1 then 'si'else'no'end doc_documentocomentario_finalizado
, case when  idpadre=0 then comentarios.id else idpadre end   idpadre 
,comentarios.id 
FROM comentarios
inner join seg_usuario usuarioCreador on usuarioCreador.id =comentarios.idUsuarioCreo
inner join seg_usuario usuarioARecordar on usuarioARecordar.id= comentarios.idUsuario
order by idpadre desc,fechaRecordar desc
end
