SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[reg_dis_evento]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[reg_dis_evento]
GO
CREATE PROCEDURE [reg_dis_evento]
	@p_id INT
AS
BEGIN
	SELECT 	[id] AS [id],
		[uid] AS [uid],
		[eid] AS [eid],
		[id_usuario_modifico] AS [id_usuario_modifico],
		[id_usuario_creo] AS [id_usuario_creo],
		[fechaModificacion] AS [fechaModificacion],
		[fechaCreacion] AS [fechaCreacion],
		[active] AS [active],
		[evento] AS [evento],
		[evento_codigo] AS [evento_codigo],
		[fechaHoraInicio_ff] AS [fechaHoraInicio_ff],
		[duracion_hh] AS [duracion_hh],
		[afectaProduccion] AS [afectaProduccion],
		[notas] AS [notas],
		[id_equipo] AS [id_equipo],
		[id_motivoEvento] AS [id_motivoEvento],
		[id_usuario] AS [id_usuario],
		[id_estadoEquipo] AS [id_estadoEquipo],
		[id_falla] AS [id_falla],
		[id_falla_causa] AS [id_falla_causa],
		[id_metodoDeteccion] AS [id_metodoDeteccion],
		[fechaHoraEstimada_fh] AS [fechaHoraEstimada_fh],
		[eventoTipo] AS [eventoTipo],
		[afectaCliente] AS [afectaCliente],
		[id_estadoEvento] AS [id_estadoEvento]
	FROM [dis_evento]
	WHERE	(id = @p_id)

END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[view_dis_evento]')) DROP VIEW [dbo].[view_dis_evento]
GO
CREATE  VIEW [view_dis_evento] AS
SELECT 	[dis_evento].[id] AS [id],
		[dis_evento].[uid] AS [uid],
		[dis_evento].[eid] AS [eid],
		[dis_evento].[id_usuario_modifico] AS [id_usuario_modifico],
		[dis_evento].[id_usuario_creo] AS [id_usuario_creo],
		[dis_evento].[fechaModificacion] AS [fechaModificacion],
		[dis_evento].[fechaCreacion] AS [fechaCreacion],
		[dis_evento].[active] AS [active],
		[dis_evento].[evento] AS [evento],
		[dis_evento].[evento_codigo] AS [evento_codigo],
		[dis_evento].[fechaHoraInicio_ff] AS [fechaHoraInicio_ff],
		[dis_evento].[duracion_hh] AS [duracion_hh],
		[dis_evento].[afectaProduccion] AS [afectaProduccion],
		[dis_evento].[notas] AS [notas],
		[dis_evento].[id_equipo] AS [id_equipo],
[equ_equipo].[equipo] as [equ_equipo_equipo],
[equ_equipo].[equipo_codigo] as [equ_equipo_equipo_codigo],
[equ_equipo].[equipo_serial] as [equ_equipo_equipo_serial],
[equ_equipo].[nombreContacto] as [equ_equipo_nombreContacto],
[equ_equipo].[telefonoContacto] as [equ_equipo_telefonoContacto],
[equ_equipo].[ubicacion] as [equ_equipo_ubicacion],
[equ_equipo].[observaciones] as [equ_equipo_observaciones],
[equ_equipo].[fechaPuestaMarcha_fh] as [equ_equipo_fechaPuestaMarcha_fh],
[equ_equipo].[vencimientoGarantiaFabrica_ff] as [equ_equipo_vencimientoGarantiaFabrica_ff],
[equ_equipo].[vencimientoGarantiaDistribuidor_ff] as [equ_equipo_vencimientoGarantiaDistribuidor_ff],
[equ_equipo].[horasGarantia] as [equ_equipo_horasGarantia],
[equ_equipo].[ultimaLectura_fh] as [equ_equipo_ultimaLectura_fh],
[equ_equipo].[horometroActual] as [equ_equipo_horometroActual],
[equ_equipo].[promedioHoras] as [equ_equipo_promedioHoras],
[equ_equipo].[costo] as [equ_equipo_costo],
[equ_equipo].[fechaImportacion_ff] as [equ_equipo_fechaImportacion_ff],
[equ_equipo].[garantiaCancelada] as [equ_equipo_garantiaCancelada],
[equ_equipo].[id_catalogo.equipo] as [equ_equipo_id_catalogo.equipo],
[equ_equipo].[id_sistema] as [equ_equipo_id_sistema],
[equ_equipo].[id_sucursal] as [equ_equipo_id_sucursal],
[equ_equipo].[id_zona] as [equ_equipo_id_zona],
[equ_equipo].[id_versionEquipo] as [equ_equipo_id_versionEquipo],
[equ_equipo].[id_tercero_comprador] as [equ_equipo_id_tercero_comprador],
[equ_equipo].[id_tercero] as [equ_equipo_id_tercero],
[equ_equipo].[id_tercero_servicio] as [equ_equipo_id_tercero_servicio],
[equ_equipo].[id_equipo] as [equ_equipo_id_equipo],
[equ_equipo].[id_estadoEquipo] as [equ_equipo_id_estadoEquipo],
		[dis_evento].[id_motivoEvento] AS [id_motivoEvento],
[dis_motivoEvento].[motivoEvento] as [dis_motivoEvento_motivoEvento],
[dis_motivoEvento].[motivoEvento_codigo] as [dis_motivoEvento_motivoEvento_codigo],
[dis_motivoEvento].[responsableServicio] as [dis_motivoEvento_responsableServicio],
[dis_motivoEvento].[VaradaProduccion] as [dis_motivoEvento_VaradaProduccion],
[dis_motivoEvento].[esFalla] as [dis_motivoEvento_esFalla],
		[dis_evento].[id_usuario] AS [id_usuario],
[seg_usuario].[usuario] as [seg_usuario_usuario],
[seg_usuario].[usuario_codigo] as [seg_usuario_usuario_codigo],
[seg_usuario].[intentosFallidos] as [seg_usuario_intentosFallidos],
[seg_usuario].[numeroIngresos] as [seg_usuario_numeroIngresos],
[seg_usuario].[fechaUltimoIngreso_fh] as [seg_usuario_fechaUltimoIngreso_fh],
[seg_usuario].[fechaIntentoFallido_fh] as [seg_usuario_fechaIntentoFallido_fh],
[seg_usuario].[clave] as [seg_usuario_clave],
[seg_usuario].[nombre] as [seg_usuario_nombre],
[seg_usuario].[profesion] as [seg_usuario_profesion],
[seg_usuario].[email] as [seg_usuario_email],
[seg_usuario].[direccion] as [seg_usuario_direccion],
[seg_usuario].[telefono] as [seg_usuario_telefono],
[seg_usuario].[costoHora] as [seg_usuario_costoHora],
[seg_usuario].[porcentajeComision] as [seg_usuario_porcentajeComision],
[seg_usuario].[accesoActivo] as [seg_usuario_accesoActivo],
[seg_usuario].[cambiarClave] as [seg_usuario_cambiarClave],
[seg_usuario].[fechaUltimoCambioClave_fh] as [seg_usuario_fechaUltimoCambioClave_fh],
[seg_usuario].[aplicaRecargo] as [seg_usuario_aplicaRecargo],
[seg_usuario].[sexo] as [seg_usuario_sexo],
[seg_usuario].[id_perfil] as [seg_usuario_id_perfil],
[seg_usuario].[id_cargo] as [seg_usuario_id_cargo],
[seg_usuario].[id_grupo] as [seg_usuario_id_grupo],
[seg_usuario].[id_zona] as [seg_usuario_id_zona],
[seg_usuario].[identificacion] as [seg_usuario_identificacion],
[seg_usuario].[id_usuario] as [seg_usuario_id_usuario],
[seg_usuario].[preferencias] as [seg_usuario_preferencias],
		[dis_evento].[id_estadoEquipo] AS [id_estadoEquipo],
[equ_estadoEquipo].[estadoEquipo] as [equ_estadoEquipo_estadoEquipo],
[equ_estadoEquipo].[estadoEquipo_codigo] as [equ_estadoEquipo_estadoEquipo_codigo],
[equ_estadoEquipo].[activo] as [equ_estadoEquipo_activo],
		[dis_evento].[id_falla] AS [id_falla],
[equ_falla].[falla] as [equ_falla_falla],
[equ_falla].[falla_codigo] as [equ_falla_falla_codigo],
[equ_falla].[procedimiento] as [equ_falla_procedimiento],
[equ_falla].[id_tipoFalla] as [equ_falla_id_tipoFalla],
[equ_falla].[id_falla] as [equ_falla_id_falla],
		[dis_evento].[id_falla_causa] AS [id_falla_causa],
[equ_falla_causa].[falla] as [equ_falla_causa_falla],
[equ_falla_causa].[falla_codigo] as [equ_falla_causa_falla_codigo],
[equ_falla_causa].[procedimiento] as [equ_falla_causa_procedimiento],
[equ_falla_causa].[id_tipoFalla] as [equ_falla_causa_id_tipoFalla],
[equ_falla_causa].[id_falla] as [equ_falla_causa_id_falla],
		[dis_evento].[id_metodoDeteccion] AS [id_metodoDeteccion],
[dis_metodoDeteccion].[metodoDeteccion] as [dis_metodoDeteccion_metodoDeteccion],
[dis_metodoDeteccion].[metodoDeteccion_codigo] as [dis_metodoDeteccion_metodoDeteccion_codigo],
		[dis_evento].[fechaHoraEstimada_fh] AS [fechaHoraEstimada_fh],
		[dis_evento].[eventoTipo] AS [eventoTipo],
		[dis_evento].[afectaCliente] AS [afectaCliente],
		[dis_evento].[id_estadoEvento] AS [id_estadoEvento],
[dis_estadoEvento].[estadoEvento] as [dis_estadoEvento_estadoEvento],
[dis_estadoEvento].[estadoEvento_codigo] as [dis_estadoEvento_estadoEvento_codigo],
		[empresaCodigo].[empresa] As [multiempresa]
FROM [dis_evento]
	INNER JOIN [seg_usuario] AS [seg_usuario_modifico] ON [seg_usuario_modifico].id=[dis_evento].[id_usuario_modifico]
	INNER JOIN [seg_usuario] AS [seg_usuario_creo] ON [seg_usuario_creo].id=[dis_evento].[id_usuario_creo]
	INNER JOIN [equ_equipo] ON [equ_equipo].id=[dis_evento].[id_equipo]
	INNER JOIN [dis_motivoEvento] ON [dis_motivoEvento].id=[dis_evento].[id_motivoEvento]
	INNER JOIN [seg_usuario] ON [seg_usuario].id=[dis_evento].[id_usuario]
	INNER JOIN [equ_estadoEquipo] ON [equ_estadoEquipo].id=[dis_evento].[id_estadoEquipo]
	INNER JOIN [equ_falla] ON [equ_falla].id=[dis_evento].[id_falla]
	INNER JOIN [equ_falla] AS [equ_falla_causa] ON [equ_falla_causa].id=[dis_evento].[id_falla_causa]
	INNER JOIN [dis_metodoDeteccion] ON [dis_metodoDeteccion].id=[dis_evento].[id_metodoDeteccion]
	INNER JOIN [dis_estadoEvento] ON [dis_estadoEvento].id=[dis_evento].[id_estadoEvento]
	INNER JOIN [gen_empresa] AS empresaCodigo ON [dis_evento].eid = [empresaCodigo].[codigo] and empresaCodigo.active=1
WHERE [dis_evento].active=1
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXusuario_modifico]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXusuario_modifico]
GO
CREATE PROCEDURE [sel_dis_eventosXusuario_modifico]
	@p_id_usuario_modifico INT
AS
BEGIN
	SELECT * 
	FROM [view_dis_evento]
	WHERE ([id_usuario_modifico]= @p_id_usuario_modifico)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXusuario_creo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXusuario_creo]
GO
CREATE PROCEDURE [sel_dis_eventosXusuario_creo]
	@p_id_usuario_creo INT
AS
BEGIN
	SELECT * 
	FROM [view_dis_evento]
	WHERE ([id_usuario_creo]= @p_id_usuario_creo)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXequipo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXequipo]
GO
CREATE PROCEDURE [sel_dis_eventosXequipo]
	@p_id_equipo INT
AS
BEGIN
	SELECT * 
	FROM [view_dis_evento]
	WHERE ([id_equipo]= @p_id_equipo)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXmotivoEvento]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXmotivoEvento]
GO
CREATE PROCEDURE [sel_dis_eventosXmotivoEvento]
	@p_id_motivoEvento INT
AS
BEGIN
	SELECT * 
	FROM [view_dis_evento]
	WHERE ([id_motivoEvento]= @p_id_motivoEvento)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXusuario]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXusuario]
GO
CREATE PROCEDURE [sel_dis_eventosXusuario]
	@p_id_usuario INT
AS
BEGIN
	SELECT * 
	FROM [view_dis_evento]
	WHERE ([id_usuario]= @p_id_usuario)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXestadoEquipo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXestadoEquipo]
GO
CREATE PROCEDURE [sel_dis_eventosXestadoEquipo]
	@p_id_estadoEquipo INT
AS
BEGIN
	SELECT * 
	FROM [view_dis_evento]
	WHERE ([id_estadoEquipo]= @p_id_estadoEquipo)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXfalla]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXfalla]
GO
CREATE PROCEDURE [sel_dis_eventosXfalla]
	@p_id_falla INT
AS
BEGIN
	SELECT * 
	FROM [view_dis_evento]
	WHERE ([id_falla]= @p_id_falla)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXfalla_causa]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXfalla_causa]
GO
CREATE PROCEDURE [sel_dis_eventosXfalla_causa]
	@p_id_falla_causa INT
AS
BEGIN
	SELECT * 
	FROM [view_dis_evento]
	WHERE ([id_falla_causa]= @p_id_falla_causa)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXmetodoDeteccion]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXmetodoDeteccion]
GO
CREATE PROCEDURE [sel_dis_eventosXmetodoDeteccion]
	@p_id_metodoDeteccion INT
AS
BEGIN
	SELECT * 
	FROM [view_dis_evento]
	WHERE ([id_metodoDeteccion]= @p_id_metodoDeteccion)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXestadoEvento]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXestadoEvento]
GO
CREATE PROCEDURE [sel_dis_eventosXestadoEvento]
	@p_id_estadoEvento INT
AS
BEGIN
	SELECT * 
	FROM [view_dis_evento]
	WHERE ([id_estadoEvento]= @p_id_estadoEvento)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventos]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventos]
GO
CREATE PROCEDURE [sel_dis_eventos]
	
	@p_filtro as varchar (8000) = '1=1',
	@p_orden as varchar (8000) = 'id',
	@p_campos as varchar (8000) = '*' AS
BEGIN
exec ('SELECT '+ @p_campos +
' FROM [view_dis_evento]
WHERE (' + @p_filtro + ') ORDER BY ' + @p_orden)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[lis_dis_eventos]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[lis_dis_eventos]
GO
CREATE PROCEDURE [lis_dis_eventos]
	AS
BEGIN
	SELECT id AS id,
[evento] AS [dis_evento]
	FROM [dis_evento]
	WHERE active = 1
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[upd_dis_evento]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[upd_dis_evento]
GO
CREATE PROCEDURE [upd_dis_evento]
	@p_id int = null,
		@p_uid varchar(500) = null,
		@p_eid varchar(50) = null,
		@p_id_usuario_modifico int = null,
		@p_id_usuario_creo int = null,
		@p_fechaCreacion smalldatetime = null,
		@p_evento varchar(300) = null,
		@p_evento_codigo varchar(100) = null,
		@p_fechaHoraInicio_ff smalldatetime = null,
		@p_duracion_hh smalldatetime = null,
		@p_afectaProduccion bit = null,
		@p_notas varchar(1000) = null,
		@p_id_equipo int = null,
		@p_id_motivoEvento int = null,
		@p_id_usuario int = null,
		@p_id_estadoEquipo int = null,
		@p_id_falla int = null,
		@p_id_falla_causa int = null,
		@p_id_metodoDeteccion int = null,
		@p_fechaHoraEstimada_fh smalldatetime = null,
		@p_eventoTipo int = null,
		@p_afectaCliente bit = null,
		@p_id_estadoEvento int = null
AS
BEGIN
		UPDATE [dis_evento]
		SET	[uid] = isnull(@p_uid,[uid]),
			[eid] = isnull(@p_eid,[eid]),
			[id_usuario_modifico] = isnull(@p_id_usuario_modifico,[id_usuario_modifico]),
			[id_usuario_creo] = isnull(@p_id_usuario_creo,[id_usuario_creo]),
			[fechaModificacion] = GETDATE(),
			[evento] = isnull(@p_evento,[evento]),
			[evento_codigo] = isnull(@p_evento_codigo,[evento_codigo]),
			[fechaHoraInicio_ff] = isnull(@p_fechaHoraInicio_ff,[fechaHoraInicio_ff]),
			[duracion_hh] = isnull(@p_duracion_hh,[duracion_hh]),
			[afectaProduccion] = isnull(@p_afectaProduccion,[afectaProduccion]),
			[notas] = isnull(@p_notas,[notas]),
			[id_equipo] = isnull(@p_id_equipo,[id_equipo]),
			[id_motivoEvento] = isnull(@p_id_motivoEvento,[id_motivoEvento]),
			[id_usuario] = isnull(@p_id_usuario,[id_usuario]),
			[id_estadoEquipo] = isnull(@p_id_estadoEquipo,[id_estadoEquipo]),
			[id_falla] = isnull(@p_id_falla,[id_falla]),
			[id_falla_causa] = isnull(@p_id_falla_causa,[id_falla_causa]),
			[id_metodoDeteccion] = isnull(@p_id_metodoDeteccion,[id_metodoDeteccion]),
			[fechaHoraEstimada_fh] = isnull(@p_fechaHoraEstimada_fh,[fechaHoraEstimada_fh]),
			[eventoTipo] = isnull(@p_eventoTipo,[eventoTipo]),
			[afectaCliente] = isnull(@p_afectaCliente,[afectaCliente]),
			[id_estadoEvento] = isnull(@p_id_estadoEvento,[id_estadoEvento])
		WHERE (id = @p_id)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ins_dis_evento]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[ins_dis_evento]
GO
CREATE PROCEDURE [ins_dis_evento]
	@p_uid varchar(500),
		@p_eid varchar(50),
		@p_id_usuario_modifico int,
		@p_id_usuario_creo int,
		@p_evento varchar(300),
		@p_evento_codigo varchar(100),
		@p_fechaHoraInicio_ff smalldatetime,
		@p_duracion_hh smalldatetime,
		@p_afectaProduccion bit,
		@p_notas varchar(1000),
		@p_id_equipo int,
		@p_id_motivoEvento int,
		@p_id_usuario int,
		@p_id_estadoEquipo int,
		@p_id_falla int,
		@p_id_falla_causa int,
		@p_id_metodoDeteccion int,
		@p_fechaHoraEstimada_fh smalldatetime,
		@p_eventoTipo int,
		@p_afectaCliente bit,
		@p_id_estadoEvento int
AS
BEGIN
	DECLARE @v_id int
		INSERT INTO [dis_evento]
			([uid],
			[eid],
			[id_usuario_modifico],
			[id_usuario_creo],
			[fechaModificacion],
			[fechaCreacion],
			[evento],
			[evento_codigo],
			[fechaHoraInicio_ff],
			[duracion_hh],
			[afectaProduccion],
			[notas],
			[id_equipo],
			[id_motivoEvento],
			[id_usuario],
			[id_estadoEquipo],
			[id_falla],
			[id_falla_causa],
			[id_metodoDeteccion],
			[fechaHoraEstimada_fh],
			[eventoTipo],
			[afectaCliente],
			[id_estadoEvento])
		VALUES(	@p_uid,
			@p_eid,
			@p_id_usuario_modifico,
			@p_id_usuario_creo,
			GETDATE(),
			GETDATE(),
			@p_evento,
			@p_evento_codigo,
			@p_fechaHoraInicio_ff,
			@p_duracion_hh,
			@p_afectaProduccion,
			@p_notas,
			@p_id_equipo,
			@p_id_motivoEvento,
			@p_id_usuario,
			@p_id_estadoEquipo,
			@p_id_falla,
			@p_id_falla_causa,
			@p_id_metodoDeteccion,
			@p_fechaHoraEstimada_fh,
			@p_eventoTipo,
			@p_afectaCliente,
			@p_id_estadoEvento)
		SET @v_id = scope_identity()
UPDATE [dis_evento] set [uid] = [uid] + '_' + convert(varchar(20),@v_id) where [id]=@v_id
SELECT @v_id as id
RETURN @v_id
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[act_dis_evento]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[act_dis_evento]
GO
CREATE PROCEDURE [act_dis_evento]
	@p_active BIT,
	@p_id INT,
@p_id_usuario_modifico int = null
AS
BEGIN
	UPDATE [dis_evento]
	SET active=@p_active,
	[id_usuario_modifico] = isnull(@p_id_usuario_modifico,[id_usuario_modifico]),
	[fechaModificacion] = GETDATE()
	WHERE	(id = @p_id)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[reg_dis_evento_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[reg_dis_evento_m]
GO
CREATE PROCEDURE [reg_dis_evento_m]
	@p_id INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT 	[id] AS [id],
		[uid] AS [uid],
		[eid] AS [eid],
		[id_usuario_modifico] AS [id_usuario_modifico],
		[id_usuario_creo] AS [id_usuario_creo],
		[fechaModificacion] AS [fechaModificacion],
		[fechaCreacion] AS [fechaCreacion],
		[active] AS [active],
		[evento] AS [evento],
		[evento_codigo] AS [evento_codigo],
		[fechaHoraInicio_ff] AS [fechaHoraInicio_ff],
		[duracion_hh] AS [duracion_hh],
		[afectaProduccion] AS [afectaProduccion],
		[notas] AS [notas],
		[id_equipo] AS [id_equipo],
		[id_motivoEvento] AS [id_motivoEvento],
		[id_usuario] AS [id_usuario],
		[id_estadoEquipo] AS [id_estadoEquipo],
		[id_falla] AS [id_falla],
		[id_falla_causa] AS [id_falla_causa],
		[id_metodoDeteccion] AS [id_metodoDeteccion],
		[fechaHoraEstimada_fh] AS [fechaHoraEstimada_fh],
		[eventoTipo] AS [eventoTipo],
		[afectaCliente] AS [afectaCliente],
		[id_estadoEvento] AS [id_estadoEvento]
	FROM [dis_evento]
	WHERE	(id = @p_id)
	AND	(eid LIKE @p_eid+'%')

END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXusuario_modifico_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXusuario_modifico_m]
GO
CREATE PROCEDURE [sel_dis_eventosXusuario_modifico_m]
	@p_id_usuario_modifico INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_dis_evento]
	WHERE ([id_usuario_modifico]= @p_id_usuario_modifico)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXusuario_creo_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXusuario_creo_m]
GO
CREATE PROCEDURE [sel_dis_eventosXusuario_creo_m]
	@p_id_usuario_creo INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_dis_evento]
	WHERE ([id_usuario_creo]= @p_id_usuario_creo)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXequipo_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXequipo_m]
GO
CREATE PROCEDURE [sel_dis_eventosXequipo_m]
	@p_id_equipo INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_dis_evento]
	WHERE ([id_equipo]= @p_id_equipo)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXmotivoEvento_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXmotivoEvento_m]
GO
CREATE PROCEDURE [sel_dis_eventosXmotivoEvento_m]
	@p_id_motivoEvento INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_dis_evento]
	WHERE ([id_motivoEvento]= @p_id_motivoEvento)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXusuario_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXusuario_m]
GO
CREATE PROCEDURE [sel_dis_eventosXusuario_m]
	@p_id_usuario INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_dis_evento]
	WHERE ([id_usuario]= @p_id_usuario)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXestadoEquipo_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXestadoEquipo_m]
GO
CREATE PROCEDURE [sel_dis_eventosXestadoEquipo_m]
	@p_id_estadoEquipo INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_dis_evento]
	WHERE ([id_estadoEquipo]= @p_id_estadoEquipo)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXfalla_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXfalla_m]
GO
CREATE PROCEDURE [sel_dis_eventosXfalla_m]
	@p_id_falla INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_dis_evento]
	WHERE ([id_falla]= @p_id_falla)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXfalla_causa_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXfalla_causa_m]
GO
CREATE PROCEDURE [sel_dis_eventosXfalla_causa_m]
	@p_id_falla_causa INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_dis_evento]
	WHERE ([id_falla_causa]= @p_id_falla_causa)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXmetodoDeteccion_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXmetodoDeteccion_m]
GO
CREATE PROCEDURE [sel_dis_eventosXmetodoDeteccion_m]
	@p_id_metodoDeteccion INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_dis_evento]
	WHERE ([id_metodoDeteccion]= @p_id_metodoDeteccion)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventosXestadoEvento_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventosXestadoEvento_m]
GO
CREATE PROCEDURE [sel_dis_eventosXestadoEvento_m]
	@p_id_estadoEvento INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_dis_evento]
	WHERE ([id_estadoEvento]= @p_id_estadoEvento)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_dis_eventos_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_dis_eventos_m]
GO
CREATE PROCEDURE [sel_dis_eventos_m]
	@p_eid as varchar (50)='',
	@p_filtro as varchar (8000) = '1=1',
	@p_orden as varchar (8000) = 'id',
	@p_campos as varchar (8000) = '*' AS
BEGIN
exec ('SELECT '+ @p_campos +
' FROM [view_dis_evento]
WHERE  (eid like '''+@p_eid+'%'+''' ) AND (' + @p_filtro + ') ORDER BY ' + @p_orden)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[lis_dis_eventos_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[lis_dis_eventos_m]
GO
CREATE PROCEDURE [lis_dis_eventos_m]
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT id AS id,
[evento] AS [dis_evento]
	FROM [dis_evento]
	WHERE active = 1
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[aud_dis_evento]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[aud_dis_evento]
GO
CREATE PROCEDURE [aud_dis_evento]
	@p_filtro as varchar (8000) = '1=1'
AS
BEGIN
exec(	'SELECT [dis_evento].id as id_tabla,
	[dis_evento].id_usuario_modifico as id_usuario_modifico,
	[dis_evento].id_usuario_creo as id_usuario_creo,
	[dis_evento].fechaModificacion as fechaModificacion,
	[dis_evento].fechaCreacion as fechaCreacion,
	[dis_evento].active as active,
	[dis_evento].[evento] as campoPrincipal,
	[seg_usuario_creo].usuario as usuarioCreo,
	[seg_usuario_modifico].usuario as usuarioModifico

	FROM [dis_evento]
	INNER JOIN [seg_usuario] AS [seg_usuario_modifico] ON [seg_usuario_modifico].id=[dis_evento].[id_usuario_modifico]
	INNER JOIN [seg_usuario] AS [seg_usuario_creo] ON [seg_usuario_creo].id=[dis_evento].[id_usuario_creo]
	where ' + @p_filtro)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO

----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ins_evento_estadoEvento]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[ins_evento_estadoEvento]
GO
CREATE PROCEDURE [ins_evento_estadoEvento]
	@p_uid varchar(500),
		@p_eid varchar(50),
		@p_id_usuario_modifico int,
		@p_id_usuario_creo int,
		@p_to_estadoEvento varchar(300)
AS
BEGIN
	DECLARE @v_id int
		INSERT INTO [evento_estadoEvento]
			([uid],
			[eid],
			[id_usuario_modifico],
			[id_usuario_creo],
			[fechaModificacion],
			[fechaCreacion],
			[to_estadoEvento])
		VALUES(	@p_uid,
			@p_eid,
			@p_id_usuario_modifico,
			@p_id_usuario_creo,
			GETDATE(),
			GETDATE(),
			@p_to_estadoEvento)
		SET @v_id = scope_identity()
UPDATE [evento_estadoEvento] set [uid] = [uid] + '_' + convert(varchar(20),@v_id) where [id]=@v_id
SELECT @v_id as id
RETURN @v_id
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[upd_evento_estadoEvento]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[upd_evento_estadoEvento]
GO
CREATE PROCEDURE [upd_evento_estadoEvento]
	@p_id int = null,
		@p_uid varchar(500) = null,
		@p_eid varchar(50) = null,
		@p_id_usuario_modifico int = null,
		@p_id_usuario_creo int = null,
		@p_fechaCreacion smalldatetime = null,
		@p_to_estadoEvento varchar(300) = null
AS
BEGIN
		UPDATE [evento_estadoEvento]
		SET	[uid] = isnull(@p_uid,[uid]),
			[eid] = isnull(@p_eid,[eid]),
			[id_usuario_modifico] = isnull(@p_id_usuario_modifico,[id_usuario_modifico]),
			[id_usuario_creo] = isnull(@p_id_usuario_creo,[id_usuario_creo]),
			[fechaModificacion] = GETDATE(),
			[to_estadoEvento] = isnull(@p_to_estadoEvento,[to_estadoEvento])
		WHERE (id = @p_id)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
print 'dis_evento'
-----------------------------------12/07/2012 12:35:33 p.m.