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