This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

@@ -0,0 +1,191 @@
DROP PROCEDURE IF EXISTS dbo.sp_GetHelyettesitesiNaplo
GO
-- ===================================================================
-- Author: Tóth Imre Attila
-- Create date: 2016. 08. 01.
-- Description: Lekérdezések a helyettesítési naplóhoz
-- ===================================================================
CREATE PROCEDURE [dbo].[sp_GetHelyettesitesiNaplo]
@tanarID int,
@tanevID int,
@intezmenyid int,
@bontas int = 0, -- 0 = havi, 1 = heti
@startDayOfWeek int = 1 -- 1 = Hétfő, 7 = Vasárnap
AS
BEGIN
SET NOCOUNT ON;
SET DATEFIRST @startDayOfWeek
-- ===================================
-- FEJLÉC
-- ===================================
DECLARE @table TABLE (
EvHonap nvarchar(7),
Helyettesito nvarchar(100)
,HelyettesitoId int
,FeladatEllatasiHelyId INT
)
INSERT INTO @table
SELECT DISTINCT
CASE
WHEN @bontas = 0 THEN FORMAT(C_DATUM, 'yyyy.MM')
WHEN @bontas = 1 THEN CAST(C_HETSORSZAMA AS nvarchar)
END AS EvHonap,
felhHelyettes.C_NYOMTATASINEV AS Helyettesito
,felhHelyettes.ID AS HelyettesitoId
,mua.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
FROM T_TANITASIORA_OSSZES tOra
LEFT JOIN T_FELHASZNALO_OSSZES felhHelyettes on felhHelyettes.ID = tOra.C_HELYETTESITOTANARID
LEFT JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = tOra.C_HELYETTESITOTANARID
WHERE tOra.C_HELYETTESITOTANARID = @tanarID
AND tOra.C_TANEVID = @tanevID
AND tOra.Torolt='F'
SELECT * FROM @table
SELECT DISTINCT
CASE
WHEN @bontas = 0 THEN FORMAT(C_NAPDATUMA, 'yyyy.MM')
WHEN @bontas = 1 THEN CAST(C_HETSORSZAMA AS nvarchar)
END AS EvHonap,
C_ALAPHETNAPJA AS Nap
,@tanarID AS HelyettesitoId
,C_NAPDATUMA
FROM T_NAPTARINAP_OSSZES AS nn
INNER JOIN @table AS eh ON CASE
WHEN @bontas = 0 THEN FORMAT(nn.C_NAPDATUMA, 'yyyy.MM')
WHEN @bontas = 1 THEN CAST(C_HETSORSZAMA AS nvarchar)
END = eh.EvHonap
WHERE nn.C_TANEVID = @tanevID AND nn.C_INTEZMENYID = @intezmenyid AND nn.TOROLT = 'F'
ORDER BY C_NAPDATUMA
-- ===================================
-- HELYETTESÍTÉSEK (SOROK)
-- ===================================
DECLARE @oraSorszam TABLE (Id int, EvesSorszam int)
INSERT INTO @oraSorszam
SELECT DISTINCT
s.Id
, s.EvesSorszam
FROM (
SELECT DISTINCT
tn.C_TANTARGYID
, tn.C_OSZTALYCSOPORTID
, tn.C_TANARID
, tn.C_INTEZMENYID
FROM T_TANITASIORA_OSSZES tn
WHERE C_HELYETTESITOTANARID = @tanarID
AND C_TANEVID = @tanevID
) x
CROSS APPLY dbo.fnGetEvesOraszamLista (
x.C_TANTARGYID
,x.C_OSZTALYCSOPORTID
,x.C_TANARID
,GETDATE()
,x.C_INTEZMENYID
,@tanevID
) s
SELECT DISTINCT
ROW_NUMBER() over(PARTITION BY FORMAT(C_DATUM, 'yyyy.MM') ORDER BY C_DATUM) Sorsz
,IIF(tOra.C_ORASZAM IS NOT NULL,CONVERT(NVARCHAR(5), tOra.C_ORASZAM) + '.',
CONCAT(CONVERT(NVARCHAR(5), tOra.C_ORAKEZDETE, 108), '-', CONVERT(NVARCHAR(5), tOra.C_ORAVEGE, 108))) AS Oraszam
,DicItemBase.C_NAME AS HelyettesitesTipusa
,FORMAT(C_DATUM, 'yyyy.MM.dd.') AS Datum
,CASE
WHEN @bontas = 0 THEN FORMAT(C_DATUM, 'yyyy.MM')
WHEN @bontas = 1 THEN CAST(C_HETSORSZAMA AS nvarchar)
END AS EvHonap
,felhOraTul.C_NYOMTATASINEV AS Helyettesitett
,osztcsop.C_NEV AS OsztalyCsoport
,tant.C_NEV AS Tantargy
,tOra.C_TEMA AS Tema
,s.EvesSorszam AS EvesSorszam
,helyettesito.ID AS HelyettesitoId
,helyettesito.C_OKTATASIAZONOSITO AS HelyettesitoOktatasiAzon
,tOra.C_HELYETTESITESOKA AS HelyettesitesOka
FROM T_TANITASIORA_OSSZES tOra
LEFT JOIN @oraSorszam s ON s.ID = tOra.ID
LEFT JOIN T_ORARENDIORA_OSSZES oo ON oo.ID = tOra.C_ORARENDIORAID
LEFT JOIN T_FELHASZNALO_OSSZES felhOraTul ON felhOraTul.ID = tOra.C_TANARID
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.ID = tOra.C_HELYETTESITOTANARID
LEFT JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE_OSSZES WHERE TOROLT = 'F') DicItemBase on DicItemBase.ID = tOra.C_HELYETTESITESTIPUSA
LEFT JOIN T_OSZTALYCSOPORT_OSSZES osztcsop ON osztcsop.ID = tOra.C_OSZTALYCSOPORTID
LEFT JOIN T_TANTARGY_OSSZES tant ON tant.ID = tOra.C_TANTARGYID
WHERE helyettesito.ID = @tanarID
AND tOra.C_TANEVID = @tanevID
AND tOra.Torolt = 'F'
ORDER BY Sorsz ASC
-- ===================================
-- HELYETTESÍTÉSEK NAPIBONTÁSBAN
-- ===================================
SELECT
EvHonap,
OsztalyCsoport = TantargyN + ' - ' + OsztCsopN,
ISNULL([1], 0) AS [1], ISNULL([2], 0) AS [2], ISNULL([3], 0) AS [3], ISNULL([4], 0) AS [4], ISNULL([5], 0) AS [5], ISNULL([6], 0) AS [6], ISNULL([7], 0) AS [7], ISNULL([8], 0) AS [8], ISNULL([9], 0) AS [9], ISNULL([10], 0) AS [10],
ISNULL([11], 0) AS [11], ISNULL([12], 0) AS [12], ISNULL([13], 0) AS [13], ISNULL([14], 0) AS [14], ISNULL([15], 0) AS [15], ISNULL([16], 0) AS [16], ISNULL([17], 0) AS [17], ISNULL([18], 0) AS [18], ISNULL([19], 0) AS [19], ISNULL([20], 0) AS [20],
ISNULL([21], 0) AS [21], ISNULL([22], 0) AS [22], ISNULL([23], 0) AS [23], ISNULL([24], 0) AS [24], ISNULL([25], 0) AS [25], ISNULL([26], 0) AS [26], ISNULL([27], 0) AS [27], ISNULL([28], 0) AS [28], ISNULL([29], 0) AS [29], ISNULL([30], 0) AS [30],
ISNULL([31], 0) AS [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) AS Ossz
,HelyettesitoId
INTO #Helyettesitesek
FROM (
SELECT
CASE (tOra.c_helyettesitestipusa)
WHEN '1496' THEN COUNT(tant.C_NEV)
WHEN '1494' THEN COUNT(tant.C_NEV)
WHEN '1495' THEN COUNT(tant.C_NEV)
END AS Tant,
osztCsop.C_NEV AS osztcsopN,
tant.C_NEV AS TantargyN,
CASE
WHEN @bontas = 0 THEN DATEPART(DAY, C_DATUM)
WHEN @bontas = 1 THEN DATEPART(dw, C_DATUM)
END AS Nap,
CASE
WHEN @bontas = 0 THEN FORMAT(C_DATUM, 'yyyy.MM')
WHEN @bontas = 1 THEN CAST(nn.C_HETSORSZAMA AS nvarchar)
END AS EvHonap
,tOra.C_HELYETTESITOTANARID AS HelyettesitoId
FROM T_TANITASIORA_OSSZES tOra
INNER JOIN T_TANTARGY_OSSZES tant on tant.ID = tOra.C_TANTARGYID
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztCsop on osztCsop.ID = tOra.C_OSZTALYCSOPORTID
INNER JOIN T_NAPTARINAP_OSSZES nn ON nn.C_NAPDATUMA = tOra.C_DATUM AND nn.C_TANEVID = @tanevID AND nn.C_INTEZMENYID = @intezmenyid AND nn.TOROLT = 'F'
WHERE
tOra.C_HELYETTESITOTANARID = @tanarID
AND tOra.C_TANEVID = @tanevID
AND TOra.TOROLT='F'
GROUP BY
osztCsop.C_NEV, tant.C_NEV, C_DATUM, nn.C_HETSORSZAMA, tOra.c_helyettesitestipusa
, tOra.C_HELYETTESITOTANARID
) T
PIVOT (
max(Tant)
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]
)
) Helyettesitesek
SELECT * FROM #Helyettesitesek
SELECT EvHonap, 'Összesen',
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([1]) + SUM([2]) + SUM([3]) + SUM([4]) + SUM([5]) + SUM([6]) + SUM([7]) + SUM([8]) + SUM([9]) + SUM([10]) +
SUM([11]) + SUM([12]) + SUM([13]) + SUM([14]) + SUM([15]) + SUM([16]) + SUM([17]) + SUM([18]) + SUM([19]) + SUM([20]) +
SUM([21]) + SUM([22]) + SUM([23]) + SUM([24]) + SUM([25]) + SUM([26]) + SUM([27]) + SUM([28]) + SUM([29]) + SUM([30]) + SUM([31]) AS [Ossz],
HelyettesitoId
FROM #Helyettesitesek
GROUP BY EvHonap, HelyettesitoId
DROP TABLE #Helyettesitesek
END
GO

View File

@@ -0,0 +1,715 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS [dbo].[sp_GetMunkaidoElszamoloLap]
GO
CREATE PROCEDURE [dbo].[sp_GetMunkaidoElszamoloLap]
@pIntezmenyId INT,
@pTanarId INT,
@tanevId INT,
@honapId INT,
@isKlebersberg BIT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @backDate datetime
SELECT
ID pedagogusId
,Nev pedagogusNev
FROM fnGetDokumentumIntezmenyPedagogusok (@pIntezmenyId, @tanevId )
WHERE ID = @pTanarId
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'
)
CREATE TABLE #EvHonap (Ev int, Honap int)
INSERT INTO #EvHonap
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'
SELECT * FROM #EvHonap
SET @backDate = DATEADD(MONTH, 1, DATEFROMPARTS((SELECT Ev FROM #EvHonap), (SELECT Honap FROM #EvHonap), 1))
--===================================
--FEJLÉC
--===================================
SELECT
f.ID pedagogusId
,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
,m.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
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
ia.TOROLT = 'F'
AND m.TOROLT = 'F'
AND f.ID = @pTanarId
--===================================
--MEGTARTOTT TANÓRÁK, HELYETTESÍTÉSEK
--===================================
SELECT
pedagogusId
,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
T_TANITASIORA_OSSZES.C_ORATULAJDONOSID AS pedagogusId
,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_TANEVID = @tanevId
AND T_TANITASIORA_OSSZES.C_ORATULAJDONOSID = @pTanarId
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
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
FROM #MegtartottOrakHelyesitesek_tmp
GROUP BY
pedagogusId
--szakszerű helyettesítés
SELECT
pedagogusId
,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
tao.C_HELYETTESITOTANARID AS pedagogusId
,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
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 = @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
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
FROM #SzakszeruHelyetesites_tmp
GROUP BY
pedagogusId
--nem szakszerű helyettesítés
SELECT
pedagogusId
,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
tao.C_HELYETTESITOTANARID AS pedagogusId
,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
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 = @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
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
FROM #NemSzakszeruHelyetesites_tmp
GROUP BY
pedagogusId
--óraösszevonás
SELECT
pedagogusId
,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
tao.C_HELYETTESITOTANARID AS pedagogusId
,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
DATEPART(MONTH, tao.C_DATUM) = @Honap
AND tao.C_HELYETTESITOTANARID = @pTanarId
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
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
FROM #OraOsszevonas_tmp
GROUP BY
pedagogusId
--tanóránkívüli
SELECT
pedagogusId
,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
tao.C_ORATULAJDONOSID AS pedagogusId
,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_ORATULAJDONOSID = @pTanarId
AND tao.C_HELYETTESITOTANARID IS NULL
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
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
FROM #TanoranKivuli_tmp
GROUP BY
pedagogusId
--egyéni foglalkozas
SELECT
pedagogusId
,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
tao.C_ORATULAJDONOSID AS pedagogusId
,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 tao.C_ORATULAJDONOSID = @pTanarId
AND fog.C_FOGLALKOZASTIPUSA = 1371
AND tao.C_HELYETTESITOTANARID IS NULL
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
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
FROM #EgyeniFoglalkozas_tmp
GROUP BY
pedagogusId
--============================================
--NEVELÉSSEL-OKTATÁSSAL LE NEM KÖTÖTT MUNKAIDŐ
--============================================
--ÖSSZESEN
SELECT
pedagogusId
,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
T_NEMKOTOTTMUNKAIDO_OSSZES.C_TANARID AS pedagogusId
,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 T_NEMKOTOTTMUNKAIDO_OSSZES.C_TANARID = @pTanarId
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
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
FROM #LeNemKotottMunkaido_tmp
GROUP BY
pedagogusId
--sorokra (tipusokra) lebontva
SELECT
pedagogusId
,Honap
,TipusId TipusId
,Tipus Tipus
,[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 #NemKotottSorok_tmp
FROM
(
SELECT
nemKotottMunkaido.C_TANARID AS pedagogusId
,nemKotottMunkaido.C_TEVEKENYSEGTIPUSA TipusId
,tipusNeve.C_NAME Tipus
,DATEPART(DAY, nemKotottMunkaido.C_KEZDETE) Nap
,DATEPART(MONTH, nemKotottMunkaido.C_KEZDETE) Honap
,ROUND(CONVERT(FLOAT,(DATEPART(HOUR, nemKotottMunkaido.C_VEGE - nemKotottMunkaido.C_KEZDETE) * 60 + DATEPART(MINUTE, nemKotottMunkaido.C_VEGE - nemKotottMunkaido.C_KEZDETE))) / 60, 2) Oraszam
FROM T_NEMKOTOTTMUNKAIDO_OSSZES nemKotottMunkaido
INNER JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) tipusNeve ON tipusNeve.ID=nemKotottMunkaido.C_TEVEKENYSEGTIPUSA
WHERE
C_MEGTARTOTT='T'
AND nemKotottMunkaido.C_TANARID = @pTanarId
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
----ITT ADOM VISSZA A TABLAT=======================================<<<<<<
SELECT * FROM #NemKotottSorok_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
FROM #NemKotottSorok_tmp
GROUP BY
pedagogusId
-- Túlóra
SELECT
pedagogusId
,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 #Tulora_tmp
FROM
(
SELECT
tao.C_ORATULAJDONOSID AS pedagogusId
,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
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.ID = C_FOGLALKOZASID
WHERE
DATEPART(MONTH, tao.C_DATUM) = @Honap
AND tao.C_ORATULAJDONOSID = @pTanarId
AND tao.TOROLT = 'F'
AND tao.C_TANEVID = @tanevId
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 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
FROM #Tulora_tmp
GROUP BY
pedagogusId
--==================
--TABLA OSSZESITESEK
--==================
SELECT
pedagogusId,
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
pedagogusId
,NULL
,NULL
,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
FROM #LeNemKotottMunkaido_tmp
UNION ALL
SELECT * FROM #EgyeniFoglalkozas_tmp
) as TablaOsszesito
GROUP BY
pedagogusId
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
,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)
) 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
LEFT JOIN T_CSOPORT_OSSZES AS cs ON cs.ID = ocs.ID
WHERE
tao.C_DATUM < @backDate
AND tao.C_HELYETTESITOTANARID = @pTanarId
AND tao.TOROLT = 'F'
AND tao.C_MEGTARTOTT = 'T'
AND tao.C_TANEVID = @tanevId
AND (tao.C_PARHUZAMOSORA = 'F' OR tao.C_PARHUZAMOSORA IS NULL)
SELECT
pedagogusId,
HelyettesitesTipusa
,[9],[10],[11],[12],[1],[2],[3],[4],[5],[6],[7],[8]
,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) AS Ossz
FROM (
SELECT
pedagogusId
,Honap
,SumOra
,d.C_NAME AS HelyettesitesTipusa
FROM #helyettesitesek AS h
INNER JOIN T_DICTIONARYITEMBASE AS d ON h.HelyettesitesTipusa = d.ID AND d.C_TANEVID = @tanevId 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
END
GO