145 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('[dbo].[sp_ImportFelhasznaloBelepes]') IS NOT NULL
 | 
						|
BEGIN
 | 
						|
	DROP PROCEDURE [dbo].[sp_ImportFelhasznaloBelepes]
 | 
						|
END
 | 
						|
GO
 | 
						|
 | 
						|
-- =============================================
 | 
						|
-- Description:	<Importáljuk a felhasználó belépéseket>
 | 
						|
-- =============================================
 | 
						|
CREATE PROCEDURE [dbo].[sp_ImportFelhasznaloBelepes]
 | 
						|
	 @pIntezmenyId						INT
 | 
						|
	,@pTanevId							INT
 | 
						|
	,@pModifierId						INT
 | 
						|
	,@pFelhasznaloBelepesImportXml		XML
 | 
						|
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
 | 
						|
	-- SET NOCOUNT ON added to prevent extra result sets from
 | 
						|
	-- interfering with SELECT statements.
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
	BEGIN TRY
 | 
						|
		SET XACT_ABORT ON
 | 
						|
 
 | 
						|
		DECLARE @TempFelhasznaloBelepes TABLE (
 | 
						|
			 C_KOTELEZOVALTOZTATNI		CHAR(1)			NULL
 | 
						|
			,C_MEGHIUSULTBELEPESEK		INT				NULL
 | 
						|
			,C_UTOLSOBELEPES			DATETIME		NULL
 | 
						|
			,C_JELSZO					NVARCHAR(64)	NULL
 | 
						|
			,C_JELSZOVALTOZTATASIDEJE	DATETIME		NULL
 | 
						|
			,C_SO						NVARCHAR(64)	NULL
 | 
						|
			,C_BEJELENTKEZESINEV		NVARCHAR(255)	NOT NULL
 | 
						|
			,C_NEPTUNNAPLOJELSZO		NVARCHAR(64)	NULL
 | 
						|
			,C_GUID						NVARCHAR(36)	NOT NULL
 | 
						|
			,C_FELHASZNALOID			INT				NOT NULL
 | 
						|
			,C_GONDVISELOID				INT				NULL
 | 
						|
			,C_INTEZMENYID				INT				NOT NULL
 | 
						|
			,C_TANEVID					INT				NOT NULL
 | 
						|
			,TOROLT						CHAR(1)			NOT NULL
 | 
						|
			,SERIAL						INT				NOT NULL
 | 
						|
			,LASTCHANGED				DATETIME		NOT NULL
 | 
						|
			,CREATED					DATETIME		NOT NULL
 | 
						|
			,MODIFIER					INT				NULL
 | 
						|
			,CREATOR					INT				NULL
 | 
						|
			,NNID						INT				NULL
 | 
						|
			,ELOZOTANEVIREKORDID		INT				NULL
 | 
						|
		)
 | 
						|
 | 
						|
		INSERT INTO 
 | 
						|
			@TempFelhasznaloBelepes
 | 
						|
		SELECT 
 | 
						|
			 'T'																	C_KOTELEZOVALTOZTATNI
 | 
						|
			,0																		C_MEGHIUSULTBELEPESEK
 | 
						|
			,NULL																	C_UTOLSOBELEPES
 | 
						|
			,sor.value('(Jelszo)[1]', 'nvarchar(64)')								C_JELSZO
 | 
						|
			,NULL																	C_JELSZOVALTOZTATASIDEJE
 | 
						|
			,sor.value('(Salt)[1]', 'nvarchar(64)')									C_SO
 | 
						|
			,sor.value('(Felhasznalonev)[1]', 'nvarchar(255)')						C_BEJELENTKEZESINEV
 | 
						|
			,NULL																	C_NEPTUNNAPLOJELSZO
 | 
						|
			,NEWID()																C_GUID
 | 
						|
			,sor.value('number((FelhasznaloId)[1])', 'int')							C_FELHASZNALOID
 | 
						|
			,sor.value('number((GondviseloId)[1][not(@xsi:nil = "true")])', 'int')	C_GONDVISELOID
 | 
						|
			,@pIntezmenyId															C_INTEZMENYID
 | 
						|
			,@pTanevId																C_TANEVID
 | 
						|
			,'F'																	TOROLT
 | 
						|
			,0																		SERIAL
 | 
						|
			,GETDATE()																LASTCHANGED
 | 
						|
			,GETDATE()																CREATED
 | 
						|
			,@pModifierId															MODIFIER
 | 
						|
			,@pModifierId															CREATOR
 | 
						|
			,NULL																	NNID
 | 
						|
			,NULL																	ELOZOTANEVIREKORDID
 | 
						|
 | 
						|
  		FROM @pFelhasznaloBelepesImportXml.nodes('/FelhasznaloBelepesImport/FelhasznaloBelepesList/FelhasznaloBelepes') AS sorok(sor)  
 | 
						|
 | 
						|
		BEGIN TRANSACTION
 | 
						|
		
 | 
						|
		UPDATE 
 | 
						|
			T_FELHASZNALOBELEPES_OSSZES
 | 
						|
		SET
 | 
						|
			 T_FELHASZNALOBELEPES_OSSZES.TOROLT = 'T'
 | 
						|
  			,T_FELHASZNALOBELEPES_OSSZES.SERIAL = T_FELHASZNALOBELEPES_OSSZES.SERIAL + 1
 | 
						|
  			,T_FELHASZNALOBELEPES_OSSZES.LASTCHANGED = GETDATE()
 | 
						|
  			,T_FELHASZNALOBELEPES_OSSZES.MODIFIER = @pModifierId
 | 
						|
		FROM 
 | 
						|
			T_FELHASZNALOBELEPES_OSSZES
 | 
						|
		INNER JOIN 
 | 
						|
			@TempFelhasznaloBelepes tempTable ON 
 | 
						|
					tempTable.C_FELHASZNALOID = T_FELHASZNALOBELEPES_OSSZES.C_FELHASZNALOID 
 | 
						|
				AND ((T_FELHASZNALOBELEPES_OSSZES.C_GONDVISELOID IS NOT NULL AND tempTable.C_GONDVISELOID IS NOT NULL AND T_FELHASZNALOBELEPES_OSSZES.C_GONDVISELOID = tempTable.C_GONDVISELOID) 
 | 
						|
					OR (T_FELHASZNALOBELEPES_OSSZES.C_GONDVISELOID IS NULL AND tempTable.C_GONDVISELOID IS NULL))
 | 
						|
		WHERE
 | 
						|
				T_FELHASZNALOBELEPES_OSSZES.C_INTEZMENYID = @pIntezmenyId 
 | 
						|
			AND T_FELHASZNALOBELEPES_OSSZES.C_TANEVID = @pTanevId
 | 
						|
			AND T_FELHASZNALOBELEPES_OSSZES.TOROLT = 'F'
 | 
						|
 | 
						|
		INSERT INTO 
 | 
						|
			T_FELHASZNALOBELEPES
 | 
						|
		SELECT
 | 
						|
			 C_KOTELEZOVALTOZTATNI		C_KOTELEZOVALTOZTATNI
 | 
						|
			,C_MEGHIUSULTBELEPESEK		C_MEGHIUSULTBELEPESEK
 | 
						|
			,C_UTOLSOBELEPES			C_UTOLSOBELEPES
 | 
						|
			,C_JELSZO					C_JELSZO
 | 
						|
			,C_JELSZOVALTOZTATASIDEJE	C_JELSZOVALTOZTATASIDEJE
 | 
						|
			,C_SO						C_SO
 | 
						|
			,C_BEJELENTKEZESINEV		C_BEJELENTKEZESINEV
 | 
						|
			,C_NEPTUNNAPLOJELSZO		C_NEPTUNNAPLOJELSZO
 | 
						|
			,C_GUID						C_GUID
 | 
						|
			,C_FELHASZNALOID			C_FELHASZNALOID
 | 
						|
			,C_GONDVISELOID				C_GONDVISELOID
 | 
						|
			,C_INTEZMENYID				C_INTEZMENYID
 | 
						|
			,C_TANEVID					C_TANEVID
 | 
						|
			,TOROLT						TOROLT
 | 
						|
			,SERIAL						SERIAL
 | 
						|
			,LASTCHANGED				LASTCHANGED
 | 
						|
			,CREATED					CREATED
 | 
						|
			,MODIFIER					MODIFIER
 | 
						|
			,CREATOR					CREATOR
 | 
						|
			,NNID						NNID
 | 
						|
			,ELOZOTANEVIREKORDID		ELOZOTANEVIREKORDID
 | 
						|
 | 
						|
		FROM 
 | 
						|
			@TempFelhasznaloBelepes
 | 
						|
 | 
						|
		COMMIT TRANSACTION
 | 
						|
	END TRY
 | 
						|
 | 
						|
	BEGIN CATCH
 | 
						|
		IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0 
 | 
						|
			ROLLBACK TRANSACTION;
 | 
						|
		THROW
 | 
						|
	END CATCH
 | 
						|
 | 
						|
END
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
 |