kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20200417164329_DB_2345/uspEnableModules.sql
2024-03-13 00:33:46 +01:00

116 lines
5.1 KiB
Transact-SQL

/*
EXEC dev.uspEnableModuls
@pModulNames = '' -- LEP,AMI,KOLI,EGYMI 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 #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
-- =======================
-- AMI bekapcsolás
-- =======================
IF EXISTS (SELECT 1 FROM STRING_SPLIT(@pModulNames, ',') WHERE LTRIM(RTRIM(value)) = 'AMI') BEGIN
UPDATE OktKat SET
OktKat.C_FELADATCSOPORTTANULOOSZTALYK = 3
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
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
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
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
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
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)
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'
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
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"}'
FROM T_RENDSZERBEALLITAS r
INNER JOIN #Intezmeny i ON i.Id = r.C_INTEZMENYID
WHERE C_BEALLITASTIPUS = 7746
PRINT 'LEP bekapcsolva'
END
END
GO