

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[rep_ConsultaGasto]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[rep_ConsultaGasto]
GO
create procedure [dbo].[rep_ConsultaGasto]
 @p_desde_fh as smalldatetime,
 @p_desde_fh_b as smalldatetime,
 @p_nombre int=0,
 @p_tercero int=0,
 @p_eid varchar(100)
as
begin
 declare @soloOT bit
 set @soloOT=0

 select  --distinct DG.id,
  U.nombre
  from gas_detallegasto DG
  inner join gas_gasto G on G.id=DG.id_gasto
  inner join ort_reporteTecnico RT on RT.id_gasto=G.id
  inner join ort_programacion PROG on PROG.id_reporteTecnico=RT.[id]
  inner join [doc_documento.ot] OT on OT.id=PROG.[id_documento.ot]
  inner join [doc_documento] DOC on OT.id=DOC.id
  inner join ter_tercero on ter_tercero.id=DOC.id_tercero_cliente
  inner join seg_usuario U on U.id=G.id_usuario_solicitante
 where DG.id>0
  and DG.fecha_ff between @p_desde_fh and @p_desde_fh_b
  and DG.active=1
  and RT.active=1
  and (@p_tercero=0 or ter_tercero.id=@p_tercero)
  and (@soloOt=0 or PROG.[id_documento.ot]>0)
  and (@p_nombre=0 or @p_nombre=U.id)
 group by U.nombre
 order by U.nombre

 --select 
 -- U.nombre,
 -- sum(DG.valor*DG.cantidad) as total
 --from gas_detallegasto DG
 -- inner join gas_gasto G on G.id=DG.id_gasto
 -- inner join ort_reporteTecnico RT on RT.id_gasto=G.id
 -- inner join [doc_documento.ot] OT on OT.id=RT.[id_documento.ot]
 -- inner join seg_usuario U on U.id=G.id_usuario_solicitante
 --where DG.id>0
 -- and DG.fecha_ff between @p_desde_fh and @p_desde_fh
 -- and DG.active=1
 -- and RT.active=1
 -- and (@soloOt=0 or RT.[id_documento.ot]>0)
 -- and (@p_nombre=0 or @p_nombre=U.id)
 
end

