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

121 lines
5.5 KiB
Transact-SQL
Raw Permalink 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_SensorCalibrationsInsert]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[sp_SensorCalibrationsInsert]
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_SensorCalibrationsInsert]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_SensorCalibrationsInsert] AS'
END
GO
ALTER PROCEDURE [dbo].[sp_SensorCalibrationsInsert]
@SensorSerialNumber nvarchar(50) = null
,@CalibrationDate datetime
,@Username nvarchar(50)
,@LocalOnly bit
,@NonLinear bit
,@ModifyDate datetime
,@IsProportional bit
,@RemoveOffset bit
,@ZeroMethod nvarchar(255)
,@CertificationDocuments nvarchar(2048)
,@InitialOffset nvarchar(50)
,@CalibrationRecords nvarchar(255)
,@new_id int output
,@errorNumber int output
,@errorMessage nvarchar(250) output
AS
BEGIN
set @errorNumber = 0
set @errorMessage = space(0)
if(@SensorSerialNumber is null)
begin
set @errorNumber = 15600
set @errorMessage = 'An invalid parameter or option was specified for procedure'
end
else
begin
set @new_id = 0
declare @SensorId int
declare @CalibrationTypeId int
set @SensorId = dbo.foo_IdGetSensor(@SensorSerialNumber)
set @CalibrationTypeId = [dbo].[foo_IdGetCalibrationType](@NonLinear, @CalibrationRecords)
insert into [dbo].[SensorCalibrations]
([SensorId]
,[CalibrationDate]
,[Username]
,[LocalOnly]
,[NonLinear]
,[CalibrationTypeId]
,[CalibrationRecords]
,[ModifyDate]
,[IsProportional]
,[RemoveOffset]
,[ZeroMethod]
,[CertificationDocuments]
,[InitialOffset])
VALUES
(@SensorId
,@CalibrationDate
,@Username
,@LocalOnly
,@NonLinear
,@CalibrationTypeId
,@CalibrationRecords
,@ModifyDate
,@IsProportional
,@RemoveOffset
,@ZeroMethod
,@CertificationDocuments
,@InitialOffset)
set @new_id = scope_identity()
if(@CalibrationRecords != space(0) and @SensorId !=0 and @CalibrationTypeId != 0 and @new_id !=0 )
begin
exec [dbo].[sp_SensorCalibrationRecordProsess] @SensorId, @new_id, @CalibrationTypeId, @CalibrationRecords, @errorNumber output, @errorMessage output
end
if(@@error!=0)
begin
set @errorNumber = error_number()
set @errorMessage = error_message()
end
end
END
GO