kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/sp_AktivTanevValtasa.sql
2024-03-13 00:33:46 +01:00

1134 lines
35 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS dbo.sp_AktivTanevValtasa
GO
CREATE PROCEDURE dbo.sp_AktivTanevValtasa
@pIntezmenyId int
,@pAktTanevId int
,@pKovTanevId int
,@pFelhasznaloId int
WITH EXECUTE AS 'kreta_tech_user'
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@aktTanevVege datetime
,@tanevElsoNapja datetime
,@ValtasDatuma datetime
,@TanevNev nvarchar(20)
,@ElsoTanitasiNap nvarchar(4)
,@UtolsoTanitasiNap nvarchar(4)
,@TanevNeveNew nvarchar(20)
SET @ValtasDatuma = GETDATE()
SELECT
@tanevElsoNapja = C_KEZDONAP
,@TanevNev = C_NEV
,@tanevNeveNew = CONCAT(YEAR(C_UTOLSOTANITASINAP), '/', YEAR(C_UTOLSOTANITASINAP) + 1)
,@elsoTanitasiNap = FORMAT(C_ELSOTANITASINAP, 'MMdd')
,@utolsoTanitasiNap = FORMAT(C_UTOLSOTANITASINAP, 'MMdd')
FROM T_TANEV_OSSZES
WHERE ID = @pKovTanevId
UPDATE T_TANEV_OSSZES
SET
C_AKTIVALVA = @ValtasDatuma
,MODIFIER = @pFelhasznaloId
WHERE ID = @pKovTanevId
IF @@ROWCOUNT = 0 THROW 50001, N'A megadott következő tanév ID nem létezik', 0;
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
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
) 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
,TOROLT AS TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,@pFelhasznaloId AS MODIFIER
,@pFelhasznaloId AS CREATOR
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.ELOZOTANEVIREKORDID = a.ID
INNER JOIN T_ALKALMAZOTT_OSSZES alk ON alk.ID = a.ID AND alk.C_ALTANEVID = a.C_TANEVID and alk.TOROLT = 'F'
INNER JOIN T_ALKALMAZOTT_OSSZES alk0 ON alk0.ID = b.ID AND alk0.C_ALTANEVID = b.C_TANEVID and alk0.TOROLT = 'F'
WHERE a.C_TANEVID = @pAktTanevId
AND b.C_TANEVID = @pKovTanevId
AND a.TOROLT = 'F'
AND b.TOROLT = 'F'
AND NOT EXISTS (SELECT 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 T_ALKALMAZOTT_OSSZES newA ON newA.ID = newF.ID AND newA.TOROLT = 'F'
INNER JOIN (
SELECT
f.ID
,sz.C_SZEREPKORTIPUS
FROM T_FELHASZNALO_OSSZES f
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = f.ID AND a.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_SZEREPKOR fsz ON fsz.C_FELHASZNALOID = f.ID
INNER JOIN T_SZEREPKOR_OSSZES sz ON sz.ID = fsz.C_SZEREPKORID AND sz.TOROLT = 'F'
WHERE f.C_UTONEV NOT IN ('Adminisztrátor', 'Fenntartó')
AND f.C_TANEVID = @pAktTanevId
AND f.C_INTEZMENYID = @pIntezmenyId
AND f.TOROLT = 'F'
) oldF ON oldF.ID = newF.ELOZOTANEVIREKORDID
INNER JOIN T_SZEREPKOR_OSSZES newSz ON newSz.C_SZEREPKORTIPUS = oldF.C_SZEREPKORTIPUS
AND newSz.C_TANEVID = @pKovTanevId
AND newSz.C_INTEZMENYID = @pIntezmenyId
AND newSz.TOROLT = 'F'
WHERE newF.C_INTEZMENYID = @pIntezmenyId
AND newF.C_TANEVID = @pKovTanevId
AND newF.TOROLT = 'F'
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALO_SZEREPKOR WHERE C_FELHASZNALOID = newF.ID AND C_SZEREPKORID = newSz.ID)
INSERT INTO T_JOGOSULTSAG_FELHASZNALO (C_JOGOSULTSAGID, C_FELHASZNALOID)
SELECT DISTINCT
newF.ID
,newSz.ID
FROM T_FELHASZNALO_OSSZES newF
INNER JOIN T_ALKALMAZOTT_OSSZES newA ON newA.ID = newF.ID AND newA.TOROLT = 'F'
INNER JOIN (
SELECT
f.ID
,j.C_SZEREPKORTIPUS
FROM T_FELHASZNALO_OSSZES f
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = f.ID AND a.TOROLT = 'F'
INNER JOIN T_JOGOSULTSAG_FELHASZNALO jfh ON jfh.C_FELHASZNALOID = f.ID
INNER JOIN T_JOGOSULTSAG_OSSZES j ON j.ID = jfh.C_JOGOSULTSAGID AND j.TOROLT = 'F'
WHERE f.C_UTONEV NOT IN ('Adminisztrátor', 'Fenntartó')
AND f.C_TANEVID = @pAktTanevId
AND f.C_INTEZMENYID = @pIntezmenyId
AND f.TOROLT = 'F'
) oldF ON oldF.ID = newF.ELOZOTANEVIREKORDID
INNER JOIN T_JOGOSULTSAG_OSSZES newSz ON newSz.C_SZEREPKORTIPUS = oldF.C_SZEREPKORTIPUS
AND newSz.C_TANEVID = @pKovTanevId
AND newSz.C_INTEZMENYID = @pIntezmenyId
AND newSz.TOROLT = 'F'
WHERE newF.C_INTEZMENYID = @pIntezmenyId
AND newF.C_TANEVID = @pKovTanevId
AND newF.TOROLT = 'F'
AND NOT EXISTS (SELECT 1 FROM T_JOGOSULTSAG_FELHASZNALO jf WHERE jf.C_FELHASZNALOID = newF.ID AND jf.C_JOGOSULTSAGID = 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_KERESESINEV
,C_SZULETESIORSZAG
,C_SZULETESINEVSORREND
,C_ANYJANEVESORREND
,C_ALAPERTELMEZETTLCID
,C_LATASSERULTWEBHASZNALATA
,C_SMSSZAM
,C_SMSSZINKRONIZALT
,C_KELLADSZINKRONIZALAS
,C_DMSTARTTIME
,C_NYOMTATASINEV
,C_UTONEV
,C_VEZETEKNEV
,C_ADOAZONOSITOJEL
,C_ELOTAG
,C_ANYANYELVE
,C_IGAZOLVANYSZAM
,C_IGAZOLVANYTIPUSA
,C_NEVSORREND
,C_NYILVANTARTASISZAM
,C_NYILVANTARTASKEZDETE
,C_OKTATASIAZONOSITO
,C_OMKOD
,C_ALAIRAS
,C_PROFILKEP
,C_KIRAZONOSITO
,C_ALLAMPOLGARSAGA2
,C_FENNTARTOAZONOSITO
,C_IMPORTALT
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,C_BELUGYALTALAZONOSITOTT
,C_UTOLSOADATFRISSITESIDOPONTJA
,C_EGYEDIAZONOSITO
,C_IDPEGYEDIAZONOSITO
,C_MEGJEGYZES
) SELECT
C_NEME
,C_SZULETESIDATUM
,C_SZULETESINEV
,C_ANYJANEVE
,C_SZULETESIHELY
,C_TAJSZAM
,C_ALLAMPOLGARSAGA
,C_KERESESINEV
,C_SZULETESIORSZAG
,C_SZULETESINEVSORREND
,C_ANYJANEVESORREND
,C_ALAPERTELMEZETTLCID
,C_LATASSERULTWEBHASZNALATA
,C_SMSSZAM
,C_SMSSZINKRONIZALT
,C_KELLADSZINKRONIZALAS
,C_DMSTARTTIME
,C_NYOMTATASINEV
,C_UTONEV
,C_VEZETEKNEV
,C_ADOAZONOSITOJEL
,C_ELOTAG
,C_ANYANYELVE
,C_IGAZOLVANYSZAM
,C_IGAZOLVANYTIPUSA
,C_NEVSORREND
,C_NYILVANTARTASISZAM
,C_NYILVANTARTASKEZDETE
,C_OKTATASIAZONOSITO
,C_OMKOD
,C_ALAIRAS
,C_PROFILKEP
,C_KIRAZONOSITO
,C_ALLAMPOLGARSAGA2
,C_FENNTARTOAZONOSITO
,C_IMPORTALT
,C_INTEZMENYID
,@pKovTanevId
,'F'
,0
,GETDATE()
,GETDATE()
,@pFelhasznaloId
,@pFelhasznaloId
,fh.ID
,C_BELUGYALTALAZONOSITOTT
,C_UTOLSOADATFRISSITESIDOPONTJA
,C_EGYEDIAZONOSITO
,C_IDPEGYEDIAZONOSITO
,C_MEGJEGYZES
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_ELFOGADOTTGDPRNYILATKOZAT
,C_GDPRELFOGADASDATUMA
,C_IMPORTALT
,C_FELHASZNALOID
,C_GONDVISELOID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) SELECT
C_KOTELEZOVALTOZTATNI
,C_MEGHIUSULTBELEPESEK
,C_UTOLSOBELEPES
,C_JELSZO
,C_JELSZOVALTOZTATASIDEJE
,C_SO
,C_BEJELENTKEZESINEV
,C_NEPTUNNAPLOJELSZO
,C_ELFOGADOTTGDPRNYILATKOZAT
,C_GDPRELFOGADASDATUMA
,fhb.C_IMPORTALT
,fh.ID
,NULL
,fhb.C_INTEZMENYID
,@pKovTanevId
,'F'
,0
,GETDATE()
,GETDATE()
,@pFelhasznaloId
,@pFelhasznaloId
,fhb.ID
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'
AND fhb.C_TANEVID = @pAktTanevId
AND fh.C_TANEVID = @pKovTanevId
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)
AND fh.C_TANEVID = @pKovTanevId
AND szUj.C_TANEVID = @pKovTanevId
INSERT INTO T_JOGOSULTSAG_FELHASZNALO (
C_FELHASZNALOID
,C_JOGOSULTSAGID
) SELECT
fh.ID
,jUj.ID
FROM T_JOGOSULTSAG_FELHASZNALO jfh
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = jfh.C_FELHASZNALOID AND fh.TOROLT = 'F'
INNER JOIN T_JOGOSULTSAG_OSSZES jUj ON jUj.ELOZOTANEVIREKORDID = jfh.C_JOGOSULTSAGID
WHERE jfh.C_FELHASZNALOID IN (SELECT ID FROM #tmpIds)
AND fh.C_TANEVID = @pKovTanevId
AND jUj.C_TANEVID = @pKovTanevId
--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'
,MODIFIER = @pFelhasznaloId
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE ID = @pAktTanevId
AND C_INTEZMENYID = @pIntezmenyId
AND TOROLT = 'F'
UPDATE T_TANEV_OSSZES SET
C_AKTIV = 'T'
,C_KOVETKEZO = 'F'
,MODIFIER = @pFelhasznaloId
,LASTCHANGED = GETDATE()
,SERIAL += 1
WHERE ID = @pKovTanevId
AND C_INTEZMENYID = @pIntezmenyId
AND TOROLT = 'F';
SELECT @aktTanevVege = C_UTOLSONAP FROM T_TANEV WHERE ID = @pAktTanevId
UPDATE tgyKov
SET ELOZOTANEVIREKORDID = tgyAkt.ID
FROM T_TANTARGY_OSSZES tgyAkt
INNER JOIN T_TANTARGY_OSSZES tgyKov ON tgyKov.TOROLT = 'F' AND tgyKov.C_TANEVID = @pKovTanevId
WHERE tgyAkt.C_TANEVID = @pAktTanevId
AND tgyAkt.TOROLT = 'F'
AND tgyAkt.C_NEV = tgyKov.C_NEV
AND tgyKov.ELOZOTANEVIREKORDID IS NULL;
-- 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
) SELECT
ertip.ID AS C_ERTEKELESTIPUSA -- int
,evtip.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
FROM T_ERTEKELESMONDATBANK_OSSZES mb
LEFT JOIN T_TANTARGY_OSSZES tgy ON tgy.ELOZOTANEVIREKORDID = mb.C_TANTARGYID AND tgy.TOROLT = 'F' AND tgy.C_TANEVID = @pKovTanevId
LEFT JOIN T_ERTEKELESTIPUS_OSSZES ertip ON ertip.ELOZOTANEVIREKORDID = mb.C_ERTEKELESTIPUSA AND ertip.C_ALTANEVID = @pKovTanevId AND ertip.TOROLT = 'F'
LEFT JOIN T_EVFOLYAMTIPUS_OSSZES evtip ON evtip.ELOZOTANEVIREKORDID = mb.C_EVFOLYAMTIPUSA AND evtip.C_ALTANEVID = @pKovTanevId AND evtip.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
,ELOZOTANEVIREKORDID
,C_FELMENTESROGZITOTANARID
,C_FELMENTESROGZITESIDOPONTJA
,C_UTOLSOMODOSITOTANARID
,C_UTOLSOMODOSITASIDOPONTJA
) 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
,tm.ID AS ELOZOTANEVIREKORDID -- int
,tm.C_FELMENTESROGZITOTANARID
,tm.C_FELMENTESROGZITESIDOPONTJA
,tm.C_UTOLSOMODOSITOTANARID
,tm.C_UTOLSOMODOSITASIDOPONTJA
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
)
-- TODO szikoraz ERTEKELES REFAKT2 ERTEKELESMOD: Ha töröljük a T_TANARIATLAGSULY táblát, akkor törölni kell a T_TANARIATLAGSULY-os DELETE-et és az INSERT INTO-t!
-- köztes időszakban a módosítások nem mennek át, de a rekordok ott vannak, ezért váltás után egy régi állapot lenne a súlyokból
DELETE FROM T_TANARIATLAGSULY_OSSZES WHERE C_TANEVID = @pKovTanevId
-- SULYok átvitele
INSERT INTO T_TANARIATLAGSULY (
C_SULY
,C_ERTEKELESMODID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) SELECT
tas.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
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 ele.C_TANEVID = @pKovTanevId
AND gv.C_TANEVID = @pKovTanevId
AND fh.C_TANEVID = @pKovTanevId
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_ELFOGADOTTGDPRNYILATKOZAT
,C_GDPRELFOGADASDATUMA
,C_IMPORTALT
,C_FELHASZNALOID
,C_GONDVISELOID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) 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_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
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 fhuj.C_TANEVID = @pKovTanevId
AND fb.C_GONDVISELOID IS NULL
AND fh.C_TANEVID = @pAktTanevId
AND t.C_ALTANEVID = @pAktTanevId
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_ELFOGADOTTGDPRNYILATKOZAT
,C_GDPRELFOGADASDATUMA
,C_IMPORTALT
,C_FELHASZNALOID
,C_GONDVISELOID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) 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_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
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 g.C_TANEVID = @pAktTanevId
AND gUj.C_TANEVID = @pKovTanevId
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
INSERT INTO T_USERPROFILE_OSSZES (
C_PROFILE
,C_FELHASZNALOID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
,C_ISPOPUPMEGJELENITES
,C_OSSZFELTOLTHETOFAJLKB
) SELECT
up.C_PROFILE AS C_PROFILE
,fh.ID
,fh.C_INTEZMENYID
,fh.C_TANEVID
,'F' AS TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,@pFelhasznaloId AS MODIFIER
,@pFelhasznaloId AS CREATOR
,up.ID AS ELOZOTANEVIREKORDID
,up.C_ISPOPUPMEGJELENITES AS C_ISPOPUPMEGJELENITES
,up.C_OSSZFELTOLTHETOFAJLKB AS C_OSSZFELTOLTHETOFAJLKB
FROM T_USERPROFILE_OSSZES up
INNER JOIN T_FELHASZNALO_OSSZES fh ON up.C_FELHASZNALOID = fh.ELOZOTANEVIREKORDID
AND up.TOROLT = 'F'
WHERE fh.TOROLT = 'F'
AND fh.C_TANEVID = @pKovTanevId
AND up.C_TANEVID = @pAktTanevId
AND NOT EXISTS (SELECT 1 FROM T_USERPROFILE_OSSZES u WHERE u.C_TANEVID = @pKovTanevId AND u.C_FELHASZNALOID = fh.ID AND u.TOROLT = 'F')
INSERT INTO T_UJSZKTRESZSZAKMAOSSZERENDELE (
C_AGAZATRESZSZAKMATIPUSID
,C_OKTATASINEVELESIFELADATID
,C_RESZSZAKMATIPUSID
,C_SZAKMARESZSZAKMATIPUSID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) SELECT
szkt.C_AGAZATRESZSZAKMATIPUSID
,szkt.C_OKTATASINEVELESIFELADATID
,szkt.C_RESZSZAKMATIPUSID
,szkt.C_SZAKMARESZSZAKMATIPUSID
,szkt.C_INTEZMENYID
,@pKovTanevId
,'F' AS TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,@pFelhasznaloId AS MODIFIER
,@pFelhasznaloId AS CREATOR
,szkt.ID AS ELOZOTANEVIREKORDID
FROM T_UJSZKTRESZSZAKMAOSSZERENDELE szkt
WHERE szkt.TOROLT = 'F'
AND szkt.C_TANEVID = @pAktTanevId
AND NOT EXISTS (SELECT 1 FROM T_UJSZKTRESZSZAKMAOSSZERENDELE_OSSZES u WHERE szkt.ID = u.ELOZOTANEVIREKORDID AND u.C_TANEVID = @pKovTanevId AND u.TOROLT = 'F')
INSERT INTO T_UJSZKTSZAKMAJEGYZEKOSSZEREND(
C_AGAZATUJSZKTTIPUSID
,C_OKTATASINEVELESIFELADATID
,C_SZAKMAIRANYTIPUSID
,C_SZAKMATIPUSID
,C_EGYEBESZKOZALLOMANYINFORMACI
,C_ESZKOZALLOMANYAVULTSAGA
,C_ESZKOZOKDARABSZAMA
,C_KEPZESREFOGADHATOTANULOKSZAM
,C_TANMUHELYEKSZAMA
,C_FILEID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) SELECT
szktsz.C_AGAZATUJSZKTTIPUSID
,szktsz.C_OKTATASINEVELESIFELADATID
,szktsz.C_SZAKMAIRANYTIPUSID
,szktsz.C_SZAKMATIPUSID
,szktsz.C_EGYEBESZKOZALLOMANYINFORMACI
,szktsz.C_ESZKOZALLOMANYAVULTSAGA
,szktsz.C_ESZKOZOKDARABSZAMA
,szktsz.C_KEPZESREFOGADHATOTANULOKSZAM
,szktsz.C_TANMUHELYEKSZAMA
,szktsz.C_FILEID
,szktsz.C_INTEZMENYID
,@pKovTanevId
,'F' AS TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,@pFelhasznaloId AS MODIFIER
,@pFelhasznaloId AS CREATOR
,szktsz.ID AS ELOZOTANEVIREKORDID
FROM T_UJSZKTSZAKMAJEGYZEKOSSZEREND szktsz
WHERE szktsz.TOROLT = 'F'
AND szktsz.C_TANEVID = @pAktTanevId
AND NOT EXISTS (SELECT 1 FROM T_UJSZKTSZAKMAJEGYZEKOSSZEREND_OSSZES u WHERE u.ELOZOTANEVIREKORDID = szktsz.ID and u.C_TANEVID = @pKovTanevId AND u.TOROLT = 'F')
INSERT INTO T_NKTOSSZERENDELES(
C_OKTATASINEVELESIFELADATID
,C_SZAKIRANYNKTTIPUSID
,C_SZAKKEPESITESNKTTIPUSID
,C_TANULMANYITERULETNKTTIPUSID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) SELECT
nkt.C_OKTATASINEVELESIFELADATID
,nkt.C_SZAKIRANYNKTTIPUSID
,nkt.C_SZAKKEPESITESNKTTIPUSID
,nkt.C_TANULMANYITERULETNKTTIPUSID
,nkt.C_INTEZMENYID
,@pKovTanevId
,'F' AS TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,@pFelhasznaloId AS MODIFIER
,@pFelhasznaloId AS CREATOR
,nkt.ID AS ELOZOTANEVIREKORDID
FROM T_NKTOSSZERENDELES nkt
WHERE nkt.TOROLT = 'F'
AND nkt.C_TANEVID = @pAktTanevId
AND NOT EXISTS (SELECT 1 FROM T_NKTOSSZERENDELES_OSSZES u WHERE u.ELOZOTANEVIREKORDID = nkt.ID and u.C_TANEVID = @pKovTanevId AND u.TOROLT = 'F')
INSERT INTO T_REGISZKTOSSZERENDELES(
C_AGAZATTIPUSID
,C_OKTATASINEVELESIFELADATID
,C_SZAKKEPESITESTIPUSID
,C_SZAKMACSOPORTTIPUSID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) SELECT
rszkt.C_AGAZATTIPUSID
,rszkt.C_OKTATASINEVELESIFELADATID
,rszkt.C_SZAKKEPESITESTIPUSID
,rszkt.C_SZAKMACSOPORTTIPUSID
,rszkt.C_INTEZMENYID
,@pKovTanevId
,'F' AS TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,@pFelhasznaloId AS MODIFIER
,@pFelhasznaloId AS CREATOR
,rszkt.ID AS ELOZOTANEVIREKORDID
FROM T_REGISZKTOSSZERENDELES rszkt
WHERE rszkt.TOROLT = 'F'
AND rszkt.C_TANEVID = @pAktTanevId
AND NOT EXISTS (SELECT 1 FROM T_REGISZKTOSSZERENDELES_OSSZES u WHERE u.ELOZOTANEVIREKORDID = rszkt.ID and u.C_TANEVID = @pKovTanevId AND u.TOROLT = 'F')
INSERT INTO T_ESZKOZIGENYLES(
C_ASZFELFOGADASIDEJE
,C_ISELFOGADOTTASZF
,C_ISESZKOZKIOSZTVA
,C_ESZKOZIGENYLESSTATUSZID
,C_GONDVISELOID
,C_TANULOID
,C_ALKALMAZOTTID
,C_FELADATELLATASIHELYID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) SELECT
ei.C_ASZFELFOGADASIDEJE
,ei.C_ISELFOGADOTTASZF
,ei.C_ISESZKOZKIOSZTVA
,ei.C_ESZKOZIGENYLESSTATUSZID
,gv.ID AS C_GONDVISELOID
,fh.ID AS C_TANULOID
,fh2.ID AS C_ALKALMAZOTTID
,fe.ID AS C_FELADATELLATASIHELYID
,ei.C_INTEZMENYID
,@pKovTanevId
,ei.TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,@pFelhasznaloId AS MODIFIER
,@pFelhasznaloId AS CREATOR
,ei.ID AS ELOZOTANEVIREKORDID
FROM T_ESZKOZIGENYLES ei
LEFT JOIN T_GONDVISELO_OSSZES gv ON gv.ELOZOTANEVIREKORDID = ei.C_GONDVISELOID AND gv.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES fh ON fh.ELOZOTANEVIREKORDID = ei.C_TANULOID AND fh.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES fh2 ON fh2.ELOZOTANEVIREKORDID = ei.C_ALKALMAZOTTID AND fh2.TOROLT = 'F'
LEFT JOIN T_FELADATELLATASIHELY fe ON fe.ELOZOTANEVIREKORDID = ei.C_FELADATELLATASIHELYID AND fe.TOROLT = 'F'
WHERE ei.C_TANEVID = @pAktTanevId
AND NOT EXISTS (SELECT 1 FROM T_ESZKOZIGENYLES_OSSZES u WHERE u.C_TANEVID = @pKovTanevId AND u.ELOZOTANEVIREKORDID = ei.ID)
INSERT INTO T_TANULASIEGYSEG(
C_SZAKMATIPUSID
,C_SZAKMAIRANYTIPUSID
,C_SORSZAM
,C_SZOVEG
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
,ELOZOTANEVIREKORDID
) SELECT
te.C_SZAKMATIPUSID
,te.C_SZAKMAIRANYTIPUSID
,te.C_SORSZAM
,te.C_SZOVEG
,te.C_INTEZMENYID
,@pKovTanevId
,'F' AS TOROLT
,0 AS SERIAL
,GETDATE() AS LASTCHANGED
,GETDATE() AS CREATED
,@pFelhasznaloId AS MODIFIER
,@pFelhasznaloId AS CREATOR
,te.ID AS ELOZOTANEVIREKORDID
FROM T_TANULASIEGYSEG te
WHERE te.TOROLT = 'F'
AND te.C_TANEVID = @pAktTanevId
AND NOT EXISTS (SELECT 1 FROM T_TANULASIEGYSEG_OSSZES u WHERE u.C_TANEVID = @pKovTanevId AND u.TOROLT = 'F' AND u.ELOZOTANEVIREKORDID = te.ID)
---------- T_DKT_ALKALMAZOTTBEALLITAS ----------
DECLARE
@colInsert nvarchar(max)
,@colSelect nvarchar(max)
,@sql nvarchar(max)
SELECT @colInsert = ISNULL(@colInsert + ', ', '') + c.name
FROM sys.columns c
INNER JOIN sys.tables t ON t.object_id = c.object_id
WHERE t.name = 'T_DKT_ALKALMAZOTTBEALLITAS'
AND c.is_identity = 0
ORDER BY c.column_id
SELECT @colSelect = ISNULL(@colSelect + ', ', '') +
CASE c.name
WHEN 'C_TANEVID' THEN '@pKovTanevId'
WHEN 'SERIAL' THEN '0'
WHEN 'CREATOR' THEN '0'
WHEN 'CREATED' THEN 'GETDATE()'
WHEN 'LASTCHANGED' THEN 'GETDATE()'
WHEN 'MODIFIER' THEN 'NULL'
WHEN 'C_ALKALMAZOTTID' THEN 'x.ID'
ELSE 'b.' + c.name
END
FROM sys.columns c
INNER JOIN sys.tables t ON t.object_id = c.object_id
WHERE t.name = 'T_DKT_ALKALMAZOTTBEALLITAS'
AND c.is_identity = 0
ORDER BY c.column_id
SET @sql = N'
INSERT INTO T_DKT_ALKALMAZOTTBEALLITAS (' + @colInsert + ')
SELECT ' + @colSelect + '
FROM T_DKT_ALKALMAZOTTBEALLITAS b
INNER JOIN T_ALKALMAZOTT x ON x.ELOZOTANEVIREKORDID = b.C_ALKALMAZOTTID
WHERE b.C_TANEVID = @pAktTanevId
AND b.TOROLT = ''F''
AND x.C_ALTANEVID = @pKovTanevId
AND NOT EXISTS (SELECT 1 FROM T_DKT_ALKALMAZOTTBEALLITAS u WHERE u.C_TANEVID = @pKovTanevId AND u.C_ALKALMAZOTTID = x.ID AND u.TOROLT = ''F'')
'
EXEC sp_executesql @sql, N'@pAktTanevId int ,@pKovTanevId int', @pAktTanevId, @pKovTanevId
---------- T_DKT_TANULOBEALLITAS ----------
SET @colInsert = NULL
SET @colSelect = NULL
SET @sql = NULL
SELECT @colInsert = ISNULL(@colInsert + ', ', '') + c.name
FROM sys.columns c
INNER JOIN sys.tables t ON t.object_id = c.object_id
WHERE t.name = 'T_DKT_TANULOBEALLITAS'
AND c.is_identity = 0
ORDER BY c.column_id
SELECT @colSelect = ISNULL(@colSelect + ', ', '') +
CASE c.name
WHEN 'C_TANEVID' THEN '@pKovTanevId'
WHEN 'SERIAL' THEN '0'
WHEN 'CREATOR' THEN '0'
WHEN 'CREATED' THEN 'GETDATE()'
WHEN 'LASTCHANGED' THEN 'GETDATE()'
WHEN 'MODIFIER' THEN 'NULL'
WHEN 'C_TANULOID' THEN 'x.ID'
ELSE 'b.' + c.name
END
FROM sys.columns c
INNER JOIN sys.tables t ON t.object_id = c.object_id
WHERE t.name = 'T_DKT_TANULOBEALLITAS'
AND c.is_identity = 0
ORDER BY c.column_id
SET @sql = N'
INSERT INTO T_DKT_TANULOBEALLITAS (' + @colInsert + ')
SELECT ' + @colSelect + '
FROM T_DKT_TANULOBEALLITAS b
INNER JOIN T_TANULO x ON x.ELOZOTANEVIREKORDID = b.C_TANULOID
WHERE b.C_TANEVID = @pAktTanevId
AND b.TOROLT = ''F''
AND x.C_ALTANEVID = @pKovTanevId
AND NOT EXISTS (SELECT 1 FROM T_DKT_TANULOBEALLITAS u WHERE u.C_TANEVID = @pKovTanevId AND u.C_TANULOID = x.ID AND u.TOROLT = ''F'')
'
EXEC sp_executesql @sql, N'@pAktTanevId int ,@pKovTanevId int', @pAktTanevId, @pKovTanevId
IF @ValtasDatuma BETWEEN CAST(RIGHT(@TanevNev, 4) + '-04-01' AS DATE) AND CAST(RIGHT(@TanevNev, 4) + '-06-01' AS DATE)
EXEC dev.uspGenerateNemKivalaszthatoTanev
@tanevNev = @TanevNeveNew,
@intezmenyId = @pIntezmenyId,
@elsoTanitasiNap = @elsoTanitasiNap,
@utolsoTanitasiNap = @utolsoTanitasiNap
IF @ValtasDatuma > CAST(RIGHT(@TanevNev, 4) + '-06-01' AS DATE)
EXEC dev.uspGenerateTanevAdatokFromExistingTanev
@intezmenyId = @pIntezmenyId,
@tanevNeveNew = @TanevNeveNew,
@tanevNeveSource = @TanevNev,
@kovetkezoTanev = 1
END
GO