187 lines
No EOL
8.6 KiB
Transact-SQL
187 lines
No EOL
8.6 KiB
Transact-SQL
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
IF OBJECT_ID('[dbo].[sp_GetTanulokJegyeiReszletezes]') IS NOT NULL
|
|
BEGIN
|
|
DROP PROCEDURE [dbo].[sp_GetTanulokJegyeiReszletezes]
|
|
END
|
|
GO
|
|
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[sp_GetTanulokJegyeiReszletezes]
|
|
@OsztalyId int,
|
|
@TanevId int,
|
|
@isNemet bit = 0
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT DISTINCT
|
|
@osztalyId OsztalyId
|
|
,ocs.C_NEV OsztalyNev
|
|
,o.C_OSZTALYNAPLOLEIRASA OsztalyMegjegyzes
|
|
,o.C_OSZTALYFONOKID PartnerID
|
|
,ofo.C_NYOMTATASINEV Osztalyfonok
|
|
,i.C_IGAZGATONEVE IntezmenyVezeto
|
|
,i.C_NEV IntezmenyNeve
|
|
,i.C_IRANYITOSZAM IntezmenyIranyitoszam
|
|
,i.C_VAROS IntezmenyVaros
|
|
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime
|
|
,i.C_OMKOD IntezmenyOMKod
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
|
|
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = o.C_OSZTALYFONOKID
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F'
|
|
WHERE ocs.ID = @osztalyId
|
|
|
|
--Osztályhoz tartozó tanulók
|
|
DECLARE @Tanulok TABLE (TanuloId INT PRIMARY KEY, KilepesDatum DATE)
|
|
INSERT INTO @Tanulok
|
|
SELECT TanuloId, KilepesDatum FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T')
|
|
|
|
--Értékelések
|
|
DECLARE @ertekelesek TABLE (ErtekelesId INT, TargyNev NVARCHAR(MAX), Ertekeles NVARCHAR(MAX))
|
|
INSERT INTO @ertekelesek
|
|
SELECT
|
|
ERTEKELES.Id
|
|
, IIF(@isNemet = 0, 'Magatartás', 'Betragen') TARGY
|
|
, ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, ERT.C_NAME, dbo.fnGetDokumentumNemet(OSZTALYZAT.C_MAGATARTAS))), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, IIF(@isNemet = 0, JEGY.C_NAME, dbo.fnGetDokumentumNemet(ERTEKELES.C_OSZTALYZAT)))) Ertekeles
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID
|
|
INNER 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
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES JEGY ON JEGY.ID=ERTEKELES.C_OSZTALYZAT AND JEGY.C_TANEVID = @tanevId
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.Id = ERTEKELES.C_OSZTALYCSOPORTID
|
|
WHERE
|
|
ERTEKELES.C_TANEVID = @tanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
AND OSZTALYZAT.TOROLT = 'F'
|
|
AND C_ERTEKELESSZOVEG IS NULL
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= C_ERTEKELESDATUM)
|
|
AND (cs.Id IS NULL OR cs.C_TIPUSA = 1034)
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
ERTEKELES.Id
|
|
, IIF(@isNemet = 0, 'Szorgalom', 'Fleiss') TARGY
|
|
, ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, ERT.C_NAME, dbo.fnGetDokumentumNemet(OSZTALYZAT.C_SZORGALOM))), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, IIF(@isNemet = 0, JEGY.C_NAME, dbo.fnGetDokumentumNemet(ERTEKELES.C_OSZTALYZAT)))) Ertekeles
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID
|
|
INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=OSZTALYZAT.C_SZORGALOM AND ERT.C_TANEVID = @tanevId
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES JEGY ON JEGY.ID=ERTEKELES.C_OSZTALYZAT AND JEGY.C_TANEVID = @tanevId
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.Id = ERTEKELES.C_OSZTALYCSOPORTID
|
|
WHERE
|
|
ERTEKELES.C_TANEVID = @TanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
AND OSZTALYZAT.TOROLT = 'F'
|
|
AND C_ERTEKELESSZOVEG IS NULL
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= C_ERTEKELESDATUM)
|
|
AND (cs.Id IS NULL OR cs.C_TIPUSA = 1034)
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
ERTEKELES.Id
|
|
, IIF(@isNemet = 0, 'Magatartás', 'Betragen') TARGY
|
|
, SUBSTRING(ERTEKELES.C_ERTEKELESSZOVEG, 1, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',') - 1) Ertekeles
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID
|
|
INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID
|
|
WHERE
|
|
ERTEKELES.C_TANEVID = @TanevId
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= C_ERTEKELESDATUM)
|
|
AND ERTEKELES.TOROLT='F'
|
|
AND OSZTALYZAT.TOROLT = 'F'
|
|
AND C_ERTEKELESSZOVEG IS NOT NULL
|
|
AND SUBSTRING(ERTEKELES.C_ERTEKELESSZOVEG, 1, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',') - 1) IN ('rossz', 'változó', 'jó', 'példás', 'Vorbildlich', 'Gut', 'Wechselnd', 'Schlecht')
|
|
AND SUBSTRING (ERTEKELES.C_ERTEKELESSZOVEG, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',')+ 1, LEN(ERTEKELES.C_ERTEKELESSZOVEG)) IN ('hanyag', 'változó', 'jó', 'példás', 'Vorbildlich', 'Gut', 'Wechselnd', 'Schlecht')
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
ERTEKELES.Id
|
|
, IIF(@isNemet = 0, 'Szorgalom', 'Fleiss') TARGY
|
|
, SUBSTRING (ERTEKELES.C_ERTEKELESSZOVEG, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',')+ 1, LEN(ERTEKELES.C_ERTEKELESSZOVEG)) Ertekeles
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID
|
|
INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID
|
|
WHERE
|
|
ERTEKELES.C_TANEVID = @TanevId
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= C_ERTEKELESDATUM)
|
|
AND ERTEKELES.TOROLT='F'
|
|
AND OSZTALYZAT.TOROLT = 'F'
|
|
AND C_ERTEKELESSZOVEG IS NOT NULL
|
|
AND SUBSTRING(ERTEKELES.C_ERTEKELESSZOVEG, 1, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',') - 1) IN ('rossz', 'változó', 'jó', 'példás', 'Vorbildlich', 'Gut', 'Wechselnd', 'Schlecht')
|
|
AND SUBSTRING (ERTEKELES.C_ERTEKELESSZOVEG, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',')+ 1, LEN(ERTEKELES.C_ERTEKELESSZOVEG)) IN ('hanyag', 'változó', 'jó', 'példás', 'Vorbildlich', 'Gut', 'Wechselnd', 'Schlecht')
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
ERTEKELES.Id
|
|
, IIF(@isNemet = 0, 'Magatartás / Szorgalom', 'Betragen / Fleiss') TARGY
|
|
, ERTEKELES.C_ERTEKELESSZOVEG Ertekeles
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID
|
|
INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID
|
|
WHERE
|
|
ERTEKELES.C_TANEVID = @TanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
AND OSZTALYZAT.TOROLT = 'F'
|
|
AND C_ERTEKELESSZOVEG IS NOT NULL
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= C_ERTEKELESDATUM)
|
|
AND SUBSTRING(ERTEKELES.C_ERTEKELESSZOVEG, 1, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',') - 1) NOT IN ('rossz', 'változó', 'jó', 'példás')
|
|
AND SUBSTRING (ERTEKELES.C_ERTEKELESSZOVEG, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',')+ 1, LEN(ERTEKELES.C_ERTEKELESSZOVEG)) NOT IN ('hanyag', 'változó', 'jó', 'példás')
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
ERTEKELES.Id
|
|
, ISNULL(TARGY.C_NEVNYOMTATVANYBAN, TARGY.TARGYNEV) TARGY
|
|
, ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, ERT.C_NAME, dbo.fnGetDokumentumNemet(ERTEKELES.C_OSZTALYZAT))), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, CONVERT(NVARCHAR(MAX),ertekelesMegjegyzes.C_SZAZALEK)+' % ')) Ertekeles
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID
|
|
INNER JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT, C_ALTANTARGYKENTNYOMTATVANYBAN, C_FOTARGYE, C_NEVNYOMTATVANYBAN, C_TARGYKATEGORIA 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 T_CSOPORT_OSSZES cs ON cs.Id = ERTEKELES.C_OSZTALYCSOPORTID
|
|
WHERE
|
|
ERTEKELES.C_TANEVID = @tanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= C_ERTEKELESDATUM)
|
|
AND (cs.Id IS NULL OR cs.C_TIPUSA = 1034)
|
|
AND TARGY.C_TARGYKATEGORIA <> 1248
|
|
|
|
SELECT
|
|
FORMAT(te.C_ERTEKELESDATUM, 'yyyy.MM.dd.') Datum
|
|
,ertekeles.TargyNev Tantargy
|
|
,ertTipusa.C_NAME ErtTip
|
|
,ertModja.C_NAME ErtMod
|
|
,oe.c_tema Tema
|
|
,ertekelo.C_NYOMTATASINEV ErtekeloNev
|
|
,ertekeles.Ertekeles Osztalyzat
|
|
,tanulo.C_NYOMTATASINEV TanuloNev
|
|
,tanulo.C_NYOMTATASINEV + CAST(tanulo.Id AS NVARCHAR(MAX)) GroupParameter
|
|
FROM @Tanulok t
|
|
INNER JOIN T_TANULOERTEKELES_OSSZES te ON te.c_tanuloid = t.TanuloId
|
|
INNER JOIN @ertekelesek ertekeles on ertekeles.ErtekelesId = te.Id
|
|
LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON oe.Id = te.id
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ertTipusa ON ertTipusa.Id = te.C_ERTEKELESTIPUSA AND ertTipusa.C_TANEVID = @tanevid
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ertModja ON ertModja.Id = oe.C_ERTEKELESMODJA AND ertModja.C_TANEVID = @tanevid
|
|
INNER JOIN T_FELHASZNALO_OSSZES ertekelo ON ertekelo.Id = C_ERTEKELOID
|
|
INNER JOIN T_FELHASZNALO_OSSZES tanulo ON tanulo.Id = te.C_TANULOID
|
|
WHERE
|
|
EXISTS (SELECT TOP 1 C_TANULOID FROM @Tanulok WHERE TanuloId = C_TANULOID)
|
|
ORDER BY tanulo.C_NYOMTATASINEV, te.C_ERTEKELESDATUM
|
|
|
|
END
|
|
|
|
GO |