234 lines
6.3 KiB
Transact-SQL
234 lines
6.3 KiB
Transact-SQL
-- =============================================
|
|
-- Description: <Óraterv import>
|
|
-- =============================================
|
|
DROP PROCEDURE IF EXISTS uspOratervImport
|
|
GO
|
|
|
|
CREATE PROCEDURE uspOratervImport
|
|
@pIntezmenyId int
|
|
,@pTanevId int
|
|
,@pUserId int
|
|
,@pImportJson nvarchar(MAX)
|
|
AS BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE
|
|
@tableNameList nvarchar(2000) = 'T_ORATERV_OSSZES'
|
|
,@actualJson nvarchar(MAX) = ''
|
|
,@lastChangedDateTime datetime = GETDATE()
|
|
|
|
--NOTE: A törlés azért false, mert a óraterv importálásoknál soha nem törlünk!
|
|
EXECUTE [dbo].[uspDynamicImportJsonSplit] @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @pImportJson, @pIsTorles = 0, @pIsSubTable = 0, @pTableNameList = @tableNameList
|
|
|
|
--NOTE: Tantárgy temp tábla incializálása
|
|
CREATE TABLE #TantargyTempTable (
|
|
ID int
|
|
,C_GYAKORLATI char
|
|
,C_NEV nvarchar(510)
|
|
,C_ROVIDNEV nvarchar(50)
|
|
,C_TARGYKATEGORIA int
|
|
,C_ALTANTARGYKENTNYOMTATVANYBAN char
|
|
,C_NEVNYOMTATVANYBAN nvarchar(510)
|
|
,C_TANORANKIVULI char
|
|
,C_FOTARGYE char
|
|
,C_FOTARGYID int
|
|
|
|
,C_INTEZMENYID int
|
|
,C_TANEVID int
|
|
,TOROLT char(1)
|
|
,SERIAL int
|
|
,LASTCHANGED DATETIME
|
|
,CREATED DATETIME
|
|
,MODIFIER int
|
|
,CREATOR int
|
|
,ELOZOTANEVIREKORDID int
|
|
,NNID int
|
|
,Operation int
|
|
)
|
|
|
|
INSERT INTO
|
|
#TantargyTempTable
|
|
SELECT
|
|
tt.ID
|
|
,tt.C_GYAKORLATI
|
|
,tt.C_NEV
|
|
,tt.C_ROVIDNEV
|
|
,tt.C_TARGYKATEGORIA
|
|
,tt.C_ALTANTARGYKENTNYOMTATVANYBAN
|
|
,tt.C_NEVNYOMTATVANYBAN
|
|
,tt.C_TANORANKIVULI
|
|
,tt.C_FOTARGYE
|
|
,tt.C_FOTARGYID
|
|
|
|
,tt.C_INTEZMENYID
|
|
,tt.C_TANEVID
|
|
,tt.TOROLT
|
|
,tt.SERIAL
|
|
,tt.LASTCHANGED
|
|
,tt.CREATED
|
|
,tt.MODIFIER
|
|
,tt.CREATOR
|
|
,tt.ELOZOTANEVIREKORDID
|
|
,tt.NNID
|
|
,tt.Operation
|
|
FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_TANTARGY_OSSZES')
|
|
WITH (
|
|
ID int '$.ID'
|
|
,C_GYAKORLATI char '$.C_GYAKORLATI'
|
|
,C_NEV nvarchar(510) '$.C_NEV'
|
|
,C_ROVIDNEV nvarchar(50) '$.C_ROVIDNEV'
|
|
,C_TARGYKATEGORIA int '$.C_TARGYKATEGORIA'
|
|
,C_ALTANTARGYKENTNYOMTATVANYBAN char(1) '$.C_ALTANTARGYKENTNYOMTATVANYBAN'
|
|
,C_NEVNYOMTATVANYBAN nvarchar(510) '$.C_NEVNYOMTATVANYBAN'
|
|
,C_TANORANKIVULI char '$.C_TANORANKIVULI'
|
|
,C_FOTARGYE char '$.C_FOTARGYE'
|
|
,C_FOTARGYID int '$.C_FOTARGYID'
|
|
|
|
,C_INTEZMENYID int '$.C_INTEZMENYID'
|
|
,C_TANEVID int '$.C_TANEVID'
|
|
,TOROLT char(1) '$.TOROLT'
|
|
,SERIAL int '$.SERIAL'
|
|
,LASTCHANGED DATETIME '$.LASTCHANGED'
|
|
,CREATED DATETIME '$.CREATED'
|
|
,MODIFIER int '$.MODIFIER'
|
|
,CREATOR int '$.CREATOR'
|
|
,ELOZOTANEVIREKORDID int '$.ELOZOTANEVIREKORDID'
|
|
,NNID int '$.NNID'
|
|
,Operation int '$.Operation'
|
|
) tt
|
|
|
|
--Tantárgyak beszúrása
|
|
SET @actualJson = ' { "ImportJson":{ "T_TANTARGY_OSSZES":' + (
|
|
SELECT
|
|
tt.ID
|
|
,tt.C_GYAKORLATI
|
|
,tt.C_NEV
|
|
,tt.C_ROVIDNEV
|
|
,tt.C_TARGYKATEGORIA
|
|
,tt.C_ALTANTARGYKENTNYOMTATVANYBAN
|
|
,tt.C_NEVNYOMTATVANYBAN
|
|
,tt.C_TANORANKIVULI
|
|
,tt.C_FOTARGYE
|
|
,tt.C_FOTARGYID
|
|
,tt.C_INTEZMENYID
|
|
,tt.C_TANEVID
|
|
,tt.TOROLT
|
|
,tt.SERIAL
|
|
,tt.LASTCHANGED
|
|
,tt.CREATED
|
|
,tt.MODIFIER
|
|
,tt.CREATOR
|
|
,tt.ELOZOTANEVIREKORDID
|
|
,tt.NNID
|
|
,tt.Operation
|
|
FROM #TantargyTempTable AS tt
|
|
FOR JSON PATH,INCLUDE_NULL_VALUES
|
|
)
|
|
|
|
SET @actualJson = @actualJson + ' } }'
|
|
|
|
EXECUTE [dbo].[uspDynamicImport] @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @actualJson, @pIsTorles = 0, @pIsSubTable = 0
|
|
|
|
--NOTE: OratervTantargy temp tábla incializálása
|
|
CREATE TABLE #OratervTantargyTempTable (
|
|
ID int
|
|
,C_EVESORASZAM numeric(10, 2)
|
|
,C_ORATERVID int
|
|
,C_TANTARGYID int
|
|
|
|
,C_INTEZMENYID int
|
|
,C_TANEVID int
|
|
,TOROLT char(1)
|
|
,SERIAL int
|
|
,LASTCHANGED datetime
|
|
,CREATED datetime
|
|
,MODIFIER int
|
|
,CREATOR int
|
|
,ELOZOTANEVIREKORDID int
|
|
,NNID int
|
|
,Operation int
|
|
)
|
|
|
|
INSERT INTO
|
|
#OratervTantargyTempTable
|
|
SELECT
|
|
ott.ID
|
|
,ott.C_EVESORASZAM
|
|
,ot.ID
|
|
,tt.ID
|
|
|
|
,ott.C_INTEZMENYID
|
|
,ott.C_TANEVID
|
|
,ott.TOROLT
|
|
,ott.SERIAL
|
|
,ott.LASTCHANGED
|
|
,ott.CREATED
|
|
,ott.MODIFIER
|
|
,ott.CREATOR
|
|
,ott.ELOZOTANEVIREKORDID
|
|
,ott.NNID
|
|
,ott.Operation
|
|
FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_ORATERVTARGY_OSSZES')
|
|
WITH (
|
|
ID int '$.ID'
|
|
,C_EVESORASZAM numeric(10, 2) '$.C_EVESORASZAM'
|
|
,C_ORATERVID int '$.C_ORATERVID'
|
|
,C_TANTARGYID int '$.C_TANTARGYID'
|
|
|
|
,C_INTEZMENYID int '$.C_INTEZMENYID'
|
|
,C_TANEVID int '$.C_TANEVID'
|
|
,TOROLT char(1) '$.TOROLT'
|
|
,SERIAL int '$.SERIAL'
|
|
,LASTCHANGED datetime '$.LASTCHANGED'
|
|
,CREATED datetime '$.CREATED'
|
|
,MODIFIER int '$.MODIFIER'
|
|
,CREATOR int '$.CREATOR'
|
|
,ELOZOTANEVIREKORDID int '$.ELOZOTANEVIREKORDID'
|
|
,NNID int '$.NNID'
|
|
,Operation int '$.Operation'
|
|
|
|
,OratervNev nvarchar(510) '$.OratervNev'
|
|
,TantargyNev nvarchar(510) '$.TantargyNev'
|
|
) ott
|
|
LEFT JOIN T_ORATERV_OSSZES ot ON
|
|
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(ot.C_NEV),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(ott.OratervNev)
|
|
AND ot.C_TANEVID = ott.C_TANEVID
|
|
AND ot.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tt ON
|
|
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(tt.C_NEV),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(ott.TantargyNev)
|
|
AND tt.C_TANEVID = ott.C_TANEVID
|
|
AND tt.TOROLT = 'F'
|
|
|
|
-- OratervTantargy beszúrása
|
|
SET @actualJson = ' { "ImportJson":{ "T_ORATERVTARGY_OSSZES":' + (
|
|
SELECT
|
|
ott.ID
|
|
,ott.C_EVESORASZAM
|
|
,ott.C_ORATERVID
|
|
,ott.C_TANTARGYID
|
|
|
|
,ott.C_INTEZMENYID
|
|
,ott.C_TANEVID
|
|
,ott.TOROLT
|
|
,ott.SERIAL
|
|
,ott.LASTCHANGED
|
|
,ott.CREATED
|
|
,ott.MODIFIER
|
|
,ott.CREATOR
|
|
,ott.ELOZOTANEVIREKORDID
|
|
,ott.NNID
|
|
,ott.Operation
|
|
FROM #OratervTantargyTempTable AS ott
|
|
FOR JSON PATH,INCLUDE_NULL_VALUES
|
|
)
|
|
|
|
SET @actualJson = @actualJson + ' } }'
|
|
|
|
select * from #OratervTantargyTempTable
|
|
|
|
EXECUTE [dbo].[uspDynamicImport] @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @actualJson, @pIsTorles = 0, @pIsSubTable = 0
|
|
|
|
END
|
|
|
|
GO
|
|
|