This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

@@ -0,0 +1,149 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('sp_ImportEszkozok', 'P') IS NOT NULL BEGIN
DROP PROCEDURE sp_ImportEszkozok
END
GO
CREATE PROCEDURE [sp_ImportEszkozok]
@xml xml,
@userID int,
@intezmenyID int,
@tanevID int
AS
BEGIN
BEGIN TRY
SET NOCOUNT ON
SET XACT_ABORT ON
DECLARE @tbl TABLE (
C_NEV nvarchar(255),
C_TEREMID int,
C_FELELOSID int,
C_DARABSZAM int,
C_TIPUS int,
C_KATEGORIA int,
C_BESZERZESDATUM datetime,
C_LELTARISZAM nvarchar(20),
C_GYARISZAM nvarchar(20),
C_MEGJEGYZES nvarchar(255)
)
INSERT INTO @tbl
SELECT
sor.value('(EszkozNeve)[1]', 'nvarchar(255)') AS C_NEV,
sor.value('number((TeremId)[1])', 'int') AS C_TEREMID,
sor.value('number((FelelosId)[1])', 'int') AS C_FELELOSID,
sor.value('(DarabSzam)[1]', 'int') AS C_DARABSZAM,
sor.value('number((EszkozTipus)[1])', 'int') AS C_TIPUS,
sor.value('number((kategoria)[1])', 'int') AS C_KATEGORIA,
sor.value('(beszerzes-datuma)[1]', 'datetime') AS C_BESZERZESDATUM,
sor.value('(LeltariSzam)[1]', 'nvarchar(20)') AS C_LELTARISZAM,
sor.value('(gyari-szam)[1]', 'nvarchar(20)') AS C_GYARISZAM,
sor.value('(megjegyzes)[1]', 'nvarchar(255)') AS C_MEGJEGYZES
FROM @xml.nodes('/EszkozImport/EszkozLista/Eszkoz') as sorok(sor)
BEGIN TRANSACTION
UPDATE e
SET e.C_BESZERZESDATUM = IsNull(t.C_BESZERZESDATUM, e.C_BESZERZESDATUM)
,e.C_GYARISZAM = IsNull(t.C_GYARISZAM, e.C_GYARISZAM)
,e.C_KATEGORIA = IsNull(t.C_KATEGORIA, e.C_KATEGORIA)
,e.C_DARABSZAM = IsNull(t.C_DARABSZAM, e.C_DARABSZAM)
,e.C_LELTARISZAM = IsNull(t.C_LELTARISZAM, e.C_LELTARISZAM)
,e.C_MEGJEGYZES = IsNull(t.C_MEGJEGYZES, e.C_MEGJEGYZES)
,e.C_TIPUS = IsNull(t.C_TIPUS, e.C_TIPUS)
,e.C_FELELOSID = IsNull(t.C_FELELOSID, e.C_FELELOSID)
,e.SERIAL = e.SERIAL + 1
,e.LASTCHANGED = GETDATE() -- datetime
,e.MODIFIER = @userID -- int
FROM T_ESZKOZ e
INNER JOIN @tbl t ON t.C_NEV = e.C_NEV AND t.C_TEREMID = e.C_TEREMID
INSERT INTO T_ESZKOZ (
C_BERELT
,C_BESZERZESDATUM
,C_BESZERZESIAR
,C_DARABSZAM
,C_FOKONYVISZAM
,C_GYARISZAM
,C_GYARTASIEV
,C_HALOZATIKAPCSOLAT
,C_HORDOZHATO
,C_INTERNETKAPCSOLAT
,C_KATEGORIA
,C_LELTARISZAM
,C_MEGJEGYZES
,C_MULTIMEDIAS
,C_NEV
,C_PEDAGOGUSHOZZAFERHET
,C_SZALLITO
,C_TANULOHOZZAFERHET
,C_TARTOZEK
,C_TARTOZEKHIVATKOZAS
,C_TIPUS
,C_CELJA
,C_JELLEGE
,C_MENNYISEGIEGYSEG
,C_VONALKOD
,C_TEREMID
,C_FELELOSID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
) SELECT
'F' AS C_BERELT -- C_BERELT - char(1)
,NULL AS C_BESZERZESDATUM -- C_BESZERZESDATUM - datetime
,NULL AS C_BESZERZESIAR -- C_BESZERZESIAR - int
,t.C_DARABSZAM AS C_DARABSZAM -- C_DARABSZAM - int
,NULL AS C_FOKONYVISZAM -- C_FOKONYVISZAM - nvarchar(255)
,t.C_GYARISZAM AS C_GYARISZAM -- C_GYARISZAM - nvarchar(20)
,NULL AS C_GYARTASIEV -- C_GYARTASIEV - int
,NULL AS C_HALOZATIKAPCSOLAT -- C_HALOZATIKAPCSOLAT - char(1)
,NULL AS C_HORDOZHATO -- C_HORDOZHATO - char(1)
,NULL AS C_INTERNETKAPCSOLAT -- C_INTERNETKAPCSOLAT - char(1)
,t.C_KATEGORIA AS C_KATEGORIA -- C_KATEGORIA - int
,t.C_LELTARISZAM AS C_LELTARISZAM -- C_LELTARISZAM - nvarchar(20)
,t.C_MEGJEGYZES AS C_MEGJEGYZES -- C_MEGJEGYZES - nvarchar(255)
,NULL AS C_MULTIMEDIAS -- C_MULTIMEDIAS - char(1)
,t.C_NEV AS C_NEV -- C_NEV - nvarchar(255)
,NULL AS C_PEDAGOGUSHOZZAFERHET -- C_PEDAGOGUSHOZZAFERHET - char(1)
,NULL AS C_SZALLITO -- C_SZALLITO - nvarchar(255)
,NULL AS C_TANULOHOZZAFERHET -- C_TANULOHOZZAFERHET - char(1)
,NULL AS C_TARTOZEK -- C_TARTOZEK - char(1)
,NULL AS C_TARTOZEKHIVATKOZAS -- C_TARTOZEKHIVATKOZAS - nvarchar(20)
,t.C_TIPUS AS C_TIPUS -- C_TIPUS - int
,NULL AS C_CELJA -- C_CELJA - int
,NULL AS C_JELLEGE -- C_JELLEGE - int
,NULL AS C_MENNYISEGIEGYSEG -- C_MENNYISEGIEGYSEG - int
,NULL AS C_VONALKOD -- C_VONALKOD - int
,t.C_TEREMID AS C_TEREMID -- C_TEREMID - int
,t.C_FELELOSID AS C_FELELOSID -- C_FELELOSID - int
,@intezmenyID AS C_INTEZMENYID
,@tanevID AS C_TANEVID
,'F' AS TOROLT -- TOROLT - char(1)
,1 AS SERIAL -- SERIAL - int
,NULL AS LASTCHANGED -- LASTCHANGED - datetime
,GETDATE() AS CREATED -- CREATED - datetime
,NULL AS MODIFIER -- MODIFIER - int
,@userID AS CREATOR -- CREATOR - int
FROM @tbl t
WHERE NOT EXISTS (SELECT 1 FROM T_ESZKOZ WHERE C_NEV = t.C_NEV AND C_TEREMID = t.C_TEREMID);
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
ROLLBACK TRANSACTION;
THROW
END CATCH
END
GO