kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspSaveTanitasiOraDigTamEszkozList.sql
2024-03-13 00:33:46 +01:00

74 lines
1.7 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS dbo.uspSaveTanitasiOraDigTamEszkozList
GO
CREATE PROCEDURE dbo.uspSaveTanitasiOraDigTamEszkozList
@pIntezmenyId int
,@pTanevId int
,@pTanitasiOraId int
,@pFelhasznaloId int
,@pDigTamEszkozList nvarchar(max)
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE #items (id INT NOT NULL PRIMARY KEY);
IF(@pDigTamEszkozList IS NOT NULL AND @pDigTamEszkozList <> '')
BEGIN
INSERT INTO #items(id)
SELECT VALUE FROM STRING_SPLIT(@pDigTamEszkozList, ',');
END
UPDATE dte SET
TOROLT = 'F'
,SERIAL += 1
,LASTCHANGED = GETDATE()
,MODIFIER = @pFelhasznaloId
FROM T_TANITASIORADIGTAMESZKOZ_OSSZES dte
WHERE dte.C_TANITASIORAID = @pTanitasiOraId
AND dte.C_TANEVID = @pTanevId
AND dte.C_DIGTAMESZKOZTIPUSID IN (SELECT id FROM #items i)
AND dte.TOROLT = 'T'
UPDATE dte SET
TOROLT = 'T'
,SERIAL += 1
,LASTCHANGED = GETDATE()
,MODIFIER = @pFelhasznaloId
FROM T_TANITASIORADIGTAMESZKOZ_OSSZES dte
WHERE dte.C_TANITASIORAID = @pTanitasiOraId
AND dte.C_TANEVID = @pTanevId
AND dte.C_DIGTAMESZKOZTIPUSID NOT IN (SELECT id FROM #items i)
AND dte.TOROLT = 'F'
INSERT INTO T_TANITASIORADIGTAMESZKOZ (
C_DIGTAMESZKOZTIPUSID
,C_TANITASIORAID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
)
SELECT
ID
,@pTanitasiOraId
,@pIntezmenyId
,@pTanevId
,'F'
,0
,GETDATE()
,GETDATE()
,@pFelhasznaloId
,@pFelhasznaloId
,NULL
FROM #items i
WHERE NOT EXISTS (SELECT 1 FROM T_TANITASIORADIGTAMESZKOZ_OSSZES dte WHERE i.id = dte.C_DIGTAMESZKOZTIPUSID AND dte.C_TANITASIORAID = @pTanitasiOraId AND dte.C_TANEVID = @pTanevId)
END
GO