kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspGetMunkaidoElszamoloLap.sql
2024-03-13 00:33:46 +01:00

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