kreta/Kreta.DataAccess.Migrations/Scripts/20211117143425_KRETA2_10534/KRETA2_10534_InsertScripts.sql
2024-03-13 00:33:46 +01:00

117 lines
No EOL
5.9 KiB
Transact-SQL

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')