﻿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_OSSZES WHERE C_INTEZMENYID = @intezmenyId AND C_TANEVID = @kovetkezoTanevId AND ELOZOTANEVIREKORDID = @feladatellatasiHelyId AND TOROLT='F'
	)
END

IF (@feladatellatasiHelyId = 0)
BEGIN
		INSERT INTO T_FELADATELLATASIHELY_OSSZES (
       C_OKTATASINEVELESIFELADATTIPUS
      ,C_ENGEDELYEZETTOSSZLETSZAM
      ,C_FELADATELLATASIHELYKOD
      ,C_ENGEDELYEZETTOSZTALY
      ,C_MUKODESIHELYID
      ,C_INTEZMENYID
      ,C_TANEVID
      ,TOROLT
      ,SERIAL
      ,LASTCHANGED
      ,CREATED
      ,MODIFIER
      ,CREATOR
      ,NNID
	  ,ELOZOTANEVIREKORDID
    ) SELECT 
	     t.C_OKTATASINEVELESIFELADATTIPUS AS C_OKTATASINEVELESIFELADATTIPUS
      ,C_ENGEDELYEZETTOSSZLETSZAM AS C_ENGEDELYEZETTOSSZLETSZAM
      ,C_FELADATELLATASIHELYKOD AS C_FELADATELLATASIHELYKOD
      ,C_ENGEDELYEZETTOSZTALY AS C_ENGEDELYEZETTOSZTALY
      ,(SELECT ID FROM T_MUKODESIHELY_OSSZES 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_OSSZES t WHERE C_TANEVID = @aktTanevId AND C_INTEZMENYID = @intezmenyId AND TOROLT='F'
		AND 0 = (SELECT COUNT(1) FROM T_FELADATELLATASIHELY_OSSZES WHERE C_TANEVID = @kovetkezoTanevId AND C_INTEZMENYID = @intezmenyId AND ELOZOTANEVIREKORDID = t.ID)
END
ELSE
BEGIN
	UPDATE kovetkezo SET
       kovetkezo.C_OKTATASINEVELESIFELADATTIPUS = aktiv.C_OKTATASINEVELESIFELADATTIPUS
      ,kovetkezo.C_ENGEDELYEZETTOSSZLETSZAM = aktiv.C_ENGEDELYEZETTOSSZLETSZAM
      ,kovetkezo.C_ENGEDELYEZETTOSZTALY = aktiv.C_ENGEDELYEZETTOSZTALY
      ,kovetkezo.TOROLT = aktiv.TOROLT
      ,kovetkezo.C_FELADATELLATASIHELYKOD=aktiv.C_FELADATELLATASIHELYKOD
	FROM T_FELADATELLATASIHELY_OSSZES kovetkezo
	INNER JOIN T_FELADATELLATASIHELY_OSSZES aktiv ON aktiv.C_INTEZMENYID = kovetkezo.C_INTEZMENYID AND aktiv.C_TANEVID = @aktTanevId AND aktiv.ID = @feladatellatasiHelyId AND aktiv.TOROLT='F'
	WHERE kovetkezo.C_INTEZMENYID = @intezmenyId AND kovetkezo.C_TANEVID = @kovetkezoTanevId AND kovetkezo.ELOZOTANEVIREKORDID = @feladatellatasiHelyId AND kovetkezo.TOROLT='F'
END

END
GO
