Files
DP44/DataPRO/Modules/Database/DatabaseMigrationScripts/MigrationScripts/Version98/Create_spAnalogDiagUpdateInsert.sql
2026-04-17 14:55:32 -04:00

55 lines
2.8 KiB
Transact-SQL

CREATE PROCEDURE [dbo].[sp_AnalogDiagnosticsUpdateInsert]
@Id BIGINT NULL,
@DiagnosticRunId BIGINT,
@Excitation Float NULL,
@ExcitationStatus SmallInt,
@Offset Float NULL,
@OffsetStatus SmallInt,
@ActualRange Float NULL,
@ActualRangeStatus SmallInt,
@Shunt Float NULL,
@ShuntStatus SmallInt,
@Noise Float NULL,
@NoiseStatus SmallInt,
@SensorId Int NULL,
@SensorSerialNumber NVARCHAR(255),
@DasId Int NULL,
@DASSerialNumber NVARCHAR(50),
@DASChannelIdx Int,
@UserCode NVARCHAR(50),
@UserChannelName NVARCHAR(50),
@IsoCode NVARCHAR(50),
@IsoChannelName NVARCHAR(50),
@ScaleFactorMV Float,
@CalibrationRecordId INT NULL,
@CalibrationRecord NVARCHAR(MAX),
@Timestamp DateTime,
@errorNumber INT OUTPUT,
@errorMessage NVARCHAR (255) OUTPUT,
@new_id BIGINT OUTPUT
AS
BEGIN
set @errorNumber = 0; set @errorMessage = space(0);
IF NOT EXISTS(SELECT [Id] FROM [dbo].[DiagnosticRuns] WHERE [Id]=@DiagnosticRunId)
BEGIN
SET @ErrorNumber = 100;
SET @ErrorMessage ='Invalid Diagnostic Id';
END
ELSE if(exists(select Id from [dbo].[DiagnosticRuns] where Id = @Id))
begin
set @new_id = @Id;
UPDATE [dbo].[AnalogDiagnostics] SET [Shunt]=@Shunt, [ShuntStatus]=@ShuntStatus, [Excitation]=@Excitation, [ExcitationStatus]=@ExcitationStatus, [Offset]=@Offset, [OffsetStatus]=@OffsetStatus, [ActualRange]=@ActualRange, [ActualRangeStatus]=@ActualRangeStatus,[Noise]=@Noise,[NoiseStatus]=@NoiseStatus,[SensorId]=@SensorId,[SensorSerialNumber]=@SensorSerialNumber, [DASId]=@DasId,[DASSerialNumber]=@DASSerialNumber, [DASChannelIdx]=@DASChannelIdx, [UserCode]=@UserCode, [UserChannelName]= @UserChannelName, [IsoCode]=@IsoCode, [IsoChannelName]=@IsoChannelName, [ScaleFactor]=@ScaleFactorMV, [CalibrationRecordId]=@CalibrationRecordId, [CalibrationRecordXML]=@CalibrationRecord, [Timestamp]=@Timestamp;
end
else
begin
INSERT INTO [dbo].[AnalogDiagnostics] ([Shunt], [ShuntStatus], [DiagnosticRunId], [Excitation], [ExcitationStatus], [Offset], [OffsetStatus], [ActualRange], [ActualRangeStatus], [Noise], [NoiseStatus], [SensorId], [SensorSerialNumber], [DASId], [DASSerialNumber], [DASChannelIdx], [UserCode], [UserChannelName], [IsoCode], [IsoChannelName], [ScaleFactor], [CalibrationRecordId], [CalibrationRecordXML], [Timestamp]) VALUES (@Shunt, @ShuntStatus, @DiagnosticRunId, @Excitation, @ExcitationStatus,@Offset,@OffsetStatus,@ActualRange,@ActualRangeStatus,@Noise,@NoiseStatus,@SensorId,@SensorSerialNumber,@DasId,@DASSerialNumber,@DASChannelIdx,@UserCode,@UserChannelName,@IsoCode,@IsoChannelName,@ScaleFactorMV,@CalibrationRecordId,@CalibrationRecord,@Timestamp);
SET @new_id = SCOPE_IDENTITY();
end
IF(@@error != 0)
BEGIN
SET @errorNumber = error_number()
SET @errorMessage = error_message()
END
END