kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170604075207_KRETA_1612/sp_FollowUpFeladatellatasiHely.sql
2024-03-13 00:33:46 +01:00

78 lines
3 KiB
Transact-SQL

-- =============================================
-- Author: Bata-Kovács Gábor
-- Create date: 2017.06.03.
-- Description: Az Ellátott feladatok adatainak frissítése a következõ tanévre
-- =============================================
IF OBJECT_ID('sp_FollowUpFeladatellatasiHely') IS NOT NULL BEGIN
DROP PROCEDURE sp_FollowUpFeladatellatasiHely
END;
GO
CREATE PROCEDURE sp_FollowUpFeladatellatasiHely
@intezmenyId int,
@aktTanevId int,
@kovetkezoTanevId int,
@feladatellatasiHelyId int
AS
BEGIN
DECLARE
@kovetkezoFeladatellatasiHelyId int = NULL
IF (@feladatellatasiHelyId <> 0)
BEGIN
SET @kovetkezoFeladatellatasiHelyId = (
SELECT TOP 1 ID FROM T_FELADATELLATASIHELY WHERE C_INTEZMENYID = @intezmenyId AND C_TANEVID = @kovetkezoTanevId AND ELOZOTANEVIREKORDID = @feladatellatasiHelyId
)
END
IF (@feladatellatasiHelyId = 0)
BEGIN
INSERT INTO T_FELADATELLATASIHELY (
C_OKTATASINEVELESIFELADATTIPUS
,C_ENGEDELYEZETTOSSZLETSZAM
,C_ENGEDELYEZETTOSZTALY
,C_MUKODESIHELYID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,NNID
,ELOZOTANEVIREKORDID
) SELECT
IIF((SELECT COUNT(1) FROM T_OKTATASINEVELESIFELADAT WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = t.C_OKTATASINEVELESIFELADATTIPUS) = 0,1156,t.C_OKTATASINEVELESIFELADATTIPUS) AS C_OKTATASINEVELESIFELADATTIPUS
,C_ENGEDELYEZETTOSSZLETSZAM AS C_ENGEDELYEZETTOSSZLETSZAM
,C_ENGEDELYEZETTOSZTALY AS C_ENGEDELYEZETTOSZTALY
,(SELECT ID FROM T_MUKODESIHELY WHERE ELOZOTANEVIREKORDID = t.C_MUKODESIHELYID AND C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyID) AS C_MUKODESIHELYID
,C_INTEZMENYID AS C_INTEZMENYID
,@kovetkezoTanevId AS C_TANEVID
,TOROLT AS TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,MODIFIER AS MODIFIER
,MODIFIER AS CREATOR
,NULL AS NNID
,ID AS ELOZOTANEVIREKORDID
FROM T_FELADATELLATASIHELY t WHERE C_TANEVID = @aktTanevId AND C_INTEZMENYID = @intezmenyId
AND 0 = (SELECT COUNT(1) FROM T_FELADATELLATASIHELY WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyId AND ELOZOTANEVIREKORDID = t.ID)
END
ELSE
BEGIN
UPDATE kovetkezo SET
kovetkezo.C_OKTATASINEVELESIFELADATTIPUS = IIF((SELECT COUNT(1) FROM T_OKTATASINEVELESIFELADAT WHERE C_ALTANEVID = @kovetkezoTanevId AND ID = aktiv.C_OKTATASINEVELESIFELADATTIPUS) = 0,1156,aktiv.C_OKTATASINEVELESIFELADATTIPUS)
,kovetkezo.C_ENGEDELYEZETTOSSZLETSZAM = aktiv.C_ENGEDELYEZETTOSSZLETSZAM
,kovetkezo.C_ENGEDELYEZETTOSZTALY = aktiv.C_ENGEDELYEZETTOSZTALY
,kovetkezo.TOROLT = aktiv.TOROLT
FROM T_FELADATELLATASIHELY kovetkezo
INNER JOIN T_FELADATELLATASIHELY aktiv ON aktiv.C_INTEZMENYID = kovetkezo.C_INTEZMENYID AND aktiv.C_TANEVID = @aktTanevId AND aktiv.ID = @feladatellatasiHelyId
WHERE kovetkezo.C_INTEZMENYID = @intezmenyId AND kovetkezo.C_TANEVID = @kovetkezoTanevId AND kovetkezo.ELOZOTANEVIREKORDID = @feladatellatasiHelyId
END
END
GO