178 lines
6.4 KiB
Transact-SQL
178 lines
6.4 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS dbo.uspImportTanuloBesorolasOsztaly
|
|
GO
|
|
|
|
CREATE PROCEDURE dbo.uspImportTanuloBesorolasOsztaly
|
|
@xml xml,
|
|
@besorolasDatuma datetime,
|
|
@intezmenyId int,
|
|
@tanevId int,
|
|
@userId int
|
|
AS
|
|
BEGIN
|
|
DECLARE @TanuloBesorolas TABLE (
|
|
TanuloId int,
|
|
OsztalyId int,
|
|
CsoportId int
|
|
)
|
|
|
|
INSERT INTO @TanuloBesorolas (Tanuloid, OsztalyId, CsoportId)
|
|
SELECT
|
|
sor.value('(TanuloId)[1]', 'int') AS TanuloId,
|
|
sor.value('(OsztalyId)[1]', 'int') AS OsztalyId,
|
|
sor.value('(CsoportId)[1]', 'int') AS CsoportId
|
|
FROM @xml.nodes('/TanuloBesorolasImport/TanuloBesorolasLista/TanuloBesorolas') as sorok(sor)
|
|
|
|
DECLARE @exist TABLE (TanuloId int, OsztalyId int)
|
|
|
|
INSERT INTO @exist (TanuloId, OsztalyId)
|
|
SELECT TanuloId, OsztalyId
|
|
FROM @TanuloBesorolas b
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON b.TanuloId = tcs.C_TANULOID
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcs.C_OSZTALYCSOPORTID
|
|
WHERE tcs.C_BELEPESDATUM <= @besorolasDatuma
|
|
AND (tcs.C_KILEPESDATUM > @besorolasDatuma OR tcs.C_KILEPESDATUM IS NULL)
|
|
AND b.OsztalyId > 0
|
|
AND (b.OsztalyId <> tcs.C_OSZTALYCSOPORTID)
|
|
AND tcs.C_INTEZMENYID = @intezmenyId
|
|
AND tcs.C_TANEVID = @tanevId AND tcs.TOROLT = 'F'
|
|
AND o.TOROLT ='F'
|
|
|
|
INSERT INTO T_TANULOCSOPORT_OSSZES (
|
|
C_BEJEGYZESIDOPONTJA
|
|
,C_BELEPESDATUM
|
|
,C_KILEPESDATUM
|
|
,C_ZARADEK
|
|
,C_BEFOGADOINTEZMENY
|
|
,C_MEGJEGYZES
|
|
,C_VEGZARADEK
|
|
,C_INTEZMENYID
|
|
,C_TANEVID
|
|
,C_OSZTALYCSOPORTID
|
|
,C_TANULOID
|
|
,MODIFIER
|
|
,CREATOR
|
|
) SELECT
|
|
GETDATE() AS C_BEJEGYZESIDOPONTJA -- C_BEJEGYZESIDOPONTJA - datetime
|
|
,@besorolasDatuma AS C_BELEPESDATUM -- C_BELEPESDATUM - datetime
|
|
,NULL AS C_KILEPESDATUM -- C_KILEPESDATUM - datetime
|
|
,NULL AS C_ZARADEK -- C_ZARADEK - nvarchar(MAX)
|
|
,NULL AS C_BEFOGADOINTEZMENY -- C_BEFOGADOINTEZMENY - nvarchar(255)
|
|
,NULL AS C_MEGJEGYZES -- C_MEGJEGYZES - nvarchar(255)
|
|
,NULL AS C_VEGZARADEK -- C_VEGZARADEK - nvarchar(MAX)
|
|
,@intezmenyId AS C_INTEZMENYID -- C_INTEZMENYID - int
|
|
,@tanevId AS C_TANEVID -- C_TANEVID - int
|
|
,ISNULL(NULLIF(b.OsztalyId, 0), b.CsoportId) AS C_OSZTALYCSOPORTID -- C_OSZTALYCSOPORTID - int
|
|
,b.TanuloId AS C_TANULOID -- C_TANULOID - int
|
|
,NULL AS MODIFIER -- MODIFIER - int
|
|
,@userId AS CREATOR -- CREATOR - int
|
|
FROM @TanuloBesorolas b
|
|
WHERE NOT EXISTS (SELECT 1 FROM @exist e WHERE e.TanuloId = b.TanuloId AND e.OsztalyId = b.OsztalyId)
|
|
|
|
|
|
|
|
INSERT INTO [T_TANULOTANUGYIADATOK]
|
|
([C_BEIRASINAPLOSORSZAM]
|
|
,[C_BEJARO]
|
|
,[C_DIAKSPORTKOROS]
|
|
,[C_EGYEBORSZAGOSDONTO]
|
|
,[C_EGYUTTMUKODESES]
|
|
,[C_ELOZOINTEZMENY]
|
|
,[C_EVISMETLO]
|
|
,[C_ISKOLAIKERETEKKOZOTT]
|
|
,[C_JOGVISZONYATSZUNETELTETO]
|
|
,[C_JOGVISZONYVARHATOBEFEJEZESE]
|
|
,[C_MAGANTANULO]
|
|
,[C_MAGANTANULOSAGANAKOKAID]
|
|
,[C_MAGANTANULOSAGKEZDETE]
|
|
,[C_NYILVANTARTASKEZDETE]
|
|
,[C_OSZTV]
|
|
,[C_POLGARISZERZODESES]
|
|
,[C_SZAKMAIGYAKORLATON]
|
|
,[C_SZETVAGAZAT]
|
|
,[C_SZINTVIZSGA]
|
|
,[C_SZKTV]
|
|
,[C_TANDIJATFIZETO]
|
|
,[C_TANKOTELEZETT]
|
|
,[C_TANKOTELEZETTSEGVEGE]
|
|
,[C_TANULOEVFOLYAMTIPUSID]
|
|
,[C_TANULOSZERZODESES]
|
|
,[C_TECHNIKUSIEVFOLYAM]
|
|
,[C_TERITESIDIJATFIZETO]
|
|
,[C_VENDEG]
|
|
,[C_NAPLOSORSZAM]
|
|
,[C_TORZSLAPSZAM]
|
|
,[C_TANTERVID]
|
|
,[C_FELVETELTANEVEID]
|
|
,[C_TANULOCSOPORTID]
|
|
,[C_INTEZMENYID]
|
|
,[C_TANEVID]
|
|
,[TOROLT]
|
|
,[SERIAL]
|
|
,[LASTCHANGED]
|
|
,[CREATED]
|
|
,[MODIFIER]
|
|
,[CREATOR]
|
|
,[ELOZOTANEVIREKORDID]
|
|
,[NNID])
|
|
SELECT
|
|
tanulo.C_BEIRASINAPLOSORSZAM
|
|
,ISNULL(tanulo.C_BEJARO, 'F')
|
|
,ISNULL(tanulo.C_DIAKSPORTKOROS, 'F')
|
|
,ISNULL(tanulo.C_EGYEBDONTO, 'F')
|
|
,tanulo.C_EGYUTTMUKODESES
|
|
,tanulo.C_ELOZOINTEZMENY
|
|
,ISNULL(tanulo.C_EVISMETLO, 'F')
|
|
,ISNULL(tanulo.C_ISKOLAIKERETEKKOZOTT, 'F')
|
|
,ISNULL(tanulo.C_JOGVISZONYATSZUNETELTETO, 'F')
|
|
,tanulo.C_JOGVISZONYVARHATOBEFEJEZESE
|
|
,ISNULL(tanulo.C_MAGANTANULO, 'F')
|
|
,tanulo.C_MAGANTANULOSAGANAKOKA
|
|
,tanulo.C_MAGANTANULOSAGKEZDETE
|
|
,felhasznalo.C_NYILVANTARTASKEZDETE
|
|
,ISNULL(tanulo.C_OSZTV, 'F')
|
|
,ISNULL(tanulo.C_POLGARISZERZODESES, 'F')
|
|
,ISNULL(tanulo.C_SZAKMAIGYAKORLATON, 'F')
|
|
,ISNULL(tanulo.C_SZETVAGAZAT, 'F')
|
|
,tanulo.C_SZINTVIZSGA
|
|
,ISNULL(tanulo.C_SZKTV, 'F')
|
|
,ISNULL(tanulo.C_TANDIJATFIZETO, 'F')
|
|
,ISNULL(tanulo.C_TANKOTELEZETT, 'F')
|
|
,tanulo.C_TANKOTELEZETTSEGVEGE
|
|
,tanulo.C_TANULOEVFOLYAMTIPUS
|
|
,ISNULL(tanulo.C_TANULOSZERZODESES, 'F')
|
|
,ISNULL(tanulo.C_TECHNIKUSIEVFOLYAM, 'F')
|
|
,ISNULL(tanulo.C_TERITESIDIJATFIZETO, 'F')
|
|
,ISNULL(tanulo.C_VENDEG, 'F')
|
|
,tanulo.C_NAPLOSORSZAM
|
|
,tanulo.C_TORZSLAPSZAM
|
|
,tanulo.C_TANTERVID
|
|
,tanulo.C_FELVETELTANEVEID
|
|
,tcs.ID
|
|
,@intezmenyId
|
|
,@tanevId
|
|
,'F'
|
|
, 0
|
|
,GETDATE()
|
|
,GETDATE()
|
|
,NULL
|
|
,@userId AS CREATOR
|
|
,tanulo.ELOZOTANEVIREKORDID
|
|
,tanulo.NNID
|
|
|
|
FROM @TanuloBesorolas b
|
|
INNER JOIN T_TANULO_OSSZES tanulo ON tanulo.ID = b.TanuloId
|
|
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tanulo.ID AND felhasznalo.C_TANEVID = @tanevId AND felhasznalo.C_INTEZMENYID = @intezmenyId
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = b.OsztalyId AND C_TANULOID = b.TanuloId AND tcs.TOROLT='F' AND tcs.C_INTEZMENYID = @intezmenyId AND tcs.C_TANEVID = @tanevId
|
|
|
|
WHERE
|
|
NOT EXISTS (SELECT 1 FROM T_TANULOTANUGYIADATOK tanugyiAdatok WHERE tanugyiAdatok.C_TANULOCSOPORTID = tcs.ID
|
|
AND tanugyiAdatok.TOROLT = 'F' AND tanugyiAdatok.C_INTEZMENYID = @intezmenyId AND tanugyiAdatok.C_TANEVID = @tanevId)
|
|
|
|
|
|
SELECT e1.TanuloId, e1.OsztalyId FROM @exist e1
|
|
|
|
|
|
END
|
|
GO
|
|
|
|
|