﻿
DROP TABLE IF EXISTS tmpForSwitchDictionaryItemBase 
CREATE TABLE tmpForSwitchDictionaryItemBase(RegiID int, UjID int, TanevID int, C_NAME nvarchar(500), C_TYPE nvarchar(64), Torolni char(1))
DECLARE @TEMP_EnvironmentName nvarchar(1000), @LastTanevSorszam int 
SET @LastTanevSorszam  = (SELECT MAX(C_SORSZAM) FROM T_TANEV WHERE TOROLT = 'F' AND (C_KOVETKEZO = 'T' OR C_AKTIV = 'T'))
SET @TEMP_EnvironmentName = (SELECT [Value] 
FROM dev.EnvironmentInfo WHERE [Key] = 'Dictionary')
IF (@TEMP_EnvironmentName IS NULL OR @TEMP_EnvironmentName NOT IN ('KK','NSZFH','HOI','AZURE'))
BEGIN  INSERT INTO T_DICTIONARYITEMBASE(C_VALUE) VALUES('Nincs Dictionary ertek a dev.EnvironmentInfo tablaban') END  -- elszall a migracio ha nincs 

IF @TEMP_EnvironmentName = 'KK'
  BEGIN 
    -----  8827 ----- Felnőttképzési jogviszony munkarend nélkül -----
    INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni)
    SELECT DIB.ID, 8827, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'F' 
    FROM T_DICTIONARYITEMBASE DIB 
      WHERE DIB.C_DICTIONARYTYPEID = 27 AND DIB.C_NAME = N'Felnőttképzési jogviszony munkarend nélkül' AND DIB.TOROLT = 'F' 
    UPDATE DIB SET 
    DIB.TOROLT = 'T' 
    FROM T_DICTIONARYITEMBASE DIB 
      WHERE DIB.C_DICTIONARYTYPEID = 27 AND DIB.C_NAME = N'Felnőttképzési jogviszony munkarend nélkül' AND DIB.TOROLT = 'F' 
END 

IF @TEMP_EnvironmentName = 'NSZFH'
  BEGIN 
    -----  8827 ----- Felnőttképzési jogviszony munkarend nélkül -----
    INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni)
    SELECT DIB.ID, 8827, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'F' 
    FROM T_DICTIONARYITEMBASE DIB 
      WHERE DIB.C_DICTIONARYTYPEID = 27 AND DIB.C_NAME = N'Felnőttképzési jogviszony munkarend nélkül' AND DIB.TOROLT = 'F' 
    UPDATE DIB SET 
    DIB.TOROLT = 'T' 
    FROM T_DICTIONARYITEMBASE DIB 
      WHERE DIB.C_DICTIONARYTYPEID = 27 AND DIB.C_NAME = N'Felnőttképzési jogviszony munkarend nélkül' AND DIB.TOROLT = 'F' 
END 

IF @TEMP_EnvironmentName = 'HOI'
  BEGIN 
    -----  8827 ----- Felnőttképzési jogviszony munkarend nélkül -----
    INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni)
    SELECT DIB.ID, 8827, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'F' 
    FROM T_DICTIONARYITEMBASE DIB 
      WHERE DIB.C_DICTIONARYTYPEID = 27 AND DIB.C_NAME = N'Felnőttképzési jogviszony munkarend nélkül' AND DIB.TOROLT = 'F' 
    UPDATE DIB SET 
    DIB.TOROLT = 'T' 
    FROM T_DICTIONARYITEMBASE DIB 
      WHERE DIB.C_DICTIONARYTYPEID = 27 AND DIB.C_NAME = N'Felnőttképzési jogviszony munkarend nélkül' AND DIB.TOROLT = 'F' 
END 

IF @TEMP_EnvironmentName = 'AZURE'
  BEGIN 
    -----  8827 ----- Felnőttképzési jogviszony munkarend nélkül -----
    INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni)
    SELECT DIB.ID, 8827, DIB.C_TANEVID, DIB.C_NAME, DIB.C_TYPE, 'F' 
    FROM T_DICTIONARYITEMBASE DIB 
      WHERE DIB.C_DICTIONARYTYPEID = 27 AND DIB.C_NAME = N'Felnőttképzési jogviszony munkarend nélkül' AND DIB.TOROLT = 'F' 
    UPDATE DIB SET 
    DIB.TOROLT = 'T' 
    FROM T_DICTIONARYITEMBASE DIB 
      WHERE DIB.C_DICTIONARYTYPEID = 27 AND DIB.C_NAME = N'Felnőttképzési jogviszony munkarend nélkül' AND DIB.TOROLT = 'F' 
END 
;
 DISABLE TRIGGER ALL ON T_DICTIONARYITEMBASE;  
 EXEC [dev].[uspCreateDictionaryItems] NULL, NULL; 
 ENABLE TRIGGER ALL ON T_DICTIONARYITEMBASE;  
 EXEC [dev].uspSwitchDictionaryItemBaseFromTmp;


UPDATE DIB SET 
   DIB.TOROLT = 'T'
  ,DIB.C_VISIBLE = 'F'
FROM T_DICTIONARYITEMBASE_OSSZES DIB 
INNER JOIN T_TANEV_OSSZES t ON DIB.C_TANEVID = t.ID AND t.TOROLT = 'F'
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_INTEZMENYID = t.C_INTEZMENYID AND ia.TOROLT = 'F' AND ia.C_TANEVID = t.ID
WHERE DIB.C_DICTIONARYTYPEID = 27 AND DIB.ID = 8827 AND DIB.TOROLT = 'F' 
AND (t.C_SORSZAM < 42 OR ia.C_ISSZAKKEPZO = 'F') --2021/2022 tanevelottieket es a nem szakkepzokben toroltre allitani

-- (1095) 'Na' erteket csereje 8827-re --
DROP TABLE IF EXISTS tmpForSwitchDictionaryItemBase 
CREATE TABLE tmpForSwitchDictionaryItemBase(RegiID int, UjID int, TanevID int, C_NAME nvarchar(500), C_TYPE nvarchar(64), Torolni char(1))
DECLARE intezmenytanevekCursor CURSOR LOCAL FOR
  SELECT
     ia.C_INTEZMENYID
    ,ia.C_TANEVID
  FROM T_INTEZMENYADATOK ia
    JOIN T_TANEV t ON t.ID = ia.C_TANEVID AND t.TOROLT = 'F'
    JOIN T_INTEZMENY i ON i.ID = ia.C_INTEZMENYID AND i.TOROLT = 'F'
  WHERE ia.TOROLT = 'F'
DECLARE @intezmenyId int, @tanevId int

OPEN intezmenytanevekCursor
FETCH NEXT FROM intezmenytanevekCursor INTO @intezmenyId, @tanevId
WHILE @@FETCH_STATUS = 0
BEGIN
  IF (SELECT COUNT(1) FROM T_TANEVRENDJE_OSSZES WHERE C_INTEZMENYID = @intezmenyID AND C_TANEVID = @tanevID AND TOROLT = 'F') > 1
  BEGIN
    IF (EXISTS(SELECT ID FROM T_INTEZMENYADATOK_OSSZES WHERE C_INTEZMENYID = @intezmenyId AND C_ISSZAKKEPZO = 'T' AND TOROLT = 'F' AND C_TANEVID = @tanevID)
      AND EXISTS(SELECT ID FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND C_SORSZAM > 40 AND ID = @tanevID))
      BEGIN
      INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni)VALUES
      (1095, 8827,@tanevId,  N'Felnőttképzési jogviszony munkarend nélkül', 'TanterviJelleg', 'F')
      END
  END
  FETCH NEXT FROM intezmenytanevekCursor INTO @intezmenyId, @tanevId
END
CLOSE intezmenytanevekCursor
DEALLOCATE intezmenytanevekCursor
EXEC [dev].uspSwitchDictionaryItemBaseFromTmp;

-- (1095) 'Na' erteket lathatatlannak allitani--
UPDATE DIB SET 
DIB.C_VISIBLE = 'F'
FROM T_DICTIONARYITEMBASE_OSSZES DIB 
INNER JOIN T_TANEV_OSSZES t ON DIB.C_TANEVID = t.ID AND t.TOROLT = 'F'
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_INTEZMENYID = t.C_INTEZMENYID AND ia.TOROLT = 'F' AND ia.C_TANEVID = t.ID
WHERE DIB.C_DICTIONARYTYPEID = 27 AND DIB.ID = 1095 AND DIB.TOROLT = 'F' 
AND (t.C_SORSZAM > 40 AND ia.C_ISSZAKKEPZO = 'T')