238 lines
12 KiB
Transact-SQL
238 lines
12 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
|
|
CREATE TABLE #temp
|
|
(
|
|
TANULOID INT
|
|
,TARGY NVARCHAR(MAX)
|
|
,Ertekeles NVARCHAR(MAX)
|
|
,Jegyzet NVARCHAR(MAX)
|
|
,ErtekelesJegyzettel NVARCHAR(MAX)
|
|
,SzovegesErtekeles NVARCHAR(MAX)
|
|
,Oraszam INT
|
|
,RENDEZ1 INT
|
|
,RENDEZ2 NVARCHAR(MAX)
|
|
,RENDEZ3 INT
|
|
,RENDEZ4 INT
|
|
,RENDEZ5 NVARCHAR(MAX)
|
|
)
|
|
|
|
INSERT INTO #temp
|
|
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
|
|
, -2 RENDEZ1
|
|
, NULL RENDEZ2
|
|
, NULL RENDEZ3
|
|
, NULL RENDEZ4
|
|
, NULL RENDEZ5
|
|
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)
|
|
|
|
|
|
INSERT INTO #TEMP
|
|
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
|
|
, -1 RENDEZ1
|
|
, NULL RENDEZ2
|
|
, NULL RENDEZ3
|
|
, NULL RENDEZ4
|
|
, NULL RENDEZ5
|
|
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)
|
|
|
|
INSERT INTO #TEMP
|
|
SELECT
|
|
ERTEKELES.C_TANULOID TANULOID
|
|
, IIF(@isNemet = 0, 'MAGATARTAS', 'Betragen') TARGY
|
|
, SUBSTRING(ERTEKELES.C_ERTEKELESSZOVEG, 1, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',') - 1) Ertekeles
|
|
, NULL Jegyzet
|
|
, SUBSTRING(ERTEKELES.C_ERTEKELESSZOVEG, 1, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',') - 1) ErtekelesJegyzettel
|
|
, SUBSTRING(ERTEKELES.C_ERTEKELESSZOVEG, 1, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',') - 1) SzovegesErtekeles
|
|
, NULL Oraszam
|
|
, -2 RENDEZ1
|
|
, NULL RENDEZ2
|
|
, NULL RENDEZ3
|
|
, NULL RENDEZ4
|
|
, NULL RENDEZ5
|
|
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_ERTEKELESTIPUSA = @ertekelesTipus
|
|
AND 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')
|
|
|
|
INSERT INTO #TEMP
|
|
SELECT
|
|
ERTEKELES.C_TANULOID TANULOID
|
|
, IIF(@isNemet = 0, 'SZORGALOM', 'Fleiss') TARGY
|
|
, SUBSTRING (ERTEKELES.C_ERTEKELESSZOVEG, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',')+ 1, LEN(ERTEKELES.C_ERTEKELESSZOVEG)) Ertekeles
|
|
, NULL Jegyzet
|
|
, SUBSTRING (ERTEKELES.C_ERTEKELESSZOVEG, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',')+ 1, LEN(ERTEKELES.C_ERTEKELESSZOVEG)) ErtekelesJegyzettel
|
|
, SUBSTRING (ERTEKELES.C_ERTEKELESSZOVEG, CHARINDEX(',', ERTEKELES.C_ERTEKELESSZOVEG + ',')+ 1, LEN(ERTEKELES.C_ERTEKELESSZOVEG)) SzovegesErtekeles
|
|
, NULL Oraszam
|
|
, -1 RENDEZ1
|
|
, NULL RENDEZ2
|
|
, NULL RENDEZ3
|
|
, NULL RENDEZ4
|
|
, NULL RENDEZ5
|
|
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_ERTEKELESTIPUSA = @ertekelesTipus
|
|
AND 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')
|
|
|
|
INSERT INTO #TEMP
|
|
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 RENDEZ1
|
|
, NULL RENDEZ2
|
|
, NULL RENDEZ3
|
|
, NULL RENDEZ4
|
|
, NULL RENDEZ5
|
|
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)
|
|
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')
|
|
|
|
INSERT INTO #TEMP
|
|
SELECT
|
|
ERTEKELES.C_TANULOID TANULOID
|
|
, ISNULL(TARGY.C_NEVNYOMTATVANYBAN, TARGY.C_NEV) 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
|
|
, CASE WHEN TARGY.C_FOTARGYID IS NULL THEN TargyKategoriaDictionary.C_ORDER ELSE FotargyKategoriaDictionary.C_ORDER END
|
|
, ISNULL(fotargy.C_NEV, TARGY.C_NEV)
|
|
, ISNULL(TARGY.C_FOTARGYID, Targy.ID)
|
|
, TARGY.C_FOTARGYID
|
|
, TARGY.C_NEV
|
|
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
|
INNER JOIN @Tanulok TANCSOPORT ON TANCSOPORT.TanuloId = ERTEKELES.C_TANULOID
|
|
INNER JOIN T_TANTARGY_OSSZES TARGY ON TARGY.ID = ERTEKELES.C_TANTARGYID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary on TARGY.C_TARGYKATEGORIA = TargyKategoriaDictionary.Id and TargyKategoriaDictionary.C_TANEVID = @tanevId
|
|
LEFT JOIN T_TANTARGY_OSSZES fotargy ON TARGY.C_FOTARGYID = fotargy.ID
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = fotargy.C_TARGYKATEGORIA AND FotargyKategoriaDictionary.C_INTEZMENYID = fotargy.C_INTEZMENYID AND FotargyKategoriaDictionary.C_TANEVID = fotargy.C_TANEVID
|
|
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
|
|
|
|
SELECT
|
|
TANULOID
|
|
,TARGY
|
|
,Ertekeles
|
|
,Jegyzet
|
|
,ErtekelesJegyzettel
|
|
,SzovegesErtekeles
|
|
,Oraszam
|
|
,RENDEZ1
|
|
FROM #temp
|
|
ORDER BY RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
|
|
END
|
|
|
|
GO |