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

View File

@@ -0,0 +1,935 @@
DROP PROCEDURE IF EXISTS sp_AktivTanevValtasa
GO
CREATE PROCEDURE dbo.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)
,@aktTanevVege datetime
,@tanevElsoNapja datetime
,@valtasDatuma datetime
SET @valtasDatuma = GETDATE()
SELECT @tanevElsoNapja = C_KEZDONAP
FROM T_TANEV_OSSZES WHERE ID = @pKovTanevId
UPDATE T_TANEV_OSSZES
SET
C_AKTIVALVA = @valtasDatuma
,MODIFIER = @pFelhasznaloId
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 NOT EXISTS (SELECT 1 FROM T_FELHASZNALO_SZEREPKOR WHERE C_FELHASZNALOID = newF.ID AND C_SZEREPKORID = newSz.ID)
--SPEC START
CREATE TABLE #tmpIds (id int)
INSERT INTO #tmpIds (id)
SELECT fh.ID FROM T_FELHASZNALO_OSSZES fh WHERE fh.C_TANEVID=@pAktTanevId AND fh.TOROLT='F'
AND NOT EXISTS(SELECT TOP 1 1 FROM T_ALKALMAZOTT_OSSZES a WHERE a.ID=fh.ID AND a.C_ALTANEVID=fh.C_TANEVID AND a.TOROLT='F')
AND NOT EXISTS(SELECT TOP 1 1 FROM T_TANULO_OSSZES t WHERE t.ID=fh.ID AND t.C_ALTANEVID=fh.C_TANEVID AND t.TOROLT='F')
AND NOT EXISTS(SELECT 1 FROM T_FELHASZNALO_OSSZES fh2 WHERE fh2.C_TANEVID=@pKovTanevId AND fh2.C_NYOMTATASINEV=fh.C_NYOMTATASINEV AND fh2.TOROLT='F')
INSERT INTO T_FELHASZNALO (
C_NEME
,C_SZULETESIDATUM
,C_SZULETESINEV
,C_ANYJANEVE
,C_SZULETESIHELY
,C_TAJSZAM
,C_ALLAMPOLGARSAGA
,C_LEIRAS
,C_KERESESINEV
,C_SZULETESIORSZAG
,C_SZULETESINEVSORREND
,C_ANYJANEVESORREND
,C_ALAPERTELMEZETTLCID
,C_LATASSERULTWEBHASZNALATA
,C_SMSSZAM
,C_SMSSZINKRONIZALT
,C_KELLADSZINKRONIZALAS
,C_SZULETESINEVELVALASZTO
,C_ANYJANEVEELVALASZTO
,C_DMSTARTTIME
,C_NYOMTATASINEV
,C_UTONEV
,C_VEZETEKNEV
,C_ADOSZAM
,C_ELOTAG
,C_ANYANYELVE
,C_IGAZOLVANYSZAM
,C_IGAZOLVANYTIPUSA
,C_NEVSORREND
,C_NYILVANTARTASISZAM
,C_NYILVANTARTASKEZDETE
,C_OKTATASIAZONOSITO
,C_OMKOD
,C_ALAIRAS
,C_PROFILKEP
,C_KRETAKOD
,C_KIRAZONOSITO
,C_ALLAMPOLGARSAGA2
,C_FENNTARTOAZONOSITO
,C_IMPORTALT
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,NNID
,FTIP
,C_BELUGYALTALAZONOSITOTT
,C_UTOLSOADATFRISSITESIDOPONTJA
,C_EGYEDIAZONOSITO
) SELECT
C_NEME
,C_SZULETESIDATUM
,C_SZULETESINEV
,C_ANYJANEVE
,C_SZULETESIHELY
,C_TAJSZAM
,C_ALLAMPOLGARSAGA
,C_LEIRAS
,C_KERESESINEV
,C_SZULETESIORSZAG
,C_SZULETESINEVSORREND
,C_ANYJANEVESORREND
,C_ALAPERTELMEZETTLCID
,C_LATASSERULTWEBHASZNALATA
,C_SMSSZAM
,C_SMSSZINKRONIZALT
,C_KELLADSZINKRONIZALAS
,C_SZULETESINEVELVALASZTO
,C_ANYJANEVEELVALASZTO
,C_DMSTARTTIME
,C_NYOMTATASINEV
,C_UTONEV
,C_VEZETEKNEV
,C_ADOSZAM
,C_ELOTAG
,C_ANYANYELVE
,C_IGAZOLVANYSZAM
,C_IGAZOLVANYTIPUSA
,C_NEVSORREND
,C_NYILVANTARTASISZAM
,C_NYILVANTARTASKEZDETE
,C_OKTATASIAZONOSITO
,C_OMKOD
,C_ALAIRAS
,C_PROFILKEP
,C_KRETAKOD
,C_KIRAZONOSITO
,C_ALLAMPOLGARSAGA2
,C_FENNTARTOAZONOSITO
,C_IMPORTALT
,C_INTEZMENYID
,@pKovTanevId
,'F'
,0
,GETDATE()
,GETDATE()
,@pFelhasznaloId
,@pFelhasznaloId
,fh.ID
,NULL
,NULL
,C_BELUGYALTALAZONOSITOTT
,C_UTOLSOADATFRISSITESIDOPONTJA
,C_EGYEDIAZONOSITO
FROM T_FELHASZNALO_OSSZES fh
WHERE ID IN (SELECT ID FROM #tmpIds)
INSERT INTO T_FELHASZNALOBELEPES(
C_KOTELEZOVALTOZTATNI
,C_MEGHIUSULTBELEPESEK
,C_UTOLSOBELEPES
,C_JELSZO
,C_JELSZOVALTOZTATASIDEJE
,C_SO
,C_BEJELENTKEZESINEV
,C_NEPTUNNAPLOJELSZO
,C_GUID
,C_ELFOGADOTTGDPRNYILATKOZAT
,C_GDPRELFOGADASDATUMA
,C_IMPORTALT
,C_FELHASZNALOID
,C_GONDVISELOID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,NNID
) SELECT
C_KOTELEZOVALTOZTATNI
,C_MEGHIUSULTBELEPESEK
,C_UTOLSOBELEPES
,C_JELSZO
,C_JELSZOVALTOZTATASIDEJE
,C_SO
,C_BEJELENTKEZESINEV
,C_NEPTUNNAPLOJELSZO
,C_GUID
,C_ELFOGADOTTGDPRNYILATKOZAT
,C_GDPRELFOGADASDATUMA
,fhb.C_IMPORTALT
,fh.ID
,NULL
,fhb.C_INTEZMENYID
,@pKovTanevId
,'F'
,0
,GETDATE()
,GETDATE()
,@pFelhasznaloId
,@pFelhasznaloId
,fhb.ID
,NULL
FROM T_FELHASZNALOBELEPES_OSSZES fhb
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID=fhb.C_FELHASZNALOID AND fh.TOROLT='F'
WHERE fhb.C_FELHASZNALOID IN (SELECT ID FROM #tmpIds) AND fhb.TOROLT='F'
INSERT INTO T_FELHASZNALO_SZEREPKOR (
C_FELHASZNALOID
,C_SZEREPKORID
) SELECT
fh.ID
,szUj.ID
FROM T_FELHASZNALO_SZEREPKOR fhsz
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID=fhsz.C_FELHASZNALOID AND fh.TOROLT='F'
INNER JOIN T_SZEREPKOR_OSSZES szUj ON szUj.ELOZOTANEVIREKORDID=fhsz.C_SZEREPKORID
WHERE fhsz.C_FELHASZNALOID IN (SELECT ID FROM #tmpIds)
--SPEC END
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_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
,@pFelhasznaloId AS MODIFIER -- MODIFIER - int
,@pFelhasznaloId 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
SELECT @aktTanevVege = C_UTOLSONAP FROM T_TANEV WHERE ID = @pAktTanevId
/*
Naptípusok:
1400 Első félév vége
1403 I. negyedév vége
1404 III. negyedév vége
7600,7601,7602,7603,1402 Utolsó Tanítási nap végzős
1395 Utolsó tanítási nap
Rendszerbeállítások:
5438 Félévi jegy dátum
5439 Év végi jegy dátum
5440 Év végi jegy dátum végzős
7362 I Negyedéves jegy dátum
7363 II Negyedéves jegy dátum
7364 III Negyedéves jegy dátum
7365 IIII Negyedéves jegy dátum
*/
DECLARE
@feleviJegyDatum date
,@evVegiJegyDatum date
,@evVegiJegyDatumVegzos date
,@INegyedevJegyDatum date
,@IINegyedevJegyDatum date
,@IIINegyedevJegyDatum date
,@IIIINegyedevJegyDatum date
SELECT
@feleviJegyDatum = C_DATUM
FROM T_TANEVRENDJE_OSSZES
WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1400 AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND TOROLT='F'
SELECT
@evVegiJegyDatum = C_DATUM
FROM T_TANEVRENDJE_OSSZES
WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1395 AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND TOROLT='F'
SELECT @feleviJegyDatum = ISNULL(@feleviJegyDatum,C_UTOLSOTANITASINAP)
FROM T_TANEV WHERE TOROLT='F' AND ID = @pKovTanevId
SELECT @evVegiJegyDatum = ISNULL(@evVegiJegyDatum,C_UTOLSOTANITASINAP)
FROM T_TANEV WHERE TOROLT='F' AND ID = @pKovTanevId
SET @IIIINegyedevJegyDatum = @feleviJegyDatum
SET @IINegyedevJegyDatum = @feleviJegyDatum
SELECT
@INegyedevJegyDatum = C_DATUM
FROM T_TANEVRENDJE_OSSZES
WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1403 AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND TOROLT='F'
SELECT
@IIINegyedevJegyDatum = C_DATUM
FROM T_TANEVRENDJE_OSSZES
WHERE C_TANEVID = @pKovTanevId AND C_NAPTIPUSA = 1404 AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND TOROLT='F'
SET @INegyedevJegyDatum = ISNULL(@INegyedevJegyDatum,@feleviJegyDatum)
SET @IIINegyedevJegyDatum = ISNULL(@IIINegyedevJegyDatum,@feleviJegyDatum)
SELECT
@evVegiJegyDatumVegzos = MIN(C_DATUM)
FROM T_TANEVRENDJE_OSSZES
WHERE C_TANEVID = @pKovTanevId
AND C_NAPTIPUSA IN(7600,7601,7602,7603,1402) AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND TOROLT='F'
SET @evVegiJegyDatumVegzos = ISNULL(@evVegiJegyDatumVegzos,@evVegiJegyDatum)
UPDATE T_RENDSZERBEALLITAS_OSSZES
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@feleviJegyDatum,120))
WHERE C_BEALLITASTIPUS = 5438
AND C_TANEVID = @pKovTanevId
UPDATE T_RENDSZERBEALLITAS_OSSZES
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@evVegiJegyDatum,120))
WHERE C_BEALLITASTIPUS = 5439
AND C_TANEVID = @pKovTanevId
UPDATE T_RENDSZERBEALLITAS_OSSZES
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@evVegiJegyDatumVegzos,120))
WHERE C_BEALLITASTIPUS = 5440
AND C_TANEVID = @pKovTanevId
UPDATE T_RENDSZERBEALLITAS_OSSZES
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@INegyedevJegyDatum,120))
WHERE C_BEALLITASTIPUS = 7362
AND C_TANEVID = @pKovTanevId
UPDATE T_RENDSZERBEALLITAS_OSSZES
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@IINegyedevJegyDatum,120))
WHERE C_BEALLITASTIPUS = 7363
AND C_TANEVID = @pKovTanevId
UPDATE T_RENDSZERBEALLITAS_OSSZES
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@IIINegyedevJegyDatum,120))
WHERE C_BEALLITASTIPUS = 7364
AND C_TANEVID = @pKovTanevId
UPDATE T_RENDSZERBEALLITAS_OSSZES
SET C_ERTEK = JSON_MODIFY(C_ERTEK, '$.Date', CONVERT(nvarchar(10),@IIIINegyedevJegyDatum,120))
WHERE C_BEALLITASTIPUS = 7365
AND C_TANEVID = @pKovTanevId
-- Mondatbank átvitele
INSERT INTO T_ERTEKELESMONDATBANK (
C_ERTEKELESTIPUSA
,C_EVFOLYAMTIPUSA
,C_ROVIDNEV
,C_SZOVEG
,C_TIPUSID
,C_IMPORTALT
,C_TANTARGYID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,NNID
) SELECT
ert.ID AS C_ERTEKELESTIPUSA -- int
,evf.ID AS C_EVFOLYAMTIPUSA -- int
,mb.C_ROVIDNEV AS C_ROVIDNEV -- nvarchar(3)
,mb.C_SZOVEG AS C_SZOVEG -- * nvarchar(max)
,emb.ID AS C_TIPUSID -- * int
,'F' AS C_IMPORTALT -- * char(1)
,tgy.ID AS C_TANTARGYID -- int
,mb.C_INTEZMENYID AS C_INTEZMENYID -- * int
,@pKovTanevId AS C_TANEVID -- * int
,'F' AS TOROLT -- * char(1)
,0 AS SERIAL -- * int
,GETDATE() AS LASTCHANGED -- * datetime
,GETDATE() AS CREATED -- * datetime
,@pFelhasznaloId AS MODIFIER -- int
,@pFelhasznaloId AS CREATOR -- int
,mb.ID AS ELOZOTANEVIREKORDID -- int
,NULL AS NNID -- int
FROM T_ERTEKELESMONDATBANK_OSSZES mb
LEFT JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID = mb.C_TANTARGYID AND tgy.TOROLT='F'
LEFT JOIN T_ERTEKELESTIPUS_OSSZES ert ON ert.ELOZOTANEVIREKORDID = mb.C_ERTEKELESTIPUSA AND ert.C_ALTANEVID=@pKovTanevId AND ert.TOROLT='F'
LEFT JOIN T_EVFOLYAMTIPUS_OSSZES evf ON evf.ELOZOTANEVIREKORDID = mb.C_EVFOLYAMTIPUSA AND evf.C_ALTANEVID=@pKovTanevId AND evf.TOROLT='F'
LEFT JOIN T_ERTMONDATBANKTIPUS_OSSZES emb ON emb.ELOZOTANEVIREKORDID = mb.C_TIPUSID AND emb.C_ALTANEVID=@pKovTanevId AND emb.TOROLT='F'
WHERE mb.C_TANEVID = @pAktTanevId
AND mb.TOROLT = 'F'
AND NOT EXISTS(
SELECT 1
FROM T_ERTEKELESMONDATBANK embNew
WHERE embNew.TOROLT='F' AND embNew.C_TANEVID = @pKovTanevId
AND emb.ELOZOTANEVIREKORDID = mb.ID
)
ORDER BY mb.ID
-- Felmentések átvitele
INSERT INTO T_TANULOMENTESSEG (
C_ERTEKELESMENTESITES
,C_KEZDETE
,C_MENTESSEGOKA
,C_ORAMENTESITES
,C_VEGE
,C_SZOVEGESENERTEKELHETO
,C_TANTARGYID
,C_TANULOID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,NNID
,ELOZOTANEVIREKORDID
) SELECT
tm.C_ERTEKELESMENTESITES AS C_ERTEKELESMENTESITES -- char(1)
,tm.C_KEZDETE AS C_KEZDETE -- datetime
,tm.C_MENTESSEGOKA AS C_MENTESSEGOKA -- nvarchar(max)
,tm.C_ORAMENTESITES AS C_ORAMENTESITES -- char(1)
,tm.C_VEGE AS C_VEGE -- datetime
,tm.C_SZOVEGESENERTEKELHETO AS C_SZOVEGESENERTEKELHETO -- char(1)
,tgy.ID AS C_TANTARGYID -- * int
,fh.ID AS C_TANULOID -- * int
,tm.C_INTEZMENYID AS C_INTEZMENYID -- * int
,@pKovTanevId AS C_TANEVID -- * int
,'F' AS TOROLT -- * char(1)
,0 AS SERIAL -- * int
,GETDATE() AS LASTCHANGED -- * datetime
,GETDATE() AS CREATED -- * datetime
,@pFelhasznaloId AS MODIFIER -- int
,@pFelhasznaloId AS CREATOR -- int
,NULL AS NNID -- int
,tm.ID AS ELOZOTANEVIREKORDID -- int
FROM T_TANULOMENTESSEG_OSSZES tm
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID = tm.C_TANTARGYID AND tgy.TOROLT='F'
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = tm.C_TANULOID AND fh.TOROLT='F'
WHERE tm.C_TANEVID = @pAktTanevId
AND tm.TOROLT = 'F'
AND (tm.C_VEGE IS NULL OR tm.C_VEGE > @aktTanevVege)
AND tgy.C_TANEVID = @pKovTanevId
AND fh.C_TANEVID = @pKovTanevId
AND NOT EXISTS (
SELECT 1
FROM T_TANULOMENTESSEG_OSSZES tmNew
WHERE tmNew.TOROLT='F' AND tmNew.C_TANEVID = @pKovTanevId AND tmNew.C_TANULOID = fh.ID AND tmNew.C_TANTARGYID = tgy.ID
)
-- SULYok átvitele
INSERT INTO T_TANARIATLAGSULY (
C_SULY
,C_ERTEKELESMODID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,NNID
) SELECT
C_SULY AS C_SULY -- * int
,em.ID AS C_ERTEKELESMODID -- * int
,C_INTEZMENYID AS C_INTEZMENYID -- * int
,@pKovTanevId AS C_TANEVID -- * int
,'F' AS TOROLT -- * char(1)
,0 AS SERIAL -- * int
,GETDATE() AS LASTCHANGED -- * datetime
,GETDATE() AS CREATED -- * datetime
,@pFelhasznaloId AS MODIFIER -- int
,@pFelhasznaloId AS CREATOR -- int
,tas.ID AS ELOZOTANEVIREKORDID -- int
,NULL AS NNID -- int
FROM T_TANARIATLAGSULY_OSSZES tas
INNER JOIN T_ERTEKELESMOD_OSSZES em ON em.ELOZOTANEVIREKORDID = tas.C_ERTEKELESMODID AND em.TOROLT='F'
WHERE tas.C_TANEVID = @pAktTanevId
AND tas.TOROLT = 'F'
AND em.C_ALTANEVID = @pKovTanevId
AND NOT EXISTS (
SELECT 1
FROM T_TANARIATLAGSULY_OSSZES tasNew
WHERE tasNew.TOROLT='F' AND tasNew.C_TANEVID = @pKovTanevId AND tasNew.C_ERTEKELESMODID = em.ID
)
-- A nem kötött munkaidőnél a tulajdonos átírása az következő tanéves ID-ra
UPDATE nkm SET
nkm.C_TULAJDONOSID = fh.ID
FROM T_NEMKOTOTTMUNKAIDO_OSSZES nkm
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = nkm.C_TULAJDONOSID AND fh.TOROLT='F'
WHERE nkm.C_TANEVID = @pKovTanevId
AND nkm.TOROLT = 'F'
AND fh.C_TANEVID = @pKovTanevId
INSERT INTO T_ELEARNING_OSSZES (
C_BEFEJEZETT
,C_ELEARNINGAZONOSITO
,C_ELEARNINGFELHASZNALONEV
,C_SIKERES
,C_SZERZODESES
,C_TANANYAGKOD
,C_FELHASZNALOID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) SELECT
C_BEFEJEZETT
,C_ELEARNINGAZONOSITO
,C_ELEARNINGFELHASZNALONEV
,C_SIKERES
,C_SZERZODESES
,C_TANANYAGKOD
,fh.ID
,el.C_INTEZMENYID
,@pKovTanevId
,'F'
,0
,GETDATE()
,GETDATE()
,@pFelhasznaloId
,@pFelhasznaloId
,el.ID
FROM T_ELEARNING_OSSZES el
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = el.C_FELHASZNALOID AND fh.C_TANEVID=@pKovTanevId AND fh.TOROLT='F'
WHERE el.C_TANEVID=@pAktTanevId AND el.TOROLT='F'
AND NOT EXISTS (SELECT 1 FROM T_ELEARNING_OSSZES WHERE ELOZOTANEVIREKORDID=el.ID AND C_TANEVID=@pKovTanevId)
INSERT INTO T_ELEARNINGELERHETOSEG_OSSZES(
C_ELEARNINGAZONOSITO
,C_KEZDODATUM
,C_SZEREPKORTIPUSID
,C_VEGDATUM
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,C_ISGONDVISELONELMEGJELENIK
,C_ISTANULONALMEGJELENIK
,C_ROLEPACKAGE
) SELECT
ele.C_ELEARNINGAZONOSITO
,ele.C_KEZDODATUM
,ele.C_SZEREPKORTIPUSID
,ele.C_VEGDATUM
,ele.C_INTEZMENYID
,@pKovTanevId
,ele.TOROLT
,0
,GETDATE()
,GETDATE()
,@pFelhasznaloId
,@pFelhasznaloId
,ele.ID
,ele.C_ISGONDVISELONELMEGJELENIK
,ele.C_ISTANULONALMEGJELENIK
,ele.C_ROLEPACKAGE
FROM T_ELEARNINGELERHETOSEG_OSSZES ele
WHERE ele.C_TANEVID=@pAktTanevId AND ele.TOROLT='F'
AND NOT EXISTS(SELECT 1 FROM T_ELEARNINGELERHETOSEG_OSSZES WHERE ELOZOTANEVIREKORDID=ele.ID AND C_TANEVID=@pKovTanevId)
AND C_VEGDATUM > @tanevElsoNapja
INSERT INTO T_ELEARNINGFELHASZNALO_OSSZES(
C_GONDVISELOID
,C_ELEARNINGELERHETOSEGID
,C_FELHASZNALOID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
)
SELECT
gv.ID
,ele.ID
,fh.ID
,elfh.C_INTEZMENYID
,@pKovTanevId
,'F'
,0
,GETDATE()
,GETDATE()
,@pFelhasznaloId
,@pFelhasznaloId
,elfh.ID
FROM T_ELEARNINGFELHASZNALO_OSSZES elfh
INNER JOIN T_ELEARNINGELERHETOSEG_OSSZES ele ON ele.ELOZOTANEVIREKORDID = elfh.C_ELEARNINGELERHETOSEGID AND ele.TOROLT='F'
LEFT JOIN T_GONDVISELO_OSSZES gv ON gv.ELOZOTANEVIREKORDID = elfh.C_GONDVISELOID AND gv.TOROLT='F'
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = elfh.C_FELHASZNALOID AND fh.TOROLT='F'
WHERE elfh.C_TANEVID = @pAktTanevId AND elfh.TOROLT='F'
AND NOT EXISTS(SELECT 1 FROM T_ELEARNINGFELHASZNALO_OSSZES WHERE TOROLT='F' AND ELOZOTANEVIREKORDID = elfh.ID AND C_TANEVID = @pKovTanevId)
INSERT INTO T_FELHASZNALOBELEPES (
C_KOTELEZOVALTOZTATNI
,C_MEGHIUSULTBELEPESEK
,C_UTOLSOBELEPES
,C_JELSZO
,C_JELSZOVALTOZTATASIDEJE
,C_SO
,C_BEJELENTKEZESINEV
,C_NEPTUNNAPLOJELSZO
,C_GUID
,C_ELFOGADOTTGDPRNYILATKOZAT
,C_GDPRELFOGADASDATUMA
,C_IMPORTALT
,C_FELHASZNALOID
,C_GONDVISELOID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,NNID
) SELECT
fb.C_KOTELEZOVALTOZTATNI AS C_KOTELEZOVALTOZTATNI -- char(1)
,fb.C_MEGHIUSULTBELEPESEK AS C_MEGHIUSULTBELEPESEK -- int
,fb.C_UTOLSOBELEPES AS C_UTOLSOBELEPES -- datetime
,fb.C_JELSZO AS C_JELSZO -- nvarchar(64)
,fb.C_JELSZOVALTOZTATASIDEJE AS C_JELSZOVALTOZTATASIDEJE -- datetime
,fb.C_SO AS C_SO -- nvarchar(64)
,fb.C_BEJELENTKEZESINEV AS C_BEJELENTKEZESINEV -- * nvarchar(255)
,fb.C_NEPTUNNAPLOJELSZO AS C_NEPTUNNAPLOJELSZO -- nvarchar(64)
,fb.C_GUID AS C_GUID -- * nvarchar(36)
,fb.C_ELFOGADOTTGDPRNYILATKOZAT AS C_ELFOGADOTTGDPRNYILATKOZAT -- * char(1)
,fb.C_GDPRELFOGADASDATUMA AS C_GDPRELFOGADASDATUMA -- datetime
,'F' AS C_IMPORTALT -- * char(1)
,fhUj.ID AS C_FELHASZNALOID -- * int
,fb.C_GONDVISELOID AS C_GONDVISELOID -- int
,@pIntezmenyId AS C_INTEZMENYID -- * int
,@pKovTanevId AS C_TANEVID -- * int
,'F' AS TOROLT -- * char(1)
,0 AS SERIAL -- * int
,GETDATE() AS LASTCHANGED -- * datetime
,GETDATE() AS CREATED -- * datetime
,NULL AS MODIFIER -- int
,NULL AS CREATOR -- int
,fb.ID AS ELOZOTANEVIREKORDID -- int
,NULL AS NNID -- int
FROM T_FELHASZNALOBELEPES_OSSZES fb
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = fb.C_FELHASZNALOID AND fh.TOROLT = 'F'
INNER JOIN T_TANULO_OSSZES t ON t.ID = fh.ID
INNER JOIN T_FELHASZNALO_OSSZES fhUj ON fhuj.ELOZOTANEVIREKORDID = fh.ID AND fhuj.TOROLT = 'F'
WHERE fb.C_TANEVID = @pAktTanevId
AND fb.C_GONDVISELOID IS NULL
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES_OSSZES x WHERE x.C_FELHASZNALOID = fhUj.ID AND x.C_GONDVISELOID IS NULL AND x.TOROLT = 'F')
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES_OSSZES x WHERE x.C_BEJELENTKEZESINEV = fb.C_BEJELENTKEZESINEV AND x.C_TANEVID = @pKovTanevId AND x.TOROLT = 'F')
AND fb.TOROLT = 'F'
INSERT INTO T_FELHASZNALOBELEPES_OSSZES (
C_KOTELEZOVALTOZTATNI
,C_MEGHIUSULTBELEPESEK
,C_UTOLSOBELEPES
,C_JELSZO
,C_JELSZOVALTOZTATASIDEJE
,C_SO
,C_BEJELENTKEZESINEV
,C_NEPTUNNAPLOJELSZO
,C_GUID
,C_ELFOGADOTTGDPRNYILATKOZAT
,C_GDPRELFOGADASDATUMA
,C_IMPORTALT
,C_FELHASZNALOID
,C_GONDVISELOID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,NNID
) SELECT
C_KOTELEZOVALTOZTATNI AS C_KOTELEZOVALTOZTATNI -- char(1)
,fb.C_MEGHIUSULTBELEPESEK AS C_MEGHIUSULTBELEPESEK -- int
,fb.C_UTOLSOBELEPES AS C_UTOLSOBELEPES -- datetime
,fb.C_JELSZO AS C_JELSZO -- nvarchar(64)
,fb.C_JELSZOVALTOZTATASIDEJE AS C_JELSZOVALTOZTATASIDEJE -- datetime
,fb.C_SO AS C_SO -- nvarchar(64)
,fb.C_BEJELENTKEZESINEV AS C_BEJELENTKEZESINEV -- * nvarchar(255)
,fb.C_NEPTUNNAPLOJELSZO AS C_NEPTUNNAPLOJELSZO -- nvarchar(64)
,fb.C_GUID AS C_GUID -- * nvarchar(36)
,fb.C_ELFOGADOTTGDPRNYILATKOZAT AS C_ELFOGADOTTGDPRNYILATKOZAT -- * char(1)
,fb.C_GDPRELFOGADASDATUMA AS C_GDPRELFOGADASDATUMA -- datetime
,'F' AS C_IMPORTALT -- * char(1)
,gUj.C_TANULOID AS C_FELHASZNALOID -- * int
,gUj.ID AS C_GONDVISELOID -- int
,@pIntezmenyId AS C_INTEZMENYID -- * int
,@pKovTanevId AS C_TANEVID -- * int
,'F' AS TOROLT -- * char(1)
,0 AS SERIAL -- * int
,GETDATE() AS LASTCHANGED -- * datetime
,GETDATE() AS CREATED -- * datetime
,NULL AS MODIFIER -- int
,NULL AS CREATOR -- int
,fb.ID AS ELOZOTANEVIREKORDID -- int
,NULL AS NNID -- int
FROM T_FELHASZNALOBELEPES_OSSZES fb
INNER JOIN T_GONDVISELO_OSSZES g ON g.ID = fb.C_GONDVISELOID AND g.TOROLT = 'F'
INNER JOIN T_GONDVISELO_OSSZES gUj ON gUj.ELOZOTANEVIREKORDID = g.ID AND gUj.TOROLT = 'F'
WHERE fb.C_TANEVID = @pAktTanevId
AND fb.C_GONDVISELOID IS NOT NULL
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES_OSSZES x WHERE x.C_GONDVISELOID = gUj.ID AND x.C_GONDVISELOID IS NOT NULL AND x.TOROLT = 'F')
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES_OSSZES x WHERE x.C_BEJELENTKEZESINEV = fb.C_BEJELENTKEZESINEV AND x.C_TANEVID = @pKovTanevId AND x.TOROLT = 'F')
AND fb.TOROLT = 'F'
UPDATE T_FELHASZNALOBELEPES_OSSZES
SET
TOROLT = 'T'
,LASTCHANGED = @valtasDatuma
,MODIFIER = @pFelhasznaloId
WHERE TOROLT = 'F'
AND C_TANEVID = @pAktTanevId
END
GO

View File

@@ -0,0 +1,375 @@
DROP PROCEDURE IF EXISTS uspCloneTanulo
GO
CREATE PROCEDURE uspCloneTanulo
@tanuloId int
,@kovTanevId int
,@intezmenyId int
,@aktTanevId int
AS BEGIN
INSERT INTO T_FELHASZNALO_OSSZES(
C_NEME
,C_SZULETESIDATUM
,C_SZULETESINEV
,C_ANYJANEVE
,C_SZULETESIHELY
,C_TAJSZAM
,C_ALLAMPOLGARSAGA
,C_LEIRAS
,C_KERESESINEV
,C_SZULETESIORSZAG
,C_SZULETESINEVSORREND
,C_ANYJANEVESORREND
,C_ALAPERTELMEZETTLCID
,C_LATASSERULTWEBHASZNALATA
,C_SMSSZAM
,C_SMSSZINKRONIZALT
,C_KELLADSZINKRONIZALAS
,C_SZULETESINEVELVALASZTO
,C_ANYJANEVEELVALASZTO
,C_DMSTARTTIME
,C_NYOMTATASINEV
,C_UTONEV
,C_VEZETEKNEV
,C_ADOSZAM
,C_ELOTAG
,C_ANYANYELVE
,C_IGAZOLVANYSZAM
,C_IGAZOLVANYTIPUSA
,C_NEVSORREND
,C_NYILVANTARTASISZAM
,C_NYILVANTARTASKEZDETE
,C_OKTATASIAZONOSITO
,C_OMKOD
,C_ALAIRAS
,C_PROFILKEP
,C_KRETAKOD
,C_KIRAZONOSITO
,C_ALLAMPOLGARSAGA2
,C_FENNTARTOAZONOSITO
,C_IMPORTALT
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,C_BELUGYALTALAZONOSITOTT
,C_UTOLSOADATFRISSITESIDOPONTJA)
SELECT
C_NEME
,C_SZULETESIDATUM
,C_SZULETESINEV
,C_ANYJANEVE
,C_SZULETESIHELY
,C_TAJSZAM
,C_ALLAMPOLGARSAGA
,C_LEIRAS
,C_KERESESINEV
,C_SZULETESIORSZAG
,C_SZULETESINEVSORREND
,C_ANYJANEVESORREND
,C_ALAPERTELMEZETTLCID
,C_LATASSERULTWEBHASZNALATA
,C_SMSSZAM
,C_SMSSZINKRONIZALT
,C_KELLADSZINKRONIZALAS
,C_SZULETESINEVELVALASZTO
,C_ANYJANEVEELVALASZTO
,C_DMSTARTTIME
,C_NYOMTATASINEV
,C_UTONEV
,C_VEZETEKNEV
,C_ADOSZAM
,C_ELOTAG
,C_ANYANYELVE
,C_IGAZOLVANYSZAM
,C_IGAZOLVANYTIPUSA
,C_NEVSORREND
,C_NYILVANTARTASISZAM
,C_NYILVANTARTASKEZDETE
,C_OKTATASIAZONOSITO
,C_OMKOD
,C_ALAIRAS
,C_PROFILKEP
,C_KRETAKOD
,C_KIRAZONOSITO
,C_ALLAMPOLGARSAGA2
,C_FENNTARTOAZONOSITO
,'F'
,C_INTEZMENYID
,@kovTanevId
,'F'
,0
,GETDATE()
,GETDATE()
,NULL
,NULL
,ID
,C_BELUGYALTALAZONOSITOTT
,C_UTOLSOADATFRISSITESIDOPONTJA
FROM T_FELHASZNALO_OSSZES WHERE ID = @tanuloId
DECLARE @newId int=SCOPE_IDENTITY()
INSERT INTO T_TANULO_OSSZES(
ID
,C_ALLAMIGONDOZOTT
,C_BANKSZAMLASZAM
,C_BEILLESZKEDESINEHEZSEG
,C_BEIRASINAPLOSORSZAM
,C_BEJARO
,C_DIAKIGAZOLVANYKELTE
,C_DIAKIGAZOLVANYSZAM
,C_ELOZOINTEZMENY
,C_EVISMETLO
,C_INGYENESTANKONVYELLATASA
,C_JOGVISZONYATSZUNETELTETO
,C_MAGANTANULO
,C_MAGANTANULOSAGANAKOKA
,C_MAGANTANULOSAGKEZDETE
,C_NAPLOSORSZAM
,C_POLGARISZERZODESES
,C_SZAKMAIGYAKORLATON
,C_SZOCIALISTAMOGATAS
,C_TANDIJATFIZETO
,C_TANKOTELEZETT
,C_TANKOTELEZETTSEGVEGE
,C_TANULOSZERZODESES
,C_TERITESIDIJATFIZETO
,C_TESTNEVELESTIPUSA
,C_VENDEG
,C_BTMPROBLEMAS
,C_DIAKSPORTKOROS
,C_EGYHAZKOZOSSEGE
,C_ETKEZESIKEDVEZMENY
,C_HALMOZOTTANFOGYATEKOS
,C_HATRANYOSHELYZETU
,C_KOLLEGIUMIELLATASOS
,C_RENDSZERESGYERMEKVEDELMIKEDV
,C_SAJATOSNEVELESU
,C_SPORTAG
,C_SPORTEDZONEVE
,C_SPORTKLUB
,C_SZAKKEPESITESSZAMA
,C_TANULOIJOGVISZONYOSELTARTOTT
,C_TARTOSGYOGYKEZELESSZAMA
,C_TOBBGYERMEKIGAZOLASSZAMA
,C_VALLASA
,C_VESZELYEZTETETT
,C_JOGVISZONYVARHATOBEFEJEZESE
,C_BEILLESZKEDESIPROBLEMAVALKUZ
,C_BESZEDFOGYATEKOSOKMANYSZAM
,C_BNOKOD
,C_BTMHATAROZATOKMANYSZAM
,C_BTMHATAROZATTARTALMA
,C_BTMKIALLITOINTEZMENY
,C_BTMKONTROLLIDOPONT
,C_BTMLETSZAMSULY
,C_BTMOKMANYERVENYESSEGKEZDETE
,C_BTMOKMANYERVENYESSEGVEGE
,C_DISZGRAFIAOKMANYSZAM
,C_DISZKALKULIAOKMANYSZAM
,C_DISZLEXIAOKMANYSZAM
,C_ERTELMIFOGYATEKOS
,C_ERTELMIFOGYATEKOSOKMANYSZAM
,C_FEJLESZTESREKIJELOLT
,C_FEJLESZTOFOGLALKOZAS
,C_FEJLESZTOFOGLALKOZASORASZAM
,C_HALLASSERULT
,C_HALLASSERULTOKMANYSZAM
,C_LATASSERULT
,C_LATASSERULTOKMANYSZAM
,C_MAGATARTASIPROBLEMAVALKUZD
,C_MEGISMERONEMORGANIKUSOKMANYS
,C_MEGISMEROORGANIKUSOKMANYSZAM
,C_MOZGASSERULTOKMANYSZAM
,C_SNIKIALLITOINTEZMENY
,C_SNIKONTROLLIDOPONT
,C_SNILETSZAMSULY
,C_SNIMEGHATAROZAS
,C_SNIOKMANYERVENYESSEGKEZDETE
,C_SNIOKMANYERVENYESSEGVEGE
,C_TANULASIPROBLEMADISZGRAFIA
,C_TANULASIPROBLEMAVALKUZD
,C_TANULASIPROBLEMAVALKUZDDISZK
,C_TANULASIPROBLEMAVALKUZDDISZL
,C_VISELKEDESNEMORGANIKUSOKMANY
,C_VISELKEDESORGANIKUSOKMANYSZA
,C_ELSOINTEZMENYOMKOD
,C_EVISMETLOTANTARGYAK
,C_KOZEPFOKUOKTATASBATIZENHATOD
,C_MENEDEKJOGGALRENDELKEZO
,C_AGAZAT
,C_RESZSZAKKEPESITES
,C_SZAKKEPESITES
,C_SZAKMACSOPORT
,C_EGYEBDONTO
,C_MEGALLAPODASOS
,C_OSZTV
,C_SZETVAGAZAT
,C_SZINTVIZSGA
,C_SZKTV
,C_TECHNIKUSIEVFOLYAM
,C_EGYUTTMUKODESES
,C_ISKOLAIKERETEKKOZOTT
,C_TANULOEVFOLYAMTIPUS
,C_TANTERVID
,C_FELVETELTANEVEID
,C_ALINTEZMENYID
,C_ALTANEVID
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,ELOZOTANEVIREKORDIDA
,C_TORZSLAPSZAM
,C_ISSZAKMAIGYAKORLATHIANY)
SELECT
@newId
,C_ALLAMIGONDOZOTT
,C_BANKSZAMLASZAM
,C_BEILLESZKEDESINEHEZSEG
,C_BEIRASINAPLOSORSZAM
,C_BEJARO
,C_DIAKIGAZOLVANYKELTE
,C_DIAKIGAZOLVANYSZAM
,C_ELOZOINTEZMENY
,C_EVISMETLO
,C_INGYENESTANKONVYELLATASA
,C_JOGVISZONYATSZUNETELTETO
,C_MAGANTANULO
,C_MAGANTANULOSAGANAKOKA
,C_MAGANTANULOSAGKEZDETE
,C_NAPLOSORSZAM
,C_POLGARISZERZODESES
,C_SZAKMAIGYAKORLATON
,C_SZOCIALISTAMOGATAS
,C_TANDIJATFIZETO
,C_TANKOTELEZETT
,C_TANKOTELEZETTSEGVEGE
,C_TANULOSZERZODESES
,C_TERITESIDIJATFIZETO
,C_TESTNEVELESTIPUSA
,C_VENDEG
,C_BTMPROBLEMAS
,C_DIAKSPORTKOROS
,C_EGYHAZKOZOSSEGE
,C_ETKEZESIKEDVEZMENY
,C_HALMOZOTTANFOGYATEKOS
,C_HATRANYOSHELYZETU
,C_KOLLEGIUMIELLATASOS
,C_RENDSZERESGYERMEKVEDELMIKEDV
,C_SAJATOSNEVELESU
,C_SPORTAG
,C_SPORTEDZONEVE
,C_SPORTKLUB
,C_SZAKKEPESITESSZAMA
,C_TANULOIJOGVISZONYOSELTARTOTT
,C_TARTOSGYOGYKEZELESSZAMA
,C_TOBBGYERMEKIGAZOLASSZAMA
,C_VALLASA
,C_VESZELYEZTETETT
,C_JOGVISZONYVARHATOBEFEJEZESE
,C_BEILLESZKEDESIPROBLEMAVALKUZ
,C_BESZEDFOGYATEKOSOKMANYSZAM
,C_BNOKOD
,C_BTMHATAROZATOKMANYSZAM
,C_BTMHATAROZATTARTALMA
,C_BTMKIALLITOINTEZMENY
,C_BTMKONTROLLIDOPONT
,C_BTMLETSZAMSULY
,C_BTMOKMANYERVENYESSEGKEZDETE
,C_BTMOKMANYERVENYESSEGVEGE
,C_DISZGRAFIAOKMANYSZAM
,C_DISZKALKULIAOKMANYSZAM
,C_DISZLEXIAOKMANYSZAM
,C_ERTELMIFOGYATEKOS
,C_ERTELMIFOGYATEKOSOKMANYSZAM
,C_FEJLESZTESREKIJELOLT
,C_FEJLESZTOFOGLALKOZAS
,C_FEJLESZTOFOGLALKOZASORASZAM
,C_HALLASSERULT
,C_HALLASSERULTOKMANYSZAM
,C_LATASSERULT
,C_LATASSERULTOKMANYSZAM
,C_MAGATARTASIPROBLEMAVALKUZD
,C_MEGISMERONEMORGANIKUSOKMANYS
,C_MEGISMEROORGANIKUSOKMANYSZAM
,C_MOZGASSERULTOKMANYSZAM
,C_SNIKIALLITOINTEZMENY
,C_SNIKONTROLLIDOPONT
,C_SNILETSZAMSULY
,C_SNIMEGHATAROZAS
,C_SNIOKMANYERVENYESSEGKEZDETE
,C_SNIOKMANYERVENYESSEGVEGE
,C_TANULASIPROBLEMADISZGRAFIA
,C_TANULASIPROBLEMAVALKUZD
,C_TANULASIPROBLEMAVALKUZDDISZK
,C_TANULASIPROBLEMAVALKUZDDISZL
,C_VISELKEDESNEMORGANIKUSOKMANY
,C_VISELKEDESORGANIKUSOKMANYSZA
,C_ELSOINTEZMENYOMKOD
,C_EVISMETLOTANTARGYAK
,C_KOZEPFOKUOKTATASBATIZENHATOD
,C_MENEDEKJOGGALRENDELKEZO
,C_AGAZAT
,C_RESZSZAKKEPESITES
,C_SZAKKEPESITES
,C_SZAKMACSOPORT
,C_EGYEBDONTO
,C_MEGALLAPODASOS
,C_OSZTV
,C_SZETVAGAZAT
,C_SZINTVIZSGA
,C_SZKTV
,C_TECHNIKUSIEVFOLYAM
,C_EGYUTTMUKODESES
,C_ISKOLAIKERETEKKOZOTT
,C_TANULOEVFOLYAMTIPUS
,ISNULL(tr.ID, (SELECT ID FROM T_TANTERV_OSSZES tr2 WHERE tr2.C_TANEVID = @kovTanevId AND tr2.C_VEDETT = 'T' AND tr2.TOROLT = 'F'))
,C_FELVETELTANEVEID
,C_ALINTEZMENYID
,@kovTanevId
,0
,GETDATE()
,GETDATE()
,NULL
,NULL
,t.ID
,t.ID
,C_TORZSLAPSZAM
,C_ISSZAKMAIGYAKORLATHIANY
FROM T_TANULO_OSSZES t
LEFT JOIN T_TANTERV_OSSZES tr ON tr.ELOZOTANEVIREKORDID = t.C_TANTERVID AND tr.TOROLT = 'F' AND tr.C_TANEVID = @kovTanevId
WHERE t.ID=@tanuloId
EXEC uspFollowUpFelhasznaloCim @intezmenyId,@aktTanevId,@kovTanevId,@tanuloId
EXEC uspFollowUpFelhasznaloTelefon @intezmenyId,@aktTanevId,@kovTanevId,@tanuloId
EXEC uspFollowUpFelhasznaloEmail @intezmenyId,@aktTanevId,@kovTanevId,@tanuloId
DECLARE gvCur CURSOR FOR
SELECT ID FROM T_GONDVISELO_OSSZES WHERE TOROLT='F' AND C_TANULOID=@tanuloId
DECLARE @gvId int
OPEN gvCur
FETCH NEXT FROM gvCur INTO @gvId
WHILE @@FETCH_STATUS=0
BEGIN
EXEC uspFollowUpGondviselo @intezmenyId,@aktTanevId,@kovTanevId,@gvId
FETCH NEXT FROM gvCur INTO @gvId
END
CLOSE gvCur
DEALLOCATE gvCur
SELECT @newId as 'newId'
END
GO

View File

@@ -0,0 +1,221 @@
-- ============================================================================================
-- Schema view-kat generál a paraméterekben megadott táblákhoz és schemákhoz,
-- illetve, ha kéteznek akkor frissíti őket.
--
-- Ha a @pTables vagy a @pSchemas paraméter értéke NULL, akkor az összes
-- táblára/schemára megcsinálja a view-kat
-- Amennyiben a dbo-ban van olyan KRÉTAidegen tábla, ami T_-sal kezdődik, van benne
-- C_INTEZMENYID oszlop, de nincs benne TOROLT oszlop, valószínüleg el fog szállni az SP.
-- @pTables: tábla nevek vesszővel elválasztva, pl.: 'T_TANEV, T_UJTABLA,T_TANULO'
-- @pSchemas: schema nevek vesszővel elválasztva, pl.: 'KR_asd_Schema,dbo, KR_dobokata_Schema'
-- ============================================================================================
DROP PROCEDURE IF EXISTS dev.uspCreateSchemaViews
GO
CREATE PROCEDURE dev.uspCreateSchemaViews
@pTables nvarchar(max)
,@pSchemas nvarchar(max) = NULL
,@pDebugMode bit = 0
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@tableName nvarchar(255)
,@schemaName nvarchar(255)
,@isIdentity nvarchar(10)
,@intezmenyId int
,@tanevId int
,@notExistingObject nvarchar(255)
,@osszesView bit
,@sql nvarchar(max)
,@dbName nvarchar(50)
,@tanevColumn nvarchar(50)
,@intezmenyColumn nvarchar(50)
CREATE TABLE #Table (
TableName nvarchar(255) COLLATE DATABASE_DEFAULT PRIMARY KEY
)
CREATE TABLE #Schema (
SchemaName nvarchar(255) COLLATE DATABASE_DEFAULT PRIMARY KEY
,IntezmenyAzonosito nvarchar(255) COLLATE DATABASE_DEFAULT
)
IF @pTables IS NOT NULL BEGIN
INSERT INTO #Table (TableName)
SELECT DISTINCT LTRIM(RTRIM(s.value))
FROM STRING_SPLIT(@pTables, ',') s
SET @notExistingObject = NULL
SELECT @notExistingObject = ISNULL(@notExistingObject + ', ', '') + s.TableName
FROM #Table s
WHERE NOT EXISTS (
SELECT 1 FROM sys.tables t
WHERE s.TableName COLLATE HUNGARIAN_CI_AS = t.name COLLATE HUNGARIAN_CI_AS
AND t.name LIKE 'T[_]%' AND t.schema_id = 1 )
IF @notExistingObject IS NOT NULL BEGIN
SET @dbName = DB_NAME()
RAISERROR('A paraméterekben megadott táblák közül a követtkezők nem léteznek a %s adatbázisban: %s', 16, 1, @dbName, @notExistingObject)
RETURN
END
END
ELSE BEGIN
INSERT INTO #Table (TableName)
SELECT t.name
FROM sys.tables t
WHERE t.name like 'T[_]%'
AND t.schema_id = 1
AND t.name NOT IN ('T_ENTITYATTRIBUTEHISTORY', 'T_ENTITYHISTORY')
END
IF @pSchemas IS NOT NULL BEGIN
INSERT INTO #Schema (SchemaName, IntezmenyAzonosito)
SELECT DISTINCT LTRIM(RTRIM(s.value)),REPLACE(REPLACE(s.value, 'KR_', ''), '_Schema', '')
FROM STRING_SPLIT(@pSchemas, ',') s
SET @notExistingObject = NULL
SELECT @notExistingObject = ISNULL(@notExistingObject + ', ', '') + s.SchemaName
FROM #Schema s
WHERE NOT EXISTS (SELECT 1 FROM sys.schemas t WHERE s.SchemaName COLLATE HUNGARIAN_CI_AS = t.name COLLATE HUNGARIAN_CI_AS)
IF @notExistingObject IS NOT NULL BEGIN
SET @dbName = DB_NAME()
RAISERROR('A paraméterekben megadott schemák közül a követtkezők nem léteznek a %s adatbázisban: %s', 16, 1, @dbName, @notExistingObject)
RETURN
END
END
ELSE BEGIN
INSERT INTO #Schema (SchemaName, IntezmenyAzonosito)
SELECT t.name, REPLACE(REPLACE(t.name, 'KR_', ''), '_Schema', '')
FROM sys.schemas t
WHERE name LIKE 'KR[_]%[_]Schema' OR name = 'dbo'
END
-- normál táblák, ahol van ID, INTEZMENYID, TANEVID oszlopok és a T_EVFOLYAMTIPUS_OKTATASINEVELE tábla
DECLARE ViewCursor CURSOR LOCAL FOR
SELECT
tbl.name AS TableName
,COALESCE(cid.is_identity, 2) AS IsIdentity
,'[' + s.SchemaName + ']' AS SchemaName
,i.ID AS IntezmenyId
,tv.ID AS TanevId
,ctv.name AS TanevColumn
,cin.name AS IntezmenyColumn
FROM sys.tables tbl
LEFT JOIN sys.columns cid ON tbl.object_id = cid.object_id AND cid.name = 'ID'
INNER JOIN sys.columns cin ON tbl.object_id = cin.object_id AND cin.name IN ('C_INTEZMENYID', 'C_ALINTEZMENYID')
LEFT JOIN sys.columns ctv ON tbl.object_id = ctv.object_id AND ctv.name IN ('C_TANEVID', 'C_ALTANEVID')
INNER JOIN #Table t ON t.TableName COLLATE HUNGARIAN_CI_AS = tbl.name COLLATE HUNGARIAN_CI_AS
CROSS JOIN #Schema s
LEFT JOIN T_INTEZMENY i ON i.C_AZONOSITO = s.IntezmenyAzonosito AND i.TOROLT = 'F'
LEFT JOIN T_TANEV tv ON tv.C_INTEZMENYID = i.ID AND tv.C_AKTIV = 'T' AND tv.TOROLT = 'F'
WHERE tbl.schema_id = 1
ORDER BY SchemaName, tbl.name
OPEN ViewCursor
FETCH NEXT FROM ViewCursor
INTO @tableName, @isIdentity, @schemaName, @intezmenyId, @tanevId, @tanevColumn, @intezmenyColumn
WHILE @@FETCH_STATUS = 0 BEGIN
IF @schemaName = '[dbo]' BEGIN
SET @sql = N'
CREATE OR ALTER VIEW ' + @schemaName + '.' + @tableName + '_OSSZES AS
SELECT *
FROM dbo.' + @tableName + ';'
IF @pDebugMode = 1 PRINT @schemaName + '.' + @tableName + '_OSSZES (dbo)'
EXEC sp_executesql @sql
END
ELSE BEGIN
SET @sql = N'
CREATE OR ALTER VIEW ' + @schemaName + '.' + @tableName + ' AS
SELECT *
FROM dbo.' + @tableName + '
WHERE ' + @intezmenyColumn + ' = ' + CAST(@intezmenyId AS varchar(10)) + '
' + ISNULL('AND ' + @tanevColumn + ' = ' + CAST(@tanevId AS varchar(10)), '') + '
' + IIF(@isIdentity = 2, '', 'AND TOROLT = ''F''') + ';'
IF @pDebugMode = 1 PRINT @schemaName + '.' + @tableName + ' (normal)'
EXEC sp_executesql @sql
SET @sql = N'
CREATE OR ALTER VIEW ' + @schemaName + '.' + @tableName + '_OSSZES AS
SELECT *
FROM dbo.' + @tableName + '
WHERE ' + @intezmenyColumn + ' = ' + CAST(@intezmenyId AS varchar(10)) + ';'
IF @pDebugMode = 1 PRINT @schemaName + '.' + @tableName + '_OSSZES (normal osszes)'
EXEC sp_executesql @sql
END
FETCH NEXT FROM ViewCursor
INTO @tableName, @isIdentity, @schemaName, @intezmenyId, @tanevId, @tanevColumn, @intezmenyColumn
END
CLOSE ViewCursor
DEALLOCATE ViewCursor
-- Kapcsolótáblák + T_INTEZMENY
DECLARE ViewCursorKapcs CURSOR LOCAL FOR
SELECT tbl.name AS TableName , '[' + s.SchemaName + ']' AS SchemaName, 0 AS OsszesView
FROM sys.tables tbl
INNER JOIN #Table t ON t.TableName COLLATE HUNGARIAN_CI_AS = tbl.name COLLATE HUNGARIAN_CI_AS
CROSS JOIN #Schema s
WHERE NOT EXISTS (SELECT 1 FROM sys.columns x WHERE x.object_id = tbl.object_id AND x.name = 'ID')
AND tbl.schema_id = 1
AND s.SchemaName <> 'dbo'
UNION ALL
SELECT tbl.name, '[' + s.SchemaName + ']', 1
FROM sys.tables tbl
INNER JOIN #Table t ON t.TableName COLLATE HUNGARIAN_CI_AS = tbl.name COLLATE HUNGARIAN_CI_AS
CROSS JOIN #Schema s
WHERE NOT EXISTS (SELECT 1 FROM sys.columns x WHERE x.object_id = tbl.object_id AND x.name = 'C_INTEZMENYID')
AND NOT EXISTS (SELECT 1 FROM sys.columns x WHERE x.object_id = tbl.object_id AND x.name = 'C_ALINTEZMENYID')
AND EXISTS (SELECT 1 FROM sys.columns x WHERE x.object_id = tbl.object_id AND x.name = 'ID')
AND tbl.schema_id = 1
AND s.SchemaName <> 'dbo'
ORDER BY SchemaName, TableName
OPEN ViewCursorKapcs
FETCH NEXT FROM ViewCursorKapcs
INTO @tableName, @schemaName, @osszesView
WHILE @@FETCH_STATUS = 0 BEGIN
IF @osszesView = 1 BEGIN
SET @sql = N'
CREATE OR ALTER VIEW ' + @schemaName + '.' + @tableName + '_OSSZES AS
SELECT *
FROM dbo.' + @tableName + ';'
IF @pDebugMode = 1 PRINT @schemaName + '.' + @tableName + '_OSSZES (kapcsolótábla)'
EXEC sp_executesql @sql
END
SET @sql = N'
CREATE OR ALTER VIEW ' + @schemaName + '.' + @tableName + ' AS
SELECT *
FROM dbo.' + @tableName + IIF(@osszesView = 1, ' WHERE TOROLT = ''F''', '') + ';'
IF @pDebugMode = 1 PRINT @schemaName + '.' + @tableName + ' (nem intézményhez köthető tábla)'
EXEC sp_executesql @sql
FETCH NEXT FROM ViewCursorKapcs
INTO @tableName, @schemaName, @osszesView
END
CLOSE ViewCursorKapcs
DEALLOCATE ViewCursorKapcs
END
GO