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,22 @@
IF OBJECT_ID('fnGetDokumentumOsztalyokTanevenkent') IS NOT NULL BEGIN
DROP FUNCTION fnGetDokumentumOsztalyokTanevenkent
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumOsztalyokTanevenkent (@tanevId int)
RETURNS TABLE
RETURN (
SELECT
T_OSZTALY_OSSZES.ID OsztalyId
,T_OSZTALYCSOPORT_OSSZES.C_NEV OsztalyNev
FROM T_OSZTALY_OSSZES
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_OSZTALY_OSSZES.ID
WHERE
T_OSZTALYCSOPORT_OSSZES.C_TANEVID = @tanevId
AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
)

View File

@@ -0,0 +1,22 @@
IF OBJECT_ID('fnGetDokumentumOsztalyokTanuloi') IS NOT NULL BEGIN
DROP FUNCTION fnGetDokumentumOsztalyokTanuloi
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumOsztalyokTanuloi (@tanevId INT, @osztalyId INT, @isKilepettTanulokMegjelenjenek NVARCHAR(1))
RETURNS TABLE
RETURN (
SELECT DISTINCT
C_TANULOID TanuloId
FROM
T_TANULOCSOPORT_OSSZES
WHERE
C_OSZTALYCSOPORTID = @osztalyId
AND C_TANEVID = @tanevId
AND TOROLT = 'F'
AND (@isKilepettTanulokMegjelenjenek = 'T' OR C_KILEPESDATUM IS NULL)
)

View File

@@ -0,0 +1,28 @@
IF OBJECT_ID('fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet') IS NOT NULL BEGIN
DROP FUNCTION fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet (@tanevId int, @osztalyId int)
RETURNS TABLE
RETURN (
SELECT
C_TANULOID TanuloId
, ISNULL(t.C_FOTARGYID, t.ID) TantargyId
, SUM(fog.C_ORASZAM) * IIF((SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId) = 'T', 32, 36) Oraszam
FROM
T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_FOGLALKOZAS_OSSZES fog ON fog.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID
INNER JOIN T_TANTARGY_OSSZES t on t.ID = fog.C_TANTARGYID
WHERE
tcs.C_TANULOID IN ( SELECT TanuloId FROM fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') )
AND ((tcs.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES)) OR (tcs.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA=1034)))
AND tcs.TOROLT = 'F'
AND tcs.C_TANEVID = @tanevId
GROUP BY C_TANULOID, t.C_FOTARGYID, t.ID
)

View File

@@ -0,0 +1,109 @@
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('sp_GetDokumentumErtekelesek') IS NOT NULL BEGIN
DROP PROCEDURE [sp_GetDokumentumErtekelesek]
END
GO
CREATE PROCEDURE sp_GetDokumentumErtekelesek
@osztalyId int,
@tanevId int,
@ertekelesTipus int,
@isBizonyitvany int = 0
AS
BEGIN
SET NOCOUNT ON;
--Osztályhoz tartozó tanulók
DECLARE @Tanulok TABLE (TanuloId int)
INSERT INTO @Tanulok
SELECT TanuloId FROM fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T')
--Tanulóhoz kapcsolódó óraszámok
DECLARE @Oraszamok TABLE (TanuloId int, Tantargy INT, Oraszam INT)
INSERT INTO @Oraszamok
SELECT * FROM fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet(@tanevId, @osztalyId)
--Értékelések
SELECT
ERTEKELES.C_TANULOID TANULOID
, 'MAGATARTAS' TARGY
, ERT.C_NAME Ertekeles
, NULL Jegyzet
, ERT.C_NAME ErtekelesJegyzettel
, ERT.C_NAME SzovegesErtekeles
, NULL Oraszam
, 1 RENDEZ
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID
LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT
ON OSZTALYZAT.ID = ERTEKELES.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=OSZTALYZAT.C_MAGATARTAS AND ERT.C_TANEVID = @tanevId
WHERE
ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus
AND (OSZTALYZAT.C_MAGATARTAS IS NOT NULL OR (LEN(ERTEKELES.C_ERTEKELESSZOVEG) > 0 AND ERTEKELES.C_TANTARGYID IS NULL) )
AND ERTEKELES.C_TANEVID = @tanevId
AND ERTEKELES.TOROLT='F'
UNION
SELECT
ERTEKELES.C_TANULOID TANULOID
, 'SZORGALOM' TARGY
, ERT.C_NAME Ertekeles
, NULL Jegyzet
, ERT.C_NAME ErtekelesJegyzettel
, ERT.C_NAME SzovegesErtekeles
, NULL Oraszam
, 2 RENDEZ
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID
LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT
ON OSZTALYZAT.ID = ERTEKELES.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=OSZTALYZAT.C_SZORGALOM
WHERE
ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus
AND OSZTALYZAT.C_SZORGALOM IS NOT NULL
AND ERTEKELES.C_TANEVID = @TanevId
AND ERTEKELES.TOROLT='F'
UNION
SELECT
ERTEKELES.C_TANULOID TANULOID
, TARGY.TARGYNEV TARGY
, ERT.C_NAME Ertekeles
, ertekelesMegjegyzes.C_TEMA Jegyzet
, ERT.C_NAME + IIF(ertekelesMegjegyzes.C_TEMA IS NULL, '', +' * '+ertekelesMegjegyzes.C_TEMA) ErtekelesJegyzettel
, ERTEKELES.C_ERTEKELESSZOVEG SzovegesErtekeles
, Oraszam Oraszam
, TARGY.KAT RENDEZ
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID
INNER JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT, C_ALTANTARGYKENTNYOMTATVANYBAN, C_FOTARGYE FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY
ON TARGY.ID = ERTEKELES.C_TANTARGYID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=ERTEKELES.C_OSZTALYZAT AND ERT.C_TANEVID = @tanevId
LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES ertekelesMegjegyzes on ertekelesMegjegyzes.ID=ertekeles.Id
LEFT JOIN @Oraszamok oraszam ON
oraszam.Tantargy = ERTEKELES.C_TANTARGYID
AND oraszam.TanuloId = ERTEKELES.C_TANULOID
WHERE
ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus
AND ERTEKELES.C_TANEVID = @tanevId
AND ERTEKELES.TOROLT='F'
AND (TARGY.C_FOTARGYE = 'T' OR TARGY.C_ALTANTARGYKENTNYOMTATVANYBAN='T')
ORDER BY TANULOID, RENDEZ
END
GO

View File

@@ -0,0 +1,211 @@
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
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 sp_GetDokumentumMulasztasok
@osztalyId int,
@tanevId int,
@elmeletGyakorlat bit = 0,
@kesesTipus int = 1499,
@elmeletiOraPercben int = 45,
@gyakorlatiOraPercben int = 60,
@ertekelesTipus int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Tanulok TABLE (tanuloId INT)
INSERT INTO @Tanulok
SELECT TanuloId FROM fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T')
DECLARE @Idoszak INT
DECLARE @IdoszakVege DATE
SET @Idoszak = (SELECT
CASE
WHEN @ertekelesTipus = 1519 THEN 1400 --félévi
WHEN @ertekelesTipus = 1520 THEN 1395 --év végi
WHEN @ertekelesTipus = 1522 THEN 1403 --I. negyedévi
WHEN @ertekelesTipus = 1523 then 1404 --III. negyedévi
END
)
SET @IdoszakVege = (SELECT 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 OR cs.C_TIPUSA = 1034, 'T', 'F') AS isTanorai,
IIF(t.C_GYAKORLATI='T', 'T', 'F') as isGyakorlati,
COUNT(1) AS cnt
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
tn.C_DATUM <= @IdoszakVege
AND m.C_TANEVID = @tanevId
AND m.Torolt ='F'
AND m.C_ORATANULOIID IN (SELECT tanuloId FROM @Tanulok)
GROUP BY m.C_ORATANULOIID, m.C_TIPUS, m.C_IGAZOLT, IIF(cs.ID IS NULL OR cs.C_TIPUSA = 1034, '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 T_TANITASIORA_OSSZES tn ON tn.ID = m.C_TANITASIORAKID
LEFT JOIN T_CSOPORT_OSSZES cs ON tn.C_OSZTALYCSOPORTID = cs.ID
WHERE
tn.C_DATUM <= @IdoszakVege
AND m.C_TANEVID = @tanevId
AND m.Torolt ='F'
AND m.C_ORATANULOIID IN (SELECT tanuloId FROM @Tanulok)
AND (cs.ID IS NULL OR cs.C_TIPUSA = 1034)
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
,SUM(kesesIgazolandoTanoraiPluszOra) kesesIgazolandoTanoraiPluszOra
,SUM(kesesIgazoltTanoraiPluszOra) kesesIgazoltTanoraiPluszOra
,SUM(kesesIgazolatlanTanoraiPluszOra) kesesIgazolatlanTanoraiPluszOra
,SUM(kesesIgazoltElmeletiOraban) kesesIgazoltElmeletiOraban
,SUM(kesesIgazolatlanElmeletiOraban) kesesIgazolatlanElmeletiOraban
,SUM(kesesIgazoltGyakorlatiOraban) kesesIgazoltGyakorlatiOraban
,SUM(kesesIgazolatlanGyakorlatiOraban) 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 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_TANEVID = @tanevId
AND m.C_ORATANULOIID IN (SELECT tanuloId FROM @Tanulok)
AND (cs.ID IS NULL OR cs.C_TIPUSA = 1034)
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
GROUP BY tanuloId
) kp ON m.tanuloId = kp.tanuloId
) m on m.tanuloId=t.tanuloId
END
GO

View File

@@ -0,0 +1,161 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetErtesitoNyomtatvany]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetErtesitoNyomtatvany]
END
GO
-- =====================================================================
-- Description: értesítõ nyomtatvány (félévi, év végi, I. negyedévi...)
-- =====================================================================
CREATE PROCEDURE [dbo].[sp_GetErtesitoNyomtatvany]
@osztalyId int,
@tanevId int,
@ertekelesTipus int,
@elmeletGyakorlat bit=0,
@kesesTipus int = 1499,
@elmeletiOraPercben int = 45,
@gyakorlatiOraPercben int = 60,
@isBizonyitvany int = 0
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 OFO.C_NYOMTATASINEV FROM T_OSZTALY_OSSZES
INNER JOIN T_FELHASZNALO_OSSZES OFO
ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID
WHERE T_OSZTALY_OSSZES.ID=@osztalyId
AND T_OSZTALY_OSSZES.TOROLT = 'F') OSZTALYFONOK,
(SELECT to2.C_NEV FROM T_OSZTALYCSOPORT_OSSZES to2 WHERE ID = @osztalyId AND TOROLT = 'F') OSZTALYNEV,
GETDATE() Datum
FROM T_INTEZMENYADATOK_OSSZES
INNER JOIN T_TANEV_OSSZES
on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID AND T_TANEV_OSSZES.TOROLT = 'F'
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
AND T_TANEV_OSSZES.ID = @TanevId
-- TANULÓK
DECLARE @Tanulok TABLE (TANULOID INT, TANULONEV NVARCHAR(MAX), OKTATASIAZONOSITO NVARCHAR(MAX), TORZSLAPSZAM NVARCHAR(MAX))
INSERT INTO @Tanulok
SELECT
tanulok.TanuloId
,felhasznalo.C_NYOMTATASINEV
,felhasznalo.C_OKTATASIAZONOSITO
,felhasznalo.C_NYILVANTARTASISZAM
FROM fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') tanulok
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo on felhasznalo.Id=tanulok.TanuloId
SELECT * FROM @Tanulok ORDER BY TANULONEV
-- ÉRTÉKELÉSEK
DECLARE @Ertekelesek TABLE (
TanuloId INT
,Targy NVARCHAR(MAX)
,Ertekeles NVARCHAR(MAX)
,Jegyzet NVARCHAR(MAX)
,ErtekelesJegyzettel NVARCHAR(MAX)
,SzovegesErtekeles NVARCHAR(MAX)
,Oraszam INT
,RENDEZ INT
)
INSERT INTO @Ertekelesek
EXEC sp_GetDokumentumErtekelesek
@osztalyId = @osztalyId,
@tanevId = @tanevId,
@ertekelesTipus = @ertekelesTipus
SELECT
TanuloId
, Targy
, Ertekeles
, Jegyzet
, ErtekelesJegyzettel
, SzovegesErtekeles
, Oraszam
, RENDEZ
FROM
@Ertekelesek
-- MULASZTÁSOK
DECLARE @Mulasztasok TABLE (
TanuloId INT
,Igazolt INT
,Igazolatlan INT
,ElmeletIgazolt INT
,ElmeletIgazolatlan INT
,GyakorlatIgazolt INT
,GyakorlatIgazolatlan INT
,Osszes INT
)
INSERT INTO @Mulasztasok
EXEC sp_GetDokumentumMulasztasok
@osztalyId = @osztalyId,
@tanevId = @tanevId,
@elmeletGyakorlat = @elmeletGyakorlat,
@kesesTipus = @kesesTipus,
@elmeletiOraPercben = @elmeletiOraPercben,
@gyakorlatiOraPercben = @gyakorlatiOraPercben,
@ertekelesTipus = @ertekelesTipus
SELECT
TanuloId
,Igazolt
,Igazolatlan
,ElmeletIgazolt
,ElmeletIgazolatlan
,GyakorlatIgazolt
,GyakorlatIgazolatlan
,Osszes
FROM @Mulasztasok
-- TANTÁRGYI MENTESSÉGEK
SELECT DISTINCT MENTESSEG.C_TANULOID TANULOID,
TARGY.TARGYNEV,
MENTESSEG.C_MENTESSEGOKA MENTESSEGOKA
FROM T_TANULOMENTESSEG_OSSZES MENTESSEG
INNER JOIN (SELECT ID, C_NEV TARGYNEV FROM T_TANTARGY_OSSZES WHERE TOROLT='F') TARGY
ON TARGY.ID = MENTESSEG.C_TANTARGYID
INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
ON TANCSOPORT.TanuloId = MENTESSEG.C_TANULOID
WHERE MENTESSEG.TOROLT = 'F'
ORDER BY MENTESSEG.C_TANULOID, TARGY.TARGYNEV
-- BEJEGYZÉSEK
DECLARE @EsemenyTipus INT
SET @EsemenyTipus = (SELECT
CASE
WHEN @ertekelesTipus = 1519 THEN 1547 --félévi
WHEN @ertekelesTipus = 1520 THEN 1548 --év végi
WHEN @ertekelesTipus = 1522 THEN 1549 --I. negyedévi
WHEN @ertekelesTipus = 1523 then 1551 --III. negyedévi
END
)
SELECT T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID,
C_TARTALOM BEJEGYZES,
C_TIPUS TIPUS
FROM T_TANULOESEMENY_OSSZES
INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
ON TANCSOPORT.TanuloId = T_TANULOESEMENY_OSSZES.C_TANULOID
WHERE T_TANULOESEMENY_OSSZES.TOROLT='F'
AND T_TANULOESEMENY_OSSZES.C_TIPUS = @EsemenyTipus
ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID
END
GO

View File

@@ -0,0 +1,67 @@
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetNaplobaNemBejegyzettFoglalkozasok]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetNaplobaNemBejegyzettFoglalkozasok]
END
GO
CREATE PROCEDURE [dbo].[sp_GetNaplobaNemBejegyzettFoglalkozasok]
@tanevID int,
@osztalyId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @intezmenyId INT = (SELECT C_INTEZMENYID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
DECLARE @nemMegtartottOrakTable TABLE (
Id INT
,HetSzama INT
,Datum date
,Hetnapja INT
,Oraszam INT
,OsztalyNev nvarchar(max)
,TantargyNev nvarchar(max)
,PedagogusNev nvarchar(max)
)
DECLARE kurzor CURSOR FOR
SELECT C_HETSORSZAMA FROM T_NAPTARIHET_OSSZES WHERE C_TANEVID = @tanevID AND TOROLT = 'F'
DECLARE @hetSorszama int
OPEN kurzor
FETCH NEXT FROM kurzor INTO @hetSorszama
WHILE @@FETCH_STATUS = 0 BEGIN
INSERT INTO @nemMegtartottOrakTable
EXEC sp_GetNemMegtartottOrakSzamaByHet
@osztalycsoportId = @osztalyId,
@intezmenyId = @intezmenyId,
@tanevId = @tanevId,
@hetSorszam = @hetSorszama
FETCH NEXT FROM kurzor INTO @hetSorszama
END
CLOSE kurzor
DEALLOCATE kurzor
SELECT
FORMAT(Datum, 'yyyy.MM.dd.') Datum
, Hetnapja
, Oraszam
, OsztalyNev
, TantargyNev
, PedagogusNev
FROM @nemMegtartottOrakTable
END
GO

View File

@@ -0,0 +1,44 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('sp_GetOsztalyokEvesOraszama') IS NOT NULL BEGIN
DROP PROCEDURE sp_GetOsztalyokEvesOraszama
END
GO
CREATE PROCEDURE sp_GetOsztalyokEvesOraszama
@tanevID int
AS
BEGIN
SELECT OsztalyNev Nev FROM fnGetDokumentumOsztalyokTanevenkent(@tanevID)
DECLARE kurzor CURSOR FOR
SELECT OsztalyId FROM fnGetDokumentumOsztalyokTanevenkent(@tanevID)
DECLARE @OsztalyId int
OPEN kurzor
FETCH NEXT FROM kurzor INTO @OsztalyId
WHILE @@FETCH_STATUS = 0 BEGIN
SELECT distinct
tanulo.C_NYOMTATASINEV TanuloNev
, tantargy.C_NEV TantargyNev
, oraszamok.Oraszam EvesOraszam
FROM
fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet(@tanevID, @OsztalyId) oraszamok
INNER JOIN T_FELHASZNALO_OSSZES tanulo on tanulo.ID = oraszamok.TanuloId
INNER JOIN T_TANTARGY_OSSZES tantargy on tantargy.ID = oraszamok.TantargyID
FETCH NEXT FROM kurzor INTO @OsztalyId
END
CLOSE kurzor
DEALLOCATE kurzor
END
GO

View File

@@ -0,0 +1,189 @@
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('sp_GetTorzslap') IS NOT NULL BEGIN
DROP PROCEDURE [sp_GetTorzslap]
END
GO
CREATE PROCEDURE [sp_GetTorzslap]
@osztalyId int,
@tanevId int,
@ertekelesTipus int,
@kesesTipus int,
@elmeletiOraPercben int = 45,
@gyakorlatiOraPercben int = 60,
@hatarozatTipus int
AS
BEGIN
SET NOCOUNT ON;
--Intézmény, tanév
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_TELEFONSZAM TELEFON,
T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
T_INTEZMENYADATOK_OSSZES.C_OMKOD IntezmenyOMKod,
T_TANEV_OSSZES.C_NEV TANEV
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_TANEV_OSSZES.ID = @tanevId
--Osztály, évfolyam
SELECT
T_OSZTALYCSOPORT_OSSZES.C_NEV,
T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA
FROM T_OSZTALYCSOPORT_OSSZES
WHERE
T_OSZTALYCSOPORT_OSSZES.ID = @osztalyId
--Tanuló adatok
DECLARE @NaploSorszam TABLE (
TanuloId INT
,Sorszam INT
)
INSERT INTO @NaploSorszam
EXEC sp_GetDokumentumTanuloNaploSorszam
@osztalyId = @osztalyId
SELECT
felhasznalo.ID TanuloId,
felhasznalo.Azonosito,
felhasznalo.Nev,
felhasznalo.SzuletesiDatum,
felhasznalo.SzuletesiHely,
felhasznalo.Allampolgarsag,
felhasznalo.Anyjaneve,
felhasznalo.SzuletesiOrszag,
felhasznalo.TorzslapSzam,
gondviselo.Nev GondviseloNeve,
gondviselo.Rokonsag,
naploSorszam.Sorszam NaploSorszam
FROM
(
SELECT
T_FELHASZNALO_OSSZES.ID AS ID,
T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO Azonosito,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV Nev,
T_FELHASZNALO_OSSZES.C_SZULETESIDATUM SzuletesiDatum,
T_FELHASZNALO_OSSZES.C_SZULETESIHELY SzuletesiHely,
T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG SzuletesiOrszag,
T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA Allampolgarsag,
T_FELHASZNALO_OSSZES.C_ANYJANEVE Anyjaneve,
T_FELHASZNALO_OSSZES.C_NYILVANTARTASISZAM TorzslapSzam
FROM T_FELHASZNALO_OSSZES
INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
ON TANCSOPORT.TanuloId = T_FELHASZNALO_OSSZES.ID
WHERE
T_FELHASZNALO_OSSZES.C_TANEVID = @tanevId
AND T_FELHASZNALO_OSSZES.TOROLT='F'
) felhasznalo
LEFT JOIN
(SELECT
T_GONDVISELO_OSSZES.C_NEV Gondviselo,
T_GONDVISELO_OSSZES.C_ROKONSAGFOKA Rokonsag,
T_GONDVISELO_OSSZES.C_TANULOID Id,
T_GONDVISELO_OSSZES.C_NEV Nev
FROM T_GONDVISELO_OSSZES
WHERE T_GONDVISELO_OSSZES.TOROLT='F'
) gondviselo on felhasznalo.ID = gondviselo.ID
LEFT JOIN @NaploSorszam naploSorszam on naploSorszam.TanuloId = felhasznalo.ID
ORDER BY felhasznalo.Nev
--Határozat
SELECT
T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID,
T_TANULOESEMENY_OSSZES.C_TARTALOM BEJEGYZES
FROM T_TANULOESEMENY_OSSZES
INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
ON TANCSOPORT.TanuloId = T_TANULOESEMENY_OSSZES.C_TANULOID
WHERE TOROLT='F'
AND T_TANULOESEMENY_OSSZES.C_TIPUS = @hatarozatTipus
--Egyéb bejegyzések
SELECT
T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID,
T_TANULOESEMENY_OSSZES.C_TARTALOM BEJEGYZES,
T_TANULOESEMENY_OSSZES.C_TIPUS TIPUS
FROM T_TANULOESEMENY_OSSZES
INNER JOIN fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') TANCSOPORT
ON TANCSOPORT.TanuloId = T_TANULOESEMENY_OSSZES.C_TANULOID
WHERE
TOROLT='F'
AND T_TANULOESEMENY_OSSZES.C_TANEVID = @tanevId
AND T_TANULOESEMENY_OSSZES.C_TIPUS != @hatarozatTipus
AND T_TANULOESEMENY_OSSZES.C_TIPUS <> 1534
ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID
-- MULASZTÁSOK
DECLARE @Mulasztasok TABLE (
TanuloId INT
,Igazolt INT
,Igazolatlan INT
,ElmeletIgazolt INT
,ElmeletIgazolatlan INT
,GyakorlatIgazolt INT
,GyakorlatIgazolatlan INT
,Osszes INT
)
INSERT INTO @Mulasztasok
EXEC sp_GetDokumentumMulasztasok
@osztalyId = @osztalyId,
@tanevId = @tanevId,
@elmeletGyakorlat = 0,
@kesesTipus = @kesesTipus,
@elmeletiOraPercben = @elmeletiOraPercben,
@gyakorlatiOraPercben = @gyakorlatiOraPercben,
@ertekelesTipus = @ertekelesTipus
SELECT
TanuloId
,Igazolt
,Igazolatlan
,ElmeletIgazolt
,ElmeletIgazolatlan
,GyakorlatIgazolt
,GyakorlatIgazolatlan
,Osszes
FROM @Mulasztasok
-- ÉRTÉKELÉSEK
DECLARE @Ertekelesek TABLE (
TanuloId INT
,Targy NVARCHAR(MAX)
,Ertekeles NVARCHAR(MAX)
,Jegyzet NVARCHAR(MAX)
,ErtekelesJegyzettel NVARCHAR(MAX)
,SzovegesErtekeles NVARCHAR(MAX)
,Oraszam INT
,RENDEZ INT
)
INSERT INTO @Ertekelesek
EXEC sp_GetDokumentumErtekelesek
@osztalyId = @osztalyId,
@tanevId = @tanevId,
@ertekelesTipus = @ertekelesTipus
SELECT
TanuloId
, Targy
, Ertekeles
, Jegyzet
, ErtekelesJegyzettel
,SzovegesErtekeles
, Oraszam
, RENDEZ
FROM
@Ertekelesek
END
GO