531 lines
18 KiB
Transact-SQL
531 lines
18 KiB
Transact-SQL
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
IF OBJECT_ID('dbo.sp_KIRImportTanulok') IS NOT NULL
|
|
BEGIN
|
|
DROP PROCEDURE [dbo].[sp_KIRImportTanulok]
|
|
END
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[sp_KIRImportTanulok]
|
|
-- Add the parameters for the stored procedure here
|
|
@TanulokXML as XML,
|
|
@intezmenyID int,
|
|
@tanevID int,
|
|
@userId int
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
DECLARE
|
|
@TantervID int,
|
|
@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]', 'varchar(15)'),
|
|
KretaKod = Tanulo.value('(KretaKod)[1]', 'varchar(6)'),
|
|
VezetekNev = Tanulo.value('(ViseltNevVezetekNev)[1]', 'nvarchar(50)'), UtoNev = Tanulo.value('(ViseltNevKeresztNev)[1]', 'nvarchar(50)'),
|
|
Elotag = Tanulo.value('(ViseltNevElotag)[1]', 'nvarchar(10)'), NevSorrend = Tanulo.value('(ViseltNevNevSorrend)[1]', 'char(1)'),
|
|
AnyjaNeveElotag = Tanulo.value('(AnyjaNeveElotag)[1]', 'nvarchar(10)'), AnyjaNeveVezetekNev = Tanulo.value('(AnyjaNeveVezetekNev)[1]', 'nvarchar(50)'),
|
|
AnyjaNeveKeresztNev = Tanulo.value('(AnyjaNeveKeresztNev)[1]', 'nvarchar(50)'), AnyjaNeveNevSorrend = Tanulo.value('(AnyjaNeveNevSorrend)[1]', 'nvarchar(50)'),
|
|
SzuletesiDatum = Tanulo.value('(SzuletesiDatum)[1]', 'date'), SzuletesiHely = Tanulo.value('(SzuletesiHely)[1]', 'nvarchar(255)'),
|
|
SzuletesiOrszag = Tanulo.value('(SzuletesiOrszag)[1]', 'int'), Allampolgarsag = Tanulo.value('(Allampolgarsag)[1]', 'int'),
|
|
Nem = Tanulo.value('(Nem)[1]', 'int'), TAJSzam = Tanulo.value('(TAJSzam)[1]', 'nvarchar(15)'),
|
|
AllandoLakcimIranyitoSzam = Tanulo.value('(AllandoLakcimIranyitoSzam)[1]', 'nvarchar(10)'), AllandoLakcimTelepules = Tanulo.value('(AllandoLakcimTelepules)[1]', 'nvarchar(255)'),
|
|
AllandoLakcimKozteruletNev = Tanulo.value('(AllandoLakcimKozteruletNev)[1]', 'nvarchar(255)'), AllandoLakcimKozteruletJelleg = Tanulo.value('number((AllandoLakcimKozteruletJelleg)[1])', 'int'),
|
|
AllandoLakcimHazszam = Tanulo.value('(AllandoLakcimHazszam)[1]', 'nvarchar(20)'), TartozkodasiCimTelepules = Tanulo.value('(TartozkodasiCimTelepules)[1]', 'nvarchar(255)'),
|
|
TartozkodasiCimKozteruletNev = Tanulo.value('(TartozkodasiCimKozteruletNev)[1]', 'nvarchar(255)'), TartozkodasiCimKozteruletJelleg = Tanulo.value('number((TartozkodasiCimKozteruletJelleg)[1])', 'int'),
|
|
TartozkodasiCimHazszam = Tanulo.value('(TartozkodasiCimHazszam)[1]', 'nvarchar(20)'), TartozkodasiCimIranyitoszam = Tanulo.value('(TartozkodasiCimIranyitoSzam)[1]', 'nvarchar(20)'),
|
|
TankotelezettsegVege = Tanulo.value('(TankotelezettsegVege)[1]', 'date'),
|
|
TankotelezettsegetTeljesito = Tanulo.value('(TankotelezettsegetTeljesito)[1]', 'char'), SajatosNevelesIgenyu = Tanulo.value('(SajatosNevelesIgenyu)[1]', 'char'),
|
|
BeilleszkedesselKuzd = Tanulo.value('(BeilleszkedesselKuzd)[1]', 'char'), OMAzonosito = Tanulo.value('(OMAzonosito)[1]', 'nvarchar(20)'),
|
|
JogviszonyStatusza = Tanulo.value('(JogviszonyStatusza)[1]', 'nvarchar(50)'), JogviszonyKezdete = Tanulo.value('(JogviszonyKezdete)[1]', 'date'),
|
|
JogviszonyVarBefejezese = Tanulo.value('(JogviszonyVarBefejezese)[1]', 'date'), JogviszonyJellege = Tanulo.value('(JogviszonyJellege)[1]', 'nvarchar(50)'),
|
|
Vendegtanulo = Tanulo.value('(Vendegtanulo)[1]', 'char'), Magantanulo = Tanulo.value('(Magantanulo)[1]', 'char'),
|
|
Osztaly = Tanulo.value('(Osztaly)[1]', 'nvarchar(255)'),
|
|
KeresesiNev = Tanulo.value('(KeresesiNev)[1]', 'nvarchar(255)'), NyomtatasiNev = ltrim(Tanulo.value('(NyomtatasiNev)[1]', 'nvarchar(255)')),
|
|
Telefonszam = Tanulo.value('(Telefonszam)[1]', 'nvarchar(45)'),
|
|
AnyjaNeve = Tanulo.value('(AnyjaNeve)[1]', 'nvarchar(255)'),
|
|
0 AS isTanulo,
|
|
0 TanuloID
|
|
INTO #tempTanulok
|
|
FROM @TanulokXML.nodes('/KIRTanulok/ImportaltTanulok/Tanulo') as Tanulok(Tanulo)
|
|
|
|
-- A létező 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 = IIF(tn.ID IS NULL, 0, 1)
|
|
FROM #tempTanulok t
|
|
INNER JOIN T_FELHASZNALO_OSSZES fh ON
|
|
t.NyomtatasiNev = fh.C_NYOMTATASINEV AND
|
|
t.SzuletesiDatum = fh.C_SZULETESIDATUM AND
|
|
t.SzuletesiHely = fh.C_SZULETESIHELY AND
|
|
t.AnyjaNeve = fh.C_ANYJANEVE
|
|
LEFT JOIN T_TANULO_OSSZES tn ON tn.ID = fh.ID
|
|
WHERE fh.TOROLT = 'F' AND fh.C_TANEVID = @tanevID AND fh.C_INTEZMENYID = @intezmenyID
|
|
|
|
BEGIN TRY
|
|
BEGIN TRANSACTION
|
|
|
|
DECLARE @CREATED DateTime
|
|
SET @CREATED = (SELECT GETDATE())
|
|
-- 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.VezetekNev + ' ' + src.UtoNev,
|
|
trg.C_ANYJANEVE = src.AnyjaNeveVezetekNev + ' ' + src.AnyjaNeveKeresztNev,
|
|
trg.C_SZULETESIHELY = src.SzuletesiHely,
|
|
trg.C_ALLAMPOLGARSAGA = src.Allampolgarsag,
|
|
trg.C_KERESESINEV = src.KeresesiNev,
|
|
trg.C_SZULETESIORSZAG = src.SzuletesiOrszag,
|
|
trg.C_SZULETESINEVSORREND = src.NevSorrend,
|
|
trg.C_ANYJANEVESORREND = src.AnyjaNeveNevSorrend,
|
|
trg.C_ALAPERTELMEZETTLCID = 1038,
|
|
trg.C_SZULETESINEVELVALASZTO = len(src.VezetekNev),
|
|
trg.C_ANYJANEVEELVALASZTO = len(src.AnyjaNeveVezetekNev),
|
|
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 = getdate(),
|
|
trg.C_OMKOD = src.OMAzonosito,
|
|
trg.C_KRETAKOD = src.KretaKod,
|
|
trg.TOROLT = 'F',
|
|
trg.SERIAL = trg.SERIAL + 1,
|
|
trg.LASTCHANGED = GETDATE(),
|
|
trg.MODIFIER = @userId,
|
|
trg.C_OKTATASIAZONOSITO = src.OktatasiAzonosito
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (
|
|
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_SZULETESINEVELVALASZTO
|
|
,C_ANYJANEVEELVALASZTO
|
|
,C_NYOMTATASINEV
|
|
,C_UTONEV
|
|
,C_VEZETEKNEV
|
|
,C_ELOTAG
|
|
,C_NEVSORREND
|
|
,C_NYILVANTARTASKEZDETE
|
|
,C_OKTATASIAZONOSITO
|
|
,C_OMKOD
|
|
,C_KRETAKOD
|
|
,C_INTEZMENYID
|
|
,C_TANEVID
|
|
,TOROLT
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,MODIFIER
|
|
,CREATOR)
|
|
VALUES (
|
|
src.Nem
|
|
,src.SzuletesiDatum
|
|
,src.VezetekNev + ' ' + src.UtoNev
|
|
,src.AnyjaNeveVezetekNev + ' ' + src.AnyjaNeveKeresztNev
|
|
,src.SzuletesiHely
|
|
,src.TAJSzam
|
|
,src.Allampolgarsag
|
|
,src.JogviszonyJellege
|
|
,src.KeresesiNev
|
|
,src.SzuletesiOrszag
|
|
,src.NevSorrend
|
|
,src.AnyjaNeveNevSorrend
|
|
,1038
|
|
,len(src.VezetekNev)
|
|
,len(src.AnyjaNeveVezetekNev)
|
|
,src.NyomtatasiNev
|
|
,src.UtoNev
|
|
,src.VezetekNev
|
|
,src.Elotag
|
|
,src.NevSorrend
|
|
,src.JogviszonyKezdete
|
|
,src.OktatasiAzonosito
|
|
,src.OMAzonosito
|
|
,src.KretaKod
|
|
,@intezmenyID
|
|
,@tanevID
|
|
,'F'
|
|
,1
|
|
,NULL
|
|
,@CREATED
|
|
,NULL
|
|
,@userId
|
|
)
|
|
OUTPUT INSERTED.ID, src.ID, $action
|
|
INTO @linkTable(insertedID, tempId, act);
|
|
|
|
SET @TantervID = (SELECT MAX(ID) FROM T_TANTERV_OSSZES WHERE C_TANEVID = @tanevID AND TOROLT = 'F')
|
|
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.C_TANTERVID = @TantervId,
|
|
trg.TOROLT = 'F',
|
|
trg.SERIAL = trg.SERIAL + 1,
|
|
trg.LASTCHANGED = GETDATE(),
|
|
trg.MODIFIER = @userId
|
|
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_TANTERVID
|
|
,C_ALINTEZMENYID
|
|
,C_ALTANEVID
|
|
,TOROLT
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,MODIFIER
|
|
,CREATOR
|
|
) VALUES (
|
|
src.insertedID
|
|
,src.TankotelezettsegVege
|
|
,src.TankotelezettsegetTeljesito
|
|
,src.SajatosNevelesIgenyu
|
|
,src.BeilleszkedesselKuzd
|
|
,src.JogviszonyVarBefejezese
|
|
,src.Vendegtanulo
|
|
,src.Magantanulo
|
|
,src.JogviszonyStatusza
|
|
,@tanevID
|
|
,@TantervId
|
|
,@intezmenyID
|
|
,@tanevID
|
|
,'F'
|
|
,1
|
|
,NULL
|
|
,@CREATED
|
|
,NULL
|
|
,@userId
|
|
);
|
|
|
|
--TODO: GENERATE SALT
|
|
-------FELHASZNALO BELEPES--------
|
|
|
|
/*SET @userNameGenerateMode = dbo.fnGetRendszerbeallitasEnumBool(2885, @intezmenyID, @tanevID)
|
|
IF @userNameGenerateMode <> 3 BEGIN
|
|
INSERT INTO [T_FELHASZNALOBELEPES_OSSZES] (
|
|
[C_JELSZO],
|
|
[C_BEJELENTKEZESINEV],
|
|
[C_FELHASZNALOID],
|
|
[C_INTEZMENYID],
|
|
[C_TANEVID],
|
|
[TOROLT],
|
|
[SERIAL],
|
|
[LASTCHANGED],
|
|
[CREATED],
|
|
[MODIFIER],
|
|
[CREATOR],
|
|
[C_GUID]
|
|
)
|
|
SELECT
|
|
CONVERT(nvarchar(8), fh.C_SZULETESIDATUM,112),
|
|
CASE @userNameGenerateMode
|
|
WHEN 1 THEN fh.C_OKTATASIAZONOSITO
|
|
WHEN 2 THEN fh.C_KRETAKOD
|
|
ELSE NULL
|
|
END,
|
|
fh.ID,
|
|
@intezmenyID,
|
|
@tanevID,
|
|
'F',
|
|
1,
|
|
NULL,
|
|
@CREATED,
|
|
NULL,
|
|
@userId,
|
|
(select NEWID())
|
|
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_FELHASZNALOBELEPES_OSSZES belepes
|
|
WHERE belepes.C_FELHASZNALOID = fh.ID AND
|
|
belepes.C_GONDVISELOID IS NULL)
|
|
END*/
|
|
|
|
--------FELHASZNALO SZEREPKÖR-----------
|
|
DELETE FROM T_FELHASZNALO_SZEREPKOR
|
|
WHERE T_FELHASZNALO_SZEREPKOR.[C_FELHASZNALOID] IN (SELECT TanuloID FROM #tempTanulok WHERE TanuloID > 0)
|
|
|
|
INSERT INTO T_FELHASZNALO_SZEREPKOR (C_FELHASZNALOID, C_SZEREPKORID)
|
|
SELECT l.insertedId, (SELECT ID FROM T_SZEREPKOR_OSSZES WHERE C_SZEREPKORTIPUS = '1761' AND C_TANEVID = @tanevID)
|
|
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
|
|
|
|
|
|
----- 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
|
|
,TOROLT
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,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
|
|
,'F' -- TOROLT - char(1)
|
|
,1 -- SERIAL - int
|
|
,NULL -- LASTCHANGED - datetime
|
|
,@CREATED -- CREATED - datetime
|
|
,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 <> ''
|
|
) src ON src.TanuloID = trg.C_FELHASZNALOID AND trg.C_TANEVID = @tanevID AND src.isTanulo = 1 AND trg.C_CIMTIPUSA = 908
|
|
WHEN MATCHED THEN
|
|
UPDATE SET
|
|
trg.C_CIMTIPUSA = 908,
|
|
trg.C_ORSZAG = 765,
|
|
trg.C_IRANYITOSZAM = src.TartozkodasiCimIranyitoszam,
|
|
trg.C_VAROS = src.TartozkodasiCimTelepules,
|
|
trg.C_KOZTERULET = src.TartozkodasiCimKozteruletNev,
|
|
trg.C_KOZTERULETJELLEGE = src.TartozkodasiCimKozteruletJelleg,
|
|
trg.C_HAZSZAM = src.TartozkodasiCimHazszam,
|
|
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_KOZTERULETJELLEGE
|
|
,C_HAZSZAM
|
|
,C_FELHASZNALOID
|
|
,C_INTEZMENYID
|
|
,C_TANEVID
|
|
,TOROLT
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,MODIFIER
|
|
,CREATOR
|
|
) VALUES (
|
|
908
|
|
,765
|
|
,src.TartozkodasiCimIranyitoszam
|
|
,src.TartozkodasiCimTelepules
|
|
,src.TartozkodasiCimKozteruletNev
|
|
,src.TartozkodasiCimKozteruletJelleg
|
|
,src.TartozkodasiCimHazszam
|
|
,src.insertedID
|
|
,@intezmenyID
|
|
,@tanevID
|
|
,'F'
|
|
,1
|
|
,NULL
|
|
,@CREATED
|
|
,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
|
|
) 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_KOZTERULETJELLEGE = src.AllandoLakcimKozteruletJelleg,
|
|
trg.C_HAZSZAM = src.AllandoLakcimHazszam,
|
|
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_KOZTERULETJELLEGE
|
|
,C_HAZSZAM
|
|
,C_FELHASZNALOID
|
|
,C_INTEZMENYID
|
|
,C_TANEVID
|
|
,TOROLT
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,MODIFIER
|
|
,CREATOR
|
|
) VALUES (
|
|
907
|
|
,765
|
|
,src.AllandoLakcimIranyitoSzam
|
|
,src.AllandoLakcimTelepules
|
|
,src.AllandoLakcimKozteruletNev
|
|
,src.AllandoLakcimKozteruletJelleg
|
|
,src.AllandoLakcimHazszam
|
|
,src.insertedID
|
|
,@intezmenyID
|
|
,@tanevID
|
|
,'F'
|
|
,1
|
|
,NULL
|
|
,@CREATED
|
|
,NULL
|
|
,@userId
|
|
);
|
|
|
|
----- E-mail cím -----
|
|
MERGE T_EMAIL_OSSZES
|
|
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
|
|
T_EMAIL_OSSZES.C_FELHASZNALOID = src.TanuloID AND
|
|
T_EMAIL_OSSZES.C_TANEVID = @tanevID AND
|
|
src.isTanulo = 1 AND
|
|
T_EMAIL_OSSZES.C_ALAPERTELMEZETT = 'T'
|
|
WHEN
|
|
MATCHED THEN
|
|
UPDATE SET
|
|
T_EMAIL_OSSZES.C_EMAILCIM = src.EmailCim,
|
|
T_EMAIL_OSSZES.TOROLT = 'F',
|
|
T_EMAIL_OSSZES.SERIAL = T_EMAIL_OSSZES.SERIAL + 1,
|
|
T_EMAIL_OSSZES.LASTCHANGED = GETDATE(),
|
|
T_EMAIL_OSSZES.MODIFIER = @userId
|
|
WHEN
|
|
NOT MATCHED THEN
|
|
INSERT (
|
|
C_EMAILTIPUSA
|
|
,C_EMAILCIM
|
|
,C_ALAPERTELMEZETT
|
|
,C_GONDVISELOID
|
|
,C_FELHASZNALOID
|
|
,C_INTEZMENYID
|
|
,C_TANEVID
|
|
,TOROLT
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,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
|
|
,'F' -- TOROLT - char(1)
|
|
,1 -- SERIAL - int
|
|
,NULL -- LASTCHANGED - datetime
|
|
,@CREATED -- CREATED - datetime
|
|
,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
|