kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dev/uspSetModulSzakkepzo.sql
2024-03-13 00:33:46 +01:00

204 lines
8.6 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS dev.uspSetModulSzakkepzo
GO
CREATE PROCEDURE dev.uspSetModulSzakkepzo
@pIsSzakkepzo char(1)
,@pTanevIds nvarchar(max) -- tanévIdk vesszővel elválasztva: '29,64'
AS
BEGIN
DECLARE @EnvironmentName nvarchar(1000) = (SELECT [Value] FROM dev.EnvironmentInfo WHERE [Key] = 'Dictionary')
IF (@EnvironmentName IS NULL OR @EnvironmentName NOT IN ('KK','NSZFH','HOI','AZURE')) BEGIN
RAISERROR('Nincs Dictionary ertek a dev.EnvironmentInfo tablaban', 16, 1, @EnvironmentName)
RETURN;
END
-- =======================
-- T_INTEZMENYADATOK-ban szakképző ki-bekapcsolás
-- =======================
UPDATE ia SET
ia.C_ISSZAKKEPZO = @pIsSzakkepzo
FROM T_INTEZMENYADATOK_OSSZES ia
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON t.value = ia.C_TANEVID
-- =======================
-- T_ALKALMAZOTT-ban szakképző kikapcsolás esetén C_ISDUALISKEPZOHELYIOKTATO is 'F'
-- =======================
IF(@pIsSzakkepzo = 'F')
BEGIN
UPDATE alkalmazott SET
alkalmazott.C_ISDUALISKEPZOHELYIOKTATO = @pIsSzakkepzo
FROM T_ALKALMAZOTT_OSSZES alkalmazott
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON t.value = alkalmazott.C_ALTANEVID
WHERE alkalmazott.TOROLT = 'F'
END
-- =======================
-- TanterviJellegek beállítása @pIsSzakkepzo
-- =======================
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 8827
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','T','F')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 1095
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))
INSERT INTO tmpForSwitchDictionaryItemBase(RegiID, UjID, TanevID, C_NAME, C_TYPE, Torolni)
SELECT
IIF(@pIsSzakkepzo = 'T',1095,8827)
,IIF(@pIsSzakkepzo = 'T',8827,1095)
,value
,N'Felnőttképzési jogviszony munkarend nélkül'
,'TanterviJelleg'
,'F'
FROM STRING_SPLIT(@pTanevIds,',')
EXEC [dev].uspSwitchDictionaryItemBaseFromTmp;
UPDATE dib SET
dib.C_NAME = IIF(@pIsSzakkepzo = 'T' OR @EnvironmentName NOT IN ('NSZFH','HOI'), N'Nappali rendszerű iskolai oktatás',N'Nappali rendszerű iskolai oktatás (*)')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 1096
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 1097
UPDATE dib SET
dib.C_NAME = IIF(@pIsSzakkepzo = 'T',N'Kollégiumi nevelés',IIF(@EnvironmentName IN ('NSZFH'),N'Kollégiumi nevelés (*)',N'Bentlakásos intézményi ellátás'))
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 1099
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 1103
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 1101
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 1102
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 1104
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 5448
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 1100
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 1105
UPDATE dib SET
dib.C_NAME = IIF(@pIsSzakkepzo = 'T',N'Felnőttoktatás esti rendszerű OKJ vagy köznevelés',IIF(@EnvironmentName IN ('NSZFH','HOI'),N'Felnőttoktatás esti rendszerű (*)',N'Felnőttoktatás esti rendszerű'))
,dib.C_NAME_1 = IIF(@pIsSzakkepzo = 'T',N'Felnőttoktatás esti rendszerű OKJ vagy köznevelés',IIF(@EnvironmentName IN ('NSZFH','HOI'),N'Felnőttoktatás esti rendszerű (*)',N'Felnőttoktatás esti rendszerű'))
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 5446
UPDATE dib SET
dib.C_NAME = IIF(@pIsSzakkepzo = 'T',N'Felnőttoktatás levelező rendszerű OKJ vagy köznevelés',IIF(@EnvironmentName IN ('NSZFH','HOI'),N'Felnőttoktatás levelező rendszerű (*)',N'Felnőttoktatás levelező rendszerű'))
,dib.C_NAME_1 = IIF(@pIsSzakkepzo = 'T',N'Felnőttoktatás levelező rendszerű OKJ vagy köznevelés',IIF(@EnvironmentName IN ('NSZFH','HOI'),N'Felnőttoktatás levelező rendszerű (*)',N'Felnőttoktatás levelező rendszerű'))
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 5447
UPDATE dib SET
dib.C_NAME = IIF(@pIsSzakkepzo = 'T',N'Felnőttoktatás nappali rendszerű OKJ vagy köznevelés',IIF(@EnvironmentName IN ('NSZFH','HOI'),N'Felnőttoktatás nappali rendszerű (*)',N'Felnőttoktatás nappali rendszerű'))
,dib.C_NAME_1 = IIF(@pIsSzakkepzo = 'T',N'Felnőttoktatás nappali rendszerű OKJ vagy köznevelés',IIF(@EnvironmentName IN ('NSZFH','HOI'),N'Felnőttoktatás nappali rendszerű (*)',N'Felnőttoktatás nappali rendszerű'))
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 5445
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 8831
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.C_DICTIONARYTYPEID IN (180,181)
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID IN(8999,9000)
DELETE fhszk
FROM T_FELHASZNALO_SZEREPKOR fhszk
INNER JOIN T_SZEREPKOR_OSSZES szk ON szk.ID = fhszk.C_SZEREPKORID AND szk.TOROLT = 'F' AND szk.C_SZEREPKORTIPUS = 9001
UPDATE T_SZEREPKOR_OSSZES SET
TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
WHERE C_SZEREPKORTIPUS = 9001
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID = 9001
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID BETWEEN 9072 AND 9076
UPDATE dib SET
dib.TOROLT = IIF(@pIsSzakkepzo = 'T','F','T')
FROM T_DICTIONARYITEMBASE_OSSZES dib
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON CAST(t.value AS INT) = dib.C_TANEVID
WHERE dib.ID IN (9078 ,9079)
-- =======================
-- T_OSZTALYCSOPORT C_KEPZESIFORMA mező értékeinek másolása a megfelelő T_TANULOTANUGYIADATOK C_TANTERVIJELLEGID mezőkbe
-- =======================
IF(@pIsSzakkepzo = 'T')
BEGIN
UPDATE tta SET
tta.C_TANTERVIJELLEGID = IIF(ocs.C_KEPZESIFORMA IN (1103,1101,1102,1104,5448,1100,1105), 8827, ocs.C_KEPZESIFORMA)
FROM T_TANULOTANUGYIADATOK tta
INNER JOIN T_TANULOCSOPORT tcs ON tcs.ID = tta.C_TANULOCSOPORTID
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
INNER JOIN STRING_SPLIT(@pTanevIds,',') t ON t.value = tta.C_TANEVID
WHERE tta.TOROLT = 'F'
END
END
GO