init
This commit is contained in:
+706
@@ -0,0 +1,706 @@
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_KIRImportTanarok]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_KIRImportTanarok]
|
||||
@TanarokXML xml
|
||||
,@FeladatellatasiHelyId int
|
||||
,@intezmenyID int
|
||||
,@tanevID int
|
||||
,@userId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
-- XML paraméter értelmezése
|
||||
DECLARE @Tanarok TABLE (
|
||||
Id int
|
||||
,OktatasiAzonosito nvarchar(20)
|
||||
,VezetekNev nvarchar(255)
|
||||
,UtoNev nvarchar(255)
|
||||
,Elotag nvarchar(20)
|
||||
,NevSorrend char(1)
|
||||
,AnyjaNeveElotag nvarchar(20)
|
||||
,AnyjaNeve nvarchar(64)
|
||||
,AnyjaNeveVezetekNev nvarchar(255)
|
||||
,AnyjaNeveKeresztNev nvarchar(255)
|
||||
,AnyjaNeveNevSorrend char(1)
|
||||
,SzuletesiDatum datetime
|
||||
,SzuletesiHely nvarchar(50)
|
||||
,SzuletesiOrszag int
|
||||
,SzuletesiNeveElotag nvarchar(20)
|
||||
,SzuletesiNeve nvarchar(64)
|
||||
,SzuletesiNeveVezetekNev nvarchar(255)
|
||||
,SzuletesiNeveKeresztNev nvarchar(255)
|
||||
,SzuletesiNeveNevSorrend char(1)
|
||||
,Allampolgarsag int
|
||||
,Allampolgarsag2 int
|
||||
,Nem int
|
||||
,EmailCim nvarchar(200)
|
||||
,Telefonszam nvarchar(100)
|
||||
,AllandoLakcimIranyitoSzam nvarchar(20)
|
||||
,AllandoLakcimTelepules nvarchar(50)
|
||||
,AllandoLakcimKozteruletNev nvarchar(40)
|
||||
,AllandoLakcimKozteruletJellegNev nvarchar(50)
|
||||
,AllandoLakcimHazszam nvarchar(30)
|
||||
,AllandoLakcimPontositas nvarchar(40)
|
||||
,TartozkodasiCimTelepules nvarchar(50)
|
||||
,TartozkodasiCimKozteruletNev nvarchar(40)
|
||||
,TartozkodasiCimKozteruletJellegNev nvarchar(50)
|
||||
,TartozkodasiCimHazszam nvarchar(30)
|
||||
,TartozkodasiCimIranyitoszam nvarchar(20)
|
||||
,TartozkodasiCimPontositas nvarchar(40)
|
||||
,KeresesiNev nvarchar(61)
|
||||
,NyomtatasiNev nvarchar(255)
|
||||
,OMAzonosito nvarchar(20)
|
||||
,Foallas char(1)
|
||||
,KotelezoOraszam numeric(10,2)
|
||||
,FoglalkoztatasTipus int
|
||||
,MunkakorTipusa int
|
||||
,MunkaviszonyTipusa int
|
||||
,JogviszonyKezdete datetime
|
||||
,JogviszonyBefejezese 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
|
||||
,VezetekNev
|
||||
,UtoNev
|
||||
,Elotag
|
||||
,NevSorrend
|
||||
,AnyjaNeveElotag
|
||||
,AnyjaNeve
|
||||
,AnyjaNeveVezetekNev
|
||||
,AnyjaNeveKeresztNev
|
||||
,AnyjaNeveNevSorrend
|
||||
,SzuletesiDatum
|
||||
,SzuletesiHely
|
||||
,SzuletesiOrszag
|
||||
,SzuletesiNeveElotag
|
||||
,SzuletesiNeve
|
||||
,SzuletesiNeveVezetekNev
|
||||
,SzuletesiNeveKeresztNev
|
||||
,SzuletesiNeveNevSorrend
|
||||
,Allampolgarsag
|
||||
,Allampolgarsag2
|
||||
,Nem
|
||||
,EmailCim
|
||||
,Telefonszam
|
||||
,AllandoLakcimIranyitoSzam
|
||||
,AllandoLakcimTelepules
|
||||
,AllandoLakcimKozteruletNev
|
||||
,AllandoLakcimKozteruletJellegNev
|
||||
,AllandoLakcimHazszam
|
||||
,AllandoLakcimPontositas
|
||||
,TartozkodasiCimTelepules
|
||||
,TartozkodasiCimKozteruletNev
|
||||
,TartozkodasiCimKozteruletJellegNev
|
||||
,TartozkodasiCimHazszam
|
||||
,TartozkodasiCimIranyitoszam
|
||||
,TartozkodasiCimPontositas
|
||||
,KeresesiNev
|
||||
,NyomtatasiNev
|
||||
,OMAzonosito
|
||||
,Foallas
|
||||
,KotelezoOraszam
|
||||
,FoglalkoztatasTipus
|
||||
,MunkakorTipusa
|
||||
,MunkaviszonyTipusa
|
||||
,JogviszonyKezdete
|
||||
,JogviszonyBefejezese
|
||||
,isUjTanar
|
||||
,BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott
|
||||
,UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja
|
||||
) SELECT
|
||||
Id = Tanar.value('(ID)[1]', 'int'),
|
||||
OktatasiAzonosito = Tanar.value('(OktatasiAzonosito)[1]', 'nvarchar(20)'),
|
||||
VezetekNev = Tanar.value('(ViseltNevVezetekNev)[1]', 'nvarchar(255)'),
|
||||
UtoNev = Tanar.value('(ViseltNevKeresztNev)[1]', 'nvarchar(255)'),
|
||||
Elotag = Tanar.value('(ViseltNevElotag)[1]', 'nvarchar(20)'),
|
||||
NevSorrend = Tanar.value('(ViseltNevNevSorrend)[1]', 'char(1)'),
|
||||
AnyjaNeveElotag = Tanar.value('(AnyjaNeveElotag)[1]', 'nvarchar(20)'),
|
||||
AnyjaNeve = Tanar.value('(AnyjaNeve)[1]', 'nvarchar(64)'),
|
||||
AnyjaNeveVezetekNev = Tanar.value('(AnyjaNeveVezetekNev)[1]', 'nvarchar(255)'),
|
||||
AnyjaNeveKeresztNev = Tanar.value('(AnyjaNeveKeresztNev)[1]', 'nvarchar(255)'),
|
||||
AnyjaNeveNevSorrend = Tanar.value('(AnyjaNeveNevSorrend)[1]', 'char(1)'),
|
||||
SzuletesiDatum = Tanar.value('(SzuletesiDatum)[1]', 'datetime'),
|
||||
SzuletesiHely = Tanar.value('(SzuletesiHely)[1]', 'nvarchar(50)'),
|
||||
SzuletesiOrszag = Tanar.value('(SzuletesiOrszag)[1]', 'int'),
|
||||
SzuletesiNeveElotag = Tanar.value('(SzuletesiNevElotag)[1]', 'nvarchar(20)'),
|
||||
SzuletesiNeve = Tanar.value('(SzuletesiNeve)[1]', 'nvarchar(64)'),
|
||||
SzuletesiNeveVezetekNev = Tanar.value('(SzuletesiNevVezetekNev)[1]', 'nvarchar(255)'),
|
||||
SzuletesiNeveKeresztNev = Tanar.value('(SzuletesiNevKeresztNev)[1]', 'nvarchar(255)'),
|
||||
SzuletesiNeveNevSorrend = Tanar.value('(SzuletesiNevNevSorrend)[1]', 'char(1)'),
|
||||
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(200)'),
|
||||
Telefonszam = Tanar.value('(Telefonszam)[1]', 'nvarchar(100)'),
|
||||
AllandoLakcimIranyitoSzam = Tanar.value('(AllandoLakcimIranyitoSzam)[1]', 'nvarchar(20)'),
|
||||
AllandoLakcimTelepules = Tanar.value('(AllandoLakcimTelepules)[1]', 'nvarchar(50)'),
|
||||
AllandoLakcimKozteruletNev = Tanar.value('(AllandoLakcimKozteruletNev)[1]', 'nvarchar(40)'),
|
||||
AllandoLakcimKozteruletJellegNev = Tanar.value('(AllandoLakcimKozteruletJellegNev)[1]', 'nvarchar(50)'),
|
||||
AllandoLakcimHazszam = Tanar.value('(AllandoLakcimHazszam)[1]', 'nvarchar(30)'),
|
||||
AllandoLakcimPontositas = Tanar.value('(AllandoLakcimPontositas)[1]', 'nvarchar(40)'),
|
||||
TartozkodasiCimTelepules = Tanar.value('(TartozkodasiCimTelepules)[1]', 'nvarchar(50)'),
|
||||
TartozkodasiCimKozteruletNev = Tanar.value('(TartozkodasiCimKozteruletNev)[1]', 'nvarchar(40)'),
|
||||
TartozkodasiCimKozteruletJellegNev = Tanar.value('(TartozkodasiCimKozteruletJellegNev)[1]', 'nvarchar(50)'),
|
||||
TartozkodasiCimHazszam = Tanar.value('(TartozkodasiCimHazszam)[1]', 'nvarchar(30)'),
|
||||
TartozkodasiCimIranyitoszam = Tanar.value('(TartozkodasiCimIranyitoSzam)[1]', 'nvarchar(20)'),
|
||||
TartozkodasiCimPontositas = Tanar.value('(TartozkodasiCimPontositas)[1]', 'nvarchar(40)'),
|
||||
KeresesiNev = Tanar.value('(KeresesiNev)[1]', 'nvarchar(61)'),
|
||||
NyomtatasiNev = Tanar.value('(NyomtatasiNev)[1]', 'nvarchar(255)'),
|
||||
OMAzonosito = Tanar.value('(OMAzonosito)[1]', 'nvarchar(20)'),
|
||||
Foallas = Tanar.value('(Foallas)[1]', 'char(1)'),
|
||||
KotelezoOraszam = Tanar.value('(KotelezoOraszam)[1]', 'numeric(10,2)'),
|
||||
FoglalkoztatasTipus = Tanar.value('number((FoglalkoztatasTipus)[1])', 'int'),
|
||||
MunkakorTipusa = Tanar.value('(MunkakorTipusa)[1]', 'int'),
|
||||
MunkaviszonyTipusa = Tanar.value('(MunkaviszonyTipusa)[1]', 'int'),
|
||||
JogviszonyKezdete = Tanar.value('(JogviszonyKezdete)[1]', 'datetime'),
|
||||
JogviszonyBefejezese = Tanar.value('(JogviszonyBefejezese)[1]', 'datetime'),
|
||||
1 AS isUjTanar,
|
||||
BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott = Tanar.value('(BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott)[1]', 'char(1)'),
|
||||
UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja = Tanar.value('(UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja)[1]', 'datetime')
|
||||
FROM @TanarokXML.nodes('/KIRTanarok/ImportaltTanarok/Tanar') as Tanarok(Tanar)
|
||||
|
||||
DECLARE @LinkTable TABLE (
|
||||
felHasznaloId int
|
||||
,OktatasiAzonosito nvarchar(20)
|
||||
,NevSorrend char(1)
|
||||
,SzuletesiNeveElotag nvarchar(255)
|
||||
,SzuletesiNeveVezetekNev nvarchar(255)
|
||||
,SzuletesiNeveKeresztNev nvarchar(255)
|
||||
,AnyjaNeveNevSorrend char(1)
|
||||
,AnyjaNeveElotag nvarchar(255)
|
||||
,AnyjaNeveVezetekNev nvarchar(255)
|
||||
,AnyjaNeveKeresztNev nvarchar(255)
|
||||
,SzuletesiDatum datetime
|
||||
,SzuletesiHely nvarchar(50)
|
||||
,action nvarchar(20))
|
||||
|
||||
BEGIN TRY
|
||||
BEGIN TRANSACTION
|
||||
|
||||
MERGE T_FELHASZNALO_OSSZES fh
|
||||
USING (
|
||||
SELECT * FROM @Tanarok
|
||||
) t ON ((ISNULL(t.NevSorrend,'') = ISNULL(fh.C_NEVSORREND,'') AND ISNULL(t.VezetekNev,'') = ISNULL(fh.C_VEZETEKNEV,'') AND ISNULL(t.UtoNev,'') = ISNULL(fh.C_UTONEV,''))
|
||||
OR (ISNULL(t.VezetekNev,'') = ISNULL(fh.C_UTONEV,'') AND ISNULL(t.UtoNev,'') = ISNULL(fh.C_VEZETEKNEV,'')))
|
||||
AND ISNULL(t.Elotag,'') = ISNULL(fh.C_ELOTAG,'')
|
||||
AND ((ISNULL(t.AnyjaNeveNevSorrend,'') = ISNULL(fh.C_ANYJANEVESORREND,'') AND ISNULL(t.AnyjaNeveVezetekNev,'') = ISNULL(fh.C_ANYJAVEZETEKNEVE,'') AND ISNULL(t.AnyjaNeveKeresztNev,'') = ISNULL(fh.C_ANYJAUTONEVE,''))
|
||||
OR (ISNULL(t.AnyjaNeveVezetekNev,'') = ISNULL(fh.C_ANYJAUTONEVE,'') AND ISNULL(t.AnyjaNeveKeresztNev,'') = ISNULL(fh.C_ANYJAVEZETEKNEVE,'')))
|
||||
AND ISNULL(t.AnyjaNeveElotag,'') = ISNULL(fh.C_ANYJANEVEELOTAG,'')
|
||||
AND t.SzuletesiDatum = fh.C_SZULETESIDATUM AND t.SzuletesiHely = fh.C_SZULETESIHELY
|
||||
AND ISNULL(t.OktatasiAzonosito,'') = ISNULL(fh.C_OKTATASIAZONOSITO,'')
|
||||
AND fh.C_INTEZMENYID = @intezmenyid AND fh.C_TANEVID = @tanevID AND fh.TOROLT = 'F'
|
||||
AND EXISTS (SELECT 1 FROM T_ALKALMAZOTT_OSSZES a WHERE a.ID = fh.ID AND a.C_ALTANEVID = fh.C_TANEVID AND a.TOROLT = 'F') --ha letezik alkalmazottkent akkor mindenkepp update, maskepp insert
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
fh.C_NEME = t.Nem,
|
||||
fh.C_SZULETESIDATUM = t.SzuletesiDatum,
|
||||
fh.C_SZULETESINEV = t.SzuletesiNeve,
|
||||
fh.C_ANYJANEVE = t.AnyjaNeve,
|
||||
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_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_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,
|
||||
fh.C_ANYJAUTONEVE = t.AnyjaNeveKeresztNev,
|
||||
fh.C_ANYJAVEZETEKNEVE = t.AnyjaNeveVezetekNev,
|
||||
fh.C_SZULETESIUTONEV = t.SzuletesiNeveKeresztNev,
|
||||
fh.C_SZULETESIVEZETEKNEV = t.SzuletesiNeveVezetekNev,
|
||||
fh.C_ANYJANEVEELOTAG = t.AnyjaNeveElotag,
|
||||
fh.C_SZULETESINEVELOTAG = t.SzuletesiNeveElotag
|
||||
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_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_ANYJAUTONEVE],
|
||||
[C_ANYJAVEZETEKNEVE],
|
||||
[C_SZULETESIUTONEV],
|
||||
[C_SZULETESIVEZETEKNEV],
|
||||
[C_ANYJANEVEELOTAG],
|
||||
[C_SZULETESINEVELOTAG]
|
||||
) VALUES (
|
||||
t.Nem,
|
||||
t.SzuletesiDatum,
|
||||
t.SzuletesiNeve,
|
||||
t.AnyjaNeve,
|
||||
t.SzuletesiHely,
|
||||
t.Allampolgarsag,
|
||||
t.Allampolgarsag2,
|
||||
t.KeresesiNev,
|
||||
t.SzuletesiOrszag,
|
||||
t.SzuletesiNeveNevSorrend,
|
||||
t.AnyjaNeveNevSorrend,
|
||||
1038,
|
||||
t.NyomtatasiNev,
|
||||
t.UtoNev,
|
||||
t.VezetekNev,
|
||||
t.Elotag,
|
||||
t.NevSorrend,
|
||||
GETDATE(),
|
||||
t.OktatasiAzonosito,
|
||||
t.OMAzonosito,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId,
|
||||
t.BelugyMiniszteriumSzemelyiadatEsLakcimNyilvantartasavalBeazonositott,
|
||||
t.UtolsoSzemelyiadatEsLakcimNyilvantartasFrissitesIdopontja,
|
||||
t.AnyjaNeveKeresztNev,
|
||||
t.AnyjaNeveVezetekNev,
|
||||
t.SzuletesiNeveKeresztNev,
|
||||
t.SzuletesiNeveVezetekNev,
|
||||
t.AnyjaNeveElotag,
|
||||
t.SzuletesiNeveElotag
|
||||
)
|
||||
OUTPUT INSERTED.ID
|
||||
,t.OktatasiAzonosito
|
||||
,t.NevSorrend
|
||||
,t.SzuletesiNeveElotag
|
||||
,t.SzuletesiNeveVezetekNev
|
||||
,t.SzuletesiNeveKeresztNev
|
||||
,t.AnyjaNeveNevSorrend
|
||||
,t.AnyjaNeveElotag
|
||||
,t.AnyjaNeveVezetekNev
|
||||
,t.AnyjaNeveKeresztNev
|
||||
,t.SzuletesiDatum
|
||||
,t.SzuletesiHely
|
||||
,$action
|
||||
INTO @LinkTable(felHasznaloId
|
||||
,OktatasiAzonosito
|
||||
,NevSorrend
|
||||
,SzuletesiNeveElotag
|
||||
,SzuletesiNeveVezetekNev
|
||||
,SzuletesiNeveKeresztNev
|
||||
,AnyjaNeveNevSorrend
|
||||
,AnyjaNeveElotag
|
||||
,AnyjaNeveVezetekNev
|
||||
,AnyjaNeveKeresztNev
|
||||
,SzuletesiDatum
|
||||
,SzuletesiHely
|
||||
,action);
|
||||
|
||||
UPDATE t
|
||||
SET t.FelhasznaloId = x.felhasznaloId
|
||||
,t.isUjTanar = 0
|
||||
FROM @Tanarok t
|
||||
INNER JOIN @LinkTable x ON
|
||||
((ISNULL(t.NevSorrend,'') = ISNULL(x.NevSorrend,'') AND ISNULL(t.SzuletesiNeveVezetekNev,'') = ISNULL(x.SzuletesiNeveVezetekNev,'') AND ISNULL(t.SzuletesiNeveKeresztNev,'') = ISNULL(x.SzuletesiNeveKeresztNev,''))
|
||||
OR (ISNULL(t.SzuletesiNeveVezetekNev,'') = ISNULL(x.SzuletesiNeveKeresztNev,'') AND ISNULL(t.SzuletesiNeveKeresztNev,'') = ISNULL(x.SzuletesiNeveVezetekNev,'')))
|
||||
AND ISNULL(t.SzuletesiNeveElotag,'') = ISNULL(x.SzuletesiNeveElotag,'')
|
||||
AND ((ISNULL(t.AnyjaNeveNevSorrend,'') = ISNULL(x.AnyjaNeveNevSorrend,'') AND ISNULL(t.AnyjaNeveVezetekNev,'') = ISNULL(x.AnyjaNeveVezetekNev,'') AND ISNULL(t.AnyjaNeveKeresztNev,'') = ISNULL(x.AnyjaNeveKeresztNev,''))
|
||||
OR (ISNULL(t.AnyjaNeveVezetekNev,'') = ISNULL(x.AnyjaNeveKeresztNev,'') AND ISNULL(t.AnyjaNeveKeresztNev,'') = ISNULL(x.AnyjaNeveVezetekNev,'')))
|
||||
AND ISNULL(t.AnyjaNeveElotag,'') = ISNULL(x.AnyjaNeveElotag,'')
|
||||
AND t.SzuletesiDatum = x.SzuletesiDatum AND t.SzuletesiHely = x.SzuletesiHely
|
||||
AND ISNULL(t.OktatasiAzonosito,'') = ISNULL(x.OktatasiAzonosito,'')
|
||||
|
||||
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 AND a.TOROLT = 'F'
|
||||
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 AND m.TOROLT = 'F'
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
m.C_ALKALMAZASKEZDETE = t.JogviszonyKezdete,
|
||||
m.C_ALKALMAZASMEGSZUNESE = t.JogviszonyBefejezese,
|
||||
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_ALKALMAZASMEGSZUNESE,
|
||||
C_KOTELEZOORASZAM,
|
||||
C_FOGLALKOZTATASTIPUS,
|
||||
C_MUNKAKORTIPUSA,
|
||||
C_MUNKAVISZONYTIPUSA,
|
||||
C_ALKALMAZOTTID,
|
||||
C_FELADATELLATASIHELYID,
|
||||
C_INTEZMENYID,
|
||||
C_TANEVID,
|
||||
MODIFIER,
|
||||
CREATOR
|
||||
) VALUES (
|
||||
t.JogviszonyKezdete,
|
||||
t.JogviszonyBefejezese,
|
||||
t.KotelezoOraszam,
|
||||
t.FoglalkoztatasTipus,
|
||||
t.MunkakorTipusa,
|
||||
t.MunkaviszonyTipusa,
|
||||
t.FelhasznaloId,
|
||||
@FeladatellatasiHelyId,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId
|
||||
);
|
||||
|
||||
MERGE T_CIM_OSSZES c
|
||||
USING (
|
||||
SELECT * FROM @Tanarok
|
||||
WHERE TartozkodasiCimIranyitoszam IS NOT NULL AND TartozkodasiCimIranyitoszam <> ''
|
||||
AND TartozkodasiCimTelepules IS NOT NULL AND TartozkodasiCimKozteruletNev IS NOT NULL AND TartozkodasiCimHazszam IS NOT NULL
|
||||
) t ON c.C_FELHASZNALOID = t.FelhasznaloId AND c.C_INTEZMENYID = @intezmenyid AND c.C_TANEVID = @tanevID AND c.C_CIMTIPUSA = 909 AND c.TOROLT = 'F'
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
c.[C_CIMTIPUSA] = 909,
|
||||
c.[C_ORSZAG] = 765,
|
||||
c.[C_IRANYITOSZAM] = t.TartozkodasiCimIranyitoszam,
|
||||
c.[C_VAROS] = t.TartozkodasiCimTelepules,
|
||||
c.[C_KOZTERULET] = t.TartozkodasiCimKozteruletNev,
|
||||
c.[C_KOZTERULETJELLEGENEV] = t.TartozkodasiCimKozteruletJellegNev,
|
||||
c.[C_HAZSZAM] = t.TartozkodasiCimHazszam,
|
||||
c.[C_EMELET] = t.TartozkodasiCimPontositas,
|
||||
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_KOZTERULETJELLEGENEV],
|
||||
[C_HAZSZAM],
|
||||
[C_EMELET],
|
||||
[C_FELHASZNALOID],
|
||||
[C_INTEZMENYID],
|
||||
[C_TANEVID],
|
||||
[MODIFIER],
|
||||
[CREATOR]
|
||||
) VALUES (
|
||||
909,
|
||||
765,
|
||||
t.TartozkodasiCimIranyitoszam,
|
||||
t.TartozkodasiCimTelepules,
|
||||
t.TartozkodasiCimKozteruletNev,
|
||||
t.TartozkodasiCimKozteruletJellegNev,
|
||||
t.TartozkodasiCimHazszam,
|
||||
t.TartozkodasiCimPontositas,
|
||||
t.FelhasznaloId,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId
|
||||
);
|
||||
|
||||
MERGE T_CIM_OSSZES c
|
||||
USING (
|
||||
SELECT * FROM @Tanarok
|
||||
WHERE AllandoLakcimIranyitoSzam IS NOT NULL AND AllandoLakcimTelepules IS NOT NULL AND AllandoLakcimKozteruletNev IS NOT NULL AND AllandoLakcimHazszam IS NOT NULL
|
||||
) t ON c.C_FELHASZNALOID = t.FelhasznaloId AND c.C_INTEZMENYID = @intezmenyid AND c.C_TANEVID = @tanevID AND c.C_CIMTIPUSA = 907 AND c.TOROLT = 'F'
|
||||
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_KOZTERULETJELLEGENEV] = t.AllandoLakcimKozteruletJellegNev,
|
||||
c.[C_HAZSZAM] = t.AllandoLakcimHazszam,
|
||||
c.[C_EMELET] = t.AllandoLakcimPontositas,
|
||||
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_KOZTERULETJELLEGENEV],
|
||||
[C_HAZSZAM],
|
||||
[C_EMELET],
|
||||
[C_FELHASZNALOID],
|
||||
[C_INTEZMENYID],
|
||||
[C_TANEVID],
|
||||
[MODIFIER],
|
||||
[CREATOR]
|
||||
) VALUES (
|
||||
907,
|
||||
765,
|
||||
t.AllandoLakcimIranyitoSzam,
|
||||
t.AllandoLakcimTelepules,
|
||||
t.AllandoLakcimKozteruletNev,
|
||||
t.AllandoLakcimKozteruletJellegNev,
|
||||
t.AllandoLakcimHazszam,
|
||||
t.AllandoLakcimPontositas,
|
||||
t.FelhasznaloId,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId
|
||||
);
|
||||
|
||||
INSERT INTO T_EMAIL_OSSZES(
|
||||
[C_EMAILTIPUSA],
|
||||
[C_EMAILCIM],
|
||||
[C_ALAPERTELMEZETT],
|
||||
[C_GONDVISELOID],
|
||||
[C_FELHASZNALOID],
|
||||
[C_INTEZMENYID],
|
||||
[C_TANEVID],
|
||||
[MODIFIER],
|
||||
[CREATOR]
|
||||
)
|
||||
SELECT
|
||||
1025,
|
||||
t.EmailCim,
|
||||
ISNULL(LetezoEmail.KellAlap, 'T'),
|
||||
null,
|
||||
t.FelhasznaloId,
|
||||
@intezmenyID,
|
||||
@tanevID,
|
||||
NULL,
|
||||
@userId
|
||||
FROM @Tanarok t
|
||||
OUTER APPLY (SELECT TOP (1) 'F' AS KellAlap
|
||||
FROM T_EMAIL_OSSZES email
|
||||
WHERE t.FelhasznaloId = email.C_FELHASZNALOID
|
||||
AND email.TOROLT = 'F'
|
||||
AND email.C_ALAPERTELMEZETT = 'T') AS LetezoEmail
|
||||
WHERE EmailCim IS NOT NULL
|
||||
AND NOT EXISTS
|
||||
(SELECT * FROM T_EMAIL_OSSZES e
|
||||
WHERE e.C_FELHASZNALOID = t.FelhasznaloId
|
||||
AND e.C_INTEZMENYID = @intezmenyid
|
||||
AND e.C_TANEVID = @tanevID
|
||||
AND e.TOROLT = 'F'
|
||||
AND e.C_EMAILCIM = t.EmailCim)
|
||||
|
||||
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 AND tf.TOROLT = 'F'
|
||||
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
|
||||
,@alkOktatasiAzonosito nvarchar(20)
|
||||
,@alkNevSorrend char(1)
|
||||
,@alkSzuletesiNeveElotag nvarchar(255)
|
||||
,@alkSzuletesiNeveVezetekNev nvarchar(255)
|
||||
,@alkSzuletesiNeveKeresztNev nvarchar(255)
|
||||
,@alkAnyjaNeveNevSorrend char(1)
|
||||
,@alkAnyjaNeveElotag nvarchar(255)
|
||||
,@alkAnyjaNeveVezetekNev nvarchar(255)
|
||||
,@alkAnyjaNeveKeresztNev nvarchar(255)
|
||||
,@alkSzuletesiDatum datetime
|
||||
,@alkSzuletesiHely nvarchar(50)
|
||||
|
||||
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
|
||||
,@alkOktatasiAzonosito = C_OKTATASIAZONOSITO
|
||||
,@alkNevSorrend = C_SZULETESINEVSORREND
|
||||
,@alkSzuletesiNeveElotag = C_SZULETESINEVELOTAG
|
||||
,@alkSzuletesiNeveVezetekNev = C_SZULETESIVEZETEKNEV
|
||||
,@alkSzuletesiNeveKeresztNev = C_SZULETESIUTONEV
|
||||
,@alkAnyjaNeveNevSorrend = C_ANYJANEVESORREND
|
||||
,@alkAnyjaNeveElotag = C_ANYJANEVEELOTAG
|
||||
,@alkAnyjaNeveVezetekNev = C_ANYJAVEZETEKNEVE
|
||||
,@alkAnyjaNeveKeresztNev = C_ANYJAUTONEVE
|
||||
,@alkSzuletesiDatum = C_SZULETESIDATUM
|
||||
,@alkSzuletesiHely = C_SZULETESIHELY
|
||||
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
|
||||
AND NOT EXISTS(SELECT 1 FROM T_FELHASZNALO_OSSZES
|
||||
WHERE @alkTanevId=C_TANEVID
|
||||
AND @alkOktatasiAzonosito = C_OKTATASIAZONOSITO
|
||||
AND ((@alkNevSorrend = C_SZULETESINEVSORREND AND @alkSzuletesiNeveVezetekNev = C_VEZETEKNEV AND @alkSzuletesiNeveKeresztNev = C_UTONEV)
|
||||
OR (@alkSzuletesiNeveVezetekNev = C_UTONEV AND @alkSzuletesiNeveKeresztNev = C_VEZETEKNEV))
|
||||
AND @alkSzuletesiNeveElotag = C_ELOTAG
|
||||
AND ((@alkAnyjaNeveNevSorrend = C_ANYJANEVESORREND AND @alkAnyjaNeveVezetekNev = C_ANYJAVEZETEKNEVE AND @alkAnyjaNeveKeresztNev = C_ANYJAUTONEVE)
|
||||
OR (@alkAnyjaNeveVezetekNev = C_ANYJAUTONEVE AND @alkAnyjaNeveKeresztNev = C_ANYJAVEZETEKNEVE))
|
||||
AND @alkAnyjaNeveElotag = C_ANYJANEVEELOTAG
|
||||
AND @alkSzuletesiDatum = C_SZULETESIDATUM
|
||||
AND @alkSzuletesiHely = C_SZULETESIHELY
|
||||
AND TOROLT = 'F' AND C_TANEVID = @kovetkezoTanevId)
|
||||
BEGIN
|
||||
EXEC uspFollowUpAlkalmazott
|
||||
@intezmenyId = @intezmenyID,
|
||||
@aktTanevId = @alkTanevId,
|
||||
@kovetkezoTanevId = @kovetkezoTanevId,
|
||||
@alkalmazottId = @alkalmazottId
|
||||
|
||||
DECLARE tovabbiMunkaugyCur CURSOR FOR
|
||||
SELECT ID FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES tma
|
||||
WHERE tma.C_ALKALMAZOTTID = @alkalmazottId AND tma.TOROLT='F'
|
||||
|
||||
DECLARE pepCur CURSOR FOR
|
||||
SELECT ID FROM T_PEDAGOGUSELETPALYAMODELL_OSSZES pep
|
||||
WHERE pep.C_TANARID = @alkalmazottId AND pep.TOROLT='F'
|
||||
|
||||
DECLARE
|
||||
@tovabbiMunkaugyiAdatId int
|
||||
,@pepId int
|
||||
|
||||
OPEN tovabbiMunkaugyCur
|
||||
FETCH NEXT FROM tovabbiMunkaugyCur INTO @tovabbiMunkaugyiAdatId
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
EXEC uspFollowUpAlkalmazottTovabbiMunkaugy @intezmenyId, @aktTanevId, @kovetkezoTanevId, @tovabbiMunkaugyiAdatId
|
||||
FETCH NEXT FROM tovabbiMunkaugyCur INTO @tovabbiMunkaugyiAdatId
|
||||
END
|
||||
CLOSE tovabbiMunkaugyCur
|
||||
DEALLOCATE tovabbiMunkaugyCur
|
||||
|
||||
OPEN pepCur
|
||||
FETCH NEXT FROM pepCur INTO @pepId
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
EXEC uspFollowUpAlkalmazottPEP @intezmenyId, @aktTanevId, @kovetkezoTanevId, @pepId
|
||||
FETCH NEXT FROM pepCur INTO @pepId
|
||||
END
|
||||
CLOSE pepCur
|
||||
DEALLOCATE pepCur
|
||||
|
||||
END
|
||||
FETCH NEXT FROM felhCur INTO @alkalmazottId
|
||||
END
|
||||
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