CREATE OR ALTER PROCEDURE [dbo].[rep_horasExtraTecnico]
@p_id_documento as int=0,
@p_id_usuario as int=0,
@p_fecha_fh as smalldatetime = null,
@p_fecha_fh_b as smalldatetime = null,
@p_subtipodocumento as INT = 0,
@p_nombre as INT = 0,
@p_eid as varchar (100)= '01'
as
begin
select 
--[id_catalogo.actividad]
seg_usuario.nombre,
seg_usuario.identificacion,
seg_grupo.grupo,
seg_usuario.id,
doc_documento.prefijo,
doc_documento.documento_numero,
min(ort_programacion.desde_fh) as fecha_fh,
doc_documento.documento
,id_reportetecnico,
Ceiling((select ROUND((sum(doc_itemdocumento.horasOrdinales)),3))*10)/10 as horasOrdinales,
Ceiling((select ROUND((sum(doc_itemdocumento.horasNocturnas)),3))*10)/10 as horasNocturnas,
Ceiling((select ROUND((sum(doc_itemdocumento.horasFestivas)),3))*10)/10 as horasFestivas,
Ceiling((select ROUND((sum(doc_itemdocumento.horasOrdinales) + sum(doc_itemdocumento.horasNocturnas)+ sum(doc_itemdocumento.horasFestivas)),3))*10)/10 as  total,
Ceiling((select ROUND((sum(doc_itemDocumento.costoEjecutado)),3))*10)/10 as costo,
(select horarioTrabajo from [dbo].[v_HorarioTrabajo]) as horarioTrabajo

from ort_programacion 
inner join doc_itemdocumento on doc_itemdocumento.id_catalogo =ort_programacion.[id_catalogo.actividad] and doc_itemdocumento.id_catalogo>0 and doc_itemdocumento.active=1 and doc_itemdocumento.id_documento =ort_programacion.[id_documento.ot] 
inner join doc_documento on doc_itemDocumento.id_documento=doc_documento.id
inner join seg_usuario on ort_programacion.id_usuario=seg_usuario.id
left join seg_grupo on seg_usuario.id_grupo=seg_grupo.id
WHERE
	id_tipoProgramacion=6 and 
	(ort_programacion.[id_documento.ot]=@p_id_documento or @p_id_documento=0 ) and 
	(@p_nombre=0 or ort_programacion.id_usuario  = @p_nombre) and
	--(DATEPART (WEEKDAY, desde_fh)) in (1,2,3,4,5)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
	--(select COUNT(fecha_ff)  from gen_diafestivo  where CONVERT (DATETIME ,CONVERT(VARCHAR(10), fecha_ff,105))= CONVERT (DATETIME ,CONVERT(VARCHAR(10),ort_programacion.desde_fh,105 )+ ' 00:00:00'))=0
	ort_programacion.active=1
GROUP BY 

--[id_catalogo.actividad] ,
id_reportetecnico,
seg_usuario.nombre,
seg_usuario.identificacion,
seg_grupo.grupo,
seg_usuario.id,
doc_documento.prefijo,
doc_documento.documento_numero,
doc_documento.documento
order by
seg_usuario.nombre
END
GO
