253 lines
9.3 KiB
Transact-SQL
253 lines
9.3 KiB
Transact-SQL
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
|