64 lines
3.1 KiB
SQL
64 lines
3.1 KiB
SQL
--Migration
|
|
CREATE TABLE #JavitandoAdatok (
|
|
EredetiTanitasioraId int
|
|
,JavitottTanitasioraId int
|
|
,DktFeladatId int
|
|
)
|
|
|
|
--------------------------------------
|
|
-- Még javítható adatok gyűjtése
|
|
--------------------------------------
|
|
INSERT INTO #JavitandoAdatok
|
|
SELECT
|
|
t.ID EredetiTanitasioraId
|
|
,hf.C_TANITASIORAID JavitottTanitasioraId
|
|
,hibasTanitasiorak.javitandoFeladatId DktFeladatId
|
|
FROM T_TANITASIORA_OSSZES t
|
|
LEFT JOIN T_DKT_FELADAT_OSSZES hf on t.C_TANTARGYID = hf.C_TANTARGYID and t.C_OSZTALYCSOPORTID = hf.C_OSZTALYCSOPORTID
|
|
AND (t.C_TANARID = hf.C_ALKALMAZOTTID OR t.C_HELYETTESITOTANARID = hf.C_ALKALMAZOTTID)
|
|
AND hf.C_DATUM = t.C_DATUM
|
|
AND (hf.C_ORASZAM = t.C_ORASZAM OR CONVERT(datetime, CONVERT(varchar(8), hf.C_IDOPONT, 8)) = CONVERT(datetime, CONVERT(varchar(8), t.C_ORAKEZDETE, 8)))
|
|
AND t.C_TANEVID = hf.C_TANEVID
|
|
AND t.C_INTEZMENYID = hf.C_INTEZMENYID
|
|
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = hf.C_ROGZITOALKALMAZOTTID AND fh.TOROLT = 'F' AND fh.C_TANEVID = t.C_TANEVID AND fh.C_INTEZMENYID = t.C_INTEZMENYID
|
|
INNER JOIN T_TANTARGY_OSSZES tt ON tt.ID = hf.C_TANTARGYID AND tt.TOROLT = 'F' AND tt.C_TANEVID = t.C_TANEVID AND tt.C_INTEZMENYID = t.C_INTEZMENYID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = hf.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' AND ocs.C_TANEVID = t.C_TANEVID AND ocs.C_INTEZMENYID = t.C_INTEZMENYID
|
|
CROSS APPLY
|
|
(
|
|
SELECT tanitasiora.id, feladat.ID javitandoFeladatId
|
|
FROM T_DKT_FELADAT_OSSZES feladat
|
|
INNER JOIN T_TANITASIORA_OSSZES tanitasiora ON tanitasiora.ID = feladat.C_TANITASIORAID
|
|
WHERE feladat.C_TANITASIORAID IS NOT NULL
|
|
AND tanitasiora.TOROLT = 'T'
|
|
AND tanitasiora.id = t.id
|
|
) hibasTanitasiorak
|
|
INNER JOIN T_TANITASIORA_OSSZES t2 on t2.ID = hf.C_TANITASIORAID AND t2.C_TANEVID = t.C_TANEVID AND t2.C_INTEZMENYID = t.C_INTEZMENYID
|
|
WHERE hf.TOROLT = 'F'
|
|
AND hf.C_FELADATTIPUSID = 0
|
|
AND t2.TOROLT = 'F'
|
|
|
|
--------------------------------------
|
|
-- Még javítható adatok javítása
|
|
--------------------------------------
|
|
UPDATE feladat
|
|
SET feladat.C_TANITASIORAID = javitandoAdatok.JavitottTanitasioraId
|
|
,feladat.MODIFIER = 0
|
|
,feladat.LASTCHANGED = GETDATE()
|
|
,feladat.SERIAL += 1
|
|
FROM #JavitandoAdatok javitandoAdatok
|
|
INNER JOIN T_DKT_FELADAT_OSSZES feladat ON feladat.ID = javitandoAdatok.DktFeladatId AND feladat.C_TANITASIORAID = javitandoAdatok.EredetiTanitasioraId
|
|
|
|
DROP TABLE #JavitandoAdatok
|
|
|
|
--------------------------------------
|
|
-- Már nem javítható adatok NULL-ozása
|
|
--------------------------------------
|
|
UPDATE feladat
|
|
SET feladat.C_TANITASIORAID = NULL
|
|
,feladat.MODIFIER = 0
|
|
,feladat.LASTCHANGED = GETDATE()
|
|
,feladat.SERIAL += 1
|
|
FROM T_DKT_FELADAT_OSSZES feladat
|
|
INNER JOIN T_TANITASIORA_OSSZES tanitasiora ON tanitasiora.ID = feladat.C_TANITASIORAID AND feladat.C_TANEVID = tanitasiora.C_TANEVID AND feladat.C_INTEZMENYID = tanitasiora.C_INTEZMENYID
|
|
WHERE feladat.C_TANITASIORAID IS NOT NULL
|
|
AND tanitasiora.TOROLT = 'T' |