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

436 lines
16 KiB
Transact-SQL

/*
EXEC dev.uspEnableModules
@pModulNames = '' -- LEP,AMI,KOLI,EGYMI,ESL,Fokusz,HRModul,Eugyintezes,UzenetModul,eJelentkezes,Beiratkozas,KozmuAdatszolgaltatas
,Leltar,Konyvtar,Apaczai,Palyavalasztas,TESZEK,Okosmeres,CSAKLEPKEZELO,SZIR,SZAKKEPZO,AKTIVPROJEKTJELENTKEZES,SZAKKEPZOJUTTATAS
lehet csak, vesszővel elválasztva: 'LEP,AMI' 'KOLI' 'EGYMI, AMI'
,@pIntezmenyAzonositok = '' -- suli azonosítók vesszővel elválasztva: 'klik027261001, klik201286001, pecsi-teszt'
*/
DROP PROCEDURE IF EXISTS dev.uspEnableModules
GO
CREATE PROCEDURE dev.uspEnableModules
@pModulNames nvarchar(100) -- LEP,AMI,KOLI,EGYMI lehet csak, vesszővel elválasztva: 'LEP,AMI' 'KOLI' 'EGYMI, AMI'
,@pIntezmenyAzonositok nvarchar(max) -- suli azonosítók vesszővel elválasztva: 'klik027261001, klik201286001, pecsi-teszt'
AS
BEGIN
CREATE TABLE #ModulNames (Modul nvarchar(80))
INSERT INTO #ModulNames
SELECT DISTINCT C_MODUL
FROM T_CONFIGTIPUS
INSERT INTO #ModulNames VALUES ('AMI'), ('EGYMI'), ('KOLI'), ('LEP'), ('CSAKLEPKEZELO'), ('SZIR'), ('SZAKKEPZO'), ('AKTIVPROJEKTJELENTKEZES'), ('SZAKKEPZOJUTTATAS'), ('TESZEK')
DECLARE @RESULT VARCHAR(500)
SET @RESULT = ''
SELECT @result = RES.ModulName + ', '+ @result FROM (SELECT VALUE AS MODULNAME FROM STRING_SPLIT(@pModulNames, ',')
EXCEPT (SELECT Modul FROM #ModulNames)) RES
IF (DATALENGTH(@result)<>0)
BEGIN
PRINT 'A következő modulnevek nem megfelelőek: ' + LEFT(@result, LEN(@result)-1)
RETURN;
END
CREATE TABLE #Intezmeny (Id int, Azonosito nvarchar(80))
INSERT INTO #Intezmeny
SELECT ID, C_AZONOSITO
FROM T_INTEZMENY i
INNER JOIN STRING_SPLIT(@pIntezmenyAzonositok, ',') x ON LTRIM(RTRIM(x.value)) = i.C_AZONOSITO
DECLARE
@kovTanevId int
,@aktTanevId int
SET @kovTanevId = (SELECT C_TANEVID FROM V_INTEZMENYADATOK ia
INNER JOIN #Intezmeny i on i.ID = ia.C_INTEZMENYID
WHERE ia.C_TANEVTIPUS='Köv')
SET @aktTanevId = (SELECT C_TANEVID FROM V_INTEZMENYADATOK ia
INNER JOIN #Intezmeny i on i.ID = ia.C_INTEZMENYID
WHERE ia.C_TANEVTIPUS='Akt')
-- =======================
-- AMI bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'AMI') BEGIN
UPDATE OktKat SET
OktKat.C_FELADATCSOPORTTANULOOSZTALYK = 3
,OktKat.MODIFIER = 0
,OktKat.LASTCHANGED = GETDATE()
,OktKat.SERIAL += 1
FROM T_OKTNEVELESIKATEGORIA OktKat
INNER JOIN #Intezmeny i ON i.Id = OktKat.C_ALINTEZMENYID
INNER JOIN T_TANEV tv ON tv.ID = OktKat.C_ALTANEVID AND tv.C_INTEZMENYID = OktKat.C_ALINTEZMENYID AND (tv.C_AKTIV = 'T' OR tv.C_KOVETKEZO = 'T')
WHERE OktKat.ID = 7555
UPDATE OktFel SET
OktFel.C_FELADATKATEGORIAID = 7555
,OktFel.MODIFIER = 0
,OktFel.LASTCHANGED = GETDATE()
,OktFel.SERIAL += 1
FROM T_OKTATASINEVELESIFELADAT OktFel
INNER JOIN #Intezmeny i ON i.Id = OktFel.C_ALINTEZMENYID
INNER JOIN T_TANEV tv ON tv.ID = OktFel.C_ALTANEVID AND tv.C_INTEZMENYID = OktFel.C_ALINTEZMENYID AND (tv.C_AKTIV = 'T' OR tv.C_KOVETKEZO = 'T')
WHERE OktFel.ID IN (1159,7664)
PRINT 'AMI bekapcsolva'
END
-- =======================
-- EGYMI bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'EGYMI') BEGIN
UPDATE OktKat SET
OktKat.C_FELADATCSOPORTTANULOOSZTALYK = 3
,OktKat.MODIFIER = 0
,OktKat.LASTCHANGED = GETDATE()
,OktKat.SERIAL += 1
FROM T_OKTNEVELESIKATEGORIA OktKat
INNER JOIN #Intezmeny i ON i.Id = OktKat.C_ALINTEZMENYID
INNER JOIN T_TANEV tv ON tv.ID = OktKat.C_ALTANEVID AND tv.C_INTEZMENYID = OktKat.C_ALINTEZMENYID AND (tv.C_AKTIV = 'T' OR tv.C_KOVETKEZO = 'T')
WHERE OktKat.ID = 7717
UPDATE OktFel SET
OktFel.C_FELADATKATEGORIAID = 7717
,OktFel.MODIFIER = 0
,OktFel.LASTCHANGED = GETDATE()
,OktFel.SERIAL += 1
FROM T_OKTATASINEVELESIFELADAT OktFel
INNER JOIN #Intezmeny i ON i.Id = OktFel.C_ALINTEZMENYID
INNER JOIN T_TANEV tv ON tv.ID = OktFel.C_ALTANEVID AND tv.C_INTEZMENYID = OktFel.C_ALINTEZMENYID AND (tv.C_AKTIV = 'T' OR tv.C_KOVETKEZO = 'T')
WHERE OktFel.ID = 6711
PRINT 'EGYMI bekapcsolva'
END
-- =======================
-- KOLI bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'KOLI') BEGIN
UPDATE OktKat SET
OktKat.C_FELADATCSOPORTTANULOOSZTALYK = 3
,OktKat.MODIFIER = 0
,OktKat.LASTCHANGED = GETDATE()
,OktKat.SERIAL += 1
FROM T_OKTNEVELESIKATEGORIA OktKat
INNER JOIN #Intezmeny i ON i.Id = OktKat.C_ALINTEZMENYID
INNER JOIN T_TANEV tv ON tv.ID = OktKat.C_ALTANEVID AND tv.C_INTEZMENYID = OktKat.C_ALINTEZMENYID AND (tv.C_AKTIV = 'T' OR tv.C_KOVETKEZO = 'T')
WHERE OktKat.ID = 7556
UPDATE OktFel SET
OktFel.C_FELADATKATEGORIAID = 7556
,OktFel.MODIFIER = 0
,OktFel.LASTCHANGED = GETDATE()
,OktFel.SERIAL += 1
FROM T_OKTATASINEVELESIFELADAT OktFel
INNER JOIN #Intezmeny i ON i.Id = OktFel.C_ALINTEZMENYID
INNER JOIN T_TANEV tv ON tv.ID = OktFel.C_ALTANEVID AND tv.C_INTEZMENYID = OktFel.C_ALINTEZMENYID AND (tv.C_AKTIV = 'T' OR tv.C_KOVETKEZO = 'T')
WHERE OktFel.ID IN (1165,1166,7767)
PRINT 'KOLI bekapcsolva'
END
-- =======================
-- KOLI, EGYMI, AMI bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) IN ('KOLI', 'EGYMI', 'AMI')) BEGIN
UPDATE d SET
d.C_VISIBLE = 'T'
,d.MODIFIER = 0
,d.LASTCHANGED = GETDATE()
,d.SERIAL += 1
FROM T_DICTIONARYITEMBASE d
INNER JOIN #Intezmeny i ON i.Id = d.C_INTEZMENYID
INNER JOIN T_TANEV tv ON tv.ID = d.C_TANEVID AND tv.C_INTEZMENYID = d.C_INTEZMENYID AND (tv.C_AKTIV = 'T' OR tv.C_KOVETKEZO = 'T')
WHERE d.ID IN (7553,7554,7555,7556,7717,7655,7656,7657,7658,7659,7660,7665,7666,7667,7668,7669,7670,7671,7672)
AND d.C_VISIBLE = 'F'
UPDATE ocs SET
ocs.C_FELADATKATEGORIAID = oktnevfel.C_FELADATKATEGORIAID
,ocs.MODIFIER = 0
,ocs.LASTCHANGED = GETDATE()
,ocs.SERIAL += 1
FROM T_OSZTALYCSOPORT ocs
INNER JOIN T_FELADATELLATASIHELY fh ON fh.id = ocs.C_FELADATELLATASIHELYID
INNER JOIN T_OKTATASINEVELESIFELADAT oktnevfel ON oktnevfel.id = fh.C_OKTATASINEVELESIFELADATTIPUS AND fh.C_TANEVID = oktnevfel.C_ALTANEVID
INNER JOIN T_TANEV tv ON tv.ID = ocs.C_TANEVID AND (tv.C_AKTIV = 'T' OR tv.C_KOVETKEZO = 'T')
INNER JOIN #Intezmeny i ON i.Id = ocs.C_INTEZMENYID
WHERE ocs.C_FELADATKATEGORIAID <> oktnevfel.C_FELADATKATEGORIAID
END
-- =======================
-- LEP bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'LEP') BEGIN
UPDATE r SET
C_ERTEK = '{"Id":"Lazar_Ervin_Program_kezelese","Value":"true"}'
,r.MODIFIER = 0
,r.LASTCHANGED = GETDATE()
,r.SERIAL += 1
FROM T_RENDSZERBEALLITAS r
INNER JOIN #Intezmeny i ON i.Id = r.C_INTEZMENYID
WHERE C_BEALLITASTIPUS = 7746
PRINT 'LEP bekapcsolva'
END
-- =======================
-- ESL bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'ESL') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 1 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'ESL bekapcsolva'
END
-- =======================
-- Fokusz bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'Fokusz') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 3 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'Fokusz bekapcsolva'
END
-- =======================
-- HRModul bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'HRModul') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 5 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'HRModul bekapcsolva'
END
-- =======================
-- Eügyintézés bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'Eugyintezes') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 6 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'Eugyintezes bekapcsolva'
END
-- =======================
-- Eügyintézés - üzenet modul bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'UzenetModul') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 8 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'Eügyintézés - üzenet modul bekapcsolva'
END
-- =======================
-- eJelentkezés bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'eJelentkezes') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 10 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'eJelentkezés bekapcsolva'
END
-- =======================
-- Beiratkozás bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'Beiratkozas') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 12 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'Beiratkozás bekapcsolva'
END
-- =======================
-- Közmű adatszolgáltatás bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'KozmuAdatszolgaltatas') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 14 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'Közmű adatszolgáltatás bekapcsolva'
END
-- =======================
-- Leltár bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'Leltar') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 15 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'Leltár bekapcsolva'
END
-- =======================
-- Könyvtár bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'Konyvtar') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 17 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'Könyvtár bekapcsolva'
END
-- =======================
-- Apáczai modul bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'Apaczai') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 19 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'Apáczai modul bekapcsolva'
END
-- =======================
-- Pályaválasztási modul bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'Palyavalasztas') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 20 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'Pályaválasztási modul bekapcsolva'
END
-- =======================
-- TESZEK modul bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'TESZEK') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE (C_CONFIGTIPUSID = 25 OR C_CONFIGTIPUSID = 26) AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'https://teszek.e-kreta.hu/'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 30 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'TESZEK modul bekapcsolva'
END
-- =======================
-- Okosmérés bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'Okosmeres') BEGIN
UPDATE T_INTEZMENYCONFIG
SET C_ERTEK = 'true'
,MODIFIER = 0
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE C_CONFIGTIPUSID = 29 AND C_INTEZMENYID = (SELECT ID FROM #Intezmeny)
PRINT 'Okosmérés modul bekapcsolva'
END
-- =======================
-- Csökkentett LEP bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'CSAKLEPKEZELO') BEGIN
UPDATE i
SET i.C_ISCSAKLEPKEZELO = 'T'
,i.MODIFIER = 0
,i.LASTCHANGED = GETDATE()
,i.SERIAL += 1
FROM T_INTEZMENYADATOK i
INNER JOIN T_TANEV t on t.C_INTEZMENYID = i.C_INTEZMENYID
WHERE i.C_INTEZMENYID = (SELECT ID FROM #Intezmeny) AND (t.C_AKTIV = 'T' or t.C_KOVETKEZO = 'T')
PRINT 'Csökkentett LEP modul bekapcsolva'
END
-- =======================
-- Csökkentett SZIR intézmény bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'SZIR') BEGIN
UPDATE i
SET i.C_ISSZIRINTEZMENY = 'T'
,i.MODIFIER = 0
,i.LASTCHANGED = GETDATE()
,i.SERIAL += 1
FROM T_INTEZMENYADATOK i
INNER JOIN T_TANEV t on t.C_INTEZMENYID = i.C_INTEZMENYID
WHERE i.C_INTEZMENYID = (SELECT ID FROM #Intezmeny) AND (t.C_AKTIV = 'T' or t.C_KOVETKEZO = 'T')
PRINT 'Csökkentett SZIR intézmény bekapcsolva'
END
-- =======================
-- Szakképző iskola bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'SZAKKEPZO') BEGIN
EXEC dev.uspSetModulSzakkepzo 'T', @aktTanevId
EXEC dev.uspSetModulSzakkepzo 'T', @kovTanevId
PRINT 'Szakképző iskola bekapcsolva'
END
-- =======================
-- Projektkezelés bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'AKTIVPROJEKTJELENTKEZES') BEGIN
UPDATE i
SET i.C_ISAKTIVPROJEKTJELENTKEZES = 'T'
,i.MODIFIER = 0
,i.LASTCHANGED = GETDATE()
,i.SERIAL += 1
FROM T_INTEZMENYADATOK i
INNER JOIN T_TANEV t on t.C_INTEZMENYID = i.C_INTEZMENYID
WHERE i.C_INTEZMENYID = (SELECT ID FROM #Intezmeny) AND (t.C_AKTIV = 'T' or t.C_KOVETKEZO = 'T')
PRINT 'Projektkezelés bekapcsolva'
END
-- =======================
-- Ösztöndíj modul bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'SZAKKEPZOJUTTATAS') BEGIN
UPDATE i
SET i.C_ISSZAKKEPZOJUTTATAS = 'T'
,i.MODIFIER = 0
,i.LASTCHANGED = GETDATE()
,i.SERIAL += 1
FROM T_INTEZMENYADATOK i
INNER JOIN T_TANEV t on t.C_INTEZMENYID = i.C_INTEZMENYID
WHERE i.C_INTEZMENYID = (SELECT ID FROM #Intezmeny) AND (t.C_AKTIV = 'T' or t.C_KOVETKEZO = 'T')
PRINT 'Ösztöndíj modul bekapcsolva'
END
END
GO