495 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			495 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('[dbo].[sp_GetMunkaidoElszamoloLap]') IS NOT NULL 
 | 
						|
BEGIN
 | 
						|
  DROP PROCEDURE [dbo].[sp_GetMunkaidoElszamoloLap] 
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetMunkaidoElszamoloLap] 
 | 
						|
	@tanarid INT,
 | 
						|
	@tanevId INT,
 | 
						|
	@honapId INT,
 | 
						|
	@isKlebersberg BIT
 | 
						|
AS 
 | 
						|
  BEGIN 
 | 
						|
	 SET NOCOUNT ON;
 | 
						|
	DECLARE @Honap INT = (
 | 
						|
		SELECT TOP 1 
 | 
						|
			dictionaryItemBase.C_VALUE 
 | 
						|
		FROM 
 | 
						|
			T_DICTIONARYITEMBASE_OSSZES dictionaryItemBase
 | 
						|
		WHERE 
 | 
						|
			dictionaryItemBase.ID = @honapId
 | 
						|
			AND dictionaryItemBase.C_TANEVID = @tanevId
 | 
						|
			AND dictionaryItemBase.TOROLT = 'F'
 | 
						|
	)
 | 
						|
 | 
						|
	SELECT TOP 1 
 | 
						|
		FORMAT(C_NAPDATUMA, 'yyyy')		Ev, 
 | 
						|
		FORMAT(C_NAPDATUMA, 'MM')		Honap 
 | 
						|
	FROM 
 | 
						|
		T_NAPTARINAP_OSSZES naptariNap 
 | 
						|
	WHERE 
 | 
						|
		DATEPART(MONTH,naptariNap.C_NAPDATUMA) = @Honap 
 | 
						|
		AND naptariNap.C_TANEVID = @tanevId 
 | 
						|
		AND naptariNap.TOROLT = 'F'
 | 
						|
 | 
						|
--===================================
 | 
						|
--FEJLÉC
 | 
						|
--===================================
 | 
						|
	SELECT 
 | 
						|
		f.C_NYOMTATASINEV							TanarNev 
 | 
						|
		,f.C_OKTATASIAZONOSITO						OktatasiAzonosito
 | 
						|
		,munkakor.C_NAME							Munkakor
 | 
						|
		,dbo.fnGetDokumentumPedagogusOraszam(f.id, @isKlebersberg) 	KotelezoOraszam
 | 
						|
		,ISNULL(CONVERT(NVARCHAR(MAX),m.C_MUNKAIDOKEDVEZMENYORASZAM),'-')	MunkaidoKedvezmenyOraszam
 | 
						|
		,ISNULL(munkaidoKedvezmenyOka.C_NAME,'-')	MunkaidoKedvezmenyOka
 | 
						|
		,ia.C_NEV + ' (' + ia.C_OMKOD +')'			IntezmenyNeve
 | 
						|
		,ia.C_IGAZGATONEVE							Igazgato
 | 
						|
	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 
 | 
						|
	WHERE 
 | 
						|
		f.ID = @tanarId
 | 
						|
		AND ia.TOROLT = 'F'
 | 
						|
		AND m.TOROLT = 'F'		
 | 
						|
 | 
						|
--===================================
 | 
						|
--MEGTARTOTT TANÓRÁK, HELYETTESÍTÉSEK
 | 
						|
--===================================
 | 
						|
	SELECT 
 | 
						|
		OsztalyCsoportID
 | 
						|
		,OsztalyCsoportNev
 | 
						|
		,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],
 | 
						|
		 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) Ossz
 | 
						|
     INTO #MegtartottOrakHelyesitesek_tmp
 | 
						|
	FROM
 | 
						|
	(
 | 
						|
	SELECT 
 | 
						|
		DATEPART(DAY, T_TANITASIORA_OSSZES.C_DATUM)		Nap
 | 
						|
		,DATEPART(Month, T_TANITASIORA_OSSZES.C_DATUM)	Honap
 | 
						|
		,T_OSZTALYCSOPORT_OSSZES.ID						OsztalyCsoportID
 | 
						|
		,T_OSZTALYCSOPORT_OSSZES.ID						ocsId
 | 
						|
		,T_OSZTALYCSOPORT_OSSZES.C_NEV					OsztalyCsoportNev
 | 
						|
		,IIF(T_TANITASIORA_OSSZES.C_CSENGETESIRENDORAID IS NOT NULL, 
 | 
						|
				1, 
 | 
						|
				ROUND(CONVERT(FLOAT,(DATEPART(HOUR, C_ORAVEGE - C_ORAKEZDETE) * 60 + DATEPART(MINUTE, C_ORAVEGE - C_ORAKEZDETE))) / 45, 2)
 | 
						|
			)SumOra
 | 
						|
	FROM T_TANITASIORA_OSSZES
 | 
						|
		INNER JOIN T_OSZTALYCSOPORT_OSSZES on T_TANITASIORA_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_OSSZES.ID
 | 
						|
		LEFT JOIN T_CSOPORT_OSSZES ON T_CSOPORT_OSSZES.Id = T_OSZTALYCSOPORT_OSSZES.ID
 | 
						|
		LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.ID = C_FOGLALKOZASID
 | 
						|
	WHERE 
 | 
						|
		T_TANITASIORA_OSSZES.C_ORATULAJDONOSID = @tanarid
 | 
						|
		AND T_TANITASIORA_OSSZES.C_TANEVID = @tanevId
 | 
						|
		AND DATEPART(MONTH, T_TANITASIORA_OSSZES.C_DATUM) = @Honap
 | 
						|
		AND T_TANITASIORA_OSSZES.TOROLT = 'F' 
 | 
						|
		AND T_TANITASIORA_OSSZES.C_MEGTARTOTT = 'T'
 | 
						|
		AND T_TANITASIORA_OSSZES.C_HELYETTESITOTANARID IS NULL 
 | 
						|
		AND (T_CSOPORT_OSSZES.Id IS NULL OR T_CSOPORT_OSSZES.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))
 | 
						|
		AND (T_TANITASIORA_OSSZES.C_PARHUZAMOSORA = 'F' OR T_TANITASIORA_OSSZES.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 ADOM VISSZA A TABLAT=======================================<<<<<<
 | 
						|
  SELECT * FROM #MegtartottOrakHelyesitesek_tmp
 | 
						|
 | 
						|
--szakszerű helyettesítés
 | 
						|
	SELECT 
 | 
						|
		OsztalyCsoportID
 | 
						|
		,OsztalyCsoportNev
 | 
						|
		,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],
 | 
						|
		 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) Ossz
 | 
						|
     INTO #SzakszeruHelyetesites_tmp
 | 
						|
	FROM
 | 
						|
	(
 | 
						|
	SELECT 
 | 
						|
		DATEPART(DAY, tao.C_DATUM)		Nap
 | 
						|
		,DATEPART(MONTH,tao.C_DATUM)	Honap
 | 
						|
		,ocs.C_NEV						OsztalyCsoportNev
 | 
						|
		,tao.C_OSZTALYCSOPORTID			oraid
 | 
						|
		,tao.C_OSZTALYCSOPORTID			OsztalyCsoportID
 | 
						|
		,IIF(tao.C_CSENGETESIRENDORAID IS NOT NULL, 
 | 
						|
				1, 
 | 
						|
				ROUND(CONVERT(FLOAT,(DATEPART(HOUR, C_ORAVEGE - C_ORAKEZDETE) * 60 + DATEPART(MINUTE, C_ORAVEGE - C_ORAKEZDETE))) / IIF(cs.Id IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)), 45, 60), 2)
 | 
						|
			)SumOra
 | 
						|
	FROM T_TANITASIORA_OSSZES tao
 | 
						|
		INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tao.C_OSZTALYCSOPORTID
 | 
						|
		LEFT JOIN T_CSOPORT_OSSZES  cs ON cs.ID = ocs.ID
 | 
						|
	WHERE 
 | 
						|
		tao.C_HELYETTESITOTANARID = @tanarid 
 | 
						|
		AND DATEPART(MONTH, tao.C_DATUM) = @Honap 
 | 
						|
		AND tao.TOROLT = 'F' 
 | 
						|
		AND tao.C_HELYETTESITESTIPUSA = 1494 
 | 
						|
		AND tao.C_MEGTARTOTT = 'T'
 | 
						|
		AND tao.C_TANEVID = @tanevId
 | 
						|
		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 ADOM VISSZA A TABLAT=======================================<<<<<<
 | 
						|
  SELECT * FROM #SzakszeruHelyetesites_tmp
 | 
						|
 | 
						|
--nem szakszerű helyettesítés
 | 
						|
	SELECT 
 | 
						|
		OsztalyCsoportID
 | 
						|
		,OsztalyCsoportNev
 | 
						|
		,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],
 | 
						|
		 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) Ossz
 | 
						|
     INTO #NemSzakszeruHelyetesites_tmp
 | 
						|
	FROM
 | 
						|
	(
 | 
						|
	SELECT 
 | 
						|
		DATEPART(DAY, tao.C_DATUM)		Nap
 | 
						|
		,DATEPART(MONTH,tao.C_DATUM)	Honap
 | 
						|
		,ocs.C_NEV						OsztalyCsoportNev
 | 
						|
		,tao.C_OSZTALYCSOPORTID			oraid
 | 
						|
		,tao.C_OSZTALYCSOPORTID			OsztalyCsoportID
 | 
						|
		,IIF(tao.C_CSENGETESIRENDORAID IS NOT NULL, 
 | 
						|
				1, 
 | 
						|
				ROUND(CONVERT(FLOAT,(DATEPART(HOUR, C_ORAVEGE - C_ORAKEZDETE) * 60 + DATEPART(MINUTE, C_ORAVEGE - C_ORAKEZDETE))) / IIF(cs.Id IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)), 45, 60), 2)
 | 
						|
		)SumOra
 | 
						|
	FROM T_TANITASIORA_OSSZES tao
 | 
						|
		INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tao.C_OSZTALYCSOPORTID
 | 
						|
		LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID
 | 
						|
	WHERE 
 | 
						|
		tao.C_HELYETTESITOTANARID = @tanarid 
 | 
						|
		AND DATEPART(MONTH, tao.C_DATUM) = @Honap 
 | 
						|
		AND tao.TOROLT = 'F' 
 | 
						|
		AND tao.C_HELYETTESITESTIPUSA = 1495 
 | 
						|
		AND tao.C_MEGTARTOTT = 'T'
 | 
						|
		AND tao.C_TANEVID = @tanevId
 | 
						|
		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 ADOM VISSZA A TABLAT=======================================<<<<<<
 | 
						|
  SELECT * FROM #NemSzakszeruHelyetesites_tmp
 | 
						|
 | 
						|
--óraösszevonás
 | 
						|
	SELECT 
 | 
						|
		OsztalyCsoportID
 | 
						|
		,OsztalyCsoportNev
 | 
						|
		,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],
 | 
						|
		 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) Ossz
 | 
						|
     INTO #OraOsszevonas_tmp
 | 
						|
	FROM
 | 
						|
	(
 | 
						|
	SELECT 
 | 
						|
		DATEPART(DAY, tao.C_DATUM)	Nap
 | 
						|
		,DATEPART(MONTH,tao.C_DATUM) Honap
 | 
						|
		,ocs.C_NEV					OsztalyCsoportNev
 | 
						|
		,tao.C_OSZTALYCSOPORTID		oraid
 | 
						|
		,tao.C_OSZTALYCSOPORTID		OsztalyCsoportID
 | 
						|
		,IIF(tao.C_CSENGETESIRENDORAID IS NOT NULL, 
 | 
						|
				1, 
 | 
						|
				ROUND(CONVERT(FLOAT,(DATEPART(HOUR, C_ORAVEGE - C_ORAKEZDETE) * 60 + DATEPART(MINUTE, C_ORAVEGE - C_ORAKEZDETE))) / IIF(cs.Id IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)), 45, 60), 2)
 | 
						|
		)SumOra
 | 
						|
	FROM T_TANITASIORA_OSSZES tao
 | 
						|
		INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID=tao.C_OSZTALYCSOPORTID
 | 
						|
		LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID
 | 
						|
	WHERE tao.C_HELYETTESITOTANARID = @tanarid 
 | 
						|
		AND DATEPART(MONTH, tao.C_DATUM) = @Honap 
 | 
						|
		AND tao.TOROLT = 'F' 
 | 
						|
		AND tao.C_HELYETTESITESTIPUSA = 1496 
 | 
						|
		AND tao.C_TANEVID = @tanevId
 | 
						|
		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 ADOM VISSZA A TABLAT=======================================<<<<<<
 | 
						|
  SELECT * FROM #OraOsszevonas_tmp
 | 
						|
 | 
						|
--tanóránkívüli
 | 
						|
	SELECT 
 | 
						|
		OsztalyCsoportID
 | 
						|
		,OsztalyCsoportNev
 | 
						|
		,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],
 | 
						|
		 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) Ossz
 | 
						|
     INTO #TanoranKivuli_tmp
 | 
						|
	FROM
 | 
						|
	(
 | 
						|
	SELECT 
 | 
						|
		DATEPART(DAY, tao.C_DATUM)		Nap
 | 
						|
		,DATEPART(MONTH,tao.C_DATUM)	Honap
 | 
						|
		,ocs.C_NEV						OsztalyCsoportNev
 | 
						|
		,tao.C_OSZTALYCSOPORTID			oraid
 | 
						|
		,tao.C_OSZTALYCSOPORTID			OsztalyCsoportID
 | 
						|
		,IIF(tao.C_CSENGETESIRENDORAID IS NOT NULL, 
 | 
						|
				1, 
 | 
						|
				ROUND(CONVERT(FLOAT,(DATEPART(HOUR, C_ORAVEGE - C_ORAKEZDETE) * 60 + DATEPART(MINUTE, C_ORAVEGE - C_ORAKEZDETE))) / 60, 2)
 | 
						|
		)SumOra
 | 
						|
	FROM T_TANITASIORA_OSSZES tao
 | 
						|
		INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tao.C_OSZTALYCSOPORTID
 | 
						|
		LEFT JOIN T_FOGLALKOZAS_OSSZES fog on fog.id=tao.C_FOGLALKOZASID 
 | 
						|
		INNER JOIN T_CSOPORT_OSSZES ON T_CSOPORT_OSSZES.Id = ocs.ID
 | 
						|
	WHERE 
 | 
						|
		DATEPART(MONTH, tao.C_DATUM) = @Honap 
 | 
						|
		AND tao.C_HELYETTESITOTANARID IS NULL
 | 
						|
		AND tao.C_ORATULAJDONOSID = @tanarid
 | 
						|
		AND tao.TOROLT = 'F' 
 | 
						|
		AND tao.C_TANEVID = @tanevId 
 | 
						|
		AND T_CSOPORT_OSSZES.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))
 | 
						|
		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 ADOM VISSZA A TABLAT=======================================<<<<<<
 | 
						|
  SELECT * FROM #TanoranKivuli_tmp
 | 
						|
 | 
						|
--egyéni foglalkozas
 | 
						|
	SELECT 
 | 
						|
		OsztalyCsoportID
 | 
						|
		,OsztalyCsoportNev
 | 
						|
		,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],
 | 
						|
		 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) Ossz
 | 
						|
		INTO #EgyeniFoglalkozas_tmp
 | 
						|
  FROM
 | 
						|
	(
 | 
						|
	SELECT 
 | 
						|
		DATEPART(DAY, tao.C_DATUM)	Nap,
 | 
						|
		DATEPART(MONTH,tao.C_DATUM) Honap,
 | 
						|
		ocs.C_NEV					OsztalyCsoportNev,
 | 
						|
		tao.C_OSZTALYCSOPORTID		oraid,
 | 
						|
		tao.C_OSZTALYCSOPORTID		OsztalyCsoportID
 | 
						|
		,IIF(tao.C_CSENGETESIRENDORAID IS NOT NULL, 
 | 
						|
				1, 
 | 
						|
				ROUND(CONVERT(FLOAT,(DATEPART(HOUR, C_ORAVEGE - C_ORAKEZDETE) * 60 + DATEPART(MINUTE, C_ORAVEGE - C_ORAKEZDETE))) / IIF(cs.Id IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)), 45, 60), 2)
 | 
						|
		)SumOra
 | 
						|
	FROM T_TANITASIORA_OSSZES tao
 | 
						|
		INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tao.C_OSZTALYCSOPORTID
 | 
						|
		LEFT JOIN T_CSOPORT_OSSZES cs ON cs.Id = ocs.Id
 | 
						|
		INNER JOIN T_FOGLALKOZAS_OSSZES fog on fog.id=tao.C_FOGLALKOZASID 
 | 
						|
	WHERE 
 | 
						|
			DATEPART(MONTH, tao.C_DATUM) = @Honap 
 | 
						|
			AND fog.C_FOGLALKOZASTIPUSA = 1371
 | 
						|
			AND tao.C_HELYETTESITOTANARID IS NULL
 | 
						|
			AND tao.C_ORATULAJDONOSID = @tanarId
 | 
						|
			AND tao.TOROLT = 'F' 
 | 
						|
			AND tao.C_TANEVID = @tanevId
 | 
						|
			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 ADOM VISSZA A TABLAT=======================================<<<<<<
 | 
						|
  SELECT * FROM #EgyeniFoglalkozas_tmp
 | 
						|
  
 | 
						|
 | 
						|
--============================================
 | 
						|
--NEVELÉSSEL-OKTATÁSSAL LE NEM KÖTÖTT MUNKAIDŐ
 | 
						|
--============================================
 | 
						|
--ÖSSZESEN
 | 
						|
	SELECT
 | 
						|
   	 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],
 | 
						|
		 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) Ossz
 | 
						|
     INTO #LeNemKotottMunkaido_tmp
 | 
						|
	FROM
 | 
						|
	(
 | 
						|
	SELECT 
 | 
						|
		DATEPART(DAY, C_KEZDETE)	Nap
 | 
						|
		,DATEPART(MONTH, C_KEZDETE)	Honap
 | 
						|
		,ROUND(CONVERT(FLOAT,(DATEPART(HOUR, C_VEGE - C_KEZDETE) * 60 + DATEPART(MINUTE, C_VEGE - C_KEZDETE))) / 60, 2) Oraszam
 | 
						|
	FROM T_NEMKOTOTTMUNKAIDO_OSSZES 
 | 
						|
	WHERE 
 | 
						|
		C_MEGTARTOTT = 'T'
 | 
						|
		AND C_TANARID = @tanarId
 | 
						|
		AND TOROLT = 'F'
 | 
						|
		AND 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
 | 
						|
  
 | 
						|
  ----ITT ADOM VISSZA A TABLAT=======================================<<<<<<
 | 
						|
  SELECT * FROM #LeNemKotottMunkaido_tmp
 | 
						|
 | 
						|
 | 
						|
--a hónapban előforduló típusok
 | 
						|
	SELECT DISTINCT 
 | 
						|
		C_TEVEKENYSEGTIPUSA TipusId
 | 
						|
		,d.C_NAME			Tipus
 | 
						|
	FROM T_NEMKOTOTTMUNKAIDO_OSSZES 
 | 
						|
	INNER JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) d on d.ID=C_TEVEKENYSEGTIPUSA
 | 
						|
	WHERE 
 | 
						|
		C_MEGTARTOTT = 'T'
 | 
						|
		AND C_TANARID = @tanarId
 | 
						|
		AND TOROLT = 'F'
 | 
						|
		AND DATEPART(MONTH, C_KEZDETE)	= @Honap 
 | 
						|
		AND DATEPART(MONTH, C_VEGE)		= @Honap
 | 
						|
 | 
						|
--sorokra (tipusokra) lebontva
 | 
						|
	SELECT  
 | 
						|
	 Honap
 | 
						|
	 ,Tipus TipusId
 | 
						|
	 ,[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],
 | 
						|
	 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) Ossz
 | 
						|
	FROM
 | 
						|
	(
 | 
						|
	SELECT 
 | 
						|
		C_TEVEKENYSEGTIPUSA			Tipus
 | 
						|
		,DATEPART(DAY, C_KEZDETE)	Nap
 | 
						|
		,DATEPART(MONTH, C_KEZDETE)	Honap
 | 
						|
		,ROUND(CONVERT(FLOAT,(DATEPART(HOUR, C_VEGE - C_KEZDETE) * 60 + DATEPART(MINUTE, C_VEGE - C_KEZDETE))) / 60, 2) Oraszam
 | 
						|
	FROM T_NEMKOTOTTMUNKAIDO_OSSZES 
 | 
						|
	WHERE 
 | 
						|
		C_MEGTARTOTT='T'
 | 
						|
		AND C_TANARID = @tanarId
 | 
						|
		AND TOROLT = 'F'
 | 
						|
		AND 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
 | 
						|
  
 | 
						|
  --==================
 | 
						|
  --TABLA OSSZESITESEK
 | 
						|
  --==================
 | 
						|
  SELECT 
 | 
						|
	SUM([1]) O1, SUM([2]) O2, SUM([3]) O3, SUM([4]) O4, SUM([5]) O5, SUM([6]) O6, SUM([7]) O7, SUM([8]) O8, SUM([9]) O9, SUM([10]) O10,
 | 
						|
	SUM([11]) O11, SUM([12]) O12, SUM([13]) O13, SUM([14]) O14, SUM([15]) O15, SUM([16]) O16, SUM([17]) O17, SUM([18]) O18, SUM([19]) O19, SUM([20]) O20,
 | 
						|
 	SUM([21]) O21, SUM([22]) O22, SUM([23]) O23, SUM([24]) O24, SUM([25]) O25, SUM([26]) O26, SUM([27]) O27, SUM([28]) O28, SUM([29]) O29, SUM([30]) O30, SUM([31]) O31,
 | 
						|
  
 | 
						|
  SUM(Ossz) AS Ossz
 | 
						|
  FROM
 | 
						|
  (
 | 
						|
  SELECT * FROM #MegtartottOrakHelyesitesek_tmp 
 | 
						|
  UNION ALL
 | 
						|
  SELECT * FROM #NemSzakszeruHelyetesites_tmp
 | 
						|
  UNION ALL
 | 
						|
  SELECT * FROM #OraOsszevonas_tmp
 | 
						|
  UNION ALL
 | 
						|
  SELECT * FROM #SzakszeruHelyetesites_tmp
 | 
						|
  UNION ALL
 | 
						|
  SELECT * FROM #TanoranKivuli_tmp
 | 
						|
  UNION ALL
 | 
						|
  SELECT NULL, NULL, * FROM #LeNemKotottMunkaido_tmp 
 | 
						|
  UNION ALL
 | 
						|
  SELECT * FROM #EgyeniFoglalkozas_tmp
 | 
						|
  
 | 
						|
  ) as TablaOsszesito
 | 
						|
END
 | 
						|
GO |