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,438 @@
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, 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 = 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), 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
--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), 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
--ó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), 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
--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, 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 <> 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), 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])
) 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, 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
--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
END
GO

View File

@@ -0,0 +1,214 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetTanuloiAdatlapAdatok]') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
END
GO
CREATE PROCEDURE [dbo].[sp_GetTanuloiAdatlapAdatok]
@osztCsopID int,
@TanevId int
AS
BEGIN
SET NOCOUNT ON;
--Fejléc
SELECT
T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM IntezmenyIranyitoszam,
T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
T_INTEZMENYADATOK_OSSZES.C_CIME IntezmenyCime,
T_INTEZMENYADATOK_OSSZES.C_OMKOD OMKod,
T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
T_TANEV_OSSZES.C_NEV TANEV,
(SELECT T_OSZTALY_OSSZES.C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE T_OSZTALY_OSSZES.ID=@osztCsopID and T_OSZTALY_OSSZES.TOROLT = 'F') PartnerID,
(SELECT OFO.C_NYOMTATASINEV FROM T_OSZTALY_OSSZES INNER JOIN T_FELHASZNALO_OSSZES OFO
ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID and OFO.TOROLT = 'F'
WHERE T_OSZTALY_OSSZES.ID=@osztCsopID and T_OSZTALY_OSSZES.TOROLT = 'F') OSZTALYFONOK,
(SELECT to2.C_NEV FROM T_OSZTALYCSOPORT_OSSZES to2 WHERE ID = @osztCsopID and to2.TOROLT = 'F') OSZTALYNEV
FROM T_INTEZMENYADATOK_OSSZES
INNER JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and T_TANEV_OSSZES.TOROLT = 'F'
WHERE
T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = @TanevId
DECLARE @EmailCimTableTemp TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
INSERT INTO @EmailCimTableTemp
SELECT
TanuloId
,C_EMAILCIM
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
INNER JOIN T_EMAIL_OSSZES email ON email.C_FELHASZNALOID = TanuloId
WHERE
email.TOROLT = 'F'
AND email.C_TANEVID = @TanevId
AND LEN(C_EMAILCIM) > 0
DECLARE @EmailCimTable TABLE (FelhasznaloId INT, EmailCim NVARCHAR(MAX))
INSERT INTO @EmailCimTable
SELECT DISTINCT
FelhasznaloId
,STUFF((
SELECT DISTINCT CAST(Btemp.EmailCim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @EmailCimTableTemp btemp
WHERE
temp.FelhasznaloId = btemp.FelhasznaloId
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') Email
FROM @EmailCimTableTemp temp
DECLARE @TelefonszamTableTemp TABLE (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
INSERT INTO @TelefonszamTableTemp
SELECT
TanuloId
,C_TELEFONSZAM
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_FELHASZNALOID = TanuloId
WHERE
telefon.TOROLT = 'F'
AND telefon.C_TANEVID = @TanevId
AND LEN(C_TELEFONSZAM) > 0
DECLARE @TelefonszamTable TABLE (FelhasznaloId INT, Telefonszam NVARCHAR(MAX))
INSERT INTO @TelefonszamTable
SELECT DISTINCT
FelhasznaloId
,STUFF((
SELECT DISTINCT CAST(Btemp.Telefonszam AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @TelefonszamTableTemp btemp
WHERE
temp.FelhasznaloId = btemp.FelhasznaloId
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') Telefonszam
FROM @TelefonszamTableTemp temp
DECLARE @TartozkodasiHelyTableTemp TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX))
INSERT INTO @TartozkodasiHelyTableTemp
SELECT
TanuloId
,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulo
INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @TanevId
WHERE
cim.TOROLT = 'F'
AND C_CIMTIPUSA = 909
AND cim.C_TANEVID = @TanevId
DECLARE @TartozkodasiHelyTable TABLE (FelhasznaloId INT, Cim NVARCHAR(MAX))
INSERT INTO @TartozkodasiHelyTable
SELECT DISTINCT
FelhasznaloId
,STUFF((
SELECT CAST(Btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10)
FROM @TartozkodasiHelyTableTemp btemp
WHERE
temp.FelhasznaloId = btemp.FelhasznaloId
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') Email
FROM @TartozkodasiHelyTableTemp temp
--Tanulók Adatai
SELECT DISTINCT
T_TANULO_OSSZES.C_BEIRASINAPLOSORSZAM,
T_FELHASZNALO_OSSZES.C_NYILVANTARTASISZAM,
T_TANULO_OSSZES.C_NAPLOSORSZAM,
T_TANEV_OSSZES.C_NEV TANEV,
T_OSZTALYCSOPORT_OSSZES.C_NEV OSZTALYNEV,
T_OSZTALY_OSSZES.C_KEPZESIFORMA Kepzesiforma,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV NEV,
T_GONDVISELO_OSSZES.C_NEV GONDVISELO,
T_FELHASZNALO_OSSZES.C_SZULETESINEV SZULETESINEV,
T_FELHASZNALO_OSSZES.C_ANYJANEVE ANYJANEVE,
T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO,
T_FELHASZNALO_OSSZES.C_SZULETESIHELY,
T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG Szuletesiorszag,
T_FELHASZNALO_OSSZES.C_SZULETESIDATUM,
T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA Allampolgarsag,
T_FELHASZNALO_OSSZES.C_ANYANYELVE Anyanyelv,
T_FELHASZNALO_OSSZES.C_NYILVANTARTASKEZDETE,
T_TANULO_OSSZES.C_TANKOTELEZETT Tankotelezett,
T_TANULO_OSSZES.C_TANKOTELEZETTSEGVEGE,
T_TANULO_OSSZES.C_JOGVISZONYVARHATOBEFEJEZESE,
T_TANULO_OSSZES.C_DIAKIGAZOLVANYSZAM,
T_TANULO_OSSZES.C_DIAKIGAZOLVANYKELTE,
T_TANULO_OSSZES.C_BANKSZAMLASZAM,
AllandoLakcim.Cim,
TartozkodasiHely.CIM TartozkodasiHely,
telefon.Telefonszam C_TELEFONSZAM,
email.EmailCim C_EMAILCIM,
T_TANULO_OSSZES.C_BEJARO Bejaro,
T_TANULO_OSSZES.C_SZAKMAIGYAKORLATON Szakmaigyak,
T_TANULO_OSSZES.C_VENDEG Vendeg,
T_TANULO_OSSZES.C_JOGVISZONYATSZUNETELTETO Jogviszonyszunetelteto,
T_TANULO_OSSZES.C_MAGANTANULO Magantanulo,
T_TANULO_OSSZES.C_MAGANTANULOSAGANAKOKA,
T_TANULO_OSSZES.C_MAGANTANULOSAGKEZDETE,
T_TANULO_OSSZES.C_SZAKKEPESITESSZAMA,
T_TANULO_OSSZES.C_TANULOIJOGVISZONYOSELTARTOTT,
T_TANULO_OSSZES.C_TOBBGYERMEKIGAZOLASSZAMA,
T_TANULO_OSSZES.C_EVISMETLO Evismetlo,
T_TANULO_OSSZES.C_SZOCIALISTAMOGATAS Szoctam,
T_TANULO_OSSZES.C_HATRANYOSHELYZETU,
T_TANULO_OSSZES.C_VESZELYEZTETETT Veszelyeztetett,
T_TANULO_OSSZES.C_HALMOZOTTANFOGYATEKOS Halmfogyatekos,
T_TANULO_OSSZES.C_ETKEZESIKEDVEZMENY,
T_TANULO_OSSZES.C_TERITESIDIJATFIZETO Teriteses,
T_TANULO_OSSZES.C_TANDIJATFIZETO Tandijas,
T_TANULO_OSSZES.C_INGYENESTANKONVYELLATASA,
T_TANULO_OSSZES.C_TANULOSZERZODESES Tanszerzodeses,
T_TANULO_OSSZES.C_POLGARISZERZODESES Polgszerzodeses,
T_TANULO_OSSZES.C_RENDSZERESGYERMEKVEDELMIKEDV,
T_TANULO_OSSZES.C_ALLAMIGONDOZOTT Allamigond,
T_TANULO_OSSZES.C_KOLLEGIUMIELLATASOS Kollegiumi,
T_TANULO_OSSZES.C_TARTOSGYOGYKEZELESSZAMA,
T_TANULO_OSSZES.C_SAJATOSNEVELESU Sajatosnevelesu,
T_TANULO_OSSZES.C_SNILETSZAMSULY,
T_TANULO_OSSZES.C_SNIKIALLITOINTEZMENY,
T_TANULO_OSSZES.C_SNIOKMANYERVENYESSEGKEZDETE,
--SNIA
--SNIB
T_TANULO_OSSZES.C_BTMPROBLEMAS Btmproblemas,
T_TANULO_OSSZES.C_BTMLETSZAMSULY,
T_TANULO_OSSZES.C_BTMHATAROZATOKMANYSZAM,
T_TANULO_OSSZES.C_BTMOKMANYERVENYESSEGKEZDETE,
T_TANULO_OSSZES.C_BTMKIALLITOINTEZMENY,
T_TANULO_OSSZES.C_ELSOINTEZMENYOMKOD
--megjegyzés
FROM T_FELHASZNALO_OSSZES
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztCsopID, 'T') tanulok ON tanulok.TanuloId = T_FELHASZNALO_OSSZES.Id
INNER JOIN T_TANULO_OSSZES on T_TANULO_OSSZES.ID = T_FELHASZNALO_OSSZES.ID
INNER JOIN T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_TANULOID = T_FELHASZNALO_OSSZES.ID
LEFT JOIN T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID
INNER JOIN T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID
LEFT JOIN T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
LEFT JOIN T_GONDVISELO_OSSZES on T_GONDVISELO_OSSZES.C_TANULOID = T_FELHASZNALO_OSSZES.ID and T_GONDVISELO_OSSZES.TOROLT = 'F' and T_GONDVISELO_OSSZES.C_ROKONSAGFOKA = 973
LEFT JOIN @TelefonszamTable telefon on telefon.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
LEFT JOIN @EmailCimTable email on email.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
LEFT JOIN
(SELECT
C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM Cim
, C_FELHASZNALOID TanuloId
FROM T_CIM_OSSZES
INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @tanevId
WHERE T_CIM_OSSZES.TOROLT = 'F' AND T_CIM_OSSZES.C_CIMTIPUSA = 907 AND T_CIM_OSSZES.C_GONDVISELOID IS NULL
) AllandoLakcim ON AllandoLakcim.TanuloID = T_FELHASZNALO_OSSZES.ID
LEFT JOIN @TartozkodasiHelyTable TartozkodasiHely ON TartozkodasiHely.FelhasznaloId = T_FELHASZNALO_OSSZES.ID
WHERE
T_FELHASZNALO_OSSZES.TOROLT = 'F'
AND T_TANEV_OSSZES.TOROLT = 'F'
AND T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
END
GO