
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[rep_RecoCompro]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[rep_RecoCompro]
GO
CREATE PROCEDURE [dbo].[rep_RecoCompro]
		@p_fecha_fh as smalldatetime = null,
		@p_fecha_fh_b as smalldatetime = null,
		@p_eid varchar(100),
		@p_tercero as INT = 0,
		@p_sucursal as INT = 0
AS
BEGIN

select	doc_documento.prefijo,doc_documento.documento_numero as numero, doc_documento.documento_codigo as ot_cliente,ter_tercero.tercero as cliente,
		ter_sucursal.sucursal, ort_reportetecnico.trabajos,ort_reportetecnico.recomendaciones, ort_reportetecnico.compromisos,
		min(ort_programacion.desde_fh) as fechaOT, seg_usuario.nombre as tecnico
		
from ort_reportetecnico  inner join
    ort_programacion on ort_programacion.id_reporteTecnico = ort_reporteTecnico.id inner join
    doc_documento on doc_documento.id = ort_programacion.[id_documento.ot] inner join
	[doc_documento.ot] on [doc_documento.ot].id = doc_documento.id inner join
	ter_tercero on ter_tercero.id = doc_documento.id_tercero_cliente inner join
	ter_sucursal on ter_sucursal.id = [doc_documento.ot].id_sucursal inner join
	
	seg_usuario on seg_usuario .id = ort_programacion.id_usuario

where	ort_reportetecnico.active = 1  and (len(ort_reportetecnico.recomendaciones) <> 0 or len(ort_reportetecnico.compromisos) <> 0)
		and doc_documento.active = 1  
		and  (@p_fecha_fh is null or ort_programacion.desde_fh >= @p_fecha_fh)
		and (@p_fecha_fh_b is null or ort_programacion.desde_fh <= @p_fecha_fh_b)
		and (@p_tercero=0 or ter_tercero.id = @p_tercero)
		and (@p_sucursal=0 or ter_sucursal.id = @p_sucursal)
		and (ort_reporteTecnico.id > 0) and ort_programacion.active = 1 and id_tipoProgramacion = 6 
		
group by doc_documento.prefijo,doc_documento.documento_numero, doc_documento.documento_codigo,ter_tercero.tercero,
		ter_sucursal.sucursal, ort_reportetecnico.trabajos,ort_reportetecnico.recomendaciones, ort_reportetecnico.compromisos
		, seg_usuario.nombre

END