declare @p_idformato int
declare @uid varchar(50)
declare @p_formato int
declare @p_subcategoria3 int
declare @p_idfuncionalidad int
select @uid= uid from seg_usuario where id=1
select @p_idfuncionalidad=id_funcionalidad from rep_reporte where id=1
select @p_formato=id from rep_categoria where id_Categoria=0 and categoria like 'Formatos%'

--Consulta
if not exists (select id from rep_categoria where categoria='evento' and id_categoria=@p_formato)
begin
insert into rep_categoria (uid, eid, active, categoria, id_categoria) values (@uid, '01',1,'Evento', @p_formato)
set @p_subcategoria3 = @@identity
end
else
begin
select @p_subcategoria3=id from rep_categoria where categoria='evento' and id_categoria=@p_formato
end

if not exists (select id from rep_reporte where reporte='Fallas' and reporte_codigo='formatos/fallas' )
begin

insert into rep_reporte (uid, eid, reporte, reporte_codigo,id_funcionalidad, esformato, tienegraficos) values (@uid,'01','Fallas','formatos/fallas',@p_idfuncionalidad,1,1)
set @p_idformato = @@identity

insert into rep_reporte_categoria (uid, eid, reporte_categoria, id_categoria, id_reporte)values (@uid, '01', 'dis_evento', @p_subcategoria3, @p_idformato)

insert into rep_campoReporte (uid, eid, campoReporte, id_reporte, id_tipoCampoReporte, tabla, valorDefecto, esParametro, esSerie, parametroTotal) values (@uid, '01', 'ID Evento', @p_idformato, 2, 'dis_evento', '', 0,0,'')

insert into rep_origenDato (uid,eid,id_usuario_modifico,id_usuario_creo,fechaModificacion,fechaCreacion,active,origenDato,origenDato_codigo,id_reporte) Values (@uid,'01',0,0,getdate(),getDate(),1,'for_fallas','',@p_idformato)

end

---creacion de procedimientos almacenados
---procedimiento 1
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[for_fallas]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[for_fallas]
GO
CREATE PROCEDURE [for_fallas]
	@p_id as INT = 0,
	@p_eid varchar(100)

AS
BEGIN

declare @p_horometro as bit

select view_dis_evento.id,
view_dis_evento.evento, 
view_dis_evento.fechaHoraInicio_ff, 
view_dis_evento.duracion_hh, 
view_dis_evento.notas, 
view_dis_evento.equ_equipo_equipo, 
view_dis_evento.dis_motivoEvento_motivoEvento as motivoevento, 
view_dis_evento.equ_falla_falla, 
view_dis_evento.equ_falla_causa_falla, 
view_dis_evento.dis_metodoDeteccion_metodoDeteccion, 
view_dis_evento.seg_usuario_nombre, 
view_dis_evento.equ_estadoEquipo_estadoEquipo, 
view_equ_equipo.horometroActual, 
view_doc_documento_ot.doc_documento_ot_documento_numero,
view_doc_documento_ot.doc_documento_ot_doc_subtipoDocumento_prefijo as prefijo,
view_equ_equipo.[cat_catalogo.equipo_manejaHorometro] as horometro,
view_equ_trazabilidad.id_documento
from view_dis_evento 
inner join view_equ_equipo on view_dis_evento.id_equipo = view_equ_equipo.[id]
inner join view_equ_trazabilidad on view_equ_trazabilidad.id_evento=view_dis_evento.id
left outer join view_doc_documento_ot on view_equ_trazabilidad.id_documento = view_doc_documento_ot.[id]
where view_dis_evento.id=@p_id

end
go
