init
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
DECLARE @i int
|
||||
DECLARE @j int
|
||||
DECLARE @ChannelId int
|
||||
DECLARE @SensorId int
|
||||
DECLARE @numChannelRows int
|
||||
DECLARE @numSensorRows int
|
||||
DECLARE @ZeroMethod NVARCHAR(255)
|
||||
DECLARE @ZeroMethodType NVARCHAR(255)
|
||||
DECLARE @ZeroMethodStart NVARCHAR(255)
|
||||
DECLARE @ZeroMethodEnd NVARCHAR(255)
|
||||
DECLARE @delimIndex int
|
||||
DECLARE @startIndex int
|
||||
|
||||
DECLARE @channelidtable TABLE (
|
||||
idx int Primary Key IDENTITY(1,1)
|
||||
, ChannelId int
|
||||
)
|
||||
|
||||
CREATE TABLE #channelidtable(
|
||||
idx int Primary Key IDENTITY(1,1)
|
||||
, ChannelId int
|
||||
)
|
||||
|
||||
INSERT #channelidtable
|
||||
SELECT DISTINCT ChannelId FROM GroupChannelSettings WHERE ChannelId IN
|
||||
(SELECT Id FROM Channels WHERE SensorId IN
|
||||
(SELECT id FROM Sensors WHERE id in
|
||||
(SELECT SensorId FROM Channels)
|
||||
AND SensorType = 0))
|
||||
|
||||
SET @i = 1
|
||||
SET @numChannelRows = (SELECT COUNT(*) FROM @channelidtable)
|
||||
IF @numChannelRows > 0
|
||||
WHILE (@i <= (SELECT COUNT(*) FROM @channelidtable))
|
||||
BEGIN
|
||||
SET @ChannelId = (SELECT ChannelId FROM @channelidtable WHERE idx = @i)
|
||||
|
||||
DECLARE @sensoridtable TABLE (
|
||||
sensorIdx int Primary Key IDENTITY(1,1)
|
||||
, sensorId int
|
||||
)
|
||||
CREATE TABLE #sensoridtable(
|
||||
sensorIdx int Primary Key IDENTITY(1,1)
|
||||
, sensorId int
|
||||
)
|
||||
INSERT #sensoridtable
|
||||
SELECT SensorId FROM Channels WHERE Id = @ChannelId AND SensorId IN
|
||||
(SELECT id FROM Sensors WHERE SensorType = 0)
|
||||
|
||||
SET @j = (SELECT MIN(sensorIdx) FROM #sensoridtable)
|
||||
SET @numSensorRows = (SELECT COUNT(*) FROM #sensoridtable)
|
||||
IF @numSensorRows > 0
|
||||
WHILE (@j <= (SELECT COUNT(*) FROM #sensoridtable))
|
||||
BEGIN
|
||||
SET @SensorId = (SELECT SensorId FROM #sensoridtable WHERE sensorIdx = @j)
|
||||
|
||||
SET @ZeroMethod = (SELECT ZeroMethod FROM SensorCalibrations WHERE
|
||||
SensorId = @SensorId AND
|
||||
ModifyDate = (SELECT MAX (ModifyDate) FROM SensorCalibrations WHERE SensorId = @SensorId))
|
||||
|
||||
SET @startIndex = 0
|
||||
SET @delimIndex = CHARINDEX(',', @ZeroMethod, @startIndex)
|
||||
SET @ZeroMethodType = SUBSTRING(@ZeroMethod, 0, @delimIndex)
|
||||
INSERT INTO GroupChannelSettings VALUES (@ChannelId, 20, @ZeroMethodType)
|
||||
|
||||
IF @ZeroMethodType = 'AverageOverTime'
|
||||
BEGIN
|
||||
SET @startIndex = @delimIndex + 1
|
||||
SET @delimIndex = CHARINDEX(',', @ZeroMethod, @startIndex)
|
||||
SET @ZeroMethodStart = SUBSTRING(@ZeroMethod, @startIndex, @delimIndex - @startIndex)
|
||||
INSERT INTO GroupChannelSettings VALUES (@ChannelId, 21, @ZeroMethodStart)
|
||||
|
||||
SET @startIndex = @delimIndex + 1
|
||||
SET @delimIndex = LEN(@ZeroMethod) + 1
|
||||
SET @ZeroMethodEnd = SUBSTRING(@ZeroMethod, @startIndex, @delimIndex - @startIndex)
|
||||
INSERT INTO GroupChannelSettings VALUES (@ChannelId, 22, @ZeroMethodEnd)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO GroupChannelSettings VALUES (@ChannelId, 21, '-0.05')
|
||||
INSERT INTO GroupChannelSettings VALUES (@ChannelId, 22, '-0.02')
|
||||
END
|
||||
SET @j = @j + 1
|
||||
END
|
||||
|
||||
DROP TABLE #sensoridtable
|
||||
|
||||
SET @i = @i + 1
|
||||
END
|
||||
|
||||
DROP TABLE #channelidtable
|
||||
Reference in New Issue
Block a user