334 lines
18 KiB
Transact-SQL
334 lines
18 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS sp_GetDokumentumMulasztasok
|
|
GO
|
|
|
|
-- ===========================================================================
|
|
-- Description: Dokumentumokban használt mulasztás összesítő osztály alapján
|
|
-- ===========================================================================
|
|
CREATE PROCEDURE sp_GetDokumentumMulasztasok
|
|
@osztalyId int
|
|
,@tanevId int
|
|
,@elmeletiOraPercben int = 45
|
|
,@gyakorlatiOraPercben int = 45
|
|
,@ertekelesTipus int
|
|
,@iskolaErdekuSzamit bit
|
|
,@isMuveszetOktatasi bit = 0
|
|
,@negyedevreSzamoltMulasztasok bit = 1
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
CREATE TABLE #Tanulo (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,BelepesDatum date
|
|
,KilepesDatum date
|
|
,PRIMARY KEY (TanuloId, TanuloCsoportId, BelepesDatum)
|
|
)
|
|
|
|
INSERT INTO #Tanulo
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,BelepesDatum
|
|
,KilepesDatum
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T')
|
|
|
|
DECLARE
|
|
@IdoszakUtolsoNap int
|
|
,@IdoszakElsoNap int
|
|
,@IdoszakKezdete date
|
|
,@IdoszakVege date
|
|
,@KeresztFeleves nvarchar(1)
|
|
,@kategoriaId int
|
|
,@intezmenyId int
|
|
|
|
SET @intezmenyId = (SELECT C_INTEZMENYID FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
|
|
SELECT
|
|
@KeresztFeleves = C_KERESZTFELEVES
|
|
,@kategoriaId = C_FELADATKATEGORIAID
|
|
FROM T_OSZTALYCSOPORT_OSSZES
|
|
WHERE ID = @osztalyId
|
|
|
|
SET @IdoszakUtolsoNap =
|
|
CASE @KeresztFeleves
|
|
WHEN 'F' THEN
|
|
CASE @ertekelesTipus
|
|
WHEN 1519 THEN 1400 --Félévi jegy/értékelés -> Első félév vége
|
|
WHEN 1520 THEN 1395 --Év végi jegy/értékelés -> Utolsó tanítási nap
|
|
WHEN 1522 THEN 1403 --I. né. jegy/értékelés -> I. negyedév vége
|
|
WHEN 1524 THEN 1400 --II. né. jegy/értékelés -> Első félév vége
|
|
WHEN 1523 THEN 1404 --III. né. jegy/értékelés -> III. negyedév vége
|
|
WHEN 1525 THEN 1395 --IV. né. jegy/értékelés -> Utolsó tanítási nap
|
|
END
|
|
WHEN 'T' THEN
|
|
CASE @ertekelesTipus
|
|
WHEN 1519 THEN 1395 --Félévi jegy/értékelés -> Utolsó tanítási nap
|
|
WHEN 1520 THEN 1400 --Év végi jegy/értékelés -> Első félév vége
|
|
WHEN 1522 THEN 1404 --I. né. jegy/értékelés -> III. negyedév vége
|
|
WHEN 1524 THEN 1395 --II. né. jegy/értékelés -> Utolsó tanítási nap
|
|
WHEN 1523 THEN 1403 --III. né. jegy/értékelés -> I. negyedév vége
|
|
WHEN 1525 THEN 1400 --IV. né. jegy/értékelés -> Első félév vége
|
|
END
|
|
END
|
|
|
|
SET @IdoszakElsoNap =
|
|
CASE @KeresztFeleves
|
|
WHEN 'F' THEN
|
|
CASE @ertekelesTipus
|
|
WHEN 1519 THEN 1394 --Félévi jegy/értékelés -> Első tanítási nap
|
|
WHEN 1520 THEN 1394 --Év végi jegy/értékelés -> Első tanítási nap
|
|
WHEN 1522 THEN 1394 --I. né. jegy/értékelés -> Első tanítási nap
|
|
WHEN 1524 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1403,1394) --II. né. jegy/értékelés -> I. negyedév vége
|
|
WHEN 1523 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1400,1394) --III. né. jegy/értékelés -> Első félév vége
|
|
WHEN 1525 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1404,1394) --IV. né. jegy/értékelés -> III. negyedév vége
|
|
END
|
|
WHEN 'T' THEN
|
|
CASE @ertekelesTipus
|
|
WHEN 1519 THEN 1400 --Félévi jegy/értékelés -> Első félév vége
|
|
WHEN 1520 THEN 1394 --Év végi jegy/értékelés -> Első tanítási nap
|
|
WHEN 1522 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1400,1394) --I. né. jegy/értékelés -> Első félév vége
|
|
WHEN 1524 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1404,1394) --II. né. jegy/értékelés -> III. negyedév vége
|
|
WHEN 1523 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1394,1394) --III. né. jegy/értékelés -> Első tanítási nap
|
|
WHEN 1525 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1403,1394) --IV. né. jegy/értékelés -> I. negyedév vége
|
|
END
|
|
END
|
|
|
|
CREATE TABLE #SzurtCsoportTipus (
|
|
CsoportTipusId int PRIMARY KEY
|
|
)
|
|
|
|
IF @isMuveszetOktatasi = 0 BEGIN
|
|
INSERT INTO #SzurtCsoportTipus
|
|
SELECT ID
|
|
FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)
|
|
END
|
|
ELSE BEGIN
|
|
IF @kategoriaId = 7555 -- AMI-s csoportot kérünk le
|
|
BEGIN
|
|
INSERT INTO #SzurtCsoportTipus (CsoportTipusId)
|
|
SELECT ID
|
|
FROM T_CSOPORTTIPUS_OSSZES
|
|
WHERE C_ALTANEVID = @tanevId
|
|
AND TOROLT = 'F'
|
|
AND C_ISMUVESZETI = 'T'
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO #SzurtCsoportTipus (CsoportTipusId)
|
|
SELECT C_TIPUSA
|
|
FROM T_CSOPORT_OSSZES
|
|
WHERE TOROLT = 'F'
|
|
AND C_ALTANEVID = @tanevId
|
|
AND ID = @osztalyId
|
|
END
|
|
END
|
|
|
|
SET @IdoszakKezdete = (SELECT TOP 1 DATEADD(day, IIF((@KeresztFeleves = 'F' AND @ertekelesTipus IN (1519,1520,1522)) OR (@KeresztFeleves = 'T' AND @ertekelesTipus IN (1520,1522,1523)), 0, 1), C_DATUM) FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = @IdoszakElsoNap AND C_TANEVID = @tanevId AND TOROLT='F')
|
|
|
|
SET @IdoszakVege = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = @IdoszakUtolsoNap AND C_TANEVID = @tanevId AND TOROLT='F')
|
|
--IF @IdoszakVege IS NULL BEGIN
|
|
--SET @IdoszakVege = (SELECT IIF(GETDATE() > C_UTOLSONAP, C_UTOLSONAP, GETDATE()) FROM T_TANEV WHERE ID = @tanevId)
|
|
--END
|
|
|
|
SELECT
|
|
t.TANULOID tanuloid
|
|
,t.TanuloCsoportId tanulocsoportid
|
|
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0)
|
|
+ ISNULL(kp.kesesIgazoltElmeletiOraban,0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
|
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
|
AS Igazolt
|
|
,ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0)
|
|
+ ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
|
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
|
AS Igazolatlan
|
|
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0)
|
|
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
|
AS ElmeletIgazolt
|
|
,ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0)
|
|
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
|
AS ElmeletIgazolatlan
|
|
,ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
|
AS GyakorlatiIgazolt
|
|
,ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
|
AS GyakorlatiIgazolatlan
|
|
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0)
|
|
+ ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0)
|
|
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
|
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
|
AS ElmeletOsszes
|
|
,ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
|
+ ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
|
AS GyakorlatOsszes
|
|
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0)
|
|
+ ISNULL(kp.kesesIgazoltElmeletiOraban,0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
|
+ ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0)
|
|
+ ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
|
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
|
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
|
AS Osszes
|
|
FROM #Tanulo t
|
|
LEFT JOIN (
|
|
SELECT
|
|
tanuloId
|
|
,tanulocsoportid
|
|
,[hianyzasIgazoltTanoraiElmeleti]
|
|
,[hianyzasIgazoltTanoraiGyakorlati]
|
|
,[hianyzasIgazolatlanTanoraiElmeleti]
|
|
,[hianyzasIgazolatlanTanoraiGyakorlati]
|
|
FROM (
|
|
SELECT
|
|
x.tanuloId, x.tanulocsoportid
|
|
,'Hianyzas' +
|
|
CASE isIgazolt WHEN 'T' THEN 'Igazolt' WHEN 'F' THEN 'Igazolatlan' END +
|
|
CASE isTanorai WHEN 'T' THEN 'Tanorai' WHEN 'F' THEN 'TanoranKivuli' END +
|
|
CASE isGyakorlati WHEN 'T' THEN 'Gyakorlati' WHEN 'F' THEN 'Elmeleti' END
|
|
AS piv
|
|
,cnt
|
|
FROM (
|
|
SELECT
|
|
mu.C_ORATANULOIID AS tanuloId
|
|
,tanulok.TanuloCsoportId
|
|
,mu.C_TIPUS mulasztasTipus
|
|
,mu.C_IGAZOLT isIgazolt
|
|
,IIF((@isMuveszetOktatasi = 0 AND cs.ID IS NULL), 'T', IIF((@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid)),'T','F')) AS isTanorai
|
|
,IIF(t.C_GYAKORLATI='T', 'T', 'F') as isGyakorlati
|
|
,COUNT(1) AS cnt
|
|
FROM T_TANULOMULASZTAS_OSSZES mu
|
|
INNER JOIN #Tanulo tanulok ON tanulok.TanuloId = mu.C_ORATANULOIID
|
|
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = mu.C_TANITASIORAKID
|
|
INNER JOIN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyID, @tanevId, 0, DEFAULT)) kocs ON kocs.ID = tn.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_TANTARGY_OSSZES t on t.id=tn.C_TANTARGYID
|
|
LEFT JOIN (
|
|
SELECT cs.ID
|
|
FROM T_CSOPORT_OSSZES cs
|
|
INNER JOIN T_CSOPORTTIPUS_OSSZES cst On cst.ID = cs.C_TIPUSA AND cst.C_ALTANEVID = cs.C_ALTANEVID AND cst.C_ISTANORAICELU = 'F'
|
|
WHERE cs.C_ALTANEVID = @tanevId
|
|
) cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
|
LEFT JOIN (
|
|
SELECT cs.ID
|
|
FROM T_CSOPORT_OSSZES cs
|
|
INNER JOIN #SzurtCsoportTipus cst On cst.CsoportTipusId = cs.C_TIPUSA
|
|
WHERE cs.C_ALTANEVID = @tanevId
|
|
) csmuv ON tn.C_OSZTALYCSOPORTID = csmuv.ID
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID AND tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tn.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.Torolt = 'F'
|
|
WHERE tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
|
AND mu.C_TANEVID = @tanevId
|
|
AND mu.Torolt ='F'
|
|
AND tn.Torolt ='F'
|
|
AND mu.C_IGAZOLT IS NOT NULL
|
|
AND tn.C_TANEVID = @tanevId
|
|
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
|
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tn.C_DATUM)
|
|
AND tanulok.BelepesDatum <= tn.C_DATUM
|
|
AND (tanulok.KilepesDatum IS NULL OR tanulok.KilepesDatum >= tn.C_DATUM)
|
|
AND mu.C_TIPUS = 1500
|
|
AND (
|
|
(@isMuveszetOktatasi = 0)
|
|
OR
|
|
(@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid))
|
|
)
|
|
GROUP BY mu.C_ORATANULOIID, tanulok.TanuloCsoportId, mu.C_TIPUS, mu.C_IGAZOLT, IIF((@isMuveszetOktatasi = 0 AND cs.ID IS NULL), 'T', IIF((@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid)),'T','F')), t.C_GYAKORLATI
|
|
) x
|
|
) p
|
|
PIVOT (
|
|
MAX(cnt)
|
|
FOR piv IN (
|
|
[hianyzasIgazoltTanoraiElmeleti], [hianyzasIgazoltTanoraiGyakorlati],
|
|
[hianyzasIgazolatlanTanoraiElmeleti], [hianyzasIgazolatlanTanoraiGyakorlati]
|
|
)
|
|
) AS pvt
|
|
) mu on mu.tanuloId = t.tanuloId and mu.TanuloCsoportId = t.TanuloCsoportId
|
|
LEFT JOIN (
|
|
SELECT
|
|
tanuloId
|
|
,tanulocsoportid
|
|
,SUM(kesesIgazolandoTanoraiPluszOra) AS kesesIgazolandoTanoraiPluszOra
|
|
,SUM(kesesIgazoltTanoraiPluszOra) AS kesesIgazoltTanoraiPluszOra
|
|
,SUM(kesesIgazolatlanTanoraiPluszOra) AS kesesIgazolatlanTanoraiPluszOra
|
|
,SUM(kesesIgazoltElmeletiOraban) AS kesesIgazoltElmeletiOraban
|
|
,SUM(kesesIgazolatlanElmeletiOraban) AS kesesIgazolatlanElmeletiOraban
|
|
,SUM(kesesIgazoltGyakorlatiOraban) AS kesesIgazoltGyakorlatiOraban
|
|
,SUM(kesesIgazolatlanGyakorlatiOraban) AS kesesIgazolatlanGyakorlatiOraban
|
|
FROM (
|
|
SELECT
|
|
x.tanuloId
|
|
,x.tanulocsoportid
|
|
,'Keses' +
|
|
CASE
|
|
WHEN isIgazolt IS NULL THEN 'Igazolando'
|
|
WHEN isIgazolt = 'T' THEN 'Igazolt'
|
|
WHEN isIgazolt = 'F' THEN 'Igazolatlan'
|
|
END + 'TanoraiPluszOra' AS piv
|
|
,kesesOraban
|
|
,kesesIgazoltElmeletiOraban
|
|
,kesesIgazolatlanElmeletiOraban
|
|
,kesesIgazoltGyakorlatiOraban
|
|
,kesesIgazolatlanGyakorlatiOraban
|
|
FROM (
|
|
SELECT
|
|
xx.tanuloId
|
|
,xx.tanulocsoportid
|
|
,xx.isIgazolt
|
|
,SUM(xx.keses / (CASE WHEN isGyakorlati = 'F' THEN @elmeletiOraPercben ELSE @gyakorlatiOraPercben END)) AS kesesOraban
|
|
,SUM(CASE WHEN isGyakorlati = 'F' AND isIgazolt='T' THEN xx.keses / @elmeletiOraPercben ELSE 0 END) AS kesesIgazoltElmeletiOraban
|
|
,SUM(CASE WHEN isGyakorlati = 'F' AND isIgazolt='F' THEN xx.keses / @elmeletiOraPercben ELSE 0 END) AS kesesIgazolatlanElmeletiOraban
|
|
,SUM(CASE WHEN isGyakorlati = 'T' AND isIgazolt='T' THEN xx.keses / @gyakorlatiOraPercben ELSE 0 END) AS kesesIgazoltGyakorlatiOraban
|
|
,SUM(CASE WHEN isGyakorlati = 'T' AND isIgazolt='F' THEN xx.keses / @gyakorlatiOraPercben ELSE 0 END) AS kesesIgazolatlanGyakorlatiOraban
|
|
FROM (
|
|
SELECT
|
|
mu.C_ORATANULOIID AS tanuloId
|
|
,tanulok.tanulocsoportid
|
|
,mu.C_IGAZOLT isIgazolt
|
|
,t.C_GYAKORLATI AS isGyakorlati
|
|
,SUM(mu.C_KESESPERCBEN) AS keses
|
|
FROM T_TANULOMULASZTAS_OSSZES mu
|
|
INNER JOIN #Tanulo tanulok ON tanulok.TanuloId = mu.C_ORATANULOIID
|
|
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = mu.C_TANITASIORAKID
|
|
INNER JOIN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyID, @tanevId, 0, DEFAULT)) kocs ON kocs.ID = tn.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = tn.C_TANTARGYID
|
|
LEFT JOIN (
|
|
SELECT cs.ID, cs.C_TIPUSA
|
|
FROM T_CSOPORT_OSSZES cs
|
|
INNER JOIN T_CSOPORTTIPUS_OSSZES cst On cst.ID = cs.C_TIPUSA AND cst.C_ALTANEVID = cs.C_ALTANEVID AND cst.C_ISTANORAICELU = 'F'
|
|
) cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
|
LEFT JOIN (
|
|
SELECT cs.ID
|
|
FROM T_CSOPORT_OSSZES cs
|
|
INNER JOIN #SzurtCsoportTipus cst On cst.CsoportTipusId = cs.C_TIPUSA
|
|
) csmuv ON tn.C_OSZTALYCSOPORTID = csmuv.ID
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID and tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tn.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.Torolt = 'F'
|
|
WHERE mu.C_TANEVID = @tanevId
|
|
AND (
|
|
(@isMuveszetOktatasi = 0 AND (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT CsoportTipusId FROM #SzurtCsoportTipus)))
|
|
OR
|
|
(@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid))
|
|
)
|
|
AND mu.C_TIPUS = 1499
|
|
AND mu.TOROLT = 'F'
|
|
AND tn.Torolt ='F'
|
|
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
|
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tn.C_DATUM)
|
|
AND tanulok.BelepesDatum <= tn.C_DATUM
|
|
AND (tanulok.KilepesDatum IS NULL OR tanulok.KilepesDatum >= tn.C_DATUM)
|
|
AND tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
|
GROUP BY mu.C_ORATANULOIID, tanulok.TanuloCsoportId, mu.C_IGAZOLT, t.C_GYAKORLATI
|
|
) xx
|
|
GROUP BY tanuloId, TanuloCsoportId, xx.isIgazolt
|
|
) x
|
|
) p
|
|
PIVOT (
|
|
MAX(kesesOraban)
|
|
FOR piv IN (
|
|
kesesIgazolandoTanoraiPluszOra, kesesIgazoltTanoraiPluszOra, kesesIgazolatlanTanoraiPluszOra
|
|
)
|
|
) AS pvt
|
|
GROUP BY tanuloId, TanuloCsoportId
|
|
) kp ON t.tanuloId = kp.tanuloId AND kp.TanuloCsoportId = t.TanuloCsoportId
|
|
LEFT join T_TANULOTANUGYIADATOK ta on t.TanuloCsoportId = ta.C_TANULOCSOPORTID
|
|
END
|
|
GO
|
|
|