102 lines
No EOL
2.5 KiB
Transact-SQL
102 lines
No EOL
2.5 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[uspUpdateTanuloMulasztasListNaplozas]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[uspUpdateTanuloMulasztasListNaplozas]
|
|
@pModifier int
|
|
,@pTanevid int
|
|
,@pIntezmenyid int
|
|
,@pModifydate datetime
|
|
,@pJson nvarchar(max)
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DROP TABLE IF EXISTS #Tanulomulasztas
|
|
CREATE TABLE #Tanulomulasztas
|
|
(
|
|
Id int NULL
|
|
,C_Op int NULL
|
|
,C_Igazolt char(1) NULL
|
|
,C_Kesespercben int NULL
|
|
,C_Megjegyzes nvarchar(255) NULL
|
|
,C_Tipus int NULL
|
|
,C_Igazolastipusa int NULL
|
|
,C_Oratanuloiid int NULL
|
|
,C_Tanitasiorakid int NULL
|
|
);
|
|
|
|
INSERT INTO #Tanulomulasztas
|
|
SELECT *
|
|
FROM OPENJSON(@pJson) WITH (
|
|
Id int '$.ID'
|
|
,C_Op int '$.Op'
|
|
,C_Igazolt char(1) '$.Igazolt'
|
|
,C_Kesespercben int '$.KesesPercben'
|
|
,C_Megjegyzes nvarchar(255) '$.Megjegyzes'
|
|
,C_Tipus int '$.Tipus'
|
|
,C_Igazolastipusa int '$.IgazolasTipusa'
|
|
,C_Oratanuloiid int '$.OraTanuloId'
|
|
,C_Tanitasiorakid int '$.TanitasiOrakId'
|
|
);
|
|
|
|
INSERT INTO [dbo].[T_TANULOMULASZTAS] (
|
|
C_Igazolt
|
|
,C_Kesespercben
|
|
,C_Megjegyzes
|
|
,C_Tipus
|
|
,C_Igazolastipusa
|
|
,C_Intezmenyid
|
|
,C_Tanevid
|
|
,C_Oratanuloiid
|
|
,C_Tanitasiorakid
|
|
,Creator
|
|
,Created
|
|
,Serial
|
|
)
|
|
SELECT
|
|
UPPER(C_Igazolt)
|
|
,C_Kesespercben
|
|
,C_Megjegyzes
|
|
,C_Tipus
|
|
,C_Igazolastipusa
|
|
,@pIntezmenyid
|
|
,@pTanevid
|
|
,C_Oratanuloiid
|
|
,C_Tanitasiorakid
|
|
,@pModifier
|
|
,@pModifydate
|
|
,0
|
|
FROM #Tanulomulasztas
|
|
WHERE C_Op = 0; -- Insert op
|
|
|
|
UPDATE Tmul
|
|
SET
|
|
Tmul.C_Igazolt = UPPER(Tmult.C_Igazolt)
|
|
,Tmul.C_Kesespercben = Tmult.C_Kesespercben
|
|
,Tmul.C_Megjegyzes = Tmult.C_Megjegyzes
|
|
,Tmul.C_Tipus = Tmult.C_Tipus
|
|
,Tmul.C_Igazolastipusa = Tmult.C_Igazolastipusa
|
|
,Tmul.C_Oratanuloiid = Tmult.C_Oratanuloiid
|
|
,Tmul.C_Tanitasiorakid = Tmult.C_Tanitasiorakid
|
|
,Tmul.Modifier = @pModifier
|
|
,Tmul.Lastchanged = @pModifydate
|
|
,Tmul.Serial = Tmul.Serial + 1
|
|
FROM [dbo].[T_TANULOMULASZTAS] AS Tmul
|
|
INNER JOIN #Tanulomulasztas AS Tmult ON Tmul.Id = Tmult.Id
|
|
WHERE Tmult.C_Op = 1 -- Update
|
|
AND Tmul.C_Intezmenyid = @pIntezmenyid
|
|
AND Tmul.C_Tanevid = @pTanevid;
|
|
|
|
UPDATE Tmul
|
|
SET
|
|
Tmul.Torolt = 'T'
|
|
,Tmul.Modifier = @pModifier
|
|
,Tmul.Lastchanged = @pModifydate
|
|
,Tmul.Serial = Tmul.Serial + 1
|
|
FROM [dbo].[T_TANULOMULASZTAS] AS Tmul
|
|
INNER JOIN #Tanulomulasztas AS Tmult ON Tmul.Id = Tmult.Id
|
|
WHERE Tmult.C_Op = 2 -- Delete
|
|
AND Tmul.C_Intezmenyid = @pIntezmenyid
|
|
AND Tmul.C_Tanevid = @pTanevid;
|
|
END;
|
|
GO |