Files
DP44/DataPRO_sql/dbo.sp_LevelTriggersUpdate.StoredProcedure.sql
2026-04-17 14:55:32 -04:00

105 lines
6.1 KiB
Transact-SQL
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_LevelTriggersUpdate]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[sp_LevelTriggersUpdate]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_LevelTriggersUpdate]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_LevelTriggersUpdate] AS'
END
GO
ALTER PROCEDURE [dbo].[sp_LevelTriggersUpdate]
@TestSetupName nvarchar(255)
,@GroupSerialNumber nvarchar(255)
,@TestObjectChannelId nvarchar(255)
,@HardwareChannelId nvarchar(255)
,@SensorSerialNumber nvarchar(255)
,@GreaterThanEnabled bit
,@GreaterThanEU float
,@LessThanEnabled bit
,@LessThanEU float
,@InsideUpperEU float
,@InsideLowerEU float
,@OutsideUpperEU float
,@OutsideLowerEU float
,@TriggerInside bit
,@TriggerOutside bit
,@errorNumber int output
,@errorMessage nvarchar(250) output
AS
BEGIN
SET NOCOUNT ON;
set @errorNumber = 0
set @errorMessage = space(0)
declare @TestSetupId int
declare @TestObjectId int
declare @DASId int
declare @SensorId int
declare @ChannelId int
declare @MMEChannel bit
declare @MMEChannelId int
select @TestSetupId = TestSetupId from TestSetups where TestSetupName =@TestSetupName
select @DASId = d.DASId from [dbo].[DAS] d where SerialNumber = left(@HardwareChannelId, charindex('_', @HardwareChannelId)-1)
select @SensorId = SensorId from dbo.v_SensorSerialNumber where SerialNumber = @SensorSerialNumber
select @TestObjectId = ts.TestObjectId from [dbo].[TestObjects] ts where ts.TestObjectName = @GroupSerialNumber
set @ChannelId = right(@HardwareChannelId, LEN(@HardwareChannelId) - charindex('x', @HardwareChannelId))
set @MMEChannel = left(replace(@TestObjectChannelId, @GroupSerialNumber + '_', space(0)), 1)
set @MMEChannelId = substring(@TestObjectChannelId, LEN(@TestObjectChannelId) - charindex('_', reverse(@TestObjectChannelId)) +2, charindex('_', reverse(@TestObjectChannelId))+1)
UPDATE [dbo].[LevelTriggers]
SET [DASId] = @DASId
,[MMEChannel] = @MMEChannel
,[MMEChannelId] = @MMEChannelId
,[HardwareChannelId] = @ChannelId
,[SensorId] = @SensorId
,[GreaterThanEnabled] = @GreaterThanEnabled
,[GreaterThanEU] = @GreaterThanEU
,[LessThanEnabled] = @LessThanEnabled
,[LessThanEU] = @LessThanEU
,[InsideUpperEU] = @InsideUpperEU
,[InsideLowerEU] = @InsideLowerEU
,[OutsideUpperEU] = @OutsideUpperEU
,[OutsideLowerEU] = @OutsideLowerEU
,[TriggerInside] = @TriggerInside
,[TriggerOutside] = @TriggerOutside
WHERE [TestSetupId] = @TestSetupId
and [TestObjectId] = @TestObjectId
END
GO