init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,181 @@
|
|||
-- Elso korben a duplazasok
|
||||
UPDATE T_TANULOMULASZTAS SET
|
||||
C_TIPUS = 1817,
|
||||
C_KESESPERCBEN = NULL
|
||||
WHERE ID IN (
|
||||
SELECT
|
||||
CASE
|
||||
WHEN t.a_tanoracelu = t.b_tanoracelu AND a_CREATED < b_CREATED THEN b_ID
|
||||
WHEN t.a_tanoracelu = t.b_tanoracelu AND a_CREATED >= b_CREATED THEN a_ID
|
||||
WHEN t.a_tanoracelu = 'T' THEN b_ID
|
||||
WHEN t.b_tanoracelu = 'T' THEN a_ID
|
||||
END AS IDForUPDATE
|
||||
FROM (
|
||||
SELECT
|
||||
count(1) over(partition by a.ID) AS a_CNT,count(1) over(partition by b.ID) AS b_CNT,
|
||||
a.tanoracelu AS a_tanoracelu,a.ID AS a_ID, a.C_ORAKEZDETE AS a_C_ORAKEZDETE,a.C_ORAVEGE AS a_C_ORAVEGE, a.CREATED AS a_CREATED,
|
||||
b.tanoracelu AS b_tanoracelu,b.ID AS b_ID, b.C_ORAKEZDETE AS b_C_ORAKEZDETE,b.C_ORAVEGE AS b_C_ORAVEGE, b.CREATED AS b_CREATED,a.C_ORATANULOIID
|
||||
FROM (
|
||||
SELECT
|
||||
IIF(o.ID IS NOT NULL OR cs.C_TIPUSA = 1034 OR cst.C_ISTANORAICELU = 'T','T','F') AS tanoracelu, tm.ID,tm.C_INTEZMENYID,ocs.C_NEV,cs.C_TIPUSA,tao.C_OSZTALYCSOPORTID, tao.C_ORAKEZDETE,tao.C_ORAVEGE,tao.C_DATUM, tm.C_ORATANULOIID, tao.ID AS taoID, tm.CREATED
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANEV tv ON tv.ID = tm.C_TANEVID AND tv.C_AKTIV = 'T'
|
||||
INNER JOIN T_TANITASIORA tao ON tm.C_TANITASIORAKID = tao.ID AND tao.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTTIPUS cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F'AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
||||
WHERE tm.TOROLT = 'F'
|
||||
AND tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tao.C_DATUM > '20180831'
|
||||
AND C_IGAZOLASTIPUSA IS NULL
|
||||
) a
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
IIF(o.ID IS NOT NULL OR cs.C_TIPUSA = 1034 OR cst.C_ISTANORAICELU = 'T','T','F') AS tanoracelu,tm.ID,tm.C_INTEZMENYID,ocs.C_NEV,cs.C_TIPUSA ,tao.C_OSZTALYCSOPORTID,tao.C_ORAKEZDETE,tao.C_ORAVEGE, tao.C_DATUM, tm.C_ORATANULOIID, tao.ID AS taoID, tm.CREATED
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANEV tv ON tv.ID = tm.C_TANEVID AND tv.C_AKTIV = 'T'
|
||||
INNER JOIN T_TANITASIORA tao ON tm.C_TANITASIORAKID = tao.ID AND tao.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTTIPUS cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F'AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
||||
WHERE tm.TOROLT = 'F'
|
||||
AND tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tao.C_DATUM > '20180831'
|
||||
AND C_IGAZOLASTIPUSA IS NULL
|
||||
) b ON a.C_DATUM = b.C_DATUM AND a.C_ORAKEZDETE < b.C_ORAVEGE AND a.C_ORAVEGE > b.C_ORAKEZDETE AND a.C_ORATANULOIID = b.C_ORATANULOIID AND a.CREATED < b.CREATED
|
||||
) t
|
||||
WHERE a_CNT = 1 AND b_CNT = 1
|
||||
)
|
||||
|
||||
-- a tobbszori duplazodasokra 5szor futatni
|
||||
DECLARE @TanuloID int, @Datum DATETIME, @megtartandoID int
|
||||
DECLARE @i int = 0
|
||||
|
||||
WHILE @i < 5 BEGIN
|
||||
DECLARE cur CURSOR LOCAL FOR
|
||||
SELECT DISTINCT a.C_ORATANULOIID, a.C_DATUM
|
||||
FROM (
|
||||
SELECT
|
||||
IIF(o.ID IS NOT NULL OR cs.C_TIPUSA = 1034 OR cst.C_ISTANORAICELU = 'T','T','F') AS tanoracelu, tm.ID,tm.C_INTEZMENYID,ocs.C_NEV,cs.C_TIPUSA,tao.C_OSZTALYCSOPORTID, tao.C_ORAKEZDETE,tao.C_ORAVEGE,tao.C_DATUM, tm.C_ORATANULOIID, tao.ID AS taoID, tm.CREATED
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANEV tv ON tv.ID = tm.C_TANEVID AND tv.C_AKTIV = 'T'
|
||||
INNER JOIN T_TANITASIORA tao ON tm.C_TANITASIORAKID = tao.ID AND tao.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTTIPUS cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F'AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
||||
WHERE tm.TOROLT = 'F'
|
||||
AND tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tao.C_DATUM > '20180831'
|
||||
AND C_IGAZOLASTIPUSA IS NULL
|
||||
) a
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
IIF(o.ID IS NOT NULL OR cs.C_TIPUSA = 1034 OR cst.C_ISTANORAICELU = 'T','T','F') AS tanoracelu,tm.ID,tm.C_INTEZMENYID,ocs.C_NEV,cs.C_TIPUSA ,tao.C_OSZTALYCSOPORTID,tao.C_ORAKEZDETE,tao.C_ORAVEGE, tao.C_DATUM, tm.C_ORATANULOIID, tao.ID AS taoID, tm.CREATED
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANEV tv ON tv.ID = tm.C_TANEVID AND tv.C_AKTIV = 'T'
|
||||
INNER JOIN T_TANITASIORA tao ON tm.C_TANITASIORAKID = tao.ID AND tao.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTTIPUS cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F'AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
||||
WHERE tm.TOROLT = 'F'
|
||||
AND tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tao.C_DATUM > '20180831'
|
||||
AND C_IGAZOLASTIPUSA IS NULL
|
||||
) b ON a.C_DATUM = b.C_DATUM
|
||||
AND a.C_ORAKEZDETE < b.C_ORAVEGE AND a.C_ORAVEGE > b.C_ORAKEZDETE
|
||||
AND a.C_ORATANULOIID = b.C_ORATANULOIID AND a.CREATED < b.CREATED
|
||||
OPEN cur;
|
||||
FETCH NEXT FROM cur INTO @TanuloID, @Datum;
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
SET @megtartandoID = NULL
|
||||
SELECT TOP 1 @megtartandoID = a.ID
|
||||
FROM (
|
||||
SELECT
|
||||
IIF(o.ID IS NOT NULL OR cs.C_TIPUSA = 1034 OR cst.C_ISTANORAICELU = 'T','T','F') AS tanoracelu, tm.ID,tm.C_INTEZMENYID,ocs.C_NEV,cs.C_TIPUSA,tao.C_OSZTALYCSOPORTID, tao.C_ORAKEZDETE,tao.C_ORAVEGE,tao.C_DATUM, tm.C_ORATANULOIID, tao.ID AS taoID, tm.CREATED
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANEV tv ON tv.ID = tm.C_TANEVID AND tv.C_AKTIV = 'T'
|
||||
INNER JOIN T_TANITASIORA tao ON tm.C_TANITASIORAKID = tao.ID AND tao.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTTIPUS cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F'AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
||||
WHERE tm.TOROLT = 'F'
|
||||
AND tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tao.C_DATUM > '20180831'
|
||||
AND C_IGAZOLASTIPUSA IS NULL
|
||||
AND tm.C_ORATANULOIID = @TanuloID
|
||||
AND tao.C_DATUM = @Datum
|
||||
) a
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
IIF(o.ID IS NOT NULL OR cs.C_TIPUSA = 1034 OR cst.C_ISTANORAICELU = 'T','T','F') AS tanoracelu,tm.ID,tm.C_INTEZMENYID,ocs.C_NEV,cs.C_TIPUSA ,tao.C_OSZTALYCSOPORTID,tao.C_ORAKEZDETE,tao.C_ORAVEGE, tao.C_DATUM, tm.C_ORATANULOIID, tao.ID AS taoID, tm.CREATED
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANEV tv ON tv.ID = tm.C_TANEVID AND tv.C_AKTIV = 'T'
|
||||
INNER JOIN T_TANITASIORA tao ON tm.C_TANITASIORAKID = tao.ID AND tao.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTTIPUS cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F'AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
||||
WHERE tm.TOROLT = 'F'
|
||||
AND tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tao.C_DATUM > '20180831'
|
||||
AND C_IGAZOLASTIPUSA IS NULL
|
||||
AND tm.C_ORATANULOIID = @TanuloID
|
||||
AND tao.C_DATUM = @Datum
|
||||
) b ON a.C_DATUM = b.C_DATUM AND
|
||||
a.C_ORAKEZDETE < b.C_ORAVEGE AND a.C_ORAVEGE > b.C_ORAKEZDETE
|
||||
AND a.C_ORATANULOIID = b.C_ORATANULOIID AND a.CREATED < b.CREATED
|
||||
ORDER BY a.tanoracelu DESC,a.CREATED
|
||||
UPDATE T_TANULOMULASZTAS SET
|
||||
C_TIPUS = 1817,
|
||||
C_KESESPERCBEN = NULL
|
||||
WHERE ID IN(
|
||||
SELECT b.ID
|
||||
FROM (
|
||||
SELECT
|
||||
IIF(o.ID IS NOT NULL OR cs.C_TIPUSA = 1034 OR cst.C_ISTANORAICELU = 'T','T','F') AS tanoracelu, tm.ID,tm.C_INTEZMENYID,ocs.C_NEV,cs.C_TIPUSA,tao.C_OSZTALYCSOPORTID, tao.C_ORAKEZDETE,tao.C_ORAVEGE,tao.C_DATUM, tm.C_ORATANULOIID, tao.ID AS taoID, tm.CREATED
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANEV tv ON tv.ID = tm.C_TANEVID AND tv.C_AKTIV = 'T'
|
||||
INNER JOIN T_TANITASIORA tao ON tm.C_TANITASIORAKID = tao.ID AND tao.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTTIPUS cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F'AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
||||
WHERE tm.TOROLT = 'F'
|
||||
AND tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tao.C_DATUM > '20180831'
|
||||
AND C_IGAZOLASTIPUSA IS NULL
|
||||
AND tm.C_ORATANULOIID = @TanuloID
|
||||
AND tao.C_DATUM = @Datum
|
||||
AND tm.ID = @megtartandoID
|
||||
) a
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
IIF(o.ID IS NOT NULL OR cs.C_TIPUSA = 1034 OR cst.C_ISTANORAICELU = 'T','T','F') AS tanoracelu,tm.ID,tm.C_INTEZMENYID,ocs.C_NEV,cs.C_TIPUSA ,tao.C_OSZTALYCSOPORTID,tao.C_ORAKEZDETE,tao.C_ORAVEGE, tao.C_DATUM, tm.C_ORATANULOIID, tao.ID AS taoID, tm.CREATED
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANEV tv ON tv.ID = tm.C_TANEVID AND tv.C_AKTIV = 'T'
|
||||
INNER JOIN T_TANITASIORA tao ON tm.C_TANITASIORAKID = tao.ID AND tao.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTTIPUS cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F'AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
||||
WHERE tm.TOROLT = 'F'
|
||||
AND tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tao.C_DATUM > '20180831'
|
||||
AND C_IGAZOLASTIPUSA IS NULL
|
||||
AND tm.C_ORATANULOIID = @TanuloID
|
||||
AND tao.C_DATUM = @Datum
|
||||
) b ON a.C_DATUM = b.C_DATUM
|
||||
AND a.C_ORAKEZDETE < b.C_ORAVEGE AND a.C_ORAVEGE > b.C_ORAKEZDETE
|
||||
AND a.C_ORATANULOIID = b.C_ORATANULOIID AND a.CREATED < b.CREATED
|
||||
)
|
||||
FETCH NEXT FROM cur INTO @TanuloID, @Datum;
|
||||
END;
|
||||
SET @i+=1
|
||||
CLOSE cur;
|
||||
DEALLOCATE cur;
|
||||
END;
|
|
@ -0,0 +1,20 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.uspTanuloMulasztasParhuzamosOra
|
||||
GO
|
||||
CREATE PROCEDURE dbo.uspTanuloMulasztasParhuzamosOra
|
||||
@pTanoraId int
|
||||
,@pIdoszakKezdete datetime
|
||||
,@pIdoszakVege datetime
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @hianyzasTipus int=1500
|
||||
,@kesesTipus int =1499
|
||||
|
||||
SELECT
|
||||
tm.C_ORATANULOIID TanuloId
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANITASIORA tao ON tm.C_TANITASIORAKID = tao.ID
|
||||
WHERE @pIdoszakKezdete = tao.C_ORAKEZDETE AND @pIdoszakVege = tao.C_ORAVEGE
|
||||
AND tm.C_TIPUS BETWEEN @kesesTipus AND @hianyzasTipus
|
||||
AND tao.ID <> @pTanoraid
|
||||
END
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue