﻿UPDATE e SET
e.C_SULY = tas.C_SULY
FROM T_ERTEKELESMOD e
INNER JOIN T_TANARIATLAGSULY tas ON tas.C_ERTEKELESMODID = e.ID
AND tas.C_INTEZMENYID = e.C_ALINTEZMENYID
AND tas.C_TANEVID = e.C_ALTANEVID


GO


DROP VIEW IF EXISTS V_TANULOERTEKELES


GO


DECLARE @intezmenyId int
       ,@tanevId int
       ,@osztalyCsoportId int
       ,@felhelyId int

DECLARE intezmeny_Kurzor CURSOR FOR
SELECT C_INTEZMENYID, C_TANEVID
FROM T_TANULOERTEKELES
WHERE C_OSZTALYCSOPORTID IS NULL
GROUP BY C_INTEZMENYID, C_TANEVID

OPEN intezmeny_Kurzor

FETCH NEXT FROM intezmeny_Kurzor
INTO @intezmenyId, @tanevId

WHILE @@FETCH_STATUS = 0
BEGIN
  SET @felhelyId = NULL;
   -- Ha van törölt és nem törölt, akkor a nem töröltet részesíti előnyben
  SELECT TOP 1 @felhelyId = ID FROM T_FELADATELLATASIHELY WHERE C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevId ORDER BY TOROLT ASC
  
  INSERT INTO T_OSZTALYCSOPORT (
     C_NEV
    ,C_EVFOLYAMTIPUSA
    ,C_FELADATELLATASIHELYID
    ,C_FELADATKATEGORIAID
    ,TOROLT
    ,C_INTEZMENYID
    ,C_TANEVID
    ,CREATOR
  ) VALUES (
     'Na'
    ,1296
    ,@felhelyId
    ,7553
    ,'T'
    ,@intezmenyId
    ,@tanevId
    ,0
  )

  SET @osztalyCsoportId = SCOPE_IDENTITY()

  INSERT INTO T_OSZTALY (
     ID
    ,TOROLT
    ,C_ALINTEZMENYID
    ,C_ALTANEVID
    ,CREATOR
  ) VALUES (
     @osztalyCsoportId
    ,'T'
    ,@intezmenyId
    ,@tanevId
    ,0
  )

  UPDATE T_TANULOERTEKELES
  SET
     C_OSZTALYCSOPORTID = @osztalyCsoportId
    ,C_ROGZITESKORITANULOOSZTALYID = @osztalyCsoportId
    ,MODIFIER = 0
    ,LASTCHANGED = GETDATE()
    ,SERIAL += 1
  WHERE C_OSZTALYCSOPORTID IS NULL
    AND C_INTEZMENYID = @intezmenyId
    AND C_TANEVID = @tanevId

  FETCH NEXT FROM intezmeny_Kurzor
  INTO @intezmenyId, @tanevId

END

CLOSE intezmeny_Kurzor;
DEALLOCATE intezmeny_Kurzor;


GO

