This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,253 @@
DROP PROCEDURE IF EXISTS sp_AktivTanevValtasa
GO
CREATE PROCEDURE sp_AktivTanevValtasa
@pintezmenyId INT
,@pAktTanevId INT
,@pKovTanevId INT
,@pfelhasznaloId INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@rendszerbeallitasDate nvarchar(10)
,@kovTanevOsz nvarchar(10)
,@kovTanevTavasz nvarchar(10)
UPDATE T_TANEV_OSSZES
SET C_AKTIVALVA = GETDATE()
WHERE ID = @pKovTanevId
INSERT INTO T_FELHASZNALOBELEPES_OSSZES (
C_KOTELEZOVALTOZTATNI
,C_MEGHIUSULTBELEPESEK
,C_UTOLSOBELEPES
,C_JELSZO
,C_JELSZOVALTOZTATASIDEJE
,C_SO
,C_BEJELENTKEZESINEV
,C_NEPTUNNAPLOJELSZO
,C_FELHASZNALOID
,C_GONDVISELOID
,C_INTEZMENYID
,C_TANEVID
,C_GUID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,NNID
) SELECT
'T' AS C_KOTELEZOVALTOZTATNI
,0 AS C_MEGHIUSULTBELEPESEK
,NULL AS C_UTOLSOBELEPES
,C_JELSZO AS C_JELSZO
,NULL AS C_JELSZOVALTOZTATASIDEJE
,C_SO AS C_SO
,C_BEJELENTKEZESINEV AS C_BEJELENTKEZESINEV
,C_NEPTUNNAPLOJELSZO AS C_NEPTUNNAPLOJELSZO
,tmp.NewUserId AS C_FELHASZNALOID
,NULL AS C_GONDVISELOID
,@pintezmenyId AS C_INTEZMENYID
,@pKovTanevId AS C_TANEVID
,f.C_GUID AS C_GUID
,TOROLT AS TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,@pfelhasznaloId AS MODIFIER
,@pfelhasznaloId AS CREATOR
,NULL AS NNID
FROM T_FELHASZNALOBELEPES_OSSZES f
INNER JOIN (
SELECT
a.ID AS OldUserId
,b.ID AS NewUserId
FROM T_FELHASZNALO_OSSZES a
INNER JOIN T_FELHASZNALO_OSSZES b ON b.C_SZULETESINEV = a.C_SZULETESINEV
AND b.C_ANYJANEVE = a.C_ANYJANEVE
AND b.C_SZULETESIDATUM = a.C_SZULETESIDATUM
AND b.C_SZULETESIHELY = a.C_SZULETESIHELY
AND b.ELOZOTANEVIREKORDID=a.ID
INNER JOIN T_ALKALMAZOTT_OSSZES alk ON alk.ID = a.ID AND alk.C_ALTANEVID=a.C_TANEVID
INNER JOIN T_ALKALMAZOTT_OSSZES alk0 ON alk0.ID = b.ID AND alk0.C_ALTANEVID=b.C_TANEVID
WHERE a.C_TANEVID = @pAktTanevId
AND b.C_TANEVID = @pKovTanevId
AND a.TOROLT = 'F'
AND b.TOROLT = 'F'
AND 0 = (SELECT COUNT(1) FROM T_FELHASZNALOBELEPES_OSSZES f2 WHERE f2.C_FELHASZNALOID = b.ID AND f2.TOROLT = 'F')
) tmp ON tmp.OldUserId = f.C_FELHASZNALOID AND f.TOROLT='F'
INSERT INTO T_FELHASZNALO_SZEREPKOR (C_FELHASZNALOID, C_SZEREPKORID)
SELECT DISTINCT
newF.ID
,newSz.ID
FROM T_FELHASZNALO_OSSZES newF
INNER JOIN (
SELECT
f.C_SZULETESINEV
,f.C_ANYJANEVE
,f.C_SZULETESIDATUM
,f.C_SZULETESIHELY
,sz.C_SZEREPKORTIPUS
FROM T_FELHASZNALO_OSSZES f
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = f.ID
INNER JOIN T_FELHASZNALO_SZEREPKOR fsz ON fsz.C_FELHASZNALOID = f.ID
INNER JOIN T_SZEREPKOR_OSSZES sz ON sz.ID = fsz.C_SZEREPKORID
WHERE f.C_UTONEV <> 'Adminisztrátor' AND f.C_UTONEV <> 'Fenntartó'
AND f.C_TANEVID = @pAktTanevId
AND f.C_INTEZMENYID = @pintezmenyId
AND f.TOROLT = 'F') oldF ON newF.C_SZULETESINEV = oldF.C_SZULETESINEV
AND newF.C_ANYJANEVE = oldF.C_ANYJANEVE
AND newF.C_SZULETESIDATUM = oldF.C_SZULETESIDATUM
AND newF.C_SZULETESIHELY = oldF.C_SZULETESIHELY
INNER JOIN T_SZEREPKOR_OSSZES newSz ON newSz.C_SZEREPKORTIPUS = oldF.C_SZEREPKORTIPUS
AND newSz.C_TANEVID = @pKovTanevId
AND newSz.C_INTEZMENYID = @pintezmenyId
WHERE newF.C_INTEZMENYID = @pintezmenyId
AND newF.C_TANEVID = @pKovTanevId
AND newF.ID NOT IN (select C_FELHASZNALOID from T_FElHASZNALO_SZEREPKOR)
UPDATE a SET
a.C_JELSZO = b.C_JELSZO
,a.C_SO = b.C_SO
FROM T_FELHASZNALOBELEPES_OSSZES a
INNER JOIN T_FELHASZNALOBELEPES_OSSZES b ON b.C_BEJELENTKEZESINEV = a.C_BEJELENTKEZESINEV
WHERE a.C_BEJELENTKEZESINEV = 'admin'
AND a.C_TANEVID = @pKovTanevId
AND b.C_TANEVID = @pAktTanevId
UPDATE T_FELHASZNALOBELEPES_OSSZES SET
TOROLT = 'T'
WHERE C_TANEVID = @pAktTanevId
AND C_FELHASZNALOID <> @pfelhasznaloId;
UPDATE T_TANEV_OSSZES SET
C_AKTIV = 'F'
WHERE ID = @pAktTanevId
AND C_INTEZMENYID = @pintezmenyId
AND TOROLT = 'F'
UPDATE T_TANEV_OSSZES SET
C_AKTIV = 'T'
,C_KOVETKEZO = 'F'
WHERE ID = @pKovTanevId
AND C_INTEZMENYID = @pintezmenyId
AND TOROLT = 'F';
UPDATE T_MOBILDBINFO_OSSZES SET
C_VERSION = C_VERSION + 1,
LASTCHANGED = GETDATE()
WHERE C_INTEZMENYID = @pintezmenyId
AND TOROLT = 'F';
DELETE FROM T_RENDSZERBEALLITAS_OSSZES
WHERE C_TANEVID = @pKovTanevId
INSERT INTO T_RENDSZERBEALLITAS_OSSZES (
C_ALAPERTEK
,C_BEALLITASTIPUS
,C_ERTEK
,C_ERTEKTIPUS
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,NNID
) SELECT
C_ALAPERTEK AS C_ALAPERTEK -- C_ALAPERTEK - nvarchar(MAX)
,C_BEALLITASTIPUS AS C_BEALLITASTIPUS -- C_BEALLITASTIPUS - int
,C_ERTEK AS C_ERTEK -- C_ERTEK - nvarchar(MAX)
,C_ERTEKTIPUS AS C_ERTEKTIPUS -- C_ERTEKTIPUS - int
,C_INTEZMENYID AS C_INTEZMENYID -- C_INTEZMENYID - int
,@pKovTanevId AS C_TANEVID -- C_TANEVID - int
,TOROLT AS TOROLT -- TOROLT - char(1)
,0 AS SERIAL -- SERIAL - int
,GETDATE() AS LASTCHANGED -- LASTCHANGED - datetime
,GETDATE() AS CREATED -- CREATED - datetime
,MODIFIER AS MODIFIER -- MODIFIER - int
,CREATOR AS CREATOR -- CREATOR - int
,ID AS ELOZOTANEVIREKORDID -- ELOZOTANEVIREKORDID - int
,NULL AS NNID -- NNID - int
FROM T_RENDSZERBEALLITAS_OSSZES
WHERE C_TANEVID = @pAktTanevId
SELECT @kovTanevOsz = LEFT(C_NEV, 4), @kovTanevTavasz = RIGHT(C_NEV, 4) FROM T_TANEV_OSSZES WHERE ID = @pKovTanevId
-- tanév első napja
SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_KEZDONAP, 'yyyy-MM-dd') FROM T_TANEV_OSSZES WHERE ID = @pKovTanevId), @kovTanevOsz + N'-09-01')
UPDATE T_RENDSZERBEALLITAS_OSSZES -- tanév első napja
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)
WHERE C_BEALLITASTIPUS = 3076
AND C_TANEVID = @pKovTanevId
UPDATE T_RENDSZERBEALLITAS_OSSZES -- tanév első napja
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)
WHERE C_BEALLITASTIPUS = 1687
AND C_TANEVID = @pKovTanevId
UPDATE T_RENDSZERBEALLITAS_OSSZES -- tanév első napja
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)
WHERE C_BEALLITASTIPUS = 3082
AND C_TANEVID = @pKovTanevId
-- tanév uccsó napja
SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_UTOLSONAP, 'yyyy-MM-dd') FROM T_TANEV_OSSZES WHERE ID = @pKovTanevId), @kovTanevTavasz + N'-08-31')
UPDATE T_RENDSZERBEALLITAS_OSSZES -- tanév uccsó napja
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)
WHERE C_BEALLITASTIPUS = 7107
AND C_TANEVID = @pKovTanevId
-- utolsó tanítási nap
SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_DATUM, 'yyyy-MM-dd') FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1395 AND TOROLT = 'F'), @kovTanevTavasz + N'-06-15')
UPDATE T_RENDSZERBEALLITAS_OSSZES -- utolsó tanítási nap
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)
WHERE C_BEALLITASTIPUS = 5439
AND C_TANEVID = @pKovTanevId
-- utolsó tanítási nap + 1
SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_DATUM + 1, 'yyyy-MM-dd') FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1395 AND TOROLT = 'F'), @kovTanevTavasz + N'-06-16')
UPDATE T_RENDSZERBEALLITAS_OSSZES -- utolsó tanítási nap + 1
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)
WHERE C_BEALLITASTIPUS = 7106
AND C_TANEVID = @pKovTanevId
-- utolsó tanítási nap végzősöknek
SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_DATUM + 1, 'yyyy-MM-dd') FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1402 AND TOROLT = 'F'), @kovTanevTavasz + N'-05-01')
UPDATE T_RENDSZERBEALLITAS_OSSZES -- utolsó tanítási nap végzősöknek
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)
WHERE C_BEALLITASTIPUS = 5440
AND C_TANEVID = @pKovTanevId
-- Első félév vége
SET @rendszerbeallitasDate = ISNULL((SELECT FORMAT(C_DATUM + 1, 'yyyy-MM-dd') FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1400 AND TOROLT = 'F'), @kovTanevTavasz + N'-01-27')
UPDATE T_RENDSZERBEALLITAS_OSSZES
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)
WHERE C_BEALLITASTIPUS = 5438
AND C_TANEVID = @pKovTanevId
-- Május 2
SET @rendszerbeallitasDate = @kovTanevTavasz + N'-05-02'
UPDATE T_RENDSZERBEALLITAS_OSSZES
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)
WHERE C_BEALLITASTIPUS = 1690
AND C_TANEVID = @pKovTanevId
-- Április 2
SET @rendszerbeallitasDate = @kovTanevTavasz + N'-04-02'
UPDATE T_RENDSZERBEALLITAS_OSSZES
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', @rendszerbeallitasDate)
WHERE C_BEALLITASTIPUS = 1691
AND C_TANEVID = @pKovTanevId
END
GO