This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,46 @@
IF OBJECT_ID('fnGetDokumentumErtekelesekOsztalyonkent') IS NOT NULL BEGIN
DROP FUNCTION fnGetDokumentumErtekelesekOsztalyonkent
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumErtekelesekOsztalyonkent (@tanevId INT, @osztalyId INT)
RETURNS TABLE
RETURN (
SELECT
C_ERTEKELESDATUM Datum
,C_ERTEKELESTIPUSA Tipusa
,C_ERTEKELESSZOVEG SzovegesErtekeles
,C_OSZTALYZAT OsztalyzatId
,jegy.C_VALUE Osztalyzat
,CONVERT(NVARCHAR(MAX),C_SZAZALEK)+' %' Szazalek
,C_TANTARGYID TantargyId
,C_TARGYKATEGORIA TargyKategoriaId
,IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV) TantargyNev
,C_FOTARGYE FotargyE
,C_ALTANTARGYKENTNYOMTATVANYBAN Altantargy
,te.C_TANULOID TanuloId
,te.C_OSZTALYCSOPORTID OsztalyCsoportId
,C_SZORGALOM SzorgalomId
,C_MAGATARTAS MagatartasId
,szorgalom.C_NAME Szorgalom
,magatartas.C_NAME Magatartas
,C_TEMA Megjegyzes
FROM T_TANULOERTEKELES_OSSZES te
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') tanulo ON tanulo.TanuloId = te.C_TANULOID
LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON oe.Id = te.Id
LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES ofoe ON ofoe.Id = te.Id
LEFT JOIN T_TANTARGY_OSSZES t ON t.Id = te.C_TANTARGYID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES jegy ON jegy.Id = C_OSZTALYZAT AND jegy.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalom ON szorgalom.Id = C_SZORGALOM AND szorgalom.C_TANEVID = @tanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartas ON magatartas.Id = C_MAGATARTAS AND magatartas.C_TANEVID = @tanevId
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.Id = te.C_OSZTALYCSOPORTID
WHERE
te.Torolt = 'F'
AND C_ERTEKELESDATUM >= BelepesDatum AND (C_ERTEKELESDATUM <= KilepesDatum OR KilepesDatum IS NULL)
AND (cs.Id IS NULL OR cs.C_TIPUSA = 1034)
)

View file

@ -0,0 +1,137 @@
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 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
, 'MAGATARTAS' TARGY
, ISNULL(CONVERT(NVARCHAR(MAX), ERT.C_NAME), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) Ertekeles
, NULL Jegyzet
, ISNULL(CONVERT(NVARCHAR(MAX), ERT.C_NAME), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) ErtekelesJegyzettel
, ISNULL(CONVERT(NVARCHAR(MAX), ERT.C_NAME), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) 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
, 'SZORGALOM' TARGY
, ISNULL(CONVERT(NVARCHAR(MAX), ERT.C_NAME), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) Ertekeles
, NULL Jegyzet
, ISNULL(CONVERT(NVARCHAR(MAX), ERT.C_NAME), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) ErtekelesJegyzettel
, ISNULL(CONVERT(NVARCHAR(MAX), ERT.C_NAME), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, JEGY.C_NAME)) 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
, 'Magatartás / Szorgalom' 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), ERT.C_NAME), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, CONVERT(NVARCHAR(MAX),ertekelesMegjegyzes.C_SZAZALEK)+' % ')) Ertekeles
, ertekelesMegjegyzes.C_TEMA Jegyzet
, ISNULL(CONVERT(NVARCHAR(MAX), ERT.C_NAME), ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, CONVERT(NVARCHAR(MAX),ertekelesMegjegyzes.C_SZAZALEK)+' % ')) + IIF(ertekelesMegjegyzes.C_TEMA IS NULL, '', +' * '+ertekelesMegjegyzes.C_TEMA) ErtekelesJegyzettel
, ISNULL(ERTEKELES.C_ERTEKELESSZOVEG, ERT.C_NAME) 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 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)
ORDER BY TANULOID, RENDEZ
END
GO