set ANSI_NULLS OFF
set QUOTED_IDENTIFIER OFF
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[a_sel_equ_resumenEquipo_m]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[a_sel_equ_resumenEquipo_m]
GO
CREATE PROCEDURE [dbo].[a_sel_equ_resumenEquipo_m]
	@p_idEquipo as int = 0,
	@p_eid as varchar(50) = ''
AS
BEGIN
DECLARE @fechaInicial as smalldatetime
DECLARE @tiempoMedioFallas as float
--consulta 1, Tiempo medio entre fallas
EXEC @tiempoMedioFallas = [dbo].[fun_tiempoMedioFallas_m] @p_idEquipo, @p_eid
SELECT  'Tiempo medio entre fallas (Horas)'  as descripcion, case when @tiempoMedioFallas <> null then @tiempoMedioFallas else 0 end as dato
--consulta 2, Tiempo Medio entre reparaciones
select 'Tiempo Medio entre reparaciones (Horas)' as descripcion ,case when (convert(float,(sum(datediff(mi, dis_evento_fechaHoraInicio_ff,dis_evento_duracion_hh))))) =  null or (convert(float,(count(id_evento)*60))) = 0 or (convert(float,(count(id_evento)*60))) = null then 0 else ((convert(float,(sum(datediff(mi, dis_evento_fechaHoraInicio_ff,dis_evento_duracion_hh)))))/(convert(float,(count(id_evento)*60)))) end as dato
from view_equ_trazabilidad
where id_documento > 0 and id_evento > 0 and id_equipo=@p_idEquipo and dis_evento_duracion_hh > '1/1/1900' and [view_equ_trazabilidad].eid like @p_eid+'%'
--consulta 3, Mantenibilidad mensual
select @fechaInicial=fechaPuestaMarcha_fh from equ_equipo where id = @p_idEquipo
select 'Mantenibilidad mensual' as descripcion,case when (convert(float,(sum(costo)))) = null or (convert(float, datediff(mm, @fechaInicial,getdate()))) = null or (convert(float, datediff(mm, @fechaInicial,getdate()))) = 0 then 0 else (convert(float,(sum(costo)))/(convert(float, datediff(mm, @fechaInicial,getdate())))) end  as dato
from view_doc_documento
inner join view_doc_documento_ot on view_doc_documento.id =view_doc_documento_ot.id
where view_doc_documento_ot.id_equipo= @p_idEquipo and [view_doc_documento].eid like @p_eid+'%' and [view_doc_documento_ot].eid like @p_eid+'%'
--consulta 4, Mantenibilidad Acumulada
select 'Mantenibilidad Acumulada' as descripcion , case when (convert(float,(sum(view_doc_documento.costo)))) = null then 0 else convert(float,(sum(view_doc_documento.costo))) end  as dato
from view_doc_documento
inner join view_doc_documento_ot on view_doc_documento.id =view_doc_documento_ot.id
where view_doc_documento_ot.id_equipo= @p_idEquipo and [view_doc_documento].eid like @p_eid+'%' and [view_doc_documento_ot].eid like @p_eid+'%'
--consulta 5, Reparacion Mayor
select 'Reparaciones Mayores' as descripcion , convert(float,count(cic.id)) as dato from equ_equipo equ inner join equ_cicloHorometro cic on equ.id=cic.id_equipo where equ.id=@p_idEquipo and cic.reparacionMayor=1 and equ.eid like @p_eid+'%'
--consulta 6 ,Reinicios de horometros
select 'Cambios de horometro' as descripcion , convert(float,count(cic.id)) as dato from equ_equipo equ inner join equ_cicloHorometro cic on equ.id=cic.id_equipo where equ.id=@p_idEquipo and cic.reiniciarHorometro=1 and equ.eid like @p_eid+'%'
--fin consultas
END
