464 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			464 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
ALTER 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      
 | 
						|
      );
 | 
						|
    
 | 
						|
	  -------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
 | 
						|
        );        
 | 
						|
    COMMIT TRANSACTION
 | 
						|
  END TRY
 | 
						|
  BEGIN CATCH
 | 
						|
    IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0 
 | 
						|
      ROLLBACK TRANSACTION;
 | 
						|
    THROW
 | 
						|
  END CATCH
 | 
						|
END |