kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20181004154041_OM_1443/sp_ImportFelhasznaloBelepes.sql
2024-03-13 00:33:46 +01:00

146 lines
4.5 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
,'F' C_ELFOGADOTTGDPRNYILATKOZAT
, NULL C_GDPRELFOGADASDATUMA
,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