2042 lines
121 KiB
Transact-SQL
2042 lines
121 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetMunkaidoElszamoloLap
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetMunkaidoElszamoloLap
|
|
@pIntezmenyId int
|
|
,@pTanarId int
|
|
,@pTanevId int
|
|
,@pHonapId int
|
|
,@pIsKlebersberg bit
|
|
,@pFeladatKategoriaId int = NULL
|
|
,@pSzakszeruHelyettesitesSzorzo decimal(3,2) = 1
|
|
,@pNemSzakszeruHelyettesitesSzorzo decimal(3,2) = 1
|
|
,@pOraOsszevonasSzorzo decimal(3,2) = 1
|
|
,@pOsszevontFelugyeletSzorzo decimal(3,2) = 1
|
|
,@pBontas int = 0 -- 0: napi bontás, 1: heti bontás, 2: havi bontás
|
|
,@pElmeletGyakorlatKulon bit = 0
|
|
,@pFelnottKepzesKulon bit = 0
|
|
,@pParhuzamosOrakMegjelenitese bit = 0
|
|
,@pHonapAdatszotarTypeId int = 55
|
|
AS BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE
|
|
@backDate datetime
|
|
,@isSzakkepzo bit
|
|
,@tanevSorszam int
|
|
SELECT
|
|
ID AS pedagogusId
|
|
,Nev AS pedagogusNev
|
|
FROM fnGetDokumentumIntezmenyPedagogusok (@pIntezmenyId, @pTanevId )
|
|
WHERE ID = @pTanarId
|
|
|
|
DECLARE @Honap INT = (
|
|
SELECT TOP 1
|
|
dictionaryItemBase.C_VALUE
|
|
FROM T_DICTIONARYITEMBASE_OSSZES dictionaryItemBase
|
|
WHERE
|
|
dictionaryItemBase.ID = @pHonapId
|
|
AND dictionaryItemBase.C_TANEVID = @pTanevId
|
|
AND dictionaryItemBase.TOROLT = 'F'
|
|
)
|
|
|
|
CREATE TABLE #EvHonap (Ev int, Honap int, HonapNeve nvarchar(50))
|
|
INSERT INTO #EvHonap
|
|
SELECT TOP 1
|
|
FORMAT(C_NAPDATUMA, 'yyyy') Ev,
|
|
FORMAT(C_NAPDATUMA, 'MM') Honap,
|
|
LOWER(d.C_NAME) AS HonapNeve
|
|
FROM
|
|
T_NAPTARINAP_OSSZES naptariNap
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.C_VALUE = @Honap AND d.C_DICTIONARYTYPEID = @pHonapAdatszotarTypeId AND d.C_TANEVID = @pTanevId AND d.TOROLT = 'F'
|
|
WHERE
|
|
DATEPART(MONTH,naptariNap.C_NAPDATUMA) = @Honap
|
|
AND naptariNap.C_TANEVID = @pTanevId
|
|
AND naptariNap.TOROLT = 'F'
|
|
SELECT * FROM #EvHonap
|
|
|
|
SET @backDate = IIF(@pBontas <> 2
|
|
,DATEADD(MONTH, 1, DATEFROMPARTS((SELECT Ev FROM #EvHonap), (SELECT Honap FROM #EvHonap), 1))
|
|
,(SELECT C_UTOLSONAP FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND ID = @pTanevId)
|
|
)
|
|
|
|
|
|
|
|
--===================================
|
|
--FEJLÉC
|
|
--===================================
|
|
SELECT
|
|
f.ID pedagogusId
|
|
,f.C_NYOMTATASINEV TanarNev
|
|
,f.C_OKTATASIAZONOSITO OktatasiAzonosito
|
|
,munkakor.C_NAME Munkakor
|
|
,dbo.fnGetDokumentumPedagogusOraszam(f.id, @pIsKlebersberg) KotelezoOraszam
|
|
,ISNULL(CONVERT(NVARCHAR(MAX),m.C_MUNKAIDOKEDVEZMENYORASZAM),'-') MunkaidoKedvezmenyOraszam
|
|
,ISNULL(munkaidoKedvezmenyOka.C_NAME,'-') MunkaidoKedvezmenyOka
|
|
,m.C_RESZMUNKAIDOSZAZALEK ReszmunkaidoSzazalek
|
|
,ia.C_NEV + ' (' + ia.C_OMKOD +')' IntezmenyNeve
|
|
,ia.C_VAROS AS IntezmenyVaros
|
|
,ia.C_IGAZGATONEVE Igazgato
|
|
,m.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
|
|
,m.C_FOGLALKOZTATASTIPUS AS FoglalkoztatasTipusId
|
|
,t.C_NEV AS Tanev
|
|
FROM T_FELHASZNALO_OSSZES f
|
|
INNER JOIN T_MUNKAUGYIADATOK_OSSZES m ON m.C_ALKALMAZOTTID = f.Id
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES munkakor ON munkakor.Id = m.C_MUNKAKORTIPUSA AND munkakor.C_TANEVID = m.C_TANEVID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES munkaidoKedvezmenyOka ON munkaidoKedvezmenyOka.Id = m.C_MUNKAIDOKEDVEZMENYOKA AND munkaidoKedvezmenyOka.C_TANEVID = m.C_TANEVID
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_TANEVID = f.C_TANEVID
|
|
LEFT JOIN T_TANEV_OSSZES t ON t.ID = @pTanevId
|
|
WHERE ia.TOROLT = 'F'
|
|
AND m.TOROLT = 'F'
|
|
AND f.ID = @pTanarId
|
|
|
|
--===================================
|
|
-- Tanítási napok meghatározása a színezéshez
|
|
--===================================
|
|
CREATE TABLE #TanitasiNapTabla (Nap int PRIMARY KEY, IsTanitasiNap char(1))
|
|
INSERT INTO #TanitasiNapTabla (Nap, IsTanitasiNap)
|
|
SELECT DATEPART(DAY, nn.C_NAPDATUMA)
|
|
,CASE
|
|
WHEN tr.C_NAPTIPUSA IN (1385, 1395, 1402, 1394, 1406) THEN 'T'
|
|
WHEN tr.C_NAPTIPUSA IS NOT NULL THEN 'F'
|
|
WHEN nn.C_ALAPNAPTIPUSA = 1385 THEN 'T'
|
|
ELSE 'F'
|
|
END
|
|
FROM T_NAPTARINAP_OSSZES nn
|
|
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_TANEVID = nn.C_TANEVID AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND tr.TOROLT = 'F'
|
|
WHERE nn.C_TANEVID = @pTanevId
|
|
AND DATEPART(MONTH, nn.C_NAPDATUMA) = @Honap
|
|
AND nn.TOROLT = 'F'
|
|
|
|
-- ====================================================================================================
|
|
-- TANTERVI JELLEK OSZTÁLYCSOPORTOKHOZ NAPI BONTÁSBAN TÖBBSÉGGI ELV ALAPJÁN
|
|
-- ====================================================================================================
|
|
CREATE TABLE #TanterviJelleg (C_OSZTALYCSOPORTID int, C_TANTERVIJELLEGID int, C_NAPDATUMA datetime)
|
|
|
|
SELECT @isSzakkepzo = IIF(ia.C_ISSZAKKEPZO = 'T', 1, 0) FROM T_INTEZMENYADATOK ia WHERE ia.C_TANEVID = @pTanevId
|
|
SELECT @tanevSorszam = tv.C_SORSZAM FROM T_TANEV tv WHERE ID = @pTanevId
|
|
|
|
IF @pFelnottKepzesKulon = 1 AND @isSzakkepzo = 1 AND @tanevSorszam >= 42 BEGIN --2021/2022 tanév
|
|
INSERT INTO #TanterviJelleg (C_OSZTALYCSOPORTID, C_TANTERVIJELLEGID, C_NAPDATUMA)
|
|
SELECT
|
|
x.C_OSZTALYCSOPORTID
|
|
,x.C_TANTERVIJELLEGID
|
|
,nn.C_NAPDATUMA
|
|
FROM T_NAPTARINAP nn
|
|
CROSS APPLY (
|
|
SELECT
|
|
grp.C_OSZTALYCSOPORTID
|
|
,grp.C_TANTERVIJELLEGID
|
|
,ROW_NUMBER() OVER(PARTITION BY grp.C_OSZTALYCSOPORTID ORDER BY grp.CNT DESC, dib.C_NAME) AS RN
|
|
FROM (
|
|
SELECT
|
|
tcscs.C_OSZTALYCSOPORTID
|
|
,tta.C_TANTERVIJELLEGID
|
|
,COUNT(1) CNT
|
|
FROM T_TANULOTANUGYIADATOK_OSSZES tta
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcso ON tcso.ID = tta.C_TANULOCSOPORTID AND tcso.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocso ON ocso.ID = tcso.C_OSZTALYCSOPORTID AND ocso.TOROLT = 'F'
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcscs ON tcscs.C_TANULOID = tcso.C_TANULOID AND tcscs.TOROLT = 'F'
|
|
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = tcscs.C_OSZTALYCSOPORTID AND cs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocscs ON ocscs.ID = tcscs.C_OSZTALYCSOPORTID
|
|
AND ocscs.C_FELADATKATEGORIAID = ocso.C_FELADATKATEGORIAID AND ocscs.TOROLT = 'F'
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dib ON dib.ID = tta.C_TANTERVIJELLEGID
|
|
AND dib.C_INTEZMENYID = tta.C_INTEZMENYID AND dib.C_TANEVID = tta.C_TANEVID AND dib.TOROLT = 'F'
|
|
WHERE tcso.C_BELEPESDATUM <= nn.C_NAPDATUMA
|
|
AND (tcso.C_KILEPESDATUM > nn.C_NAPDATUMA OR tcso.C_KILEPESDATUM IS NULL)
|
|
AND tcscs.C_BELEPESDATUM <= nn.C_NAPDATUMA
|
|
AND (tcscs.C_KILEPESDATUM > nn.C_NAPDATUMA OR tcscs.C_KILEPESDATUM IS NULL)
|
|
AND ocscs.C_FELADATKATEGORIAID <> 7555
|
|
AND tta.TOROLT = 'F'
|
|
GROUP BY tcscs.C_OSZTALYCSOPORTID, tta.C_TANTERVIJELLEGID
|
|
) grp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dib ON dib.ID = grp.C_TANTERVIJELLEGID AND dib.C_TANEVID = @pTanevId
|
|
) x
|
|
WHERE DATEPART(MONTH, nn.C_NAPDATUMA) = @Honap
|
|
AND x.RN = 1
|
|
AND nn.C_TANEVID = @pTanevId
|
|
|
|
|
|
INSERT INTO #TanterviJelleg (C_OSZTALYCSOPORTID, C_TANTERVIJELLEGID, C_NAPDATUMA)
|
|
SELECT
|
|
x.C_OSZTALYCSOPORTID
|
|
,x.C_TANTERVIJELLEGID
|
|
,nn.C_NAPDATUMA
|
|
FROM T_NAPTARINAP nn
|
|
OUTER APPLY (
|
|
SELECT
|
|
grp.C_OSZTALYCSOPORTID
|
|
,grp.C_TANTERVIJELLEGID
|
|
,ROW_NUMBER() OVER(PARTITION BY grp.C_OSZTALYCSOPORTID ORDER BY grp.CNT DESC, dib.C_NAME) AS RN
|
|
FROM (
|
|
SELECT
|
|
tcso.C_OSZTALYCSOPORTID
|
|
,tta.C_TANTERVIJELLEGID
|
|
,COUNT(1) CNT
|
|
FROM T_TANULOTANUGYIADATOK_OSSZES tta
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcso ON tcso.ID = tta.C_TANULOCSOPORTID AND tcso.TOROLT = 'F'
|
|
WHERE tcso.C_BELEPESDATUM <= nn.C_NAPDATUMA
|
|
AND (tcso.C_KILEPESDATUM > nn.C_NAPDATUMA OR tcso.C_KILEPESDATUM IS NULL)
|
|
AND tta.TOROLT = 'F'
|
|
GROUP BY tcso.C_OSZTALYCSOPORTID, tta.C_TANTERVIJELLEGID
|
|
) grp
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dib ON dib.ID = grp.C_TANTERVIJELLEGID AND dib.C_TANEVID = @pTanevId
|
|
) x
|
|
WHERE DATEPART(MONTH, nn.C_NAPDATUMA) = @Honap
|
|
AND x.RN = 1
|
|
AND nn.C_TANEVID = @pTanevId
|
|
END
|
|
|
|
|
|
|
|
--===================================
|
|
-- Hetek sorszámának meghatározása a hónapon belül
|
|
--===================================
|
|
CREATE TABLE #Hetek (Sorszam int, KezdoNap datetime, UtolsoNap datetime, IsTanitasiHet char(1))
|
|
INSERT INTO #Hetek
|
|
SELECT
|
|
ROW_NUMBER() OVER ( ORDER BY nh.C_HETKEZDONAPJA )
|
|
,CASE DATEPART(MONTH, nh.C_HETKEZDONAPJA)
|
|
WHEN @Honap THEN nh.C_HETKEZDONAPJA
|
|
ELSE (SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, nh.C_HETKEZDONAPJA)+1, 0))
|
|
END
|
|
,CASE DATEPART(MONTH, nh.C_HETUTOLSONAPJA)
|
|
WHEN @Honap THEN nh.C_HETUTOLSONAPJA
|
|
ELSE (SELECT DATEADD(DAY,-1,DATEADD(MONTH, DATEDIFF(MONTH,0,nh.C_HETUTOLSONAPJA),0)))
|
|
END
|
|
,'T'
|
|
FROM T_NAPTARIHET_OSSZES nh
|
|
WHERE nh.C_TANEVID = @pTanevId
|
|
AND nh.TOROLT = 'F'
|
|
AND (@Honap = DATEPART(MONTH, nh.C_HETKEZDONAPJA) OR @Honap = DATEPART(MONTH, nh.C_HETUTOLSONAPJA));
|
|
|
|
WITH TanitasiHetek AS (
|
|
SELECT
|
|
ROW_NUMBER() OVER ( PARTITION BY h.Sorszam, h.KezdoNap, h.UtolsoNap, n.IsTanitasiNap ORDER BY h.Sorszam) rn
|
|
,h.Sorszam, h.KezdoNap, h.UtolsoNap, n.IsTanitasiNap
|
|
FROM #Hetek h
|
|
INNER JOIN #TanitasiNapTabla n ON n.Nap BETWEEN DATEPART(DAY,h.KezdoNap) AND DATEPART(DAY,h.UtolsoNap)
|
|
)
|
|
UPDATE h SET h.IsTanitasiHet = th.IsTanitasiNap
|
|
FROM #Hetek AS h
|
|
INNER JOIN TanitasiHetek AS th On th.Sorszam = h.Sorszam
|
|
WHERE th.rn = (DATEDIFF(DAY, th.KezdoNap, th.UtolsoNap) + 1)
|
|
--===================================
|
|
--MEGTARTOTT TANÓRÁK, HELYETTESÍTÉSEK
|
|
--===================================
|
|
SELECT
|
|
pedagogusId
|
|
,OsztalyCsoportID
|
|
,OsztalyCsoportNev
|
|
,Honap
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,IsFelnottoktatas
|
|
,IsGyakorlat
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #MegtartottOrakHelyesitesek_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
tn.C_ORATULAJDONOSID AS pedagogusId
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, tn.C_DATUM)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, tn.C_DATUM) <> 8
|
|
,(DATEPART(MONTH, tn.C_DATUM) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, tn.C_DATUM)
|
|
END AS Honap
|
|
,ocs.ID OsztalyCsoportID
|
|
,ocs.ID ocsId
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,dbo.fnGetOrahossz(tn.C_CSENGETESIRENDORAID, C_ORAKEZDETE, C_ORAVEGE, ocs.C_FELADATKATEGORIAID, cs.Id, feh.C_OKTATASINEVELESIFELADATTIPUS, cst.C_ORAPERC) AS SumOra
|
|
,CASE
|
|
WHEN @pFelnottKepzesKulon = 1 AND feh.C_OKTATASINEVELESIFELADATTIPUS = 6463 THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- minden osztály és csoport, ami nem AMI
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID = 7555 AND cs.ID IS NULL AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- AMI-s osztály
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 THEN 'F' -- maradék nem AMI-s csoport/osztály
|
|
WHEN @pFelnottKepzesKulon = 1
|
|
AND (feh.C_OKTATASINEVELESIFELADATTIPUS IN (6463)
|
|
OR (ocs.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
OR (bontottOsztaly.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
) THEN 'T'
|
|
ELSE 'F'
|
|
END AS IsFelnottoktatas
|
|
,CASE
|
|
WHEN @pElmeletGyakorlatKulon = 1 THEN tant.C_GYAKORLATI
|
|
ELSE '-'
|
|
END AS IsGyakorlat
|
|
FROM T_TANITASIORA_OSSZES tn
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on tn.C_OSZTALYCSOPORTID = ocs.ID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.Id = ocs.ID AND cs.TOROLT = 'F'
|
|
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F' AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES AS bontottOsztaly ON bontottOsztaly.ID = cs.C_OSZTALYBONTASID AND bontottOsztaly.TOROLT = 'F'
|
|
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.ID = tn.C_FOGLALKOZASID
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tn.C_TANTARGYID AND tant.TOROLT = 'F'
|
|
LEFT JOIN #Hetek h ON CAST(tn.C_DATUM AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
LEFT JOIN #TanterviJelleg tj ON tj.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID AND tj.C_NAPDATUMA = tn.C_DATUM
|
|
WHERE
|
|
tn.C_TANEVID = @pTanevId
|
|
AND tn.C_ORATULAJDONOSID = @pTanarId
|
|
AND (@pBontas = 2 OR DATEPART(MONTH, tn.C_DATUM) = @Honap)
|
|
AND tn.TOROLT = 'F'
|
|
AND tn.C_MEGTARTOTT = 'T'
|
|
AND tn.C_HELYETTESITOTANARID IS NULL
|
|
AND (cs.Id IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId)))
|
|
AND (tn.C_PARHUZAMOSORA = 'F' OR tn.C_PARHUZAMOSORA IS NULL)
|
|
AND (fog.C_FOGLALKOZASTIPUSA IS NULL OR fog.C_FOGLALKOZASTIPUSA <> 1371)
|
|
)a
|
|
PIVOT
|
|
(
|
|
SUM(SumOra)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
) OsszTanora
|
|
|
|
----ITT ADJUK HOZZÁ AZ ÜRES SOROKAT, HOGY AZ FRX MEG TUDJA JELENÍTENI
|
|
exec uspInsertMunkaidoElszamoloLapUresSorokUresTablazatokhoz
|
|
@pTableName = '#MegtartottOrakHelyesitesek_tmp'
|
|
,@pFelnottkepzesKulon = @pFelnottKepzesKulon
|
|
,@pElmeletGyakorlatKulon = @pElmeletGyakorlatKulon
|
|
,@pTanarId = @pTanarId
|
|
,@pHonap = @Honap
|
|
,@pBontas = @pBontas
|
|
|
|
--szakszerű helyettesítés
|
|
SELECT
|
|
pedagogusId
|
|
,OsztalyCsoportID
|
|
,OsztalyCsoportNev
|
|
,Honap
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,IsFelnottoktatas
|
|
,IsGyakorlat
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #SzakszeruHelyetesites_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
tao.C_HELYETTESITOTANARID AS pedagogusId
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, tao.C_DATUM)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, tao.C_DATUM) <> 8
|
|
,(DATEPART(MONTH, tao.C_DATUM) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, tao.C_DATUM)
|
|
END AS Honap
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,tao.C_OSZTALYCSOPORTID oraid
|
|
,tao.C_OSZTALYCSOPORTID OsztalyCsoportID
|
|
,dbo.fnGetOrahossz(tao.C_CSENGETESIRENDORAID, C_ORAKEZDETE, C_ORAVEGE, ocs.C_FELADATKATEGORIAID, cs.Id, feh.C_OKTATASINEVELESIFELADATTIPUS, cst.C_ORAPERC) * @pSzakszeruHelyettesitesSzorzo AS SumOra
|
|
,CASE
|
|
WHEN @pFelnottKepzesKulon = 1 AND feh.C_OKTATASINEVELESIFELADATTIPUS = 6463 THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- minden osztály és csoport, ami nem AMI
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID = 7555 AND cs.ID IS NULL AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- AMI-s osztály
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 THEN 'F' -- maradék nem AMI-s csoport/osztály
|
|
WHEN @pFelnottKepzesKulon = 1
|
|
AND (feh.C_OKTATASINEVELESIFELADATTIPUS IN (6463)
|
|
OR (ocs.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
OR (bontottOsztaly.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
) THEN 'T'
|
|
ELSE 'F'
|
|
END AS IsFelnottoktatas
|
|
,CASE
|
|
WHEN @pElmeletGyakorlatKulon = 1 THEN tant.C_GYAKORLATI
|
|
ELSE '-'
|
|
END AS IsGyakorlat
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tao.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
|
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F' AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES bontottOsztaly ON bontottOsztaly.ID = cs.C_OSZTALYBONTASID AND bontottOsztaly.TOROLT = 'F'
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tao.C_TANTARGYID AND tant.TOROLT = 'F'
|
|
LEFT JOIN #Hetek h ON CAST(tao.C_DATUM AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
LEFT JOIN #TanterviJelleg tj ON tj.C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID AND tj.C_NAPDATUMA = tao.C_DATUM
|
|
WHERE
|
|
(@pBontas = 2 OR DATEPART(MONTH, tao.C_DATUM) = @Honap)
|
|
AND tao.C_HELYETTESITOTANARID = @pTanarId
|
|
AND tao.TOROLT = 'F'
|
|
AND tao.C_HELYETTESITESTIPUSA = 1494
|
|
AND tao.C_MEGTARTOTT = 'T'
|
|
AND tao.C_TANEVID = @pTanevId
|
|
AND (tao.C_PARHUZAMOSORA = 'F' OR tao.C_PARHUZAMOSORA IS NULL)
|
|
)a
|
|
PIVOT
|
|
(
|
|
SUM(SumOra)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
|
|
) SzakszeruHelyettesites
|
|
|
|
----ITT ADJUK HOZZÁ AZ ÜRES SOROKAT, HOGY AZ FRX MEG TUDJA JELENÍTENI
|
|
exec uspInsertMunkaidoElszamoloLapUresSorokUresTablazatokhoz
|
|
@pTableName = '#SzakszeruHelyetesites_tmp'
|
|
,@pFelnottkepzesKulon = @pFelnottKepzesKulon
|
|
,@pElmeletGyakorlatKulon = @pElmeletGyakorlatKulon
|
|
,@pTanarId = @pTanarId
|
|
,@pHonap = @Honap
|
|
,@pBontas = @pBontas
|
|
|
|
--nem szakszerű helyettesítés
|
|
SELECT
|
|
pedagogusId
|
|
,OsztalyCsoportID
|
|
,OsztalyCsoportNev
|
|
,Honap
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,IsFelnottoktatas
|
|
,IsGyakorlat
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #NemSzakszeruHelyetesites_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
tao.C_HELYETTESITOTANARID AS pedagogusId
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, tao.C_DATUM)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, tao.C_DATUM) <> 8
|
|
,(DATEPART(MONTH, tao.C_DATUM) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, tao.C_DATUM)
|
|
END AS Honap
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,tao.C_OSZTALYCSOPORTID oraid
|
|
,tao.C_OSZTALYCSOPORTID OsztalyCsoportID
|
|
,dbo.fnGetOrahossz(tao.C_CSENGETESIRENDORAID, C_ORAKEZDETE, C_ORAVEGE, ocs.C_FELADATKATEGORIAID, cs.Id, feh.C_OKTATASINEVELESIFELADATTIPUS, cst.C_ORAPERC) * @pNemSzakszeruHelyettesitesSzorzo AS SumOra
|
|
,CASE
|
|
WHEN @pFelnottKepzesKulon = 1 AND feh.C_OKTATASINEVELESIFELADATTIPUS = 6463 THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- minden osztály és csoport, ami nem AMI
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID = 7555 AND cs.ID IS NULL AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- AMI-s osztály
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 THEN 'F' -- maradék nem AMI-s csoport/osztály
|
|
WHEN @pFelnottKepzesKulon = 1
|
|
AND (feh.C_OKTATASINEVELESIFELADATTIPUS IN (6463)
|
|
OR (ocs.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
OR (bontottOsztaly.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
) THEN 'T'
|
|
ELSE 'F'
|
|
END AS IsFelnottoktatas
|
|
,CASE
|
|
WHEN @pElmeletGyakorlatKulon = 1 THEN tant.C_GYAKORLATI
|
|
ELSE '-'
|
|
END AS IsGyakorlat
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tao.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
|
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F' AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES bontottOsztaly ON bontottOsztaly.ID = cs.C_OSZTALYBONTASID AND bontottOsztaly.TOROLT = 'F'
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tao.C_TANTARGYID AND tant.TOROLT = 'F'
|
|
LEFT JOIN #Hetek h ON CAST(tao.C_DATUM AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
LEFT JOIN #TanterviJelleg tj ON tj.C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID AND tj.C_NAPDATUMA = tao.C_DATUM
|
|
WHERE
|
|
(@pBontas = 2 OR DATEPART(MONTH, tao.C_DATUM) = @Honap)
|
|
AND tao.C_HELYETTESITOTANARID = @pTanarId
|
|
AND tao.TOROLT = 'F'
|
|
AND tao.C_HELYETTESITESTIPUSA = 1495
|
|
AND tao.C_MEGTARTOTT = 'T'
|
|
AND tao.C_TANEVID = @pTanevId
|
|
AND (tao.C_PARHUZAMOSORA = 'F' OR tao.C_PARHUZAMOSORA IS NULL)
|
|
)a
|
|
PIVOT
|
|
(
|
|
SUM(SumOra)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
|
|
) NemSzakszeruHelyettesites
|
|
|
|
----ITT ADJUK HOZZÁ AZ ÜRES SOROKAT, HOGY AZ FRX MEG TUDJA JELENÍTENI
|
|
exec uspInsertMunkaidoElszamoloLapUresSorokUresTablazatokhoz
|
|
@pTableName = '#NemSzakszeruHelyetesites_tmp'
|
|
,@pFelnottkepzesKulon = @pFelnottKepzesKulon
|
|
,@pElmeletGyakorlatKulon = @pElmeletGyakorlatKulon
|
|
,@pTanarId = @pTanarId
|
|
,@pHonap = @Honap
|
|
,@pBontas = @pBontas
|
|
|
|
--óraösszevonás
|
|
SELECT
|
|
pedagogusId
|
|
,OsztalyCsoportID
|
|
,OsztalyCsoportNev
|
|
,Honap
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,IsFelnottoktatas
|
|
,IsGyakorlat
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #OraOsszevonas_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
tao.C_HELYETTESITOTANARID AS pedagogusId
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, tao.C_DATUM)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, tao.C_DATUM) <> 8
|
|
,(DATEPART(MONTH, tao.C_DATUM) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, tao.C_DATUM)
|
|
END AS Honap
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,tao.C_OSZTALYCSOPORTID oraid
|
|
,tao.C_OSZTALYCSOPORTID OsztalyCsoportID
|
|
,dbo.fnGetOrahossz(tao.C_CSENGETESIRENDORAID, C_ORAKEZDETE, C_ORAVEGE, ocs.C_FELADATKATEGORIAID, cs.Id, feh.C_OKTATASINEVELESIFELADATTIPUS, cst.C_ORAPERC) * @pOraOsszevonasSzorzo AS SumOra
|
|
,CASE
|
|
WHEN @pFelnottKepzesKulon = 1 AND feh.C_OKTATASINEVELESIFELADATTIPUS = 6463 THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- minden osztály és csoport, ami nem AMI
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID = 7555 AND cs.ID IS NULL AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- AMI-s osztály
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 THEN 'F' -- maradék nem AMI-s csoport/osztály
|
|
WHEN @pFelnottKepzesKulon = 1
|
|
AND (feh.C_OKTATASINEVELESIFELADATTIPUS IN (6463)
|
|
OR (ocs.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
OR (bontottOsztaly.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
) THEN 'T'
|
|
ELSE 'F'
|
|
END AS IsFelnottoktatas
|
|
,CASE
|
|
WHEN @pElmeletGyakorlatKulon = 1 THEN tant.C_GYAKORLATI
|
|
ELSE '-'
|
|
END AS IsGyakorlat
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID=tao.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
|
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F' AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES bontottOsztaly ON bontottOsztaly.ID = cs.C_OSZTALYBONTASID AND bontottOsztaly.TOROLT = 'F'
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tao.C_TANTARGYID AND tant.TOROLT = 'F'
|
|
LEFT JOIN #Hetek h ON CAST(tao.C_DATUM AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
LEFT JOIN #TanterviJelleg tj ON tj.C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID AND tj.C_NAPDATUMA = tao.C_DATUM
|
|
WHERE
|
|
(@pBontas = 2 OR DATEPART(MONTH, tao.C_DATUM) = @Honap)
|
|
AND tao.C_HELYETTESITOTANARID = @pTanarId
|
|
AND tao.TOROLT = 'F'
|
|
AND tao.C_HELYETTESITESTIPUSA = 1496
|
|
AND tao.C_MEGTARTOTT = 'T'
|
|
AND tao.C_TANEVID = @pTanevId
|
|
AND (tao.C_PARHUZAMOSORA = 'F' OR tao.C_PARHUZAMOSORA IS NULL)
|
|
)a
|
|
PIVOT
|
|
(
|
|
SUM(SumOra)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
|
|
) Oraosszevonas
|
|
|
|
----ITT ADJUK HOZZÁ AZ ÜRES SOROKAT, HOGY AZ FRX MEG TUDJA JELENÍTENI
|
|
exec uspInsertMunkaidoElszamoloLapUresSorokUresTablazatokhoz
|
|
@pTableName = '#OraOsszevonas_tmp'
|
|
,@pFelnottkepzesKulon = @pFelnottKepzesKulon
|
|
,@pElmeletGyakorlatKulon = @pElmeletGyakorlatKulon
|
|
,@pTanarId = @pTanarId
|
|
,@pHonap = @Honap
|
|
,@pBontas = @pBontas
|
|
|
|
--összevont felügyelet
|
|
SELECT
|
|
pedagogusId
|
|
,OsztalyCsoportID
|
|
,OsztalyCsoportNev
|
|
,Honap
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,IsFelnottoktatas
|
|
,IsGyakorlat
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #OsszevontFelugyelet_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
tao.C_HELYETTESITOTANARID AS pedagogusId
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, tao.C_DATUM)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, tao.C_DATUM) <> 8
|
|
,(DATEPART(MONTH, tao.C_DATUM) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, tao.C_DATUM)
|
|
END AS Honap
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,tao.C_OSZTALYCSOPORTID oraid
|
|
,tao.C_OSZTALYCSOPORTID OsztalyCsoportID
|
|
,dbo.fnGetOrahossz(tao.C_CSENGETESIRENDORAID, C_ORAKEZDETE, C_ORAVEGE, ocs.C_FELADATKATEGORIAID, cs.Id, feh.C_OKTATASINEVELESIFELADATTIPUS, cst.C_ORAPERC) * @pOsszevontFelugyeletSzorzo AS SumOra
|
|
,CASE
|
|
WHEN @pFelnottKepzesKulon = 1 AND feh.C_OKTATASINEVELESIFELADATTIPUS = 6463 THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- minden osztály és csoport, ami nem AMI
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID = 7555 AND cs.ID IS NULL AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- AMI-s osztály
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 THEN 'F' -- maradék nem AMI-s csoport/osztály
|
|
WHEN @pFelnottKepzesKulon = 1
|
|
AND (feh.C_OKTATASINEVELESIFELADATTIPUS IN (6463)
|
|
OR (ocs.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
OR (bontottOsztaly.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
) THEN 'T'
|
|
ELSE 'F'
|
|
END AS IsFelnottoktatas
|
|
,CASE
|
|
WHEN @pElmeletGyakorlatKulon = 1 THEN tant.C_GYAKORLATI
|
|
ELSE '-'
|
|
END AS IsGyakorlat
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID=tao.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
|
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F' AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES bontottOsztaly ON bontottOsztaly.ID = cs.C_OSZTALYBONTASID AND bontottOsztaly.TOROLT = 'F'
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tao.C_TANTARGYID
|
|
LEFT JOIN #Hetek h ON CAST(tao.C_DATUM AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
LEFT JOIN #TanterviJelleg tj ON tj.C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID AND tj.C_NAPDATUMA = tao.C_DATUM
|
|
WHERE
|
|
(@pBontas = 2 OR DATEPART(MONTH, tao.C_DATUM) = @Honap)
|
|
AND tao.C_HELYETTESITOTANARID = @pTanarId
|
|
AND tao.TOROLT = 'F'
|
|
AND tao.C_HELYETTESITESTIPUSA = 7367
|
|
AND tao.C_MEGTARTOTT = 'T'
|
|
AND tao.C_TANEVID = @pTanevId
|
|
AND (tao.C_PARHUZAMOSORA = 'F' OR tao.C_PARHUZAMOSORA IS NULL)
|
|
)a
|
|
PIVOT
|
|
(
|
|
SUM(SumOra)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
|
|
) OsszevontFelugyelet
|
|
|
|
----ITT ADJUK HOZZÁ AZ ÜRES SOROKAT, HOGY AZ FRX MEG TUDJA JELENÍTENI
|
|
exec uspInsertMunkaidoElszamoloLapUresSorokUresTablazatokhoz
|
|
@pTableName = '#OsszevontFelugyelet_tmp'
|
|
,@pFelnottkepzesKulon = @pFelnottKepzesKulon
|
|
,@pElmeletGyakorlatKulon = @pElmeletGyakorlatKulon
|
|
,@pTanarId = @pTanarId
|
|
,@pHonap = @Honap
|
|
,@pBontas = @pBontas
|
|
|
|
--tanóránkívüli
|
|
SELECT
|
|
pedagogusId
|
|
,OsztalyCsoportID
|
|
,OsztalyCsoportNev
|
|
,Honap
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,IsFelnottoktatas
|
|
,IsGyakorlat
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #TanoranKivuli_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
tao.C_ORATULAJDONOSID AS pedagogusId
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, tao.C_DATUM)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, tao.C_DATUM) <> 8
|
|
,(DATEPART(MONTH, tao.C_DATUM) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, tao.C_DATUM)
|
|
END AS Honap
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,tao.C_OSZTALYCSOPORTID oraid
|
|
,tao.C_OSZTALYCSOPORTID OsztalyCsoportID
|
|
,dbo.fnGetOrahossz(tao.C_CSENGETESIRENDORAID, C_ORAKEZDETE, C_ORAVEGE, ocs.C_FELADATKATEGORIAID, cs.Id, feh.C_OKTATASINEVELESIFELADATTIPUS, cst.C_ORAPERC) AS SumOra
|
|
,CASE
|
|
WHEN @pFelnottKepzesKulon = 1 AND feh.C_OKTATASINEVELESIFELADATTIPUS = 6463 THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- minden osztály és csoport, ami nem AMI
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID = 7555 AND cs.ID IS NULL AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- AMI-s osztály
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 THEN 'F' -- maradék nem AMI-s csoport/osztály
|
|
WHEN @pFelnottKepzesKulon = 1
|
|
AND (feh.C_OKTATASINEVELESIFELADATTIPUS IN (6463)
|
|
OR (ocs.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
OR (bontottOsztaly.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
) THEN 'T'
|
|
ELSE 'F'
|
|
END AS IsFelnottoktatas
|
|
,CASE
|
|
WHEN @pElmeletGyakorlatKulon = 1 THEN tant.C_GYAKORLATI
|
|
ELSE '-'
|
|
END AS IsGyakorlat
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tao.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
|
|
LEFT JOIN T_FOGLALKOZAS_OSSZES fog on fog.id=tao.C_FOGLALKOZASID
|
|
INNER JOIN T_CSOPORT_OSSZES cs ON cs.Id = ocs.ID AND cs.TOROLT = 'F'
|
|
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F' AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES bontottOsztaly ON bontottOsztaly.ID = cs.C_OSZTALYBONTASID AND bontottOsztaly.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tao.C_TANTARGYID AND tant.TOROLT = 'F'
|
|
LEFT JOIN #Hetek h ON CAST(tao.C_DATUM AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
LEFT JOIN #TanterviJelleg tj ON tj.C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID AND tj.C_NAPDATUMA = tao.C_DATUM
|
|
WHERE
|
|
(@pBontas = 2 OR DATEPART(MONTH, tao.C_DATUM) = @Honap)
|
|
AND tao.C_ORATULAJDONOSID = @pTanarId
|
|
AND tao.C_HELYETTESITOTANARID IS NULL
|
|
AND tao.TOROLT = 'F'
|
|
AND tao.C_TANEVID = @pTanevId
|
|
AND cs.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId))
|
|
AND tao.C_MEGTARTOTT = 'T'
|
|
AND (tao.C_PARHUZAMOSORA = 'F' OR tao.C_PARHUZAMOSORA IS NULL)
|
|
AND (fog.C_FOGLALKOZASTIPUSA IS NULL OR fog.C_FOGLALKOZASTIPUSA <> 1371)
|
|
)a
|
|
PIVOT
|
|
(
|
|
SUM(SumOra)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
|
|
) TanoranKivuli
|
|
|
|
----ITT ADJUK HOZZÁ AZ ÜRES SOROKAT, HOGY AZ FRX MEG TUDJA JELENÍTENI
|
|
exec uspInsertMunkaidoElszamoloLapUresSorokUresTablazatokhoz
|
|
@pTableName = '#TanoranKivuli_tmp'
|
|
,@pFelnottkepzesKulon = @pFelnottKepzesKulon
|
|
,@pElmeletGyakorlatKulon = @pElmeletGyakorlatKulon
|
|
,@pTanarId = @pTanarId
|
|
,@pHonap = @Honap
|
|
,@pBontas = @pBontas
|
|
|
|
--egyéni foglalkozas
|
|
SELECT
|
|
pedagogusId
|
|
,OsztalyCsoportID
|
|
,OsztalyCsoportNev
|
|
,Honap
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,IsFelnottoktatas
|
|
,IsGyakorlat
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #EgyeniFoglalkozas_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
tao.C_ORATULAJDONOSID AS pedagogusId
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, tao.C_DATUM)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, tao.C_DATUM) <> 8
|
|
,(DATEPART(MONTH, tao.C_DATUM) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, tao.C_DATUM)
|
|
END AS Honap
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,tao.C_OSZTALYCSOPORTID oraid
|
|
,tao.C_OSZTALYCSOPORTID OsztalyCsoportID
|
|
,dbo.fnGetOrahossz(tao.C_CSENGETESIRENDORAID, C_ORAKEZDETE, C_ORAVEGE, ocs.C_FELADATKATEGORIAID, cs.Id, feh.C_OKTATASINEVELESIFELADATTIPUS, cst.C_ORAPERC) AS SumOra
|
|
,CASE
|
|
WHEN @pFelnottKepzesKulon = 1 AND feh.C_OKTATASINEVELESIFELADATTIPUS = 6463 THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- minden osztály és csoport, ami nem AMI
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID = 7555 AND cs.ID IS NULL AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- AMI-s osztály
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 THEN 'F' -- maradék nem AMI-s csoport/osztály
|
|
WHEN @pFelnottKepzesKulon = 1
|
|
AND (feh.C_OKTATASINEVELESIFELADATTIPUS IN (6463)
|
|
OR (ocs.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
OR (bontottOsztaly.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
) THEN 'T'
|
|
ELSE 'F'
|
|
END AS IsFelnottoktatas
|
|
,CASE
|
|
WHEN @pElmeletGyakorlatKulon = 1 THEN tant.C_GYAKORLATI
|
|
ELSE '-'
|
|
END AS IsGyakorlat
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tao.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.Id = ocs.Id AND cs.TOROLT = 'F'
|
|
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F' AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES bontottOsztaly ON bontottOsztaly.ID = cs.C_OSZTALYBONTASID AND bontottOsztaly.TOROLT = 'F'
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES fog on fog.id=tao.C_FOGLALKOZASID
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tao.C_TANTARGYID AND tant.TOROLT = 'F'
|
|
LEFT JOIN #Hetek h ON CAST(tao.C_DATUM AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
LEFT JOIN #TanterviJelleg tj ON tj.C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID AND tj.C_NAPDATUMA = tao.C_DATUM
|
|
WHERE
|
|
(@pBontas = 2 OR DATEPART(MONTH, tao.C_DATUM) = @Honap)
|
|
AND tao.C_ORATULAJDONOSID = @pTanarId
|
|
AND fog.C_FOGLALKOZASTIPUSA = 1371
|
|
AND tao.C_HELYETTESITOTANARID IS NULL
|
|
AND tao.TOROLT = 'F'
|
|
AND tao.C_TANEVID = @pTanevId
|
|
AND tao.C_MEGTARTOTT = 'T'
|
|
AND (tao.C_PARHUZAMOSORA = 'F' OR tao.C_PARHUZAMOSORA IS NULL)
|
|
)a
|
|
PIVOT
|
|
(
|
|
SUM(SumOra)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
|
|
) EgyeniFoglalkozas
|
|
|
|
----ITT ADJUK HOZZÁ AZ ÜRES SOROKAT, HOGY AZ FRX MEG TUDJA JELENÍTENI
|
|
exec uspInsertMunkaidoElszamoloLapUresSorokUresTablazatokhoz
|
|
@pTableName = '#EgyeniFoglalkozas_tmp'
|
|
,@pFelnottkepzesKulon = @pFelnottKepzesKulon
|
|
,@pElmeletGyakorlatKulon = @pElmeletGyakorlatKulon
|
|
,@pTanarId = @pTanarId
|
|
,@pHonap = @Honap
|
|
,@pBontas = @pBontas
|
|
|
|
--============================================
|
|
--NEVELÉSSEL-OKTATÁSSAL LE NEM KÖTÖTT MUNKAIDŐ
|
|
--============================================
|
|
--ÖSSZESEN
|
|
SELECT
|
|
pedagogusId
|
|
,Honap
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,'F' AS IsFelnottoktatas
|
|
,'-' AS IsGyakorlat
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #LeNemKotottMunkaido_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
T_NEMKOTOTTMUNKAIDO_OSSZES.C_TANARID AS pedagogusId
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, C_KEZDETE)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, C_KEZDETE) <> 8
|
|
,(DATEPART(MONTH, C_KEZDETE) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, C_KEZDETE)
|
|
END AS Honap
|
|
,CONVERT(FLOAT,(DATEDIFF(minute, C_KEZDETE, C_VEGE) + IIF(DATEPART(hour, C_VEGE) = 23 AND DATEPART(minute, C_VEGE) = 59, 1, 0))) / 60 Oraszam
|
|
FROM T_NEMKOTOTTMUNKAIDO_OSSZES
|
|
LEFT JOIN #Hetek h ON CAST(C_KEZDETE AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
WHERE
|
|
C_MEGTARTOTT = 'T'
|
|
AND T_NEMKOTOTTMUNKAIDO_OSSZES.C_TANARID = @pTanarId
|
|
AND TOROLT = 'F'
|
|
AND T_NEMKOTOTTMUNKAIDO_OSSZES.C_ISTANARALTALTOROLT ='F'
|
|
AND (@pBontas = 2 OR (DATEPART(MONTH, C_KEZDETE) = @Honap
|
|
AND DATEPART(MONTH, C_VEGE) = @Honap))
|
|
) Orak
|
|
PIVOT
|
|
(
|
|
SUM(Oraszam)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
) Tevekenyseg
|
|
|
|
--sorokra (tipusokra) lebontva
|
|
SELECT
|
|
pedagogusId
|
|
,Honap
|
|
,TipusId TipusId
|
|
,Tipus Tipus
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,'F' AS IsFelnottoktatas
|
|
,'-' AS IsGyakorlat
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #NemKotottSorok_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
nemKotottMunkaido.C_TANARID AS pedagogusId
|
|
,nemKotottMunkaido.C_TEVEKENYSEGTIPUSA TipusId
|
|
,tipusNeve.C_NAME Tipus
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, nemKotottMunkaido.C_KEZDETE)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, nemKotottMunkaido.C_KEZDETE) <> 8
|
|
,(DATEPART(MONTH, nemKotottMunkaido.C_KEZDETE) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, nemKotottMunkaido.C_KEZDETE)
|
|
END AS Honap
|
|
,CONVERT(FLOAT,(DATEDIFF(minute, nemKotottMunkaido.C_KEZDETE, nemKotottMunkaido.C_VEGE) + IIF(DATEPART(hour, nemKotottMunkaido.C_VEGE) = 23 AND DATEPART(minute, nemKotottMunkaido.C_VEGE) = 59, 1, 0))) / 60 Oraszam
|
|
FROM T_NEMKOTOTTMUNKAIDO_OSSZES nemKotottMunkaido
|
|
INNER JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) tipusNeve ON tipusNeve.ID=nemKotottMunkaido.C_TEVEKENYSEGTIPUSA
|
|
LEFT JOIN #Hetek h ON CAST(nemKotottMunkaido.C_KEZDETE AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
WHERE
|
|
C_MEGTARTOTT='T'
|
|
AND nemKotottMunkaido.C_TANARID = @pTanarId
|
|
AND TOROLT = 'F'
|
|
AND nemKotottMunkaido.C_ISTANARALTALTOROLT ='F'
|
|
AND (@pBontas = 2 OR (DATEPART(MONTH, C_KEZDETE) = @Honap
|
|
AND DATEPART(MONTH, C_VEGE) = @Honap))
|
|
) Orak
|
|
PIVOT
|
|
(
|
|
SUM(Oraszam)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
) Soronkent
|
|
|
|
exec uspInsertMunkaidoElszamoloLapUresSorokUresTablazatokhoz
|
|
@pTableName = '#NemKotottSorok_tmp'
|
|
,@pFelnottkepzesKulon = @pFelnottKepzesKulon
|
|
,@pElmeletGyakorlatKulon = @pElmeletGyakorlatKulon
|
|
,@pTanarId = @pTanarId
|
|
,@pHonap = @Honap
|
|
,@pBontas = @pBontas
|
|
,@pSecondColumnName = 'TipusId'
|
|
,@pThirdColumnName = 'Tipus'
|
|
|
|
-- Túlóra
|
|
SELECT
|
|
pedagogusId
|
|
,OsztalyCsoportID
|
|
,OsztalyCsoportNev
|
|
,Honap
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,IsFelnottoktatas
|
|
,IsGyakorlat
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #Tulora_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
tao.C_ORATULAJDONOSID AS pedagogusId
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, tao.C_DATUM)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, tao.C_DATUM) <> 8
|
|
,(DATEPART(MONTH, tao.C_DATUM) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, tao.C_DATUM)
|
|
END AS Honap
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,tao.C_OSZTALYCSOPORTID oraid
|
|
,tao.C_OSZTALYCSOPORTID OsztalyCsoportID
|
|
,dbo.fnGetOrahossz(tao.C_CSENGETESIRENDORAID, C_ORAKEZDETE, C_ORAVEGE, ocs.C_FELADATKATEGORIAID, cs.Id, feh.C_OKTATASINEVELESIFELADATTIPUS, cst.C_ORAPERC) AS SumOra
|
|
,CASE
|
|
WHEN @pFelnottKepzesKulon = 1 AND feh.C_OKTATASINEVELESIFELADATTIPUS = 6463 THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- minden osztály és csoport, ami nem AMI
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID = 7555 AND cs.ID IS NULL AND tj.C_TANTERVIJELLEGID IN (1097, 5445, 5446, 5447) -- AMI-s osztály
|
|
THEN 'T'
|
|
WHEN @tanevSorszam >= 42 AND @isSzakkepzo = 1 AND @pFelnottKepzesKulon = 1 AND ocs.C_FELADATKATEGORIAID <> 7555 THEN 'F' -- maradék nem AMI-s csoport/osztály
|
|
WHEN @pFelnottKepzesKulon = 1
|
|
AND (feh.C_OKTATASINEVELESIFELADATTIPUS IN (6463)
|
|
OR (ocs.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
OR (bontottOsztaly.C_KEPZESIFORMA IN (1097, 5445, 5446, 5447))
|
|
) THEN 'T'
|
|
ELSE 'F'
|
|
END AS IsFelnottoktatas
|
|
,CASE
|
|
WHEN @pElmeletGyakorlatKulon = 1 THEN tant.C_GYAKORLATI
|
|
ELSE '-'
|
|
END AS IsGyakorlat
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID=tao.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
|
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F' AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES bontottOsztaly ON bontottOsztaly.ID = cs.C_OSZTALYBONTASID AND bontottOsztaly.TOROLT = 'F'
|
|
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.ID = C_FOGLALKOZASID
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tao.C_TANTARGYID AND tant.TOROLT = 'F'
|
|
LEFT JOIN #Hetek h ON CAST(tao.C_DATUM AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
LEFT JOIN #TanterviJelleg tj ON tj.C_OSZTALYCSOPORTID = tao.C_OSZTALYCSOPORTID AND tj.C_NAPDATUMA = tao.C_DATUM
|
|
WHERE
|
|
(@pBontas = 2 OR DATEPART(MONTH, tao.C_DATUM) = @Honap)
|
|
AND tao.C_ORATULAJDONOSID = @pTanarId
|
|
AND tao.TOROLT = 'F'
|
|
AND tao.C_TANEVID = @pTanevId
|
|
AND tao.C_TULORA = 'T'
|
|
AND tao.C_MEGTARTOTT = 'T'
|
|
)a
|
|
PIVOT
|
|
(
|
|
SUM(SumOra)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
|
|
) Tulora
|
|
|
|
----ITT ADJUK HOZZÁ AZ ÜRES SOROKAT, HOGY AZ FRX MEG TUDJA JELENÍTENI
|
|
exec uspInsertMunkaidoElszamoloLapUresSorokUresTablazatokhoz
|
|
@pTableName = '#Tulora_tmp'
|
|
,@pFelnottkepzesKulon = @pFelnottKepzesKulon
|
|
,@pElmeletGyakorlatKulon = @pElmeletGyakorlatKulon
|
|
,@pTanarId = @pTanarId
|
|
,@pHonap = @Honap
|
|
,@pBontas = @pBontas
|
|
|
|
----ITT ADOM VISSZA A TABLAT=======================================
|
|
SELECT * FROM #Tulora_tmp
|
|
SELECT
|
|
pedagogusId
|
|
,SUM([1]) AS [1], SUM([2]) AS [2], SUM([3]) AS [3], SUM([4]) AS [4], SUM([5]) AS [5], SUM([6]) AS [6], SUM([7]) AS [7], SUM([8]) AS [8], SUM([9]) AS [9], SUM([10]) AS [10],
|
|
SUM([11]) AS [11], SUM([12]) AS [12], SUM([13]) AS [13], SUM([14]) AS [14], SUM([15]) AS [15], SUM([16]) AS [16], SUM([17]) AS [17], SUM([18]) AS [18], SUM([19]) AS [19], SUM([20]) AS [20],
|
|
SUM([21]) AS [21], SUM([22]) AS [22], SUM([23]) AS [23], SUM([24]) AS [24], SUM([25]) AS [25], SUM([26]) AS [26], SUM([27]) AS [27], SUM([28]) AS [28], SUM([29]) AS [29], SUM([30]) AS [30], SUM([31]) AS [31]
|
|
,SUM(Ossz) as Ossz
|
|
,AVG([1b]) AS [1b], AVG([2b]) AS [2b], AVG([3b]) AS [3b], AVG([4b]) AS [4b], AVG([5b]) AS [5b], AVG([6b]) AS [6b], AVG([7b]) AS [7b], AVG([8b]) AS [8b], AVG([9b]) AS [9b], AVG([10b]) AS [10b]
|
|
,AVG([11b]) AS [11b], AVG([12b]) AS [12b], AVG([13b]) AS [13b], AVG([14b]) AS [14b], AVG([15b]) AS [15b], AVG([16b]) AS [16b], AVG([17b]) AS [17b], AVG([18b]) AS [18b], AVG([19b]) AS [19b], AVG([20b]) AS [20b]
|
|
,AVG([21b]) AS [21b], AVG([22b]) AS [22b], AVG([23b]) AS [23b], AVG([24b]) AS [24b], AVG([25b]) AS [25b], AVG([26b]) AS [26b], AVG([27b]) AS [27b], AVG([28b]) AS [28b], AVG([29b]) AS [29b], AVG([30b]) AS [30b], AVG([31b]) AS [31b]
|
|
FROM #Tulora_tmp
|
|
GROUP BY
|
|
pedagogusId
|
|
|
|
----KUMULÁLT HELYETTESÍTÉSEK
|
|
CREATE TABLE #helyettesitesek (pedagogusId int, Nap int, Honap int, SumOra float, HelyettesitesTipusa int)
|
|
INSERT INTO #helyettesitesek
|
|
SELECT
|
|
tao.C_HELYETTESITOTANARID AS pedagogusId
|
|
,DATEPART(DAY, tao.C_DATUM) AS Nap
|
|
,DATEPART(MONTH,tao.C_DATUM) AS Honap
|
|
,dbo.fnGetOrahossz(tao.C_CSENGETESIRENDORAID, C_ORAKEZDETE, C_ORAVEGE, ocs.C_FELADATKATEGORIAID, cs.Id, feh.C_OKTATASINEVELESIFELADATTIPUS, cst.C_ORAPERC) AS SumOra
|
|
,tao.C_HELYETTESITESTIPUSA AS HelyettesitesTipusa
|
|
FROM T_TANITASIORA_OSSZES AS tao
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.id=tao.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
LEFT JOIN T_CSOPORT_OSSZES AS cs ON cs.ID = ocs.ID
|
|
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F' AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
|
|
WHERE
|
|
tao.C_DATUM < @backDate
|
|
AND tao.C_HELYETTESITOTANARID = @pTanarId
|
|
AND tao.TOROLT = 'F'
|
|
AND tao.C_MEGTARTOTT = 'T'
|
|
AND tao.C_TANEVID = @pTanevId
|
|
AND (tao.C_PARHUZAMOSORA = 'F' OR tao.C_PARHUZAMOSORA IS NULL)
|
|
|
|
----ITT ADOM VISSZA A KUMULÁLT HELYETTESÍTÉSEK TÁBLÁT
|
|
SELECT
|
|
pedagogusId
|
|
,HelyettesitesTipusa
|
|
,ROUND([9], 2) AS [9],ROUND([10], 2) AS [10],ROUND([11], 2) AS [11],ROUND([12], 2) AS [12],ROUND([1], 2) AS [1],ROUND([2], 2) AS [2],ROUND([3], 2) AS [3],ROUND([4], 2) AS [4],ROUND([5], 2) AS [5],ROUND([6], 2) AS [6],ROUND([7], 2) AS [7],ROUND([8], 2) AS [8]
|
|
,ROUND(ISNULL([9], 0) + ISNULL([10], 0) + ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) + ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0), 2) AS Ossz
|
|
FROM (
|
|
SELECT
|
|
pedagogusId
|
|
,Honap
|
|
,SumOra
|
|
,d.C_NAME AS HelyettesitesTipusa
|
|
FROM #helyettesitesek AS h
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS d ON h.HelyettesitesTipusa = d.ID AND d.C_TANEVID = @pTanevId AND d.C_INTEZMENYID = @pIntezmenyId AND d.TOROLT = 'F'
|
|
)a
|
|
PIVOT (
|
|
SUM(SumOra) FOR Honap IN ([9],[10],[11],[12],[1],[2],[3],[4],[5],[6],[7],[8])
|
|
) piv
|
|
|
|
----HETEK TÁBLA
|
|
SELECT * FROM #Hetek ORDER BY Sorszam
|
|
|
|
----ÉV-HÓNAPOK TÁBLA
|
|
SELECT DISTINCT
|
|
FORMAT(nn.C_NAPDATUMA, 'yyyy.MM.')
|
|
FROM T_NAPTARINAP_OSSZES nn
|
|
WHERE nn.C_TANEVID = @pTanevId
|
|
AND nn.TOROLT = 'F'
|
|
|
|
----MINDEN TEVÉKENYSÉG EGYBEN VISSZAADÁSA
|
|
SELECT *, 0 AS TevekenysegTipus FROM #MegtartottOrakHelyesitesek_tmp
|
|
UNION ALL
|
|
SELECT *, 1 AS TevekenysegTipus FROM #TanoranKivuli_tmp
|
|
UNION ALL
|
|
SELECT *, 2 AS TevekenysegTipus FROM #EgyeniFoglalkozas_tmp
|
|
UNION ALL
|
|
SELECT *, 3 AS TevekenysegTipus FROM #SzakszeruHelyetesites_tmp
|
|
UNION ALL
|
|
SELECT *, 4 AS TevekenysegTipus FROM #NemSzakszeruHelyetesites_tmp
|
|
UNION ALL
|
|
SELECT *, 5 AS TevekenysegTipus FROM #OraOsszevonas_tmp
|
|
UNION ALL
|
|
SELECT *, 6 AS TevekenysegTipus FROM #OsszevontFelugyelet_tmp
|
|
UNION ALL
|
|
SELECT pedagogusId, TipusId, Tipus
|
|
,Honap
|
|
,[1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31]
|
|
,Ossz, IsFelnottoktatas, IsGyakorlat
|
|
,[1b], [2b], [3b], [4b], [5b], [6b], [7b], [8b], [9b], [10b],
|
|
[11b], [12b], [13b], [14b], [15b], [16b], [17b], [18b], [19b], [20b],
|
|
[21b], [22b], [23b], [24b], [25b], [26b], [27b], [28b], [29b], [30b], [31b]
|
|
, 7 AS TevekenysegTipus FROM #NemKotottSorok_tmp
|
|
|
|
-- Párhuzamos óra
|
|
SELECT
|
|
pedagogusId
|
|
,OsztalyCsoportID
|
|
,OsztalyCsoportNev
|
|
,Honap
|
|
,ROUND([1], 2) AS [1], ROUND([2], 2) AS [2], ROUND([3], 2) AS [3], ROUND([4], 2) AS [4], ROUND([5], 2) AS [5], ROUND([6], 2) AS [6], ROUND([7], 2) AS [7], ROUND([8], 2) AS [8], ROUND([9], 2) AS [9], ROUND([10], 2) AS [10],
|
|
ROUND([11], 2) AS [11], ROUND([12], 2) AS [12], ROUND([13], 2) AS [13], ROUND([14], 2) AS [14], ROUND([15], 2) AS [15], ROUND([16], 2) AS [16], ROUND([17], 2) AS [17], ROUND([18], 2) AS [18], ROUND([19], 2) AS [19], ROUND([20], 2) AS [20],
|
|
ROUND([21], 2) AS [21], ROUND([22], 2) AS [22], ROUND([23], 2) AS [23], ROUND([24], 2) AS [24], ROUND([25], 2) AS [25], ROUND([26], 2) AS [26], ROUND([27], 2) AS [27], ROUND([28], 2) AS [28], ROUND([29], 2) AS [29], ROUND([30], 2) AS [30], ROUND([31], 2) AS [31]
|
|
,ROUND(ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) +
|
|
ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10], 0) +
|
|
ISNULL([11], 0) + ISNULL([12], 0) + ISNULL([13], 0) + ISNULL([14], 0) + ISNULL([15], 0) +
|
|
ISNULL([16], 0) + ISNULL([17], 0) + ISNULL([18], 0) + ISNULL([19], 0) + ISNULL([20], 0) +
|
|
ISNULL([21], 0) + ISNULL([22], 0) + ISNULL([23], 0) + ISNULL([24], 0) + ISNULL([25], 0) +
|
|
ISNULL([26], 0) + ISNULL([27], 0) + ISNULL([28], 0) + ISNULL([29], 0) + ISNULL([30], 0) + ISNULL([31], 0), 2) AS Ossz
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 1) = 'T' OR [1] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [1b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 2) = 'T' OR [2] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [2b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 3) = 'T' OR [3] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [3b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 4) = 'T' OR [4] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [4b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 5) = 'T' OR [5] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [5b]
|
|
,CASE @pBontas
|
|
WHEN 0 THEN IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 1 THEN IIF((SELECT h.IsTanitasiHet FROM #Hetek h WHERE h.Sorszam = 6) = 'T' OR [6] IS NOT NULL, 0, 1)
|
|
WHEN 2 THEN 0
|
|
END AS [6b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 7) = 'T' OR [7] IS NOT NULL, 0, 1)
|
|
END AS [7b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 8) = 'T' OR [8] IS NOT NULL, 0, 1)
|
|
END AS [8b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 9) = 'T' OR [9] IS NOT NULL, 0, 1)
|
|
END AS [9b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 10) = 'T' OR [10] IS NOT NULL, 0, 1)
|
|
END AS [10b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 11) = 'T' OR [11] IS NOT NULL, 0, 1)
|
|
END AS [11b]
|
|
,CASE @pBontas
|
|
WHEN 2 THEN 0
|
|
ELSE IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 12) = 'T' OR [12] IS NOT NULL, 0, 1)
|
|
END AS [12b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 13) = 'T' OR [13] IS NOT NULL, 0, 1) AS [13b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 14) = 'T' OR [14] IS NOT NULL, 0, 1) AS [14b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 15) = 'T' OR [15] IS NOT NULL, 0, 1) AS [15b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 16) = 'T' OR [16] IS NOT NULL, 0, 1) AS [16b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 17) = 'T' OR [17] IS NOT NULL, 0, 1) AS [17b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 18) = 'T' OR [18] IS NOT NULL, 0, 1) AS [18b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 19) = 'T' OR [19] IS NOT NULL, 0, 1) AS [19b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 20) = 'T' OR [20] IS NOT NULL, 0, 1) AS [20b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 21) = 'T' OR [21] IS NOT NULL, 0, 1) AS [21b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 22) = 'T' OR [22] IS NOT NULL, 0, 1) AS [22b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 23) = 'T' OR [23] IS NOT NULL, 0, 1) AS [23b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 24) = 'T' OR [24] IS NOT NULL, 0, 1) AS [24b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 25) = 'T' OR [25] IS NOT NULL, 0, 1) AS [25b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 26) = 'T' OR [26] IS NOT NULL, 0, 1) AS [26b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 27) = 'T' OR [27] IS NOT NULL, 0, 1) AS [27b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 28) = 'T' OR [28] IS NOT NULL, 0, 1) AS [28b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 29) = 'T' OR [29] IS NOT NULL, 0, 1) AS [29b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 30) = 'T' OR [30] IS NOT NULL, 0, 1) AS [30b]
|
|
,IIF((SELECT tnt.IsTanitasiNap FROM #TanitasiNapTabla tnt WHERE tnt.Nap = 31) = 'T' OR [31] IS NOT NULL, 0, 1) AS [31b]
|
|
INTO #Parhuzamosora_tmp
|
|
FROM
|
|
(
|
|
SELECT
|
|
tao.C_ORATULAJDONOSID AS pedagogusId
|
|
,CASE @pBontas
|
|
WHEN 0 THEN DATEPART(DAY, tao.C_DATUM)
|
|
WHEN 1 THEN h.Sorszam
|
|
WHEN 2 THEN IIF(DATEPART(MONTH, tao.C_DATUM) <> 8
|
|
,(DATEPART(MONTH, tao.C_DATUM) + 4) % 12
|
|
,12)
|
|
END AS Nap
|
|
,CASE @pBontas
|
|
WHEN 2 THEN @Honap
|
|
ELSE DATEPART(Month, tao.C_DATUM)
|
|
END AS Honap
|
|
,ocs.C_NEV OsztalyCsoportNev
|
|
,tao.C_OSZTALYCSOPORTID oraid
|
|
,tao.C_OSZTALYCSOPORTID OsztalyCsoportID
|
|
,dbo.fnGetOrahossz(tao.C_CSENGETESIRENDORAID, C_ORAKEZDETE, C_ORAVEGE, ocs.C_FELADATKATEGORIAID, cs.Id, feh.C_OKTATASINEVELESIFELADATTIPUS, cst.C_ORAPERC) AS SumOra
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID=tao.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
|
LEFT JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.TOROLT = 'F' AND cst.C_ALTANEVID = cs.C_ALTANEVID
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES bontottOsztaly ON bontottOsztaly.ID = cs.C_OSZTALYBONTASID AND bontottOsztaly.TOROLT = 'F'
|
|
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.ID = C_FOGLALKOZASID
|
|
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tao.C_TANTARGYID AND tant.TOROLT = 'F'
|
|
LEFT JOIN #Hetek h ON CAST(tao.C_DATUM AS DATE) BETWEEN h.KezdoNap AND h.UtolsoNap
|
|
WHERE (@pBontas = 2 OR DATEPART(MONTH, tao.C_DATUM) = @Honap)
|
|
AND tao.C_ORATULAJDONOSID = @pTanarId
|
|
AND tao.TOROLT = 'F'
|
|
AND tao.C_TANEVID = @pTanevId
|
|
AND tao.C_PARHUZAMOSORA = 'T'
|
|
AND tao.C_MEGTARTOTT = 'T'
|
|
AND @pParhuzamosOrakMegjelenitese = 1
|
|
)a
|
|
PIVOT
|
|
(
|
|
SUM(SumOra)
|
|
FOR Nap IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10],
|
|
[11], [12], [13], [14], [15], [16], [17], [18], [19], [20],
|
|
[21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31])
|
|
|
|
) Parhuzamosora
|
|
|
|
----ITT ADOM VISSZA A TABLAT=======================================
|
|
SELECT * FROM #Parhuzamosora_tmp
|
|
|
|
DROP TABLE #Hetek
|
|
DROP TABLE #TanitasiNapTabla
|
|
|
|
END
|
|
GO
|