kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190812143910_DB_914/sp_FollowUpTanterv.sql
2024-03-13 00:33:46 +01:00

98 lines
No EOL
2.7 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS sp_FollowUpTanterv
GO
CREATE PROCEDURE sp_FollowUpTanterv
@intezmenyId int,
@aktTanevId int,
@kovetkezoTanevId int,
@tantervId int
AS
BEGIN
DECLARE
@kovTantervId int
,@tantervNev nvarchar(510)=(SELECT C_NEV FROM T_TANTERV_OSSZES WHERE ID = @tantervId)
IF EXISTS(SELECT 1 FROM T_TANTERV_OSSZES WHERE C_NEV=@tantervNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND ISNULL(ELOZOTANEVIREKORDID,0)<>@tantervId)
BEGIN
UPDATE T_TANTERV_OSSZES SET ELOZOTANEVIREKORDID=NULL WHERE ELOZOTANEVIREKORDID=@tantervId
UPDATE T_TANTERV_OSSZES SET ELOZOTANEVIREKORDID=@tantervId WHERE C_NEV=@tantervNev AND C_TANEVID=@kovetkezoTanevId AND TOROLT='F' AND ISNULL(ELOZOTANEVIREKORDID,0)<>@tantervId
END
SELECT @kovTantervId = ID FROM T_TANTERV_OSSZES WHERE ELOZOTANEVIREKORDID = @tantervId
IF (SELECT TOROLT FROM T_TANTERV_OSSZES WHERE ID = @tantervId) = 'T' OR (SELECT TOROLT FROM T_TANTERV_OSSZES WHERE ID = @kovTantervId) = 'T' BEGIN
RETURN
END
IF (@kovTantervId IS NULL)
BEGIN
IF (SELECT C_VEDETT FROM T_TANTERV_OSSZES WHERE ID = @tantervId) = 'T' BEGIN
UPDATE T_TANTERV_OSSZES
SET C_VEDETT = 'F'
WHERE TOROLT='F' AND C_TANEVID = @kovetkezoTanevId
END
INSERT INTO T_TANTERV_OSSZES (
C_CSOPORTTIPUSA
,C_EVFOLYAMTOL
,C_EVFOLYAMIG
,C_KERETTANTERVREEPULO
,C_NEV
,C_MEGJEGYZES
,C_INTEZMENYID
,C_TANEVID
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,C_VEDETT
) SELECT
t.C_CSOPORTTIPUSA AS C_CSOPORTTIPUSA
,t.C_EVFOLYAMTOL AS C_EVFOLYAMTOL
,t.C_EVFOLYAMIG AS C_EVFOLYAMIG
,C_KERETTANTERVREEPULO AS C_KERETTANTERVREEPULO
,C_NEV AS C_NEV
,C_MEGJEGYZES AS C_MEGJEGYZES
,@intezmenyID AS C_INTEZMENYID
,@kovetkezoTanevId AS C_TANEVID
,0 AS SERIAL
,LASTCHANGED AS LASTCHANGED
,LASTCHANGED AS CREATED
,MODIFIER AS MODIFIER
,MODIFIER AS CREATOR
,t.ID AS ELOZOTANEVIREKORDID
,t.C_VEDETT
FROM T_TANTERV_OSSZES t
WHERE t.ID=@tantervId
END
ELSE
BEGIN
IF (SELECT C_VEDETT FROM T_TANTERV_OSSZES WHERE ID = @tantervId) = 'T' BEGIN
UPDATE T_TANTERV_OSSZES
SET C_VEDETT = 'F'
WHERE TOROLT='F' AND C_TANEVID = @kovetkezoTanevId
END
UPDATE kovetkezo SET
kovetkezo.C_CSOPORTTIPUSA = aktiv.C_CSOPORTTIPUSA
,kovetkezo.C_EVFOLYAMTOL = aktiv.C_EVFOLYAMTOL
,kovetkezo.C_EVFOLYAMIG = aktiv.C_EVFOLYAMIG
,kovetkezo.C_KERETTANTERVREEPULO = aktiv.C_KERETTANTERVREEPULO
,kovetkezo.C_NEV = aktiv.C_NEV
,kovetkezo.C_MEGJEGYZES = aktiv.C_MEGJEGYZES
,kovetkezo.C_VEDETT = aktiv.C_VEDETT
,SERIAL += 1
,LASTCHANGED = aktiv.LASTCHANGED
,MODIFIER = aktiv.MODIFIER
FROM T_TANTERV_OSSZES kovetkezo
INNER JOIN T_TANTERV_OSSZES aktiv ON aktiv.ID=@tantervId AND aktiv.ID=kovetkezo.ELOZOTANEVIREKORDID
END
END
GO