if exists(select 1 from sys.procedures where name='rep_motivosCambioEstado')
	drop procedure rep_motivosCambioEstado;
GO

create procedure rep_motivosCambioEstado
	@p_eid varchar(50),
	@p_tipoDocumento int,
	@p_subtipodocumento int=0,
	@p_tercero int=0,
	@p_fecha_fh datetime=null,
	@p_fecha_fh_b datetime=null,
	@p_estadotipodocumento int=0

as 
begin

	select DED.id
		,DED.doc_documento_prefijo +'-'+ cast (DED.doc_documento_documento_numero as varchar(100)) doc
		,PADRE.prefijo +'-'+ cast (PADRE.documento_numero as varchar(100)) padre
		,DED.fechaCreacion fecha
		,DED.doc_documento_fechaCierre_ff cierre
		,TER.tercero tercero
		,DED.doc_estadotipodocumento_estadotipodocumento estado
		,DED.doc_motivoestado_motivoestado motivo
	from view_doc_documento_estadoTipoDocumento DED
		inner join view_ter_tercero TER on TER.id=DED.doc_documento_id_tercero_cliente
		left outer join view_doc_documento PADRE on PADRE.id=DED.doc_documento_id_documento
	where 
	(@p_fecha_fh is null or DED.doc_documento_fecha_fh>=@p_fecha_fh)
	and (@p_fecha_fh_b is null or DED.doc_documento_fecha_fh<=@p_fecha_fh_b)
	and DED.id_motivoestado>0 
	and (@p_tercero=0 or DED.doc_documento_id_tercero_cliente=@p_tercero)
	and (@p_estadotipodocumento=0 or DED.id_estadoTipoDocumento=@p_estadotipodocumento)
	and (@p_subtipodocumento=0 or DED.doc_documento_id_subtipoDocumento=@p_subtipodocumento)
	and DED.doc_estadoTipoDocumento_id_tipoDocumento=@p_tipoDocumento
	
end
go
