init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,227 @@
|
|||
|
||||
IF OBJECT_ID('sp_GetDokumentumMulasztasok') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetDokumentumMulasztasok
|
||||
END
|
||||
GO
|
||||
|
||||
-- ===========================================================================
|
||||
-- Description: Dokumentumokban használt mulasztás összesítő osztály alapján
|
||||
-- ===========================================================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetDokumentumMulasztasok]
|
||||
@osztalyId INT
|
||||
,@tanevId INT
|
||||
,@elmeletGyakorlat BIT = 0
|
||||
,@kesesTipus INT = 1499
|
||||
,@elmeletiOraPercben INT = 45
|
||||
,@gyakorlatiOraPercben INT = 60
|
||||
,@ertekelesTipus INT
|
||||
,@iskolaErdekuSzamit BIT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @Tanulok table (
|
||||
tanuloId int PRIMARY KEY
|
||||
);
|
||||
|
||||
INSERT INTO @Tanulok
|
||||
SELECT TanuloId
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T')
|
||||
|
||||
DECLARE @Idoszak INT
|
||||
DECLARE @IdoszakVege DATE
|
||||
|
||||
SET @Idoszak =
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1400 --félévi
|
||||
WHEN 1520 THEN 1395 --év végi
|
||||
WHEN 1522 THEN 1403 --I. negyedévi
|
||||
WHEN 1523 THEN 1404 --III. negyedévi
|
||||
END
|
||||
|
||||
|
||||
SET @IdoszakVege = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = @Idoszak AND C_TANEVID = @tanevId AND TOROLT='F')
|
||||
|
||||
SELECT
|
||||
t.TANULOID tanuloid
|
||||
,m.Igazolt
|
||||
,m.Igazolatlan
|
||||
,m.ElmeletIgazolt
|
||||
,m.ElmeletIgazolatlan
|
||||
,m.GyakorlatiIgazolt
|
||||
,m.GyakorlatiIgazolatlan
|
||||
,m.Osszes
|
||||
FROM @Tanulok t
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT
|
||||
m.tanuloId
|
||||
,ISNULL(m.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(m.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0) Igazolt
|
||||
,ISNULL(m.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(m.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0) Igazolatlan
|
||||
,ISNULL(m.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0) ElmeletIgazolt
|
||||
,ISNULL(m.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) ElmeletIgazolatlan
|
||||
,ISNULL(m.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0) GyakorlatiIgazolt
|
||||
,ISNULL(m.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0) GyakorlatiIgazolatlan
|
||||
,ISNULL(m.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(m.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)+
|
||||
ISNULL(m.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(m.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0) Osszes
|
||||
FROM (
|
||||
SELECT
|
||||
tanuloId,
|
||||
[hianyzasIgazoltTanoraiElmeleti], [hianyzasIgazoltTanoraiGyakorlati],
|
||||
[hianyzasIgazolatlanTanoraiElmeleti], [hianyzasIgazolatlanTanoraiGyakorlati],
|
||||
[kesesIgazoltTanoraiElmeleti],[kesesIgazoltTanoraiGyakorlati],
|
||||
[kesesIgazolatlanTanoraiElmeleti], [kesesIgazolatlanTanoraiGyakorlati]
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId
|
||||
,CASE mulasztasTipus WHEN 1500 THEN 'Hianyzas' WHEN 1499 THEN 'Keses' END +
|
||||
CASE WHEN isIgazolt IS NULL THEN 'Igazolando' WHEN isIgazolt = 'T' THEN 'Igazolt' WHEN isIgazolt = '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
|
||||
m.C_ORATANULOIID AS tanuloId
|
||||
,m.C_TIPUS mulasztasTipus
|
||||
,m.C_IGAZOLT isIgazolt
|
||||
,IIF(cs.ID IS NULL, 'T', 'F') AS isTanorai
|
||||
,IIF(t.C_GYAKORLATI='T', 'T', 'F') as isGyakorlati
|
||||
,COUNT(1) AS cnt
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN @Tanulok tanulok ON tanulok.TanuloId = m.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = m.C_TANITASIORAKID
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.id=tn.C_TANTARGYID
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON tn.C_OSZTALYCSOPORTID = cs.ID AND cs.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID AND tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
WHERE tn.C_DATUM <= @IdoszakVege
|
||||
AND m.C_TANEVID = @tanevId
|
||||
AND m.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 m.C_TIPUS IN (1500 ,1499)
|
||||
GROUP BY m.C_ORATANULOIID, m.C_TIPUS, m.C_IGAZOLT, IIF(cs.ID IS NULL, 'T', 'F'), t.C_GYAKORLATI
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(cnt)
|
||||
FOR piv IN (
|
||||
[hianyzasIgazoltTanoraiElmeleti], [hianyzasIgazoltTanoraiGyakorlati],
|
||||
[hianyzasIgazolatlanTanoraiElmeleti], [hianyzasIgazolatlanTanoraiGyakorlati],
|
||||
[kesesIgazoltTanoraiElmeleti],[kesesIgazoltTanoraiGyakorlati],
|
||||
[kesesIgazolatlanTanoraiElmeleti], [kesesIgazolatlanTanoraiGyakorlati]
|
||||
)
|
||||
) AS pvt
|
||||
) m
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,[kesesIgazolandoTanoraiPerc]
|
||||
,[kesesIgazoltTanoraiPerc]
|
||||
,[kesesIgazolatlanTanoraiPerc]
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId
|
||||
,'Keses' +
|
||||
CASE WHEN isIgazolt IS NULL THEN 'Igazolando' WHEN isIgazolt = 'T' THEN 'Igazolt' WHEN isIgazolt = 'F' THEN 'Igazolatlan' END +
|
||||
'TanoraiPerc' AS piv
|
||||
,kesesPercben
|
||||
FROM (
|
||||
SELECT
|
||||
m.C_ORATANULOIID AS tanuloId
|
||||
,m.C_IGAZOLT isIgazolt
|
||||
,SUM(m.C_KESESPERCBEN) AS kesesPercben
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN @Tanulok tanulok ON tanulok.TanuloId = m.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = m.C_TANITASIORAKID
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID AND tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
WHERE tn.C_DATUM <= @IdoszakVege
|
||||
AND m.C_TANEVID = @tanevId
|
||||
AND m.Torolt ='F'
|
||||
AND tn.Torolt ='F'
|
||||
AND (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))
|
||||
AND m.C_TIPUS = 1499
|
||||
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)
|
||||
GROUP BY m.C_ORATANULOIID, m.C_IGAZOLT
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(kesesPercben)
|
||||
FOR piv IN
|
||||
([kesesIgazolandoTanoraiPerc], [kesesIgazoltTanoraiPerc], [kesesIgazolatlanTanoraiPerc])
|
||||
) AS pvt
|
||||
) k ON k.tanuloId = m.tanuloId
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,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
|
||||
,'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.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
|
||||
m.C_ORATANULOIID AS tanuloId
|
||||
,m.C_IGAZOLT isIgazolt
|
||||
,t.C_GYAKORLATI AS isGyakorlati
|
||||
,SUM(m.C_KESESPERCBEN) AS keses
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN @Tanulok tanulok ON tanulok.TanuloId = m.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = m.C_TANITASIORAKID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = tn.C_TANTARGYID
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID and tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
WHERE m.C_TANEVID = @tanevId
|
||||
AND (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))
|
||||
AND m.C_TIPUS = 1499
|
||||
AND m.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)
|
||||
GROUP BY m.C_ORATANULOIID, m.C_IGAZOLT, t.C_GYAKORLATI
|
||||
) xx
|
||||
GROUP BY tanuloId, xx.isIgazolt
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(kesesOraban)
|
||||
FOR piv IN (
|
||||
kesesIgazolandoTanoraiPluszOra, kesesIgazoltTanoraiPluszOra, kesesIgazolatlanTanoraiPluszOra
|
||||
)
|
||||
) AS pvt
|
||||
GROUP BY tanuloId
|
||||
) kp ON m.tanuloId = kp.tanuloId
|
||||
) m on m.tanuloId=t.tanuloId
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,215 @@
|
|||
IF OBJECT_ID('[dbo].[sp_GetTanulokMulasztasaiKesesei]') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanulokMulasztasaiKesesei]
|
||||
END
|
||||
GO
|
||||
|
||||
-- ==========================================================================================
|
||||
-- Description: <Az osztoly/csoport tanulóinak vagy egy adott tanulónak a mulasztásai>
|
||||
-- ==========================================================================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanulokMulasztasaiKesesei]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pOsztalyCsoportId INT = NULL
|
||||
,@pTanuloId INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE
|
||||
@elmeletiOraPercben INT = 45
|
||||
,@gyakorlatiOraPercben INT = 60
|
||||
,@osztalyCsoportNev NVARCHAR(200)
|
||||
|
||||
SELECT
|
||||
@osztalyCsoportNev = C_NEV
|
||||
FROM
|
||||
T_OSZTALYCSOPORT
|
||||
WHERE
|
||||
ID = @pOsztalyCsoportId
|
||||
AND T_OSZTALYCSOPORT.TOROLT = 'F'
|
||||
|
||||
|
||||
DECLARE @Tanulok TABLE (Id INT PRIMARY KEY)
|
||||
|
||||
IF @pTanuloId IS NOT NULL
|
||||
BEGIN
|
||||
INSERT INTO @Tanulok (Id) VALUES (@pTanuloId)
|
||||
END
|
||||
ELSE BEGIN
|
||||
INSERT INTO
|
||||
@Tanulok (Id)
|
||||
SELECT
|
||||
C_TANULOID
|
||||
FROM
|
||||
T_TANULOCSOPORT_OSSZES tcs
|
||||
WHERE
|
||||
tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND tcs.C_BELEPESDATUM <= GETDATE()
|
||||
AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F'
|
||||
|
||||
END
|
||||
|
||||
SELECT
|
||||
fh.ID TanuloId
|
||||
,fh.C_NYOMTATASINEV TanuloNev
|
||||
,fh.C_SZULETESIDATUM SzuletesiIdo
|
||||
,fh.C_ANYJANEVE AnyjaNeve
|
||||
,@osztalyCsoportNev OsztCsopNev
|
||||
,ISNULL(m.[hianyzasIgazolandoTanorai], 0) TanoraiHianyzasIgazolando
|
||||
,ISNULL(m.[hianyzasIgazolandoTanoranKivuli], 0) TanoranKivuliHianyzasIgazolando
|
||||
,ISNULL(m.[hianyzasIgazoltTanorai], 0) TanoraiHianyzasIgazolt
|
||||
,ISNULL(m.[hianyzasIgazoltTanoranKivuli], 0) TanoranKivuliHianyzasIgazolt
|
||||
,ISNULL(m.[hianyzasIgazolatlanTanorai], 0) TanoraiHianyzasIgazolatlan
|
||||
,ISNULL(m.[hianyzasIgazolatlanTanoranKivuli], 0) TanoranKivuliHianyzasIgazolatlan
|
||||
,ISNULL(m.[kesesIgazolandoTanorai], 0) TanoraiKesesDarabszamIgazolando
|
||||
,ISNULL(m.[kesesIgazoltTanorai], 0) TanoraiKesesDarabszamIgazolt
|
||||
,ISNULL(m.[kesesIgazolatlanTanorai], 0) TanoraiKesesDarabszamIgazolatlan
|
||||
,ISNULL(k.[kesesIgazolandoTanoraiPerc], 0) TanoraiKesesIgazolandoPerc
|
||||
,ISNULL(k.[kesesIgazoltTanoraiPerc], 0) TanoraiKesesIgazoltPerc
|
||||
,ISNULL(k.[kesesIgazolatlanTanoraiPerc], 0) TanoraiKesesIgazolatlanPerc
|
||||
,ISNULL(kp.[kesesIgazolandoTanoraiPluszOra], 0) SzamitottKesesIgazolando
|
||||
,ISNULL(kp.[kesesIgazoltTanoraiPluszOra], 0) SzamitottKesesIgazolt
|
||||
,ISNULL(kp.[kesesIgazolatlanTanoraiPluszOra], 0) SzamitottKesesIgazolatlan
|
||||
FROM (
|
||||
SELECT
|
||||
ID
|
||||
,C_NYOMTATASINEV
|
||||
,C_SZULETESIDATUM
|
||||
,C_ANYJANEVE
|
||||
FROM
|
||||
T_FELHASZNALO_OSSZES fh
|
||||
WHERE
|
||||
EXISTS (SELECT 1 FROM @Tanulok tk WHERE tk.Id = fh.ID)
|
||||
) fh
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,[hianyzasIgazolandoTanorai]
|
||||
,[hianyzasIgazolandoTanoranKivuli]
|
||||
,[hianyzasIgazoltTanorai]
|
||||
,[hianyzasIgazoltTanoranKivuli]
|
||||
,[hianyzasIgazolatlanTanorai]
|
||||
,[hianyzasIgazolatlanTanoranKivuli]
|
||||
,[kesesIgazolandoTanorai]
|
||||
,[kesesIgazoltTanorai]
|
||||
,[kesesIgazolatlanTanorai]
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId
|
||||
,CASE mulasztasTipus WHEN 1500 THEN 'Hianyzas' WHEN 1499 THEN 'Keses' END +
|
||||
CASE WHEN isIgazolt IS NULL THEN 'Igazolando' WHEN isIgazolt = 'T' THEN 'Igazolt' WHEN isIgazolt = 'F' THEN 'Igazolatlan' END +
|
||||
CASE isTanorai WHEN 'T' THEN 'Tanorai' WHEN 'F' THEN 'TanoranKivuli' END AS piv
|
||||
,cnt
|
||||
FROM (
|
||||
SELECT
|
||||
m.C_ORATANULOIID AS tanuloId
|
||||
,m.C_TIPUS mulasztasTipus
|
||||
,m.C_IGAZOLT isIgazolt
|
||||
,IIF(cs.ID IS NULL, 'T', 'F') AS isTanorai
|
||||
,COUNT(1) AS cnt
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = m.C_TANITASIORAKID
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON tn.C_OSZTALYCSOPORTID = cs.ID AND cs.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId))
|
||||
WHERE
|
||||
m.C_INTEZMENYID = @pIntezmenyId
|
||||
AND m.C_TANEVID = @pTanevId
|
||||
AND m.Torolt ='F'
|
||||
AND EXISTS (SELECT 1 FROM @Tanulok tk WHERE tk.Id = m.C_ORATANULOIID)
|
||||
GROUP BY m.C_ORATANULOIID, m.C_TIPUS, m.C_IGAZOLT, IIF(cs.ID IS NULL, 'T', 'F')
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(cnt)
|
||||
FOR piv IN ([hianyzasIgazolandoTanorai], [hianyzasIgazolandoTanoranKivuli], [hianyzasIgazoltTanorai], [hianyzasIgazoltTanoranKivuli], [hianyzasIgazolatlanTanorai], [hianyzasIgazolatlanTanoranKivuli], [kesesIgazolandoTanorai], [kesesIgazoltTanorai], [kesesIgazolatlanTanorai])
|
||||
) AS pvt
|
||||
) m ON fh.ID = m.tanuloId
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,[kesesIgazolandoTanoraiPerc]
|
||||
,[kesesIgazoltTanoraiPerc]
|
||||
,[kesesIgazolatlanTanoraiPerc]
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId
|
||||
,'Keses' +
|
||||
CASE WHEN isIgazolt IS NULL THEN 'Igazolando' WHEN isIgazolt = 'T' THEN 'Igazolt' WHEN isIgazolt = 'F' THEN 'Igazolatlan' END +
|
||||
'TanoraiPerc' AS piv
|
||||
,kesesPercben
|
||||
FROM (
|
||||
SELECT
|
||||
m.C_ORATANULOIID AS tanuloId
|
||||
,m.C_IGAZOLT isIgazolt
|
||||
,SUM(m.C_KESESPERCBEN) AS kesesPercben
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = m.C_TANITASIORAKID
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
||||
WHERE m.C_INTEZMENYID = @pIntezmenyId
|
||||
AND m.C_TANEVID = @pTanevId
|
||||
AND m.Torolt ='F'
|
||||
AND EXISTS (SELECT 1 FROM @Tanulok tk WHERE tk.Id = m.C_ORATANULOIID)
|
||||
AND (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId)))
|
||||
AND m.C_TIPUS = 1499
|
||||
GROUP BY m.C_ORATANULOIID, m.C_IGAZOLT
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(kesesPercben)
|
||||
FOR piv IN ([kesesIgazolandoTanoraiPerc], [kesesIgazoltTanoraiPerc], [kesesIgazolatlanTanoraiPerc])
|
||||
) AS pvt
|
||||
) k ON k.tanuloId = m.tanuloId
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,[kesesIgazolandoTanoraiPluszOra]
|
||||
,[kesesIgazoltTanoraiPluszOra]
|
||||
,[kesesIgazolatlanTanoraiPluszOra]
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId
|
||||
,'Keses' +
|
||||
CASE WHEN isIgazolt IS NULL THEN 'Igazolando' WHEN isIgazolt = 'T' THEN 'Igazolt' WHEN isIgazolt = 'F' THEN 'Igazolatlan' END +
|
||||
'TanoraiPluszOra' AS piv
|
||||
,kesesOraban
|
||||
FROM (
|
||||
SELECT
|
||||
xx.tanuloId
|
||||
,xx.isIgazolt
|
||||
,SUM(xx.keses / (CASE WHEN isGyakorlati = 'F' THEN @elmeletiOraPercben ELSE @gyakorlatiOraPercben END)) AS kesesOraban
|
||||
FROM (
|
||||
SELECT
|
||||
m.C_ORATANULOIID AS tanuloId
|
||||
,m.C_IGAZOLT isIgazolt
|
||||
,t.C_GYAKORLATI AS isGyakorlati
|
||||
,SUM(m.C_KESESPERCBEN) AS keses
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = m.C_TANITASIORAKID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = tn.C_TANTARGYID
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
||||
WHERE
|
||||
m.C_INTEZMENYID = @pIntezmenyId
|
||||
AND m.C_TANEVID = @pTanevId
|
||||
AND EXISTS (SELECT 1 FROM @Tanulok tk WHERE tk.Id = m.C_ORATANULOIID)
|
||||
AND (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId)))
|
||||
AND m.C_TIPUS = 1499
|
||||
AND m.TOROLT = 'F'
|
||||
GROUP BY
|
||||
m.C_ORATANULOIID
|
||||
,m.C_IGAZOLT
|
||||
,t.C_GYAKORLATI
|
||||
) xx
|
||||
GROUP BY tanuloId, xx.isIgazolt
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(kesesOraban)
|
||||
FOR piv IN ([kesesIgazolandoTanoraiPluszOra], [kesesIgazoltTanoraiPluszOra], [kesesIgazolatlanTanoraiPluszOra])
|
||||
) AS pvt
|
||||
) kp ON m.tanuloId = kp.tanuloId
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue