440 lines
No EOL
18 KiB
Transact-SQL
440 lines
No EOL
18 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
|
|
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, 1)
|
|
)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 = 1034)
|
|
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
|
|
|
|
--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
|
|
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 = 1034, 45, 60), 1)
|
|
)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
|
|
|
|
--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
|
|
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 = 1034, 45, 60), 1)
|
|
)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
|
|
|
|
--ó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
|
|
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 = 1034, 45, 60), 1)
|
|
)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
|
|
|
|
--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
|
|
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, 1)
|
|
)SumOra
|
|
FROM T_TANITASIORA_OSSZES tao
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.id=tao.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES fog on fog.id=tao.C_FOGLALKOZASID
|
|
INNER JOIN T_FOGLALKOZASOK_TANAROK ft on ft.C_FOGLALKOZASOKID=fog.ID
|
|
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 <> 1034
|
|
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
|
|
|
|
--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
|
|
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 = 1034, 45, 60), 1)
|
|
)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
|
|
INNER JOIN T_FOGLALKOZASOK_TANAROK ft on ft.C_FOGLALKOZASOKID=fog.ID
|
|
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])
|
|
|
|
) Oraosszevonas
|
|
|
|
--============================================
|
|
--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
|
|
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, 1) 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
|
|
|
|
--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, 1) 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
|
|
END
|
|
GO |