139 lines
No EOL
6.9 KiB
Transact-SQL
139 lines
No EOL
6.9 KiB
Transact-SQL
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,
|
|
@isNemet BIT = 0
|
|
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
--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')
|
|
|
|
--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
|
|
, IIF(@isNemet = 0, 'MAGATARTAS', '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
|
|
, NULL Jegyzet
|
|
, 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)))) ErtekelesJegyzettel
|
|
, 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)))) SzovegesErtekeles
|
|
, NULL Oraszam
|
|
, 1 RENDEZ
|
|
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_ERTEKELESTIPUSA = @ertekelesTipus
|
|
AND 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.C_TANULOID TANULOID
|
|
, 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
|
|
, NULL Jegyzet
|
|
, 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)))) ErtekelesJegyzettel
|
|
, 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)))) SzovegesErtekeles
|
|
, NULL Oraszam
|
|
, 2 RENDEZ
|
|
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_ERTEKELESTIPUSA = @ertekelesTipus
|
|
AND 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.C_TANULOID TANULOID
|
|
, IIF(@isNemet = 0, 'Magatartás / Szorgalom', 'Betragen / Fleiss') TARGY
|
|
, ERTEKELES.C_ERTEKELESSZOVEG Ertekeles
|
|
, NULL Jegyzet
|
|
, ERTEKELES.C_ERTEKELESSZOVEG ErtekelesJegyzettel
|
|
, ERTEKELES.C_ERTEKELESSZOVEG SzovegesErtekeles
|
|
, NULL Oraszam
|
|
, 3 RENDEZ
|
|
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_ERTEKELESTIPUSA = @ertekelesTipus
|
|
AND 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)
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
ERTEKELES.C_TANULOID TANULOID
|
|
, 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
|
|
, ertekelesMegjegyzes.C_TEMA Jegyzet
|
|
, 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)+' % ')) + IIF(ertekelesMegjegyzes.C_TEMA IS NULL, '', +' * '+ertekelesMegjegyzes.C_TEMA) ErtekelesJegyzettel
|
|
, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, IIF(@isNemet = 0, ERT.C_NAME, dbo.fnGetDokumentumNemet(ERTEKELES.C_OSZTALYZAT))) SzovegesErtekeles
|
|
, Oraszam Oraszam
|
|
, TARGY.KAT RENDEZ
|
|
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 @Oraszamok oraszam ON oraszam.Tantargy = ERTEKELES.C_TANTARGYID AND oraszam.TanuloId = ERTEKELES.C_TANULOID
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.Id = ERTEKELES.C_OSZTALYCSOPORTID
|
|
WHERE
|
|
ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus
|
|
AND ERTEKELES.C_TANEVID = @tanevId
|
|
AND ERTEKELES.TOROLT='F'
|
|
AND (TARGY.C_FOTARGYE = 'T' OR TARGY.C_ALTANTARGYKENTNYOMTATVANYBAN='T')
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= C_ERTEKELESDATUM)
|
|
AND (cs.Id IS NULL OR cs.C_TIPUSA = 1034)
|
|
AND TARGY.C_TARGYKATEGORIA <> 1248
|
|
ORDER BY TANULOID, RENDEZ
|
|
|
|
END
|
|
|
|
GO |