81 lines
2.6 KiB
Transact-SQL
81 lines
2.6 KiB
Transact-SQL
IF OBJECT_ID('sp_FollowUpAlkalmazottVegzettseg') IS NOT NULL BEGIN
|
|
DROP PROCEDURE sp_FollowUpAlkalmazottVegzettseg
|
|
END;
|
|
GO
|
|
|
|
CREATE PROCEDURE sp_FollowUpAlkalmazottVegzettseg
|
|
@intezmenyId int,
|
|
@aktTanevId int,
|
|
@kovetkezoTanevId int,
|
|
@alkalmazottId int
|
|
|
|
AS
|
|
BEGIN
|
|
|
|
DECLARE @kovTanevAlkalmazottId int
|
|
SELECT @kovTanevAlkalmazottId=ID FROM T_FELHASZNALO_OSSZES WHERE ELOZOTANEVIREKORDID=@alkalmazottId AND TOROLT='F' AND C_TANEVID=@kovetkezoTanevId
|
|
|
|
DECLARE @vegzettsegId int
|
|
DECLARE vegzettsegCur CURSOR FOR
|
|
SELECT ID FROM T_VEGZETTSEG_OSSZES WHERE C_TANARID=@alkalmazottId AND C_TANEVID=@aktTanevId AND C_INTEZMENYID=@intezmenyId
|
|
|
|
OPEN vegzettsegCur
|
|
FETCH NEXT FROM vegzettsegCur INTO @vegzettsegId
|
|
WHILE @@FETCH_STATUS=0
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT TOP 1 1 FROM T_VEGZETTSEG_OSSZES WHERE C_TANEVID=@kovetkezoTanevId AND C_TANARID=@kovTanevAlkalmazottId AND ELOZOTANEVIREKORDID=@vegzettsegId AND TOROLT='F')
|
|
BEGIN
|
|
INSERT INTO T_VEGZETTSEG_OSSZES (
|
|
C_EGYEB
|
|
,C_VEGZETTSEGTIPUSID
|
|
,C_TANARID
|
|
,C_INTEZMENYID
|
|
,C_TANEVID
|
|
,TOROLT
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,MODIFIER
|
|
,CREATOR
|
|
,NNID
|
|
,ELOZOTANEVIREKORDID
|
|
) SELECT
|
|
t.C_EGYEB AS C_EGYEB
|
|
,t.C_VEGZETTSEGTIPUSID AS C_VEGZETTSEGTIPUSID
|
|
,fh.ID AS C_TANARID
|
|
,@intezmenyId AS C_INTEZMENYID
|
|
,@kovetkezoTanevId AS C_TANEVID
|
|
,t.TOROLT AS TOROLT
|
|
,0 AS SERIAL
|
|
,GETDATE() AS LASTCHANGED
|
|
,GETDATE() AS CREATED
|
|
,t.MODIFIER AS MODIFIER
|
|
,t.MODIFIER AS CREATOR
|
|
,t.NNID AS NNID
|
|
,t.ID AS ELOZOTANEVIREKORDID
|
|
FROM T_VEGZETTSEG_OSSZES t
|
|
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID=t.C_TANARID AND fh.TOROLT='F' AND fh.C_TANEVID=@kovetkezoTanevId AND fh.C_INTEZMENYID=@intezmenyId
|
|
WHERE t.C_TANEVID = @aktTanevId AND t.C_INTEZMENYID = @intezmenyId AND t.TOROLT='F' AND t.C_TANARID=@alkalmazottId AND t.ID=@vegzettsegId
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE T SET
|
|
C_EGYEB=old.C_EGYEB
|
|
,C_VEGZETTSEGTIPUSID=old.C_VEGZETTSEGTIPUSID
|
|
,C_TANARID=@kovTanevAlkalmazottId
|
|
,C_INTEZMENYID=@intezmenyId
|
|
,C_TANEVID=@kovetkezoTanevId
|
|
,TOROLT=old.TOROLT
|
|
,SERIAL=t.SERIAL+1
|
|
,LASTCHANGED=GETDATE()
|
|
,MODIFIER=old.MODIFIER
|
|
FROM T_VEGZETTSEG_OSSZES t
|
|
INNER JOIN T_VEGZETTSEG_OSSZES old ON t.ELOZOTANEVIREKORDID=old.ID AND old.C_TANEVID=@aktTanevId AND old.C_INTEZMENYID=@intezmenyId AND old.ID=@vegzettsegId
|
|
WHERE t.TOROLT='F' AND t.C_INTEZMENYID=@intezmenyId AND t.C_TANEVID=@kovetkezoTanevId AND t.C_TANARID=@kovTanevAlkalmazottId
|
|
END
|
|
FETCH NEXT FROM vegzettsegCur INTO @vegzettsegId
|
|
END
|
|
CLOSE vegzettsegCur
|
|
DEALLOCATE vegzettsegCur
|
|
END
|
|
GO
|