init
This commit is contained in:
+532
@@ -0,0 +1,532 @@
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_KIRImportTanulok]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_KIRImportTanulok]
|
||||
@TanulokXML as XML,
|
||||
@intezmenyID int,
|
||||
@tanevID int,
|
||||
@userId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE
|
||||
@userNameGenerateMode int
|
||||
|
||||
DECLARE @linkTable TABLE (
|
||||
tempId int,
|
||||
insertedId int,
|
||||
act varchar(10)
|
||||
)
|
||||
|
||||
-- XML paraméter értelmezése
|
||||
SELECT ID = Tanulo.value('(ID)[1]', 'int'),
|
||||
OktatasiAzonosito = Tanulo.value('(OktatasiAzonosito)[1]', 'nvarchar(20)'),
|
||||
VezetekNev = Tanulo.value('(ViseltNevVezetekNev)[1]', 'nvarchar(255)'),
|
||||
UtoNev = Tanulo.value('(ViseltNevKeresztNev)[1]', 'nvarchar(255)'),
|
||||
Elotag = Tanulo.value('(ViseltNevElotag)[1]', 'nvarchar(20)'),
|
||||
NevSorrend = Tanulo.value('(ViseltNevNevSorrend)[1]', 'char(1)'),
|
||||
SzuletesiNeveElotag = Tanulo.value('(SzuletesiNevElotag)[1]', 'nvarchar(20)'),
|
||||
SzuletesiNeve = Tanulo.value('(SzuletesiNeve)[1]', 'nvarchar(64)'),
|
||||
SzuletesiNevVezetekNev = Tanulo.value('(SzuletesiNevVezetekNev)[1]', 'nvarchar(255)'),
|
||||
SzuletesiNevKeresztNev = Tanulo.value('(SzuletesiNevKeresztNev)[1]', 'nvarchar(255)'),
|
||||
SzuletesiNevNevSorrend = Tanulo.value('(SzuletesiNevNevSorrend)[1]', 'char(1)'),
|
||||
AnyjaNeveElotag = Tanulo.value('(AnyjaNeveElotag)[1]', 'nvarchar(20)'),
|
||||
AnyjaNeve = Tanulo.value('(AnyjaNeve)[1]', 'nvarchar(64)'),
|
||||
AnyjaNeveVezetekNev = Tanulo.value('(AnyjaNeveVezetekNev)[1]', 'nvarchar(255)'),
|
||||
AnyjaNeveKeresztNev = Tanulo.value('(AnyjaNeveKeresztNev)[1]', 'nvarchar(255)'),
|
||||
AnyjaNeveNevSorrend = Tanulo.value('(AnyjaNeveNevSorrend)[1]', 'char(1)'),
|
||||
SzuletesiDatum = Tanulo.value('(SzuletesiDatum)[1]', 'datetime'),
|
||||
SzuletesiHely = Tanulo.value('(SzuletesiHely)[1]', 'nvarchar(50)'),
|
||||
SzuletesiOrszag = Tanulo.value('(SzuletesiOrszag)[1]', 'int'),
|
||||
Allampolgarsag = Tanulo.value('(Allampolgarsag)[1]', 'int'),
|
||||
Allampolgarsag2 = Tanulo.value('(Allampolgarsag2)[1][not(@xsi:nil = "true")]', 'int'),
|
||||
Nem = Tanulo.value('(Nem)[1]', 'int'),
|
||||
TAJSzam = Tanulo.value('(TAJSzam)[1]', 'nvarchar(9)'),
|
||||
AllandoLakcimIranyitoSzam = Tanulo.value('(AllandoLakcimIranyitoSzam)[1]', 'nvarchar(20)'),
|
||||
AllandoLakcimTelepules = Tanulo.value('(AllandoLakcimTelepules)[1]', 'nvarchar(50)'),
|
||||
AllandoLakcimKozteruletNev = Tanulo.value('(AllandoLakcimKozteruletNev)[1]', 'nvarchar(40)'),
|
||||
AllandoLakcimKozteruletJellegNev = Tanulo.value('(AllandoLakcimKozteruletJellegNev)[1]', 'nvarchar(50)'),
|
||||
AllandoLakcimHazszam = Tanulo.value('(AllandoLakcimHazszam)[1]', 'nvarchar(30)'),
|
||||
AllandoLakcimPontositas = Tanulo.value('(AllandoLakcimPontositas)[1]', 'nvarchar(40)'),
|
||||
TartozkodasiCimTelepules = Tanulo.value('(TartozkodasiCimTelepules)[1]', 'nvarchar(50)'),
|
||||
TartozkodasiCimKozteruletNev = Tanulo.value('(TartozkodasiCimKozteruletNev)[1]', 'nvarchar(40)'),
|
||||
TartozkodasiCimKozteruletJellegNev = Tanulo.value('(TartozkodasiCimKozteruletJellegNev)[1]', 'nvarchar(50)'),
|
||||
TartozkodasiCimHazszam = Tanulo.value('(TartozkodasiCimHazszam)[1]', 'nvarchar(30)'),
|
||||
TartozkodasiCimIranyitoszam = Tanulo.value('(TartozkodasiCimIranyitoSzam)[1]', 'nvarchar(20)'),
|
||||
TartozkodasiCimPontositas = Tanulo.value('(TartozkodasiCimPontositas)[1]', 'nvarchar(40)'),
|
||||
TankotelezettsegVege = Tanulo.value('(TankotelezettsegVege)[1]', 'datetime'),
|
||||
TankotelezettsegetTeljesito = Tanulo.value('(TankotelezettsegetTeljesito)[1]', 'char(1)'),
|
||||
SajatosNevelesIgenyu = Tanulo.value('(SajatosNevelesIgenyu)[1]', 'char(1)'),
|
||||
BeilleszkedesselKuzd = Tanulo.value('(BeilleszkedesselKuzd)[1]', 'char(1)'),
|
||||
OMAzonosito = Tanulo.value('(OMAzonosito)[1]', 'nvarchar(20)'),
|
||||
JogviszonyStatusza = Tanulo.value('(JogviszonyStatusza)[1]', 'char(1)'),
|
||||
JogviszonyKezdete = Tanulo.value('(JogviszonyKezdete)[1]', 'datetime'),
|
||||
JogviszonyVarBefejezese = Tanulo.value('(JogviszonyVarBefejezese)[1]', 'datetime'),
|
||||
JogviszonyJellege = Tanulo.value('(JogviszonyJellege)[1]', 'nvarchar(2000)'),
|
||||
Vendegtanulo = Tanulo.value('(Vendegtanulo)[1]', 'char(1)'),
|
||||
Magantanulo = Tanulo.value('(Magantanulo)[1]', 'char(1)'),
|
||||
Osztaly = Tanulo.value('(Osztaly)[1]', 'nvarchar(255)'),
|
||||
KeresesiNev = Tanulo.value('(KeresesiNev)[1]', 'nvarchar(61)'),
|
||||
NyomtatasiNev = Tanulo.value('(NyomtatasiNev)[1]', 'nvarchar(255)'),
|
||||
Telefonszam = Tanulo.value('(Telefonszam)[1]', 'nvarchar(100)'),
|
||||
EmailCim = Tanulo.value('(Email)[1]', 'nvarchar(200)'),
|
||||
BejelentkezesiNev = Tanulo.value('(BejelentkezesiNev)[1]', 'nvarchar(255)'),
|
||||
Jelszo = Tanulo.value('(Jelszo)[1]', 'nvarchar(64)'),
|
||||
Salt = Tanulo.value('(Salt)[1]', 'nvarchar(64)'),
|
||||
BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott = Tanulo.value('(BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott)[1]', 'char(1)'),
|
||||
UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja = Tanulo.value('(UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja)[1]', 'datetime'),
|
||||
ErvenyesDiakigazolvanySzama = Tanulo.value('(ErvenyesDiakigazolvanySzama)[1]', 'nvarchar(255)'),
|
||||
|
||||
0 AS isTanulo,
|
||||
0 TanuloID
|
||||
INTO #tempTanulok
|
||||
FROM @TanulokXML.nodes('/KIRTanulok/ImportaltTanulok/Tanulo') as Tanulok(Tanulo)
|
||||
|
||||
-- A létezo felhasználók ID-ját kitöltjük, és az isTanulot is update-eljük
|
||||
UPDATE t
|
||||
SET t.TanuloID = fh.ID,
|
||||
t.isTanulo = 1
|
||||
FROM #tempTanulok t
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON
|
||||
((t.NevSorrend = fh.C_NEVSORREND AND t.VezetekNev = fh.C_VEZETEKNEV AND t.UtoNev = fh.C_UTONEV)
|
||||
OR (t.VezetekNev = fh.C_UTONEV AND t.UtoNev = fh.C_VEZETEKNEV))
|
||||
AND t.Elotag = fh.C_ELOTAG
|
||||
AND ((t.AnyjaNeveNevSorrend = fh.C_ANYJANEVESORREND AND t.AnyjaNeveVezetekNev = fh.C_ANYJAVEZETEKNEVE AND t.AnyjaNeveKeresztNev = fh.C_ANYJAUTONEVE)
|
||||
OR (t.AnyjaNeveVezetekNev = fh.C_ANYJAUTONEVE AND t.AnyjaNeveKeresztNev = fh.C_ANYJAVEZETEKNEVE))
|
||||
AND t.AnyjaNeveElotag = fh.C_ANYJANEVEELOTAG
|
||||
AND t.SzuletesiDatum = fh.C_SZULETESIDATUM AND t.SzuletesiHely = fh.C_SZULETESIHELY
|
||||
AND ISNULL(t.OktatasiAzonosito,'') = ISNULL(fh.C_OKTATASIAZONOSITO,'')
|
||||
AND EXISTS (SELECT 1 FROM T_TANULO_OSSZES tanulo WHERE tanulo.ID = fh.ID AND tanulo.C_ALTANEVID = fh.C_TANEVID AND tanulo.TOROLT = 'F') --ha letezik tanulokent akkor mindenkepp update, maskepp insert
|
||||
WHERE fh.TOROLT = 'F'
|
||||
AND fh.C_TANEVID = @tanevID
|
||||
AND fh.C_INTEZMENYID = @intezmenyID
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ALKALMAZOTT_OSSZES a WHERE a.ID = fh.ID)
|
||||
AND EXISTS (SELECT 1 FROM T_TANULO_OSSZES tn WHERE tn.ID = fh.ID)
|
||||
|
||||
BEGIN TRY
|
||||
BEGIN TRANSACTION
|
||||
|
||||
-- FELHASZNÁLÓK INSERTJE VAGY UPDATE-JE AKA MERGE
|
||||
MERGE T_FELHASZNALO_OSSZES trg
|
||||
USING #tempTanulok src ON src.TanuloID = trg.ID AND trg.C_TANEVID = @tanevID
|
||||
WHEN MATCHED AND src.isTanulo = 1 THEN
|
||||
UPDATE SET
|
||||
trg.C_NEME = src.Nem,
|
||||
trg.C_SZULETESIDATUM = src.SzuletesiDatum,
|
||||
trg.C_SZULETESINEV = src.SzuletesiNeve,
|
||||
trg.C_ANYJANEVE = src.AnyjaNeve,
|
||||
trg.C_SZULETESIHELY = src.SzuletesiHely,
|
||||
trg.C_TAJSZAM = src.TAJSzam,
|
||||
trg.C_ALLAMPOLGARSAGA = src.Allampolgarsag,
|
||||
trg.C_ALLAMPOLGARSAGA2 = src.Allampolgarsag2,
|
||||
trg.C_KERESESINEV = src.KeresesiNev,
|
||||
trg.C_SZULETESIORSZAG = src.SzuletesiOrszag,
|
||||
trg.C_SZULETESINEVSORREND = src.SzuletesiNevNevSorrend,
|
||||
trg.C_ANYJANEVESORREND = src.AnyjaNeveNevSorrend,
|
||||
trg.C_ALAPERTELMEZETTLCID = 1038,
|
||||
trg.C_NYOMTATASINEV = src.NyomtatasiNev,
|
||||
trg.C_UTONEV = src.UtoNev,
|
||||
trg.C_VEZETEKNEV = src.VezetekNev,
|
||||
trg.C_ELOTAG = src.Elotag,
|
||||
trg.C_NEVSORREND = src.NevSorrend,
|
||||
trg.C_NYILVANTARTASKEZDETE = src.JogviszonyKezdete,
|
||||
trg.C_OMKOD = src.OMAzonosito,
|
||||
trg.TOROLT = 'F',
|
||||
trg.SERIAL = trg.SERIAL + 1,
|
||||
trg.LASTCHANGED = GETDATE(),
|
||||
trg.MODIFIER = @userId,
|
||||
trg.C_OKTATASIAZONOSITO = src.OktatasiAzonosito,
|
||||
trg.C_BELUGYALTALAZONOSITOTT = src.BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott,
|
||||
trg.C_UTOLSOADATFRISSITESIDOPONTJA = src.UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja,
|
||||
trg.C_ANYJAUTONEVE = src.AnyjaNeveKeresztNev,
|
||||
trg.C_ANYJAVEZETEKNEVE = src.AnyjaNeveVezetekNev,
|
||||
trg.C_SZULETESIUTONEV = src.SzuletesiNevKeresztNev,
|
||||
trg.C_SZULETESIVEZETEKNEV = src.SzuletesiNevVezetekNev,
|
||||
trg.C_ANYJANEVEELOTAG = src.AnyjaNeveElotag,
|
||||
trg.C_SZULETESINEVELOTAG = src.SzuletesiNeveElotag
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_NEME
|
||||
,C_SZULETESIDATUM
|
||||
,C_SZULETESINEV
|
||||
,C_ANYJANEVE
|
||||
,C_SZULETESIHELY
|
||||
,C_TAJSZAM
|
||||
,C_ALLAMPOLGARSAGA
|
||||
,C_ALLAMPOLGARSAGA2
|
||||
,C_KERESESINEV
|
||||
,C_SZULETESIORSZAG
|
||||
,C_SZULETESINEVSORREND
|
||||
,C_ANYJANEVESORREND
|
||||
,C_ALAPERTELMEZETTLCID
|
||||
,C_NYOMTATASINEV
|
||||
,C_UTONEV
|
||||
,C_VEZETEKNEV
|
||||
,C_ELOTAG
|
||||
,C_NEVSORREND
|
||||
,C_NYILVANTARTASKEZDETE
|
||||
,C_OKTATASIAZONOSITO
|
||||
,C_OMKOD
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
,C_BELUGYALTALAZONOSITOTT
|
||||
,C_UTOLSOADATFRISSITESIDOPONTJA
|
||||
,C_MEGJEGYZES
|
||||
,C_ANYJAUTONEVE
|
||||
,C_ANYJAVEZETEKNEVE
|
||||
,C_SZULETESIUTONEV
|
||||
,C_SZULETESIVEZETEKNEV
|
||||
,C_ANYJANEVEELOTAG
|
||||
,C_SZULETESINEVELOTAG
|
||||
)
|
||||
VALUES (
|
||||
src.Nem
|
||||
,src.SzuletesiDatum
|
||||
,src.SzuletesiNeve
|
||||
,src.AnyjaNeve
|
||||
,src.SzuletesiHely
|
||||
,src.TAJSzam
|
||||
,src.Allampolgarsag
|
||||
,src.Allampolgarsag2
|
||||
,src.KeresesiNev
|
||||
,src.SzuletesiOrszag
|
||||
,src.SzuletesiNevNevSorrend
|
||||
,src.AnyjaNeveNevSorrend
|
||||
,1038
|
||||
,src.NyomtatasiNev
|
||||
,src.UtoNev
|
||||
,src.VezetekNev
|
||||
,src.Elotag
|
||||
,src.NevSorrend
|
||||
,src.JogviszonyKezdete
|
||||
,src.OktatasiAzonosito
|
||||
,src.OMAzonosito
|
||||
,@intezmenyID
|
||||
,@tanevID
|
||||
,NULL
|
||||
,@userId
|
||||
,src.BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott
|
||||
,src.UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja
|
||||
,src.JogviszonyJellege
|
||||
,src.AnyjaNeveKeresztNev
|
||||
,src.AnyjaNeveVezetekNev
|
||||
,src.SzuletesiNevKeresztNev
|
||||
,src.SzuletesiNevVezetekNev
|
||||
,src.AnyjaNeveElotag
|
||||
,src.SzuletesiNeveElotag
|
||||
)
|
||||
OUTPUT INSERTED.ID, src.ID, $action
|
||||
INTO @linkTable(insertedID, tempId, act);
|
||||
|
||||
MERGE T_TANULO_OSSZES trg
|
||||
USING (
|
||||
SELECT t.*, l.insertedId AS insertedID
|
||||
FROM #tempTanulok t
|
||||
INNER JOIN @linkTable l ON t.ID = l.tempID
|
||||
) src ON src.TanuloID = trg.ID AND trg.C_ALTANEVID = @tanevID AND src.isTanulo = 1
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
trg.C_TANKOTELEZETTSEGVEGE = src.TankotelezettsegVege,
|
||||
trg.C_TANKOTELEZETT = src.TankotelezettsegetTeljesito,
|
||||
trg.C_SAJATOSNEVELESU = src.SajatosNevelesIgenyu,
|
||||
trg.C_BTMPROBLEMAS = src.BeilleszkedesselKuzd,
|
||||
trg.C_JOGVISZONYVARHATOBEFEJEZESE = src.JogviszonyVarBefejezese,
|
||||
trg.C_VENDEG = src.Vendegtanulo,
|
||||
trg.C_MAGANTANULO = src.Magantanulo,
|
||||
trg.C_JOGVISZONYATSZUNETELTETO = src.JogviszonyStatusza,
|
||||
trg.C_FELVETELTANEVEID = @tanevID,
|
||||
trg.TOROLT = 'F',
|
||||
trg.SERIAL = trg.SERIAL + 1,
|
||||
trg.LASTCHANGED = GETDATE(),
|
||||
trg.MODIFIER = @userId,
|
||||
trg.C_DIAKIGAZOLVANYSZAM = src.ErvenyesDiakigazolvanySzama
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
ID
|
||||
,C_TANKOTELEZETTSEGVEGE
|
||||
,C_TANKOTELEZETT
|
||||
,C_SAJATOSNEVELESU
|
||||
,C_BTMPROBLEMAS
|
||||
,C_JOGVISZONYVARHATOBEFEJEZESE
|
||||
,C_VENDEG
|
||||
,C_MAGANTANULO
|
||||
,C_JOGVISZONYATSZUNETELTETO
|
||||
,C_FELVETELTANEVEID
|
||||
,C_ALINTEZMENYID
|
||||
,C_ALTANEVID
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
,C_DIAKIGAZOLVANYSZAM
|
||||
) VALUES (
|
||||
src.insertedID
|
||||
,src.TankotelezettsegVege
|
||||
,src.TankotelezettsegetTeljesito
|
||||
,src.SajatosNevelesIgenyu
|
||||
,src.BeilleszkedesselKuzd
|
||||
,src.JogviszonyVarBefejezese
|
||||
,src.Vendegtanulo
|
||||
,src.Magantanulo
|
||||
,src.JogviszonyStatusza
|
||||
,@tanevID
|
||||
,@intezmenyID
|
||||
,@tanevID
|
||||
,NULL
|
||||
,@userId
|
||||
,src.ErvenyesDiakigazolvanySzama
|
||||
);
|
||||
|
||||
-------FELHASZNALO BELEPES--------
|
||||
SET @userNameGenerateMode = dbo.fnGetRendszerbeallitasEnumBool(2885, @intezmenyID, @tanevID)
|
||||
IF @userNameGenerateMode <> 3 BEGIN
|
||||
INSERT INTO [T_FELHASZNALOBELEPES_OSSZES] (
|
||||
C_JELSZO
|
||||
,C_BEJELENTKEZESINEV
|
||||
,C_SO
|
||||
,C_FELHASZNALOID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT
|
||||
t.Jelszo
|
||||
,t.BejelentkezesiNev
|
||||
,t.Salt
|
||||
,fh.ID
|
||||
,@intezmenyID
|
||||
,@tanevID
|
||||
,NULL
|
||||
,@userId
|
||||
FROM #tempTanulok t
|
||||
INNER JOIN @linkTable l ON t.ID = l.tempID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = l.insertedId
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM T_FELHASZNALOBELEPES_OSSZES belepes
|
||||
WHERE belepes.TOROLT = 'F'
|
||||
AND ((belepes.C_FELHASZNALOID = fh.ID AND belepes.C_GONDVISELOID IS NULL)
|
||||
OR belepes.C_BEJELENTKEZESINEV = t.BejelentkezesiNev)
|
||||
)
|
||||
END
|
||||
|
||||
--------FELHASZNALO SZEREPKÖR-----------
|
||||
DECLARE @szerepkorId int
|
||||
|
||||
SELECT @szerepkorId = ID
|
||||
FROM T_SZEREPKOR_OSSZES
|
||||
WHERE C_SZEREPKORTIPUS = 1761
|
||||
AND C_TANEVID = @tanevID
|
||||
|
||||
INSERT INTO T_FELHASZNALO_SZEREPKOR (C_FELHASZNALOID, C_SZEREPKORID)
|
||||
SELECT fh.ID, @szerepkorId
|
||||
FROM #tempTanulok t
|
||||
INNER JOIN @linkTable l ON t.ID = l.tempID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = l.insertedId
|
||||
WHERE C_TANEVID = @tanevID
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALO_SZEREPKOR fsz WHERE fsz.C_FELHASZNALOID = fh.ID AND C_SZEREPKORID = @szerepkorId )
|
||||
|
||||
----- Telefonszám -----
|
||||
MERGE T_TELEFON_OSSZES trg
|
||||
USING (
|
||||
SELECT t.*, l.insertedId AS insertedID
|
||||
FROM #tempTanulok t
|
||||
INNER JOIN @linkTable l ON t.ID = l.tempID --AND C_ALAPERTELMEZETT = 'T'
|
||||
WHERE t.Telefonszam IS NOT NULL AND t.Telefonszam <> ''
|
||||
) src ON src.TanuloID = trg.C_FELHASZNALOID AND trg.C_TANEVID = @tanevID AND src.isTanulo = 1 AND trg.C_ALAPERTELMEZETT = 'T'
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
trg.C_TELEFONSZAM = src.Telefonszam,
|
||||
trg.TOROLT = 'F',
|
||||
trg.SERIAL = trg.SERIAL + 1,
|
||||
trg.LASTCHANGED = GETDATE(),
|
||||
trg.MODIFIER = @userId
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_TELEFONTIPUSA
|
||||
,C_TELEFONSZAM
|
||||
,C_LEIRAS
|
||||
,C_ALAPERTELMEZETT
|
||||
,C_GONDVISELOID
|
||||
,C_FELHASZNALOID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
1019 -- C_TELEFONTIPUSA - int
|
||||
,src.Telefonszam -- C_TELEFONSZAM - nvarchar(100)
|
||||
,N'' -- C_LEIRAS - nvarchar(50)
|
||||
,'T' -- C_ALAPERTELMEZETT - char(1)
|
||||
,NULL -- C_GONDVISELOID - int
|
||||
,src.insertedID -- C_FELHASZNALOID - int
|
||||
,@intezmenyID -- C_INTEZMENYID - int
|
||||
,@tanevID -- C_TANEVID - int
|
||||
,NULL -- MODIFIER - int
|
||||
,@userId -- CREATOR - int
|
||||
);
|
||||
|
||||
----- TARTÓZKODÁSI HELY -----
|
||||
MERGE T_CIM_OSSZES trg
|
||||
USING (
|
||||
SELECT t.*, l.insertedId AS insertedID
|
||||
FROM #tempTanulok t
|
||||
INNER JOIN @linkTable l ON t.ID = l.tempID
|
||||
WHERE t.TartozkodasiCimIranyitoszam IS NOT NULL AND t.TartozkodasiCimIranyitoszam <> ''
|
||||
AND t.TartozkodasiCimTelepules IS NOT NULL AND t.TartozkodasiCimKozteruletNev IS NOT NULL AND t.TartozkodasiCimHazszam IS NOT NULL
|
||||
) src ON src.TanuloID = trg.C_FELHASZNALOID AND trg.C_TANEVID = @tanevID AND src.isTanulo = 1 AND trg.C_CIMTIPUSA = 909
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
trg.C_CIMTIPUSA = 909,
|
||||
trg.C_ORSZAG = 765,
|
||||
trg.C_IRANYITOSZAM = src.TartozkodasiCimIranyitoszam,
|
||||
trg.C_VAROS = src.TartozkodasiCimTelepules,
|
||||
trg.C_KOZTERULET = src.TartozkodasiCimKozteruletNev,
|
||||
trg.C_KOZTERULETJELLEGENEV = src.TartozkodasiCimKozteruletJellegNev,
|
||||
trg.C_HAZSZAM = src.TartozkodasiCimHazszam,
|
||||
trg.C_EMELET = src.TartozkodasiCimPontositas,
|
||||
trg.C_FELHASZNALOID = src.insertedId,
|
||||
trg.TOROLT = 'F',
|
||||
trg.SERIAL = trg.SERIAL + 1,
|
||||
trg.LASTCHANGED = GETDATE(),
|
||||
trg.MODIFIER = @userId
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_CIMTIPUSA
|
||||
,C_ORSZAG
|
||||
,C_IRANYITOSZAM
|
||||
,C_VAROS
|
||||
,C_KOZTERULET
|
||||
,C_KOZTERULETJELLEGENEV
|
||||
,C_HAZSZAM
|
||||
,C_EMELET
|
||||
,C_FELHASZNALOID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
909
|
||||
,765
|
||||
,src.TartozkodasiCimIranyitoszam
|
||||
,src.TartozkodasiCimTelepules
|
||||
,src.TartozkodasiCimKozteruletNev
|
||||
,src.TartozkodasiCimKozteruletJellegNev
|
||||
,src.TartozkodasiCimHazszam
|
||||
,src.TartozkodasiCimPontositas
|
||||
,src.insertedID
|
||||
,@intezmenyID
|
||||
,@tanevID
|
||||
,NULL
|
||||
,@userId
|
||||
);
|
||||
|
||||
----- TARTÓZKODÁSI HELY -----
|
||||
MERGE T_CIM_OSSZES trg
|
||||
USING (
|
||||
SELECT t.*, l.insertedId AS insertedID
|
||||
FROM #tempTanulok t
|
||||
INNER JOIN @linkTable l ON t.ID = l.tempID
|
||||
WHERE t.AllandoLakcimIranyitoSzam IS NOT NULL AND t.AllandoLakcimTelepules IS NOT NULL AND t.AllandoLakcimKozteruletNev IS NOT NULL AND t.AllandoLakcimHazszam IS NOT NULL
|
||||
) src ON src.TanuloID = trg.C_FELHASZNALOID AND trg.C_TANEVID = @tanevID AND src.isTanulo = 1 AND trg.C_CIMTIPUSA = 907
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
trg.C_CIMTIPUSA = 907,
|
||||
trg.C_ORSZAG = 765,
|
||||
trg.C_IRANYITOSZAM = src.AllandoLakcimIranyitoSzam,
|
||||
trg.C_VAROS = src.AllandoLakcimTelepules,
|
||||
trg.C_KOZTERULET = src.AllandoLakcimKozteruletNev,
|
||||
trg.C_KOZTERULETJELLEGENEV = src.AllandoLakcimKozteruletJellegNev,
|
||||
trg.C_HAZSZAM = src.AllandoLakcimHazszam,
|
||||
trg.C_EMELET = src.AllandoLakcimPontositas,
|
||||
trg.C_ALAPERTELMEZETT = 'T',
|
||||
trg.C_FELHASZNALOID = src.insertedId,
|
||||
trg.TOROLT = 'F',
|
||||
trg.SERIAL = trg.SERIAL + 1,
|
||||
trg.LASTCHANGED = GETDATE(),
|
||||
trg.MODIFIER = @userId
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_CIMTIPUSA
|
||||
,C_ORSZAG
|
||||
,C_IRANYITOSZAM
|
||||
,C_VAROS
|
||||
,C_KOZTERULET
|
||||
,C_KOZTERULETJELLEGENEV
|
||||
,C_HAZSZAM
|
||||
,C_EMELET
|
||||
,C_ALAPERTELMEZETT
|
||||
,C_FELHASZNALOID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
907
|
||||
,765
|
||||
,src.AllandoLakcimIranyitoSzam
|
||||
,src.AllandoLakcimTelepules
|
||||
,src.AllandoLakcimKozteruletNev
|
||||
,src.AllandoLakcimKozteruletJellegNev
|
||||
,src.AllandoLakcimHazszam
|
||||
,src.AllandoLakcimPontositas
|
||||
,'T'
|
||||
,src.insertedID
|
||||
,@intezmenyID
|
||||
,@tanevID
|
||||
,NULL
|
||||
,@userId
|
||||
);
|
||||
|
||||
----- E-mail cím -----
|
||||
MERGE T_EMAIL_OSSZES trg
|
||||
USING (
|
||||
SELECT #tempTanulok.*, linkTable.insertedId AS insertedID
|
||||
FROM #tempTanulok
|
||||
INNER JOIN
|
||||
@linkTable linkTable ON #tempTanulok.ID = linkTable.tempID --AND C_ALAPERTELMEZETT = 'T'
|
||||
WHERE #tempTanulok.EmailCim IS NOT NULL AND #tempTanulok.EmailCim <> ''
|
||||
) src ON
|
||||
trg.C_FELHASZNALOID = src.TanuloID
|
||||
AND trg.C_TANEVID = @tanevID
|
||||
AND src.isTanulo = 1
|
||||
AND trg.C_ALAPERTELMEZETT = 'T'
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
trg.C_EMAILCIM = src.EmailCim
|
||||
,trg.TOROLT = 'F'
|
||||
,trg.SERIAL = trg.SERIAL + 1
|
||||
,trg.LASTCHANGED = GETDATE()
|
||||
,trg.MODIFIER = @userId
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_EMAILTIPUSA
|
||||
,C_EMAILCIM
|
||||
,C_ALAPERTELMEZETT
|
||||
,C_GONDVISELOID
|
||||
,C_FELHASZNALOID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
1024 -- C_EMAILTIPUSA - int NA
|
||||
,src.EmailCim -- C_EMAILCIM - nvarchar(100)
|
||||
,'T' -- C_ALAPERTELMEZETT - char(1)
|
||||
,NULL -- C_GONDVISELOID - int
|
||||
,src.insertedID -- C_FELHASZNALOID - int
|
||||
,@intezmenyID -- C_INTEZMENYID - int
|
||||
,@tanevID -- C_TANEVID - int
|
||||
,NULL -- MODIFIER - int
|
||||
,@userId -- CREATOR - int
|
||||
);
|
||||
|
||||
COMMIT TRANSACTION
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
|
||||
ROLLBACK TRANSACTION;
|
||||
THROW
|
||||
END CATCH
|
||||
END
|
||||
GO
|
||||
Reference in New Issue
Block a user