445 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			445 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS uspTantargyfelosztasImport
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE uspTantargyfelosztasImport
 | 
						|
   @pIntezmenyId int
 | 
						|
  ,@pTanevId int
 | 
						|
  ,@pUserId int
 | 
						|
  ,@pImportJson nvarchar(max)
 | 
						|
  ,@pIsTorles bit
 | 
						|
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  SET NOCOUNT ON;
 | 
						|
 | 
						|
  DECLARE
 | 
						|
     @tableNameList nvarchar(2000) = 'T_TANTARGY_OSSZES,T_OSZTALYCSOPORT_OSSZES'
 | 
						|
    ,@actualJson nvarchar(max) = ''
 | 
						|
    ,@lastChangedDateTime datetime = GETDATE()
 | 
						|
 | 
						|
  --Ha törlés van, akkor a kapcsolódások törlésével kell kezdenünk!
 | 
						|
  IF (@pIsTorles = 1) BEGIN
 | 
						|
    --Foglalkozás kapcsolatainak törlése
 | 
						|
    UPDATE oo SET 
 | 
						|
       oo.C_FOGLALKOZASID = NULL
 | 
						|
      ,oo.SERIAL = oo.SERIAL + 1
 | 
						|
      ,oo.LASTCHANGED = @lastChangedDateTime
 | 
						|
      ,oo.MODIFIER = @pUserId
 | 
						|
    FROM T_ORARENDIORA_OSSZES oo
 | 
						|
    WHERE oo.C_INTEZMENYID = @pIntezmenyId
 | 
						|
      AND oo.C_TANEVID = @pTanevId
 | 
						|
      AND oo.TOROLT = 'F'
 | 
						|
      AND EXISTS (
 | 
						|
        SELECT TOP 1 ID 
 | 
						|
        FROM T_FOGLALKOZAS_OSSZES fg 
 | 
						|
        WHERE fg.ID = oo.C_FOGLALKOZASID
 | 
						|
          AND fg.C_INTEZMENYID = @pIntezmenyId
 | 
						|
          AND fg.C_TANEVID = @pTanevId
 | 
						|
          AND fg.TOROLT = 'F'
 | 
						|
          AND fg.C_IMPORTALT = 'T'
 | 
						|
    )
 | 
						|
 | 
						|
    UPDATE tao SET 
 | 
						|
       tao.C_FOGLALKOZASID = NULL
 | 
						|
      ,tao.SERIAL = tao.SERIAL + 1
 | 
						|
      ,tao.LASTCHANGED = @lastChangedDateTime
 | 
						|
      ,tao.MODIFIER = @pUserId
 | 
						|
    FROM T_TANITASIORA_OSSZES tao
 | 
						|
    WHERE tao.C_INTEZMENYID = @pIntezmenyId
 | 
						|
      AND tao.C_TANEVID = @pTanevId
 | 
						|
      AND tao.TOROLT = 'F'
 | 
						|
      AND EXISTS (
 | 
						|
        SELECT TOP 1 ID 
 | 
						|
        FROM T_FOGLALKOZAS_OSSZES fg 
 | 
						|
        WHERE fg.ID = tao.C_FOGLALKOZASID
 | 
						|
          AND fg.C_INTEZMENYID = @pIntezmenyId
 | 
						|
          AND fg.C_TANEVID = @pTanevId
 | 
						|
          AND fg.TOROLT = 'F'
 | 
						|
          AND fg.C_IMPORTALT = 'T'
 | 
						|
    )
 | 
						|
 | 
						|
    UPDATE tms SET 
 | 
						|
       tms.C_TARGYMULASZTASSTATISZTIKAIID = NULL
 | 
						|
      ,tms.SERIAL = tms.SERIAL + 1
 | 
						|
      ,tms.LASTCHANGED = @lastChangedDateTime
 | 
						|
      ,tms.MODIFIER = @pUserId
 | 
						|
    FROM T_TANULOTARGYMULASZTASSTATISZT_OSSZES tms
 | 
						|
    WHERE tms.C_INTEZMENYID = @pIntezmenyId
 | 
						|
      AND tms.C_TANEVID = @pTanevId
 | 
						|
      AND tms.TOROLT = 'F'
 | 
						|
      AND EXISTS (
 | 
						|
        SELECT TOP 1 ID 
 | 
						|
        FROM T_FOGLALKOZAS_OSSZES fg 
 | 
						|
        WHERE fg.ID = tms.C_TARGYMULASZTASSTATISZTIKAIID
 | 
						|
          AND fg.C_INTEZMENYID = @pIntezmenyId
 | 
						|
          AND fg.C_TANEVID = @pTanevId
 | 
						|
          AND fg.TOROLT = 'F'
 | 
						|
          AND fg.C_IMPORTALT = 'T'
 | 
						|
    )
 | 
						|
 | 
						|
    DELETE tfg
 | 
						|
    FROM T_TEREM_FOGLALKOZAS tfg
 | 
						|
    WHERE EXISTS (
 | 
						|
      SELECT TOP 1 ID 
 | 
						|
      FROM T_FOGLALKOZAS_OSSZES fg 
 | 
						|
      WHERE fg.ID = tfg.C_FOGLALKOZASID
 | 
						|
        AND fg.C_INTEZMENYID = @pIntezmenyId
 | 
						|
        AND fg.C_TANEVID = @pTanevId
 | 
						|
        AND fg.TOROLT = 'F'
 | 
						|
        AND fg.C_IMPORTALT = 'T'
 | 
						|
    )
 | 
						|
  END
 | 
						|
 | 
						|
  --NOTE: A törlés azért false, mert a T_TANTARGY_OSSZES és a T_OSZTALYCSOPORT_OSSZES view-ból nem törlünk importnál!
 | 
						|
  EXECUTE uspDynamicImportJsonSplit @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @pImportJson, @pIsTorles = 0, @pIsSubTable = 0, @pTableNameList = @tableNameList
 | 
						|
 | 
						|
  --NOTE: Osztály temp tábla incializálása
 | 
						|
  CREATE TABLE #OsztalyTempTable (
 | 
						|
     ID int
 | 
						|
    ,C_KETTANNYELVU char(1)
 | 
						|
    ,C_NEMZETISEGI char(1)
 | 
						|
    ,C_NYELVIELOKESZITO char(1)
 | 
						|
    ,C_SPORT char(1)
 | 
						|
 | 
						|
    ,C_ALINTEZMENYID int
 | 
						|
    ,C_ALTANEVID int
 | 
						|
    ,TOROLT char(1)
 | 
						|
    ,SERIAL int
 | 
						|
    ,LASTCHANGED datetime
 | 
						|
    ,CREATED datetime
 | 
						|
    ,MODIFIER int
 | 
						|
    ,CREATOR int
 | 
						|
    ,ELOZOTANEVIREKORDID int
 | 
						|
    ,NNID int
 | 
						|
    ,Operation int
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO #OsztalyTempTable 
 | 
						|
  SELECT
 | 
						|
     ocs.ID
 | 
						|
    ,o.C_KETTANNYELVU
 | 
						|
    ,o.C_NEMZETISEGI
 | 
						|
    ,o.C_NYELVIELOKESZITO
 | 
						|
    ,o.C_SPORT
 | 
						|
 | 
						|
    ,o.C_ALINTEZMENYID
 | 
						|
    ,o.C_ALTANEVID
 | 
						|
    ,o.TOROLT
 | 
						|
    ,o.SERIAL
 | 
						|
    ,o.LASTCHANGED
 | 
						|
    ,o.CREATED
 | 
						|
    ,o.MODIFIER
 | 
						|
    ,o.CREATOR
 | 
						|
    ,o.ELOZOTANEVIREKORDID
 | 
						|
    ,o.NNID
 | 
						|
    ,o.Operation
 | 
						|
  FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_OSZTALY_OSSZES')
 | 
						|
  WITH (
 | 
						|
     ID int '$.ID'
 | 
						|
    ,C_KETTANNYELVU char(1) '$.C_KETTANNYELVU'
 | 
						|
    ,C_NEMZETISEGI char(1) '$.C_NEMZETISEGI'
 | 
						|
    ,C_NYELVIELOKESZITO char(1) '$.C_NYELVIELOKESZITO'
 | 
						|
    ,C_SPORT char(1) '$.C_SPORT'
 | 
						|
 | 
						|
    ,C_ALINTEZMENYID int '$.C_INTEZMENYID'
 | 
						|
    ,C_ALTANEVID 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'
 | 
						|
 | 
						|
    ,OsztalyCsoportNev nvarchar(255) '$.OsztalyCsoportNev'
 | 
						|
  ) o
 | 
						|
    LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON
 | 
						|
      --NOTE: A leküldött adat már teljesen jól formázott, de a db-ben lehetnek rossz adatok. Az összehasonlításhoz ezt csináljuk:
 | 
						|
      --      Kisbetűsítjük -> Lecseréljük a NO BREAK SPACE-eket, SPACE-ekre -> Lecseréljük az összes többszörös szóközt egyre -> Trimmelünk
 | 
						|
      LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(ocs.C_NEV),CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(o.OsztalyCsoportNev)
 | 
						|
      AND ocs.C_INTEZMENYID = @pIntezmenyId
 | 
						|
      AND ocs.C_TANEVID = @pTanevId
 | 
						|
      AND ocs.TOROLT = 'F'
 | 
						|
      AND o.ID IS NULL
 | 
						|
 | 
						|
  --NOTE: Csoport temp tábla incializálása
 | 
						|
  CREATE TABLE #CsoportTempTable (
 | 
						|
     ID int
 | 
						|
    ,C_TIPUSA int
 | 
						|
    ,C_OSZTALYBONTASID int
 | 
						|
 | 
						|
    ,C_ALINTEZMENYID int
 | 
						|
    ,C_ALTANEVID int
 | 
						|
    ,TOROLT char(1)
 | 
						|
    ,SERIAL int
 | 
						|
    ,LASTCHANGED datetime
 | 
						|
    ,CREATED datetime
 | 
						|
    ,MODIFIER int
 | 
						|
    ,CREATOR int
 | 
						|
    ,ELOZOTANEVIREKORDID int
 | 
						|
    ,NNID int
 | 
						|
    ,Operation int
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO #CsoportTempTable 
 | 
						|
  SELECT
 | 
						|
     ocs.ID
 | 
						|
    ,cs.C_TIPUSA
 | 
						|
    ,ob.ID
 | 
						|
 | 
						|
    ,cs.C_ALINTEZMENYID
 | 
						|
    ,cs.C_ALTANEVID
 | 
						|
    ,cs.TOROLT
 | 
						|
    ,cs.SERIAL
 | 
						|
    ,cs.LASTCHANGED
 | 
						|
    ,cs.CREATED
 | 
						|
    ,cs.MODIFIER
 | 
						|
    ,cs.CREATOR
 | 
						|
    ,cs.ELOZOTANEVIREKORDID
 | 
						|
    ,cs.NNID
 | 
						|
    ,cs.Operation
 | 
						|
  FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_CSOPORT_OSSZES')
 | 
						|
  WITH (
 | 
						|
     ID int '$.ID'
 | 
						|
    ,C_TIPUSA int '$.C_TIPUSA'
 | 
						|
    ,C_OSZTALYBONTASID int '$.C_OSZTALYBONTASID'
 | 
						|
 | 
						|
    ,C_ALINTEZMENYID int '$.C_INTEZMENYID'
 | 
						|
    ,C_ALTANEVID 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'
 | 
						|
 | 
						|
    ,OsztalyCsoportNev nvarchar(255) '$.OsztalyCsoportNev'
 | 
						|
    ,OsztalybontasNev nvarchar(255) '$.OsztalybontasNev'
 | 
						|
  ) cs
 | 
						|
    LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON
 | 
						|
      --NOTE: A leküldött adat már teljesen jól formázott, de a db-ben lehetnek rossz adatok. Az összehasonlításhoz ezt csináljuk:
 | 
						|
      --      Kisbetűsítjük -> Lecseréljük a NO BREAK SPACE-eket, SPACE-ekre -> Lecseréljük az összes többszörös szóközt egyre -> Trimmelünk
 | 
						|
      LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(ocs.C_NEV),CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(cs.OsztalyCsoportNev)
 | 
						|
      AND ocs.C_INTEZMENYID = @pIntezmenyId
 | 
						|
      AND ocs.C_TANEVID = @pTanevId
 | 
						|
      AND ocs.TOROLT = 'F'
 | 
						|
      AND cs.ID IS NULL
 | 
						|
    LEFT JOIN T_OSZTALYCSOPORT_OSSZES ob ON
 | 
						|
      --NOTE: A leküldött adat már teljesen jól formázott, de a db-ben lehetnek rossz adatok. Az összehasonlításhoz ezt csináljuk:
 | 
						|
      --      Kisbetűsítjük -> Lecseréljük a NO BREAK SPACE-eket, SPACE-ekre -> Lecseréljük az összes többszörös szóközt egyre -> Trimmelünk
 | 
						|
      LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(ob.C_NEV),CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(cs.OsztalybontasNev)
 | 
						|
      AND ob.C_INTEZMENYID = @pIntezmenyId
 | 
						|
      AND ob.C_TANEVID = @pTanevId
 | 
						|
      AND ob.TOROLT = 'F'
 | 
						|
      AND cs.ID IS NULL
 | 
						|
 | 
						|
  --NOTE: Foglalkozas temp tábla incializálása
 | 
						|
  CREATE TABLE #FoglalkozasTempTable (
 | 
						|
     ID int
 | 
						|
    ,C_TANARID int
 | 
						|
    ,C_TANTARGYID int
 | 
						|
    ,C_OSZTALYCSOPORTID int
 | 
						|
    ,C_FOGLALKOZASTIPUSA int
 | 
						|
    ,C_ORASZAM numeric(10,2)
 | 
						|
    ,C_NEV nvarchar(255)
 | 
						|
    ,C_ERTEKELESKELL char(1)
 | 
						|
    ,C_MULASZTASKELL char(1)
 | 
						|
    ,C_TANARFELVEHETI char(1)
 | 
						|
    ,C_TULORASZAM numeric(10,2)
 | 
						|
    ,C_ISOSSZEVONTORA char(1)
 | 
						|
    ,C_ISNEMZETISEGI char(1)
 | 
						|
    ,C_MEGBIZASIORASZAM numeric(10,2)
 | 
						|
 | 
						|
    ,C_IMPORTALT char(1)
 | 
						|
    ,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 #FoglalkozasTempTable 
 | 
						|
  SELECT
 | 
						|
     fg.ID
 | 
						|
    ,fg.C_TANARID
 | 
						|
    ,tt.ID
 | 
						|
    ,ocs.ID
 | 
						|
    ,fg.C_FOGLALKOZASTIPUSA
 | 
						|
    ,fg.C_ORASZAM
 | 
						|
    ,fg.C_NEV
 | 
						|
    ,fg.C_ERTEKELESKELL
 | 
						|
    ,fg.C_MULASZTASKELL
 | 
						|
    ,fg.C_TANARFELVEHETI
 | 
						|
    ,fg.C_TULORASZAM
 | 
						|
    ,fg.C_ISOSSZEVONTORA
 | 
						|
    ,fg.C_ISNEMZETISEGI
 | 
						|
    ,fg.C_MEGBIZASIORASZAM
 | 
						|
 | 
						|
    ,fg.C_IMPORTALT
 | 
						|
    ,fg.C_INTEZMENYID
 | 
						|
    ,fg.C_TANEVID
 | 
						|
    ,fg.TOROLT
 | 
						|
    ,fg.SERIAL
 | 
						|
    ,fg.LASTCHANGED
 | 
						|
    ,fg.CREATED
 | 
						|
    ,fg.MODIFIER
 | 
						|
    ,fg.CREATOR
 | 
						|
    ,fg.ELOZOTANEVIREKORDID
 | 
						|
    ,fg.NNID
 | 
						|
    ,fg.Operation
 | 
						|
  FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_FOGLALKOZAS_OSSZES')
 | 
						|
  WITH (
 | 
						|
     ID int '$.ID'
 | 
						|
    ,C_TANARID int '$.C_TANARID'
 | 
						|
    ,C_FOGLALKOZASTIPUSA int '$.C_FOGLALKOZASTIPUSA'
 | 
						|
    ,C_ORASZAM numeric(10,2) '$.C_ORASZAM'
 | 
						|
    ,C_NEV nvarchar(255) '$.C_NEV'
 | 
						|
    ,C_ERTEKELESKELL char(1) '$.C_ERTEKELESKELL'
 | 
						|
    ,C_MULASZTASKELL char(1) '$.C_MULASZTASKELL'
 | 
						|
    ,C_TANARFELVEHETI char(1) '$.C_TANARFELVEHETI'
 | 
						|
    ,C_TULORASZAM numeric(10,2) '$.C_TULORASZAM'
 | 
						|
    ,C_ISOSSZEVONTORA char(1) '$.C_ISOSSZEVONTORA'
 | 
						|
    ,C_ISNEMZETISEGI char(1) '$.C_ISNEMZETISEGI'
 | 
						|
    ,C_MEGBIZASIORASZAM numeric(10,2) '$.C_MEGBIZASIORASZAM'
 | 
						|
 | 
						|
    ,C_IMPORTALT char(1) '$.C_IMPORTALT'
 | 
						|
    ,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'
 | 
						|
 | 
						|
    ,TantargyNev nvarchar(255) '$.TantargyNev'
 | 
						|
    ,OsztalyCsoportNev nvarchar(255) '$.OsztalyCsoportNev'
 | 
						|
  ) fg
 | 
						|
    LEFT JOIN T_TANTARGY_OSSZES tt ON
 | 
						|
      --NOTE: A leküldött adat már teljesen jól formázott, de a db-ben lehetnek rossz adatok. Az összehasonlításhoz ezt csináljuk:
 | 
						|
      --      Kisbetűsítjük -> Lecseréljük a NO BREAK SPACE-eket, SPACE-ekre -> Lecseréljük az összes többszörös szóközt egyre -> Trimmelünk
 | 
						|
      LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(tt.C_NEV),CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(fg.TantargyNev)
 | 
						|
      AND tt.C_INTEZMENYID = @pIntezmenyId
 | 
						|
      AND tt.C_TANEVID = @pTanevId
 | 
						|
      AND tt.TOROLT = 'F'
 | 
						|
    LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON
 | 
						|
      --NOTE: A leküldött adat már teljesen jól formázott, de a db-ben lehetnek rossz adatok. Az összehasonlításhoz ezt csináljuk:
 | 
						|
      --      Kisbetűsítjük -> Lecseréljük a NO BREAK SPACE-eket, SPACE-ekre -> Lecseréljük az összes többszörös szóközt egyre -> Trimmelünk
 | 
						|
      LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(ocs.C_NEV),CHAR(160),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)))) = LOWER(fg.OsztalyCsoportNev)
 | 
						|
      AND ocs.C_INTEZMENYID = @pIntezmenyId
 | 
						|
      AND ocs.C_TANEVID = @pTanevId
 | 
						|
      AND ocs.TOROLT = 'F'
 | 
						|
 | 
						|
  --Osztályok beszúrása
 | 
						|
  SET @actualJson = ' { "ImportJson":{ "T_OSZTALY_OSSZES":' + (
 | 
						|
    SELECT
 | 
						|
       o.ID
 | 
						|
      ,o.C_KETTANNYELVU
 | 
						|
      ,o.C_NEMZETISEGI
 | 
						|
      ,o.C_NYELVIELOKESZITO
 | 
						|
      ,o.C_SPORT
 | 
						|
 | 
						|
      ,o.C_ALINTEZMENYID
 | 
						|
      ,o.C_ALTANEVID
 | 
						|
      ,o.TOROLT
 | 
						|
      ,o.SERIAL
 | 
						|
      ,o.LASTCHANGED
 | 
						|
      ,o.CREATED
 | 
						|
      ,o.MODIFIER
 | 
						|
      ,o.CREATOR
 | 
						|
      ,o.ELOZOTANEVIREKORDID
 | 
						|
      ,o.NNID
 | 
						|
      ,o.Operation
 | 
						|
    FROM #OsztalyTempTable AS o
 | 
						|
    FOR JSON PATH,INCLUDE_NULL_VALUES
 | 
						|
  )
 | 
						|
 | 
						|
  SET @actualJson = @actualJson + ' } }'
 | 
						|
 | 
						|
  --NOTE: A törlés azért false, mert a T_OSZTALY_OSSZES view-ból nem törlünk importnál!
 | 
						|
  EXECUTE uspDynamicImport @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @actualJson, @pIsTorles = 0, @pIsSubTable = 1
 | 
						|
 | 
						|
  --Csoportok beszúrása
 | 
						|
  SET @actualJson = ' { "ImportJson":{ "T_CSOPORT_OSSZES":' + (
 | 
						|
    SELECT
 | 
						|
       cs.ID
 | 
						|
      ,cs.C_TIPUSA
 | 
						|
      ,cs.C_OSZTALYBONTASID
 | 
						|
 | 
						|
      ,cs.C_ALINTEZMENYID
 | 
						|
      ,cs.C_ALTANEVID
 | 
						|
      ,cs.TOROLT
 | 
						|
      ,cs.SERIAL
 | 
						|
      ,cs.LASTCHANGED
 | 
						|
      ,cs.CREATED
 | 
						|
      ,cs.MODIFIER
 | 
						|
      ,cs.CREATOR
 | 
						|
      ,cs.ELOZOTANEVIREKORDID
 | 
						|
      ,cs.NNID
 | 
						|
      ,cs.Operation
 | 
						|
    FROM #CsoportTempTable AS cs
 | 
						|
    FOR JSON PATH,INCLUDE_NULL_VALUES
 | 
						|
  )
 | 
						|
 | 
						|
  SET @actualJson = @actualJson + ' } }'
 | 
						|
 | 
						|
  --NOTE: A törlés azért false, mert a T_CSOPORT_OSSZES view-ból nem törlünk importnál!
 | 
						|
  EXECUTE uspDynamicImport @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @actualJson, @pIsTorles = 0, @pIsSubTable = 1
 | 
						|
 | 
						|
  --Foglalkozások beszúrása
 | 
						|
  SET @actualJson = ' { "ImportJson":{ "T_FOGLALKOZAS_OSSZES":' + (
 | 
						|
    SELECT
 | 
						|
       fg.ID
 | 
						|
      ,fg.C_TANARID
 | 
						|
      ,fg.C_TANTARGYID
 | 
						|
      ,fg.C_OSZTALYCSOPORTID
 | 
						|
      ,fg.C_FOGLALKOZASTIPUSA
 | 
						|
      ,fg.C_ORASZAM
 | 
						|
      ,fg.C_NEV
 | 
						|
      ,fg.C_ERTEKELESKELL
 | 
						|
      ,fg.C_MULASZTASKELL
 | 
						|
      ,fg.C_TANARFELVEHETI
 | 
						|
      ,fg.C_TULORASZAM
 | 
						|
      ,fg.C_ISOSSZEVONTORA
 | 
						|
      ,fg.C_ISNEMZETISEGI
 | 
						|
      ,fg.C_MEGBIZASIORASZAM
 | 
						|
 | 
						|
      ,fg.C_IMPORTALT
 | 
						|
      ,fg.C_INTEZMENYID
 | 
						|
      ,fg.C_TANEVID
 | 
						|
      ,fg.TOROLT
 | 
						|
      ,fg.SERIAL
 | 
						|
      ,fg.LASTCHANGED
 | 
						|
      ,fg.CREATED
 | 
						|
      ,fg.MODIFIER
 | 
						|
      ,fg.CREATOR
 | 
						|
      ,fg.ELOZOTANEVIREKORDID
 | 
						|
      ,fg.NNID
 | 
						|
      ,fg.Operation
 | 
						|
    FROM #FoglalkozasTempTable AS fg
 | 
						|
    FOR JSON PATH,INCLUDE_NULL_VALUES
 | 
						|
  )
 | 
						|
 | 
						|
  SET @actualJson = @actualJson + ' } }'
 | 
						|
 | 
						|
  EXECUTE uspDynamicImport @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @actualJson, @pIsTorles = @pIsTorles, @pIsSubTable = 0
 | 
						|
END
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
 |