init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,558 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_KIRImportTanarok]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_KIRImportTanarok]
|
||||
-- Add the parameters for the stored procedure here
|
||||
@TanarokXML xml
|
||||
,@FeladatellatasiHelyId int
|
||||
,@intezmenyID int
|
||||
,@tanevID int
|
||||
,@userId int
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
-- XML paraméter értelmezése
|
||||
DECLARE @Tanarok TABLE (
|
||||
Id int
|
||||
,OktatasiAzonosito varchar(15)
|
||||
,KretaKod varchar(6)
|
||||
,VezetekNev nvarchar(50)
|
||||
,UtoNev nvarchar(50)
|
||||
,Elotag nvarchar(10)
|
||||
,NevSorrend char(1)
|
||||
,AnyjaNeveElotag nvarchar(10)
|
||||
,AnyjaNeveVezetekNev nvarchar(50)
|
||||
,AnyjaNeveKeresztNev nvarchar(50)
|
||||
,AnyjaNeveNevSorrend nvarchar(50)
|
||||
,SzuletesiDatum datetime
|
||||
,SzuletesiHely nvarchar(255)
|
||||
,SzuletesiOrszag int
|
||||
,SzuletesiNeveElotag nvarchar(10)
|
||||
,SzuletesiNeveVezetekNev nvarchar(50)
|
||||
,SzuletesiNeveKeresztNev nvarchar(50)
|
||||
,SzuletesiNeveNevSorrend nvarchar(50)
|
||||
,Allampolgarsag INT
|
||||
,Allampolgarsag2 int
|
||||
,Nem int
|
||||
,EmailCim nvarchar(255)
|
||||
,Telefonszam nvarchar(100)
|
||||
,AllandoLakcimIranyitoSzam nvarchar(10)
|
||||
,AllandoLakcimTelepules nvarchar(255)
|
||||
,AllandoLakcimKozteruletNev nvarchar(255)
|
||||
,AllandoLakcimKozteruletJelleg int
|
||||
,AllandoLakcimHazszam nvarchar(20)
|
||||
,TartozkodasiCimTelepules nvarchar(255)
|
||||
,TartozkodasiCimKozteruletNev nvarchar(255)
|
||||
,TartozkodasiCimKozteruletJelleg int
|
||||
,TartozkodasiCimHazszam nvarchar(20)
|
||||
,TartozkodasiCimIranyitoszam nvarchar(20)
|
||||
,KeresesiNev nvarchar(255)
|
||||
,NyomtatasiNev nvarchar(255)
|
||||
,OMAzonosito nvarchar(15)
|
||||
,Foallas char(1)
|
||||
,KotelezoOraszam nvarchar(15)
|
||||
,FoglalkoztatasTipus int
|
||||
,MunkakorTipusa nvarchar(15)
|
||||
,MunkaviszonyTipusa nvarchar(15)
|
||||
,JogviszonyKezdete datetime
|
||||
,FelhasznaloId int -- Ide kerül be a tényleges ID, amit a DB-ben is van/lesz
|
||||
,isUjTanar bit -- létezik-e már a rendszereben
|
||||
,BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott char(1)
|
||||
,UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja dateTime
|
||||
|
||||
)
|
||||
|
||||
INSERT INTO @Tanarok (
|
||||
Id
|
||||
,OktatasiAzonosito
|
||||
,KretaKod
|
||||
,VezetekNev
|
||||
,UtoNev
|
||||
,Elotag
|
||||
,NevSorrend
|
||||
,AnyjaNeveElotag
|
||||
,AnyjaNeveVezetekNev
|
||||
,AnyjaNeveKeresztNev
|
||||
,AnyjaNeveNevSorrend
|
||||
,SzuletesiDatum
|
||||
,SzuletesiHely
|
||||
,SzuletesiOrszag
|
||||
,SzuletesiNeveElotag
|
||||
,SzuletesiNeveVezetekNev
|
||||
,SzuletesiNeveKeresztNev
|
||||
,SzuletesiNeveNevSorrend
|
||||
,Allampolgarsag
|
||||
,Allampolgarsag2
|
||||
,Nem
|
||||
,EmailCim
|
||||
,Telefonszam
|
||||
,AllandoLakcimIranyitoSzam
|
||||
,AllandoLakcimTelepules
|
||||
,AllandoLakcimKozteruletNev
|
||||
,AllandoLakcimKozteruletJelleg
|
||||
,AllandoLakcimHazszam
|
||||
,TartozkodasiCimTelepules
|
||||
,TartozkodasiCimKozteruletNev
|
||||
,TartozkodasiCimKozteruletJelleg
|
||||
,TartozkodasiCimHazszam
|
||||
,TartozkodasiCimIranyitoszam
|
||||
,KeresesiNev
|
||||
,NyomtatasiNev
|
||||
,OMAzonosito
|
||||
,Foallas
|
||||
,KotelezoOraszam
|
||||
,FoglalkoztatasTipus
|
||||
,MunkakorTipusa
|
||||
,MunkaviszonyTipusa
|
||||
,JogviszonyKezdete
|
||||
,isUjTanar
|
||||
,BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott
|
||||
,UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja
|
||||
) SELECT
|
||||
Id = Tanar.value('(ID)[1]', 'int'),
|
||||
OktatasiAzonosito = Tanar.value('(OktatasiAzonosito)[1]', 'varchar(15)'),
|
||||
KretaKod = Tanar.value('(KretaKod)[1]', 'varchar(6)'),
|
||||
VezetekNev = Tanar.value('(ViseltNevVezetekNev)[1]', 'nvarchar(50)'),
|
||||
UtoNev = Tanar.value('(ViseltNevKeresztNev)[1]', 'nvarchar(50)'),
|
||||
Elotag = Tanar.value('(ViseltNevElotag)[1]', 'nvarchar(10)'),
|
||||
NevSorrend = Tanar.value('(ViseltNevNevSorrend)[1]', 'char(1)'),
|
||||
AnyjaNeveElotag = Tanar.value('(AnyjaNeveElotag)[1]', 'nvarchar(10)'),
|
||||
AnyjaNeveVezetekNev = Tanar.value('(AnyjaNeveVezetekNev)[1]', 'nvarchar(50)'),
|
||||
AnyjaNeveKeresztNev = Tanar.value('(AnyjaNeveKeresztNev)[1]', 'nvarchar(50)'),
|
||||
AnyjaNeveNevSorrend = Tanar.value('(AnyjaNeveNevSorrend)[1]', 'nvarchar(50)'),
|
||||
SzuletesiDatum = Tanar.value('(SzuletesiDatum)[1]', 'date'),
|
||||
SzuletesiHely = Tanar.value('(SzuletesiHely)[1]', 'nvarchar(255)'),
|
||||
SzuletesiOrszag = Tanar.value('(SzuletesiOrszag)[1]', 'int'),
|
||||
SzuletesiNeveElotag = Tanar.value('(SzuletesiNevElotag)[1]', 'nvarchar(10)'),
|
||||
SzuletesiNeveVezetekNev = Tanar.value('(SzuletesiNevVezetekNev)[1]', 'nvarchar(50)'),
|
||||
SzuletesiNeveKeresztNev = Tanar.value('(SzuletesiNevKeresztNev)[1]', 'nvarchar(50)'),
|
||||
SzuletesiNeveNevSorrend = Tanar.value('(SzuletesiNevNevSorrend)[1]', 'nvarchar(50)'),
|
||||
Allampolgarsag = Tanar.value('(Allampolgarsag)[1]', 'int'),
|
||||
Allampolgarsag2 = Tanar.value('(Allampolgarsag2)[1][not(@xsi:nil = "true")]', 'int'),
|
||||
Nem = Tanar.value('(Nem)[1]', 'int'),
|
||||
EmailCim = Tanar.value('(EmailCim)[1]', 'nvarchar(255)'),
|
||||
Telefonszam = Tanar.value('(Telefonszam)[1]', 'nvarchar(100)'),
|
||||
AllandoLakcimIranyitoSzam = Tanar.value('(AllandoLakcimIranyitoSzam)[1]', 'nvarchar(10)'),
|
||||
AllandoLakcimTelepules = Tanar.value('(AllandoLakcimTelepules)[1]', 'nvarchar(255)'),
|
||||
AllandoLakcimKozteruletNev = Tanar.value('(AllandoLakcimKozteruletNev)[1]', 'nvarchar(255)'),
|
||||
AllandoLakcimKozteruletJelleg = Tanar.value('number((AllandoLakcimKozteruletJelleg)[1])', 'int'),
|
||||
AllandoLakcimHazszam = Tanar.value('(AllandoLakcimHazszam)[1]', 'nvarchar(20)'),
|
||||
TartozkodasiCimTelepules = Tanar.value('(TartozkodasiCimTelepules)[1]', 'nvarchar(255)'),
|
||||
TartozkodasiCimKozteruletNev = Tanar.value('(TartozkodasiCimKozteruletNev)[1]', 'nvarchar(255)'),
|
||||
TartozkodasiCimKozteruletJelleg = Tanar.value('number((TartozkodasiCimKozteruletJelleg)[1])', 'int'),
|
||||
TartozkodasiCimHazszam = Tanar.value('(TartozkodasiCimHazszam)[1]', 'nvarchar(20)'),
|
||||
TartozkodasiCimIranyitoszam = Tanar.value('(TartozkodasiCimIranyitoSzam)[1]', 'nvarchar(20)'),
|
||||
KeresesiNev = Tanar.value('(KeresesiNev)[1]', 'nvarchar(255)'),
|
||||
NyomtatasiNev = ltrim(Tanar.value('(NyomtatasiNev)[1]', 'nvarchar(255)')),
|
||||
OMAzonosito = Tanar.value('(OMAzonosito)[1]', 'nvarchar(15)'),
|
||||
Foallas = Tanar.value('(Foallas)[1]', 'char(1)'),
|
||||
KotelezoOraszam = Tanar.value('(KotelezoOraszam)[1]', 'nvarchar(15)'),
|
||||
FoglalkoztatasTipus = Tanar.value('number((FoglalkoztatasTipus)[1])', 'int'),
|
||||
MunkakorTipusa = Tanar.value('(MunkakorTipusa)[1]', 'nvarchar(15)'),
|
||||
MunkaviszonyTipusa = Tanar.value('(MunkaviszonyTipusa)[1]', 'nvarchar(15)'),
|
||||
JogviszonyKezdete = Tanar.value('(JogviszonyKezdete)[1]', 'date'),
|
||||
1 AS isUjTanar,
|
||||
BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott = Tanar.value('(BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott)[1]', 'char(1)'),
|
||||
UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja = Tanar.value('(UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja)[1]', 'date')
|
||||
FROM @TanarokXML.nodes('/KIRTanarok/ImportaltTanarok/Tanar') as Tanarok(Tanar)
|
||||
|
||||
DECLARE @LinkTable TABLE (felHasznaloId int, kretaKod varchar(6), action nvarchar(20))
|
||||
|
||||
BEGIN TRY
|
||||
BEGIN TRANSACTION
|
||||
|
||||
MERGE T_FELHASZNALO_OSSZES fh
|
||||
USING (
|
||||
SELECT * FROM @Tanarok
|
||||
) t ON t.KretaKod = fh.C_KRETAKOD AND fh.C_INTEZMENYID = @intezmenyid AND fh.C_TANEVID = @tanevID
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
fh.C_NEME = t.Nem,
|
||||
fh.C_SZULETESIDATUM = t.SzuletesiDatum,
|
||||
fh.C_SZULETESINEV = t.SzuletesiNeveVezetekNev + ' ' + t.SzuletesiNeveKeresztNev,
|
||||
fh.C_ANYJANEVE = t.AnyjaNeveVezetekNev + ' ' + t.AnyjaNeveKeresztNev,
|
||||
fh.C_SZULETESIHELY = t.SzuletesiHely,
|
||||
fh.C_ALLAMPOLGARSAGA = t.Allampolgarsag,
|
||||
fh.C_ALLAMPOLGARSAGA2 = t.Allampolgarsag2,
|
||||
fh.C_KERESESINEV = t.KeresesiNev,
|
||||
fh.C_SZULETESIORSZAG = t.SzuletesiOrszag,
|
||||
fh.C_SZULETESINEVSORREND = t.NevSorrend,
|
||||
fh.C_ANYJANEVESORREND = t.AnyjaNeveNevSorrend,
|
||||
fh.C_ALAPERTELMEZETTLCID = 1038,
|
||||
fh.C_SZULETESINEVELVALASZTO = LEN(t.SzuletesiNeveVezetekNev),
|
||||
fh.C_ANYJANEVEELVALASZTO = LEN(t.AnyjaNeveVezetekNev),
|
||||
fh.C_NYOMTATASINEV = t.NyomtatasiNev,
|
||||
fh.C_UTONEV = t.UtoNev,
|
||||
fh.C_VEZETEKNEV = t.VezetekNev,
|
||||
fh.C_ELOTAG = t.Elotag,
|
||||
fh.C_NEVSORREND = t.NevSorrend,
|
||||
fh.C_NYILVANTARTASKEZDETE = GETDATE(),
|
||||
fh.C_OMKOD = t.OMAzonosito,
|
||||
fh.C_KRETAKOD = t.KretaKod,
|
||||
fh.C_OKTATASIAZONOSITO = t.OktatasiAzonosito,
|
||||
fh.TOROLT = 'F',
|
||||
fh.SERIAL += 1,
|
||||
fh.LASTCHANGED = GETDATE(),
|
||||
fh.MODIFIER = @userId,
|
||||
fh.C_BELUGYALTALAZONOSITOTT = t.BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott,
|
||||
fh.C_UTOLSOADATFRISSITESIDOPONTJA = t.UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
[C_NEME],
|
||||
[C_SZULETESIDATUM],
|
||||
[C_SZULETESINEV],
|
||||
[C_ANYJANEVE],
|
||||
[C_SZULETESIHELY],
|
||||
[C_ALLAMPOLGARSAGA],
|
||||
[C_ALLAMPOLGARSAGA2],
|
||||
[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],
|
||||
[MODIFIER],
|
||||
[CREATOR],
|
||||
[C_BELUGYALTALAZONOSITOTT],
|
||||
[C_UTOLSOADATFRISSITESIDOPONTJA]
|
||||
) VALUES (
|
||||
t.Nem,
|
||||
t.SzuletesiDatum,
|
||||
t.SzuletesiNeveVezetekNev + ' ' + t.SzuletesiNeveKeresztNev,
|
||||
t.AnyjaNeveVezetekNev + ' ' + t.AnyjaNeveKeresztNev,
|
||||
t.SzuletesiHely,
|
||||
t.Allampolgarsag,
|
||||
t.Allampolgarsag2,
|
||||
t.KeresesiNev,
|
||||
t.SzuletesiOrszag,
|
||||
--t.SzuletesiNev,
|
||||
t.SzuletesiNeveNevSorrend,
|
||||
t.AnyjaNeveNevSorrend,
|
||||
1038,
|
||||
LEN(t.SzuletesiNeveVezetekNev),
|
||||
LEN(t.AnyjaNeveVezetekNev),
|
||||
t.NyomtatasiNev,
|
||||
t.UtoNev,
|
||||
t.VezetekNev,
|
||||
t.Elotag,
|
||||
t.NevSorrend,
|
||||
GETDATE(),
|
||||
t.OktatasiAzonosito,
|
||||
t.OMAzonosito,
|
||||
t.KretaKod,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId,
|
||||
t.BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott,
|
||||
t.UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja
|
||||
)
|
||||
OUTPUT INSERTED.ID, t.KretaKod, $action
|
||||
INTO @LinkTable(felhasznaloId, kretaKod, action);
|
||||
|
||||
UPDATE t
|
||||
SET t.FelhasznaloId = x.felhasznaloId
|
||||
,t.isUjTanar = 0
|
||||
FROM @Tanarok t
|
||||
INNER JOIN @LinkTable x ON x.KretaKod = t.KretaKod
|
||||
|
||||
MERGE T_ALKALMAZOTT_OSSZES a
|
||||
USING (
|
||||
SELECT * FROM @Tanarok
|
||||
) t ON a.ID = t.FelhasznaloId AND a.C_ALINTEZMENYID = @intezmenyid AND a.C_ALTANEVID = @tanevID
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
a.C_FOALLAS = t.Foallas,
|
||||
a.TOROLT = 'F',
|
||||
a.SERIAL += 1,
|
||||
a.LASTCHANGED = GETDATE(),
|
||||
a.MODIFIER = @userId
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
[ID],
|
||||
[C_FOALLAS],
|
||||
[C_ALINTEZMENYID],
|
||||
[C_ALTANEVID],
|
||||
[MODIFIER],
|
||||
[CREATOR]
|
||||
) VALUES (
|
||||
t.FelhasznaloId,
|
||||
t.Foallas,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId
|
||||
);
|
||||
MERGE T_MUNKAUGYIADATOK_OSSZES m
|
||||
USING (
|
||||
SELECT * FROM @Tanarok
|
||||
) t ON m.C_ALKALMAZOTTID = t.FelhasznaloId AND m.C_INTEZMENYID = @intezmenyid AND m.C_TANEVID = @tanevID
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
m.C_ALKALMAZASKEZDETE = t.JogviszonyKezdete,
|
||||
m.C_KOTELEZOORASZAM = t.KotelezoOraszam,
|
||||
m.C_FOGLALKOZTATASTIPUS = t.FoglalkoztatasTipus,
|
||||
m.C_MUNKAKORTIPUSA = IIF (t.MunkakorTipusa = 548, m.C_MUNKAKORTIPUSA, t.MunkakorTipusa ),
|
||||
m.C_MUNKAVISZONYTIPUSA = IIF (t.MunkaviszonyTipusa = 643, m.C_MUNKAVISZONYTIPUSA, t.MunkaviszonyTipusa ),
|
||||
m.C_FELADATELLATASIHELYID = @FeladatellatasiHelyId,
|
||||
m.TOROLT = 'F',
|
||||
m.SERIAL += 1,
|
||||
m.LASTCHANGED = GETDATE(),
|
||||
m.MODIFIER = @userId
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
C_ALKALMAZASKEZDETE,
|
||||
C_KOTELEZOORASZAM,
|
||||
C_FOGLALKOZTATASTIPUS,
|
||||
C_MUNKAKORTIPUSA,
|
||||
C_MUNKAVISZONYTIPUSA,
|
||||
C_ALKALMAZOTTID,
|
||||
C_FELADATELLATASIHELYID,
|
||||
C_INTEZMENYID,
|
||||
C_TANEVID,
|
||||
MODIFIER,
|
||||
CREATOR
|
||||
) VALUES (
|
||||
t.JogviszonyKezdete,
|
||||
t.KotelezoOraszam,
|
||||
t.FoglalkoztatasTipus,
|
||||
t.MunkakorTipusa,
|
||||
t.MunkaviszonyTipusa,
|
||||
t.FelhasznaloId,
|
||||
@FeladatellatasiHelyId,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId
|
||||
);
|
||||
|
||||
|
||||
MERGE T_CIM_OSSZES c
|
||||
USING (
|
||||
SELECT * FROM @Tanarok
|
||||
) t ON c.C_FELHASZNALOID = t.FelhasznaloId AND c.C_INTEZMENYID = @intezmenyid AND c.C_TANEVID = @tanevID AND c.C_CIMTIPUSA = 908
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
c.[C_CIMTIPUSA] = 908,
|
||||
c.[C_ORSZAG] = 765,
|
||||
c.[C_IRANYITOSZAM] = t.TartozkodasiCimIranyitoszam,
|
||||
c.[C_VAROS] = t.TartozkodasiCimTelepules,
|
||||
c.[C_KOZTERULET] = t.TartozkodasiCimKozteruletNev,
|
||||
c.[C_KOZTERULETJELLEGE] = t.TartozkodasiCimKozteruletJelleg,
|
||||
c.[C_HAZSZAM] = t.TartozkodasiCimHazszam,
|
||||
c.[TOROLT] = 'F',
|
||||
c.SERIAL += 1,
|
||||
c.LASTCHANGED = GETDATE(),
|
||||
c.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],
|
||||
[MODIFIER],
|
||||
[CREATOR]
|
||||
) VALUES (
|
||||
908,
|
||||
765,
|
||||
t.TartozkodasiCimIranyitoszam,
|
||||
t.TartozkodasiCimTelepules,
|
||||
t.TartozkodasiCimKozteruletNev,
|
||||
t.TartozkodasiCimKozteruletJelleg,
|
||||
t.TartozkodasiCimHazszam,
|
||||
t.FelhasznaloId,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId
|
||||
);
|
||||
|
||||
MERGE T_CIM_OSSZES c
|
||||
USING (
|
||||
SELECT * FROM @Tanarok
|
||||
) t ON c.C_FELHASZNALOID = t.FelhasznaloId AND c.C_INTEZMENYID = @intezmenyid AND c.C_TANEVID = @tanevID AND c.C_CIMTIPUSA = 907
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
c.[C_CIMTIPUSA] = 907,
|
||||
c.[C_ORSZAG] = 765,
|
||||
c.[C_IRANYITOSZAM] = t.AllandoLakcimIranyitoSzam,
|
||||
c.[C_VAROS] = t.AllandoLakcimTelepules,
|
||||
c.[C_KOZTERULET] = t.AllandoLakcimKozteruletNev,
|
||||
c.[C_KOZTERULETJELLEGE] = t.AllandoLakcimKozteruletJelleg,
|
||||
c.[C_HAZSZAM] = t.AllandoLakcimHazszam,
|
||||
c.[TOROLT] = 'F',
|
||||
c.SERIAL += 1,
|
||||
c.LASTCHANGED = GETDATE(),
|
||||
c.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],
|
||||
[MODIFIER],
|
||||
[CREATOR]
|
||||
) VALUES (
|
||||
907,
|
||||
765,
|
||||
t.AllandoLakcimIranyitoSzam,
|
||||
t.AllandoLakcimTelepules,
|
||||
t.AllandoLakcimKozteruletNev,
|
||||
t.AllandoLakcimKozteruletJelleg,
|
||||
t.AllandoLakcimHazszam,
|
||||
t.FelhasznaloId,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId
|
||||
);
|
||||
|
||||
MERGE T_EMAIL_OSSZES e
|
||||
USING (
|
||||
SELECT * FROM @Tanarok WHERE EmailCim IS NOT NULL
|
||||
) t ON e.C_FELHASZNALOID = t.FelhasznaloId AND e.C_INTEZMENYID = @intezmenyid AND e.C_TANEVID = @tanevID
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
e.C_EMAILCIM = t.EmailCim,
|
||||
e.SERIAL += 1,
|
||||
e.LASTCHANGED = GETDATE(),
|
||||
e.MODIFIER = @userId
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
[C_EMAILTIPUSA],
|
||||
[C_EMAILCIM],
|
||||
[C_ALAPERTELMEZETT],
|
||||
[C_GONDVISELOID],
|
||||
[C_FELHASZNALOID],
|
||||
[C_INTEZMENYID],
|
||||
[C_TANEVID],
|
||||
[MODIFIER],
|
||||
[CREATOR]
|
||||
) VALUES (
|
||||
1025,
|
||||
t.EmailCim,
|
||||
'T',
|
||||
null,
|
||||
t.FelhasznaloId,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId
|
||||
);
|
||||
|
||||
MERGE T_TELEFON_OSSZES tf
|
||||
USING (
|
||||
SELECT * FROM @Tanarok WHERE Telefonszam IS NOT NULL
|
||||
) t ON tf.C_FELHASZNALOID = t.FelhasznaloId AND tf.C_INTEZMENYID = @intezmenyid AND tf.C_TANEVID = @tanevID
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
tf.[C_TELEFONSZAM] = t.Telefonszam,
|
||||
tf.SERIAL += 1,
|
||||
tf.LASTCHANGED = GETDATE(),
|
||||
tf.MODIFIER = @userId
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
[C_TELEFONTIPUSA],
|
||||
[C_TELEFONSZAM],
|
||||
[C_ALAPERTELMEZETT],
|
||||
[C_GONDVISELOID],
|
||||
[C_FELHASZNALOID],
|
||||
[C_INTEZMENYID],
|
||||
[C_TANEVID],
|
||||
[MODIFIER],
|
||||
[CREATOR]
|
||||
) VALUES (
|
||||
1019,
|
||||
t.Telefonszam,
|
||||
'T',
|
||||
null,
|
||||
t.FelhasznaloId,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId
|
||||
);
|
||||
|
||||
|
||||
DECLARE @szerepkorId int;
|
||||
|
||||
SELECT @szerepkorId = ID
|
||||
FROM T_SZEREPKOR_OSSZES
|
||||
WHERE C_SZEREPKORTIPUS = '1760'
|
||||
AND C_INTEZMENYID = @intezmenyID AND C_TANEVID = @tanevID
|
||||
|
||||
INSERT INTO T_FELHASZNALO_SZEREPKOR (
|
||||
C_FELHASZNALOID
|
||||
,C_SZEREPKORID
|
||||
) SELECT
|
||||
t.FelhasznaloId
|
||||
,@szerepkorId
|
||||
FROM @Tanarok t
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_FELHASZNALO_SZEREPKOR fsz WHERE fsz.C_FELHASZNALOID = FelhasznaloId AND fsz.C_SZEREPKORID = @szerepkorId)
|
||||
|
||||
DECLARE @aktTanevId int
|
||||
,@kovetkezoTanevId int
|
||||
,@alkalmazottId int
|
||||
,@alkTanevId int
|
||||
|
||||
DECLARE felhCur CURSOR FOR
|
||||
SELECT felHasznaloId FROM @LinkTable
|
||||
OPEN felhCur
|
||||
FETCH NEXT FROM felhCur INTO @alkalmazottId
|
||||
WHILE @@FETCH_STATUS=0
|
||||
BEGIN
|
||||
|
||||
SELECT @alkTanevId=C_TANEVID FROM T_FELHASZNALO WHERE ID = @alkalmazottId
|
||||
SELECT @kovetkezoTanevId = ID FROM T_TANEV_OSSZES WHERE C_INTEZMENYID=@intezmenyId AND TOROLT='F' AND C_KOVETKEZO='T'
|
||||
|
||||
IF @kovetkezoTanevId IS NOT NULL AND @alkTanevId<>@kovetkezoTanevId
|
||||
BEGIN
|
||||
EXEC sp_FollowUpAlkalmazott
|
||||
@intezmenyId = @intezmenyID,
|
||||
@aktTanevId = @alkTanevId,
|
||||
@kovetkezoTanevId = @kovetkezoTanevId,
|
||||
@alkalmazottId = @alkalmazottId
|
||||
|
||||
EXEC sp_FollowUpAlkalmazottTovabbiMunkaugy @intezmenyId, @aktTanevId, @kovetkezoTanevId, @alkalmazottId
|
||||
EXEC sp_FollowUpAlkalmazottPEP @intezmenyId, @aktTanevId, @kovetkezoTanevId, @alkalmazottId
|
||||
EXEC sp_FollowUpAlkalmazottVegzettseg @intezmenyId, @aktTanevId, @kovetkezoTanevId, @alkalmazottId
|
||||
END
|
||||
|
||||
FETCH NEXT FROM felhCur INTO @alkalmazottId
|
||||
END
|
||||
COMMIT TRANSACTION
|
||||
-- ROLLBACK TRANSACTION
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
|
||||
ROLLBACK TRANSACTION;
|
||||
THROW
|
||||
END CATCH
|
||||
END
|
|
@ -0,0 +1,490 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_KIRImportTanulok]
|
||||
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)'),
|
||||
SzuletesiNevVezetekNev = Tanulo.value('(SzuletesiNevVezetekNev)[1]', 'nvarchar(50)'), SzuletesiNevUtoNev = Tanulo.value('(SzuletesiNevKeresztNev)[1]', 'nvarchar(50)'),
|
||||
SzuletesiNevNevSorrend = Tanulo.value('(SzuletesiNevNevSorrend)[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)'),
|
||||
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]', 'date'),
|
||||
|
||||
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.NyomtatasiNev = fh.C_NYOMTATASINEV AND
|
||||
t.SzuletesiDatum = fh.C_SZULETESIDATUM AND
|
||||
t.SzuletesiHely = fh.C_SZULETESIHELY AND
|
||||
t.AnyjaNeve = fh.C_ANYJANEVE AND
|
||||
t.OktatasiAzonosito = fh.C_OKTATASIAZONOSITO
|
||||
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 = IIF(src.SzuletesiNevVezetekNev IS NULL, src.VezetekNev + ' ' +src.UtoNev, src.SzuletesiNevVezetekNev + ' ' + src.SzuletesiNevUtoNev),
|
||||
trg.C_ANYJANEVE = src.AnyjaNeve,
|
||||
trg.C_SZULETESIHELY = src.SzuletesiHely,
|
||||
trg.C_ALLAMPOLGARSAGA = src.Allampolgarsag,
|
||||
trg.C_KERESESINEV = src.KeresesiNev,
|
||||
trg.C_SZULETESIORSZAG = src.SzuletesiOrszag,
|
||||
trg.C_SZULETESINEVSORREND = IIF(src.SzuletesiNevNevSorrend IS NULL, 'F' , src.SzuletesiNevNevSorrend),
|
||||
trg.C_ANYJANEVESORREND = src.AnyjaNeveNevSorrend,
|
||||
trg.C_ALAPERTELMEZETTLCID = 1038,
|
||||
trg.C_SZULETESINEVELVALASZTO = IIF(src.SzuletesiNevVezetekNev IS NULL ,LEN(src.VezetekNev) ,LEN(src.SzuletesiNevVezetekNev)),
|
||||
trg.C_ANYJANEVEELVALASZTO = (LEN(src.AnyjaNeveVezetekNev) + IIF(src.AnyjaNeveElotag IS NULL OR LEN(src.AnyjaNeveElotag) = 0, 0, LEN(src.AnyjaNeveElotag) + 1)),
|
||||
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.C_KRETAKOD = src.KretaKod,
|
||||
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
|
||||
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
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
,C_BELUGYALTALAZONOSITOTT
|
||||
,C_UTOLSOADATFRISSITESIDOPONTJA
|
||||
)
|
||||
VALUES (
|
||||
src.Nem
|
||||
,src.SzuletesiDatum
|
||||
,IIF(src.SzuletesiNevVezetekNev IS NULL, src.VezetekNev +' ' +src.UtoNev, src.SzuletesiNevVezetekNev + ' ' + src.SzuletesiNevUtoNev)
|
||||
,src.AnyjaNeve
|
||||
,src.SzuletesiHely
|
||||
,src.TAJSzam
|
||||
,src.Allampolgarsag
|
||||
,src.JogviszonyJellege
|
||||
,src.KeresesiNev
|
||||
,src.SzuletesiOrszag
|
||||
,IIF(src.SzuletesiNevNevSorrend IS NULL, 'F' , src.SzuletesiNevNevSorrend)
|
||||
,src.AnyjaNeveNevSorrend
|
||||
,1038
|
||||
,IIF(src.SzuletesiNevVezetekNev IS NULL ,LEN(src.VezetekNev) ,LEN(src.SzuletesiNevVezetekNev))
|
||||
,(LEN(src.AnyjaNeveVezetekNev) + IIF(src.AnyjaNeveElotag IS NULL OR LEN(src.AnyjaNeveElotag) = 0, 0, LEN(src.AnyjaNeveElotag) + 1))
|
||||
,src.NyomtatasiNev
|
||||
,src.UtoNev
|
||||
,src.VezetekNev
|
||||
,src.Elotag
|
||||
,src.NevSorrend
|
||||
,src.JogviszonyKezdete
|
||||
,src.OktatasiAzonosito
|
||||
,src.OMAzonosito
|
||||
,src.KretaKod
|
||||
,@intezmenyID
|
||||
,@tanevID
|
||||
,NULL
|
||||
,@userId
|
||||
,src.BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott
|
||||
,src.UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja
|
||||
)
|
||||
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
|
||||
,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
|
||||
,NULL
|
||||
,@userId
|
||||
);
|
||||
|
||||
|
||||
-------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
|
||||
,C_GUID
|
||||
) SELECT
|
||||
t.Jelszo
|
||||
,t.BejelentkezesiNev
|
||||
,t.Salt
|
||||
,fh.ID
|
||||
,@intezmenyID
|
||||
,@tanevID
|
||||
,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 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 <> ''
|
||||
) 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
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
908
|
||||
,765
|
||||
,src.TartozkodasiCimIranyitoszam
|
||||
,src.TartozkodasiCimTelepules
|
||||
,src.TartozkodasiCimKozteruletNev
|
||||
,src.TartozkodasiCimKozteruletJelleg
|
||||
,src.TartozkodasiCimHazszam
|
||||
,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
|
||||
) 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
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) VALUES (
|
||||
907
|
||||
,765
|
||||
,src.AllandoLakcimIranyitoSzam
|
||||
,src.AllandoLakcimTelepules
|
||||
,src.AllandoLakcimKozteruletNev
|
||||
,src.AllandoLakcimKozteruletJelleg
|
||||
,src.AllandoLakcimHazszam
|
||||
,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
|
Loading…
Add table
Add a link
Reference in a new issue