init
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
ALTER PROCEDURE [dbo].[sp_SensorsDigitalInGet]
|
||||
@SerialNumber nvarchar(50) = null,
|
||||
@Id nvarchar(50) = null
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT [SerialNumber] as 'SettingName'
|
||||
,[SettingMode]
|
||||
,[ScaleMultiplier]
|
||||
,[LastModified]
|
||||
,[LastModifiedBy]
|
||||
,[eId]
|
||||
,[UserValue1]
|
||||
,[UserValue2]
|
||||
,[UserValue3]
|
||||
,[UserTags]
|
||||
,[MeasurementUnit]
|
||||
FROM [dbo].[SensorsDigitalIn] where (@SerialNumber is null or SerialNumber = @SerialNumber ) AND (@Id is null or eId = @Id)
|
||||
END
|
||||
@@ -0,0 +1,65 @@
|
||||
ALTER PROCEDURE [dbo].[sp_SensorsDigitalInInsert]
|
||||
@SerialNumber nvarchar(50)
|
||||
,@SettingMode int
|
||||
,@ScaleMultiplier nvarchar(50)
|
||||
,@LastModified datetime
|
||||
,@LastModifiedBy nvarchar(50)
|
||||
,@eId nvarchar(50)
|
||||
,@UserValue1 nvarchar(255)
|
||||
,@UserValue2 nvarchar(255)
|
||||
,@UserValue3 nvarchar(255)
|
||||
,@UserTags varbinary(max)
|
||||
,@MeasurementUnit nvarchar(50)
|
||||
,@new_id int output
|
||||
,@errorNumber int output
|
||||
,@errorMessage nvarchar(250) output
|
||||
AS
|
||||
BEGIN
|
||||
set @errorNumber = 0
|
||||
set @errorMessage = space(0)
|
||||
|
||||
|
||||
if(@SerialNumber is null)
|
||||
begin
|
||||
set @errorNumber = 15600
|
||||
set @errorMessage = 'An invalid parameter or option was specified for procedure'
|
||||
end
|
||||
else
|
||||
begin
|
||||
if(exists(select SerialNumber from v_SensorSerialNumber where SerialNumber = @SerialNumber))
|
||||
begin
|
||||
set @errorMessage = 'The sensor serial mumber - ' + ltrim(rtrim(@SerialNumber)) + ' is not unique';
|
||||
set @errorNumber = -1
|
||||
end
|
||||
else
|
||||
begin
|
||||
INSERT INTO [dbo].[SensorsDigitalIn]
|
||||
([SerialNumber]
|
||||
,[SettingMode]
|
||||
,[ScaleMultiplier]
|
||||
,[LastModified]
|
||||
,[LastModifiedBy]
|
||||
,[eId]
|
||||
,[UserValue1]
|
||||
,[UserValue2]
|
||||
,[UserValue3]
|
||||
,[UserTags]
|
||||
,[MeasurementUnit])
|
||||
VALUES
|
||||
(@SerialNumber
|
||||
,@SettingMode
|
||||
,@ScaleMultiplier
|
||||
,@LastModified
|
||||
,@LastModifiedBy
|
||||
,isnull(@eId, space(0))
|
||||
,@UserValue1
|
||||
,@UserValue2
|
||||
,@UserValue3
|
||||
,@UserTags
|
||||
,@MeasurementUnit)
|
||||
|
||||
set @new_id = scope_identity();
|
||||
exec dbo.sp_SensorInsert @new_id, 1 /* see table dbo.SensorsType */
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,33 @@
|
||||
ALTER PROCEDURE [dbo].[sp_SensorsDigitalInUpdate]
|
||||
@SerialNumber nvarchar(50)
|
||||
,@SettingMode int
|
||||
,@ScaleMultiplier nvarchar(50)
|
||||
,@LastModified datetime
|
||||
,@LastModifiedBy nvarchar(50)
|
||||
,@eId nvarchar(50)
|
||||
,@UserValue1 nvarchar(255)
|
||||
,@UserValue2 nvarchar(255)
|
||||
,@UserValue3 nvarchar(255)
|
||||
,@UserTags varbinary(max)
|
||||
,@MeasurementUnit nvarchar(50)
|
||||
,@errorNumber int output
|
||||
,@errorMessage nvarchar(250) output
|
||||
AS
|
||||
BEGIN
|
||||
set @errorNumber = 0
|
||||
set @errorMessage = space(0)
|
||||
|
||||
|
||||
UPDATE [dbo].[SensorsDigitalIn]
|
||||
SET [SettingMode] = @SettingMode
|
||||
,[ScaleMultiplier] = @ScaleMultiplier
|
||||
,[LastModified] = @LastModified
|
||||
,[LastModifiedBy] = @LastModifiedBy
|
||||
,[eId] = @eId
|
||||
,[UserValue1] = @UserValue1
|
||||
,[UserValue2] = @UserValue2
|
||||
,[UserValue3] = @UserValue3
|
||||
,[UserTags] = @UserTags
|
||||
,[MeasurementUnit] = @MeasurementUnit
|
||||
where SerialNumber = @SerialNumber
|
||||
END
|
||||
@@ -0,0 +1,100 @@
|
||||
ALTER PROCEDURE [dbo].[sp_SensorsDigitalInUpdateAll]
|
||||
@sensors xml = null
|
||||
,@errorNumber int output
|
||||
,@errorMessage nvarchar(250) output
|
||||
AS
|
||||
BEGIN
|
||||
set @errorNumber = 0
|
||||
set @errorMessage = space(0)
|
||||
|
||||
if(@sensors is null)
|
||||
begin
|
||||
RAISERROR(15600,-1,-1, '[sp_SensorsDigitalInUpdateAll]') /* Error 1560 - An invalid parameter or option was specified for procedure*/
|
||||
end
|
||||
else
|
||||
begin
|
||||
SET NOCOUNT ON;
|
||||
declare @SensorsDigitalIn Table(
|
||||
[Id] [int] IDENTITY(1,1) NOT NULL,
|
||||
[SerialNumber] [nvarchar](50) NOT NULL,
|
||||
[SettingMode] [int] NOT NULL,
|
||||
[ScaleMultiplier] [nvarchar](50) NOT NULL,
|
||||
[LastModified] [datetime] NOT NULL,
|
||||
[LastModifiedBy] [nvarchar](50) NOT NULL,
|
||||
[eId] [nvarchar](50) NOT NULL,
|
||||
[UserValue1] [nvarchar](255) NULL,
|
||||
[UserValue2] [nvarchar](255) NULL,
|
||||
[UserValue3] [nvarchar](255) NULL,
|
||||
[UserTags] [varbinary](max) NULL,
|
||||
[MeasurementUnit] [nvarchar](50) NOT NULL,
|
||||
[Exist] [bit] DEFAULT ((0))
|
||||
)
|
||||
declare @exist bit
|
||||
set @exist =(select @sensors.exist('/DigitalIn/Sensor'))
|
||||
if(@exist = 1)
|
||||
begin
|
||||
|
||||
insert into @SensorsDigitalIn select
|
||||
t.x.value('@SerialNumber','nvarchar(50)')
|
||||
, t.x.value('@SettingMode','int')
|
||||
, t.x.value('@ScaleMultiplier','nvarchar(50)')
|
||||
, t.x.value('@LastModified','datetime')
|
||||
, t.x.value('@LastModifiedBy','nvarchar(50)')
|
||||
, t.x.value('@eId','varchar(50)')
|
||||
, t.x.value('@UserValue1','nvarchar(50)')
|
||||
, t.x.value('@UserValue2','nvarchar(50)')
|
||||
, t.x.value('@UserValue3','nvarchar(50)')
|
||||
, t.x.value('@UserTags','varbinary(max)')
|
||||
, t.x.value('@MeasurementUnit','nvarchar(50)')
|
||||
, 0
|
||||
from @sensors.nodes('/DigitalIn/Sensor') t(x)
|
||||
OPTION (OPTIMIZE FOR ( @sensors = NULL ))
|
||||
|
||||
declare @count int
|
||||
set @count = (select count(*) from @SensorsDigitalIn)
|
||||
if(@count > 0)
|
||||
begin
|
||||
update @SensorsDigitalIn set Exist = case when EXISTS(select SerialNumber from v_SensorSerialNumber where SensorType = 2) then 1 else 0 end
|
||||
|
||||
update [dbo].[SensorsDigitalIn] SET
|
||||
[SettingMode] = s.SettingMode
|
||||
,[ScaleMultiplier] = s.ScaleMultiplier
|
||||
,[LastModified] = s.LastModified
|
||||
,[LastModifiedBy] = s.LastModifiedBy
|
||||
,[eId] = s.eId
|
||||
,[UserValue1] = s.UserValue1
|
||||
,[UserValue2] = s.UserValue2
|
||||
,[UserValue3] = s.UserValue3
|
||||
,[UserTags] = s.UserTags
|
||||
,[MeasurementUnit] = s.MeasurementUnit
|
||||
from @SensorsDigitalIn s where [dbo].[SensorsDigitalIn].[SerialNumber] = s.SerialNumber
|
||||
|
||||
insert into [dbo].[SensorsDigitalIn]
|
||||
([SerialNumber]
|
||||
,[SettingMode]
|
||||
,[ScaleMultiplier]
|
||||
,[LastModified]
|
||||
,[LastModifiedBy]
|
||||
,[eId]
|
||||
,[UserValue1]
|
||||
,[UserValue2]
|
||||
,[UserValue3]
|
||||
,[UserTags]
|
||||
,[MeasurementUnit])
|
||||
select
|
||||
[SerialNumber]
|
||||
,[SettingMode]
|
||||
,[ScaleMultiplier]
|
||||
,[LastModified]
|
||||
,[LastModifiedBy]
|
||||
,[eId]
|
||||
,[UserValue1]
|
||||
,[UserValue2]
|
||||
,[UserValue3]
|
||||
,[UserTags]
|
||||
,[MeasurementUnit]
|
||||
from @SensorsDigitalIn where Exist = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
END
|
||||
@@ -0,0 +1,70 @@
|
||||
ALTER PROCEDURE [dbo].[sp_SensorsDigitalInUpdateInsert]
|
||||
@SerialNumber nvarchar(50)
|
||||
,@SettingMode int
|
||||
,@ScaleMultiplier nvarchar(50)
|
||||
,@LastModified datetime
|
||||
,@LastModifiedBy nvarchar(50)
|
||||
,@eId nvarchar(50)
|
||||
,@UserValue1 nvarchar(255)
|
||||
,@UserValue2 nvarchar(255)
|
||||
,@UserValue3 nvarchar(255)
|
||||
,@UserTags varbinary(max)
|
||||
,@MeasurementUnit nvarchar(50)
|
||||
,@new_id int output
|
||||
,@errorNumber int output
|
||||
,@errorMessage nvarchar(250) output
|
||||
AS
|
||||
BEGIN
|
||||
set @errorNumber = 0
|
||||
set @errorMessage = space(0)
|
||||
if(@SerialNumber is null)
|
||||
begin
|
||||
set @errorNumber = 1560
|
||||
set @errorMessage = 'An invalid parameter or option was specified for procedure'
|
||||
end
|
||||
else
|
||||
begin
|
||||
if(exists(select SerialNumber from v_SensorSerialNumber where SerialNumber = @SerialNumber and SensorType != 1))
|
||||
begin
|
||||
set @errorNumber = -1
|
||||
set @errorMessage = 'The sensor serial mumber - ' + ltrim(rtrim(@SerialNumber)) + ' is not unique';
|
||||
end
|
||||
else
|
||||
begin
|
||||
if(exists(select * from v_SensorSerialNumber where SerialNumber = @SerialNumber and SensorType = 1))
|
||||
begin
|
||||
set @new_id = 0
|
||||
exec dbo.sp_SensorsDigitalInUpdate @SerialNumber
|
||||
,@SettingMode
|
||||
,@ScaleMultiplier
|
||||
,@LastModified
|
||||
,@LastModifiedBy
|
||||
,@eId
|
||||
,@UserValue1
|
||||
,@UserValue2
|
||||
,@UserValue3
|
||||
,@UserTags
|
||||
,@MeasurementUnit
|
||||
,@errorNumber output
|
||||
,@errorMessage output
|
||||
end
|
||||
else
|
||||
begin
|
||||
exec dbo.sp_SensorsDigitalInInsert @SerialNumber
|
||||
,@SettingMode
|
||||
,@ScaleMultiplier
|
||||
,@LastModified
|
||||
,@LastModifiedBy
|
||||
,@eId
|
||||
,@UserValue1
|
||||
,@UserValue2
|
||||
,@UserValue3
|
||||
,@UserTags
|
||||
,@MeasurementUnit
|
||||
,@new_id output
|
||||
,@errorNumber output
|
||||
,@errorMessage output
|
||||
end
|
||||
end
|
||||
end
|
||||
END
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user