73 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
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
 | 
						|
	)
 | 
						|
END
 | 
						|
 | 
						|
IF (@feladatellatasiHelyId = 0)
 | 
						|
BEGIN
 | 
						|
		INSERT INTO T_FELADATELLATASIHELY_OSSZES (
 | 
						|
       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_OSSZES 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_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 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 = 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_OSSZES kovetkezo
 | 
						|
	INNER JOIN T_FELADATELLATASIHELY_OSSZES 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
 |