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,179 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('fnGetDokumentumErtekelesekOsztalyonkent') IS NOT NULL
BEGIN
DROP FUNCTION fnGetDokumentumErtekelesekOsztalyonkent
END
GO
CREATE FUNCTION fnGetDokumentumErtekelesekOsztalyonkent (@tanevId INT, @osztalyCsoportId INT, @ertekelesTipusa INT = NULL, @csakTanorai BIT = 1, @csakKivlasztottOsztalyCsoport BIT = 0, @atsoroltTanuloErtekelesek INT = 0)
RETURNS @retTanuloErtekeles TABLE
(
ErtekelesId INT primary key NOT NULL,
Datum DATE,
TipusId INT,
ErtekelesSzoveg NVARCHAR(MAX),
ErtekelesSzovegRovidNev NVARCHAR(3),
ErtekelesOsztalyzatId INT,
ErtekelesOsztalyzatValue INT,
ErtekelesOsztalyzatNev NVARCHAR(MAX),
ErtekelesSzazalek NVARCHAR(MAX),
MagatartasOsztalyzatId INT,
MagatartasOsztalyzatValue INT,
MagatartasOsztalyzatNev NVARCHAR(MAX),
MagatartasSzoveg NVARCHAR(MAX),
MagatartasSzovegRovidNev NVARCHAR(3),
MagatartasErtekId INT,
MagatartasErtek NVARCHAR(MAX),
MagatartasErtekOsztalyzatkent INT,
SzorgalomOsztalyzatId INT,
SzorgalomOsztalyzatValue INT,
SzorgalomOsztalyzatNev NVARCHAR(MAX),
SzorgalomSzoveg NVARCHAR(MAX),
SzorgalomSzovegRovidNev NVARCHAR(3),
SzorgalomErtekId INT,
SzorgalomErtek NVARCHAR(MAX),
SzorgalomErtekOsztalyzatkent INT,
TanuloId INT,
OsztalyCsoportId INT,
TantargyId INT,
TantargyNevZarojellel NVARCHAR(MAX),
TantargyNevNyomtatvanyban NVARCHAR(MAX),
TantargyNev NVARCHAR(MAX),
TargyKategoriaId INT,
FotargyE CHAR(1),
Altantargy CHAR(1),
FotargyId INT,
ErtekelesTema NVARCHAR(MAX),
ErtekeloId INT,
ErtekelesModjaId INT,
IsMagatartasSzorgalom CHAR(1),
Jeloles NVARCHAR(MAX),
JelolesAndErtekelesTema NVARCHAR(MAX)
)
AS
BEGIN
INSERT INTO @retTanuloErtekeles
SELECT
tanuloErtekeles.ID ErtekelesId
,tanuloErtekeles.C_DATUM Datum
,tanuloErtekeles.C_TIPUSID TipusId
,tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
,tanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV ErtekelesSzovegRovidNev
,tanuloErtekeles.C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId
,ertekelesOsztalyzat.C_VALUE ErtekelesOsztalyzatValue
,ertekelesOsztalyzat.C_NAME ErtekelesOsztalyzatNev
,IIF(tanuloErtekeles.C_ERTEKELESSZAZALEK IS NOT NULL --
,CONVERT(NVARCHAR(3), tanuloErtekeles.C_ERTEKELESSZAZALEK) + '%' --
,NULL) ErtekelesSzazalek
,tanuloErtekeles.C_MAGATARTASOSZTALYZATID MagatartasOsztalyzatId
,magatartasOsztalyzat.C_VALUE MagatartasOsztalyzatValue
,magatartasOsztalyzat.C_NAME MagatartasOsztalyzatNev
,tanuloErtekeles.C_MAGATARTASSZOVEG MagatartasSzoveg
,tanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV MagatartasSzovegRovidNev
,tanuloErtekeles.C_MAGATARTASERTEKID MagatartasErtekId
,magatartasErtek.C_NAME MagatartasErtek
,magatartasErtek.C_VALUE + 1 MagatartasErtekOsztalyzatkent
,tanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId
,szorgalomOsztalyzat.C_VALUE SzorgalomOsztalyzatValue
,szorgalomOsztalyzat.C_NAME SzorgalomOsztalyzatNev
,tanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg
,tanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV SzorgalomSzovegRovidNev
,tanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId
,szorgalomErtek.C_NAME SzorgalomErtek
,szorgalomErtek.C_VALUE + 1 SzorgalomErtekOsztalyzatkent
,tanuloErtekeles.C_TANULOID TanuloId
,tanuloErtekeles.C_OSZTALYCSOPORTID OsztalyCsoportId
,tanuloErtekeles.C_TANTARGYID TantargyId
,IIF(tantargy.C_NEV <> tantargy.C_NEVNYOMTATVANYBAN AND tantargy.C_NEVNYOMTATVANYBAN IS NOT NULL --
,C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')' --
,tantargy.C_NEV) TantargyNevZarojellel
,tantargy.C_NEVNYOMTATVANYBAN TantargyNevNyomtatvanyban
,tantargy.C_NEV TantargyNev
,tantargy.C_TARGYKATEGORIA TargyKategoriaId
,tantargy.C_FOTARGYE FotargyE
,tantargy.C_ALTANTARGYKENTNYOMTATVANYBAN Altantargy
,tantargy.C_FOTARGYID FotargyId
,tanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema
,tanuloErtekeles.C_ERTEKELOID ErtekeloId
,tanuloErtekeles.C_ERTEKELESMODID ErtekelesModjaId
,tanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
,IIF( --
tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1519, 1520), '<i>(' + CAST(CHAR(ROW_NUMBER() OVER (PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10)) + ')</i>', ''
) Jeloles
,IIF( --
tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1519, 1520), '<i>(' + CAST(CHAR(ROW_NUMBER() OVER (PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10)) + ')</i>: ' + tanuloErtekeles.C_ERTEKELESTEMA, ''
) JelolesAndErtekelesTema
FROM T_TANULOERTEKELES_OSSZES tanuloErtekeles
INNER JOIN
fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') tanulo ON
tanulo.TanuloId = tanuloErtekeles.C_TANULOID
LEFT JOIN
T_TANTARGY_OSSZES tantargy ON
tantargy.Id = tanuloErtekeles.C_TANTARGYID
AND (tantargy.C_TARGYKATEGORIA <> 1248 OR tantargy.C_TARGYKATEGORIA IS NULL)
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES ertekelesOsztalyzat ON
ertekelesOsztalyzat.ID = tanuloErtekeles.C_ERTEKELESOSZTALYZATID
AND ertekelesOsztalyzat.C_TANEVID = @tanevId
AND ertekelesOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus'
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES magatartasOsztalyzat ON
magatartasOsztalyzat.ID = tanuloErtekeles.C_MAGATARTASOSZTALYZATID
AND magatartasOsztalyzat.C_TANEVID = @tanevId
AND magatartasOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus'
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES szorgalomOsztalyzat ON
szorgalomOsztalyzat.ID = tanuloErtekeles.C_SZORGALOMOSZTALYZATID
AND szorgalomOsztalyzat.C_TANEVID = @tanevId
AND szorgalomOsztalyzat.C_TYPE LIKE 'OsztalyzatTipus'
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES magatartasErtek ON
magatartasErtek.ID = tanuloErtekeles.C_MAGATARTASERTEKID
AND magatartasErtek.C_TANEVID = @tanevId
AND magatartasErtek.C_TYPE LIKE 'MagatartasErtekelesTipus'
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES szorgalomErtek ON
szorgalomErtek.ID = tanuloErtekeles.C_SZORGALOMERTEKID
AND szorgalomErtek.C_TANEVID = @tanevId
AND szorgalomErtek.C_TYPE LIKE 'SzorgalomErtekelesTipus'
INNER JOIN
T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON
osztalyCsoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID AND osztalyCsoport.TOROLT = 'F'
LEFT JOIN
T_CSOPORT_OSSZES csoport ON
csoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
LEFT JOIN
T_OSZTALY_OSSZES osztaly ON
osztaly.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
WHERE
tanuloErtekeles.Torolt = 'F'
AND (@atsoroltTanuloErtekelesek > 0 OR (tanuloErtekeles.C_DATUM >= BelepesDatum AND C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId))))
AND (tanuloErtekeles.C_DATUM <= KilepesDatum OR KilepesDatum IS NULL)
AND (@ertekelesTipusa IS NULL OR C_TIPUSID = @ertekelesTipusa)
AND (@csakKivlasztottOsztalyCsoport = 0 OR C_OSZTALYCSOPORTID = @osztalyCsoportId)
AND (@csakTanorai = 0 OR osztaly.ID IS NOT NULL OR (csoport.ID IS NOT NULL AND csoport.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))))
IF @atsoroltTanuloErtekelesek = 1
BEGIN
DECLARE @osztalyTantargyak TABLE (TantargyId INT)
INSERT INTO @osztalyTantargyak
SELECT DISTINCT TantargyId FROM @retTanuloErtekeles
WHERE OsztalyCsoportId IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId))
UNION
SELECT DISTINCT C_TANTARGYID
FROM T_FOGLALKOZAS_OSSZES
INNER JOIN fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId) AS OSZTALYCSOPORT ON OSZTALYCSOPORT.ID = T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID
WHERE T_FOGLALKOZAS_OSSZES.TOROLT = 'F'
DELETE FROM @retTanuloErtekeles
WHERE ErtekelesId NOT IN (
SELECT ErtekelesId FROM @retTanuloErtekeles
WHERE TantargyId IS NULL OR TantargyId IN (SELECT TantargyId FROM @osztalyTantargyak)
)
END
RETURN
END;
GO

View File

@@ -0,0 +1,134 @@
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
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
SELECT
dbo.fnGetDokumentumDatumFormatum(Datum) Datum
,CASE --
WHEN (CAST(ErtekelesOsztalyzatValue AS NVARCHAR(MAX)) IS NOT NULL --
OR ErtekelesSzoveg IS NOT NULL --
OR ErtekelesSzazalek IS NOT NULL) --
THEN TantargyNevZarojellel --
WHEN (CAST(MagatartasOsztalyzatNev AS NVARCHAR(MAX)) IS NOT NULL --
OR MagatartasErtek IS NOT NULL --
OR MagatartasSzoveg IS NOT NULL) --
THEN 'Magatart<EFBFBD>s' --
WHEN (CAST(SzorgalomOsztalyzatNev AS NVARCHAR(MAX)) IS NOT NULL --
OR SzorgalomErtek IS NOT NULL --
OR SzorgalomSzoveg IS NOT NULL) --
THEN 'Szorgalom' --
END AS Tantargy
,ErtekelesTipusDictionary.C_NAME ErtTip
,ErtekelesModjaDictionary.C_NAME ErtMod
,ErtekelesTema Tema
,ErtekeloNeve.C_NYOMTATASINEV ErtekeloNev
,COALESCE(
CAST(ErtekelesTable.ErtekelesOsztalyzatValue AS NVARCHAR(MAX))
,ErtekelesTable.ErtekelesSzoveg
,ErtekelesTable.ErtekelesSzazalek + '%'
,ErtekelesTable.MagatartasOsztalyzatNev
,ErtekelesTable.MagatartasErtek
,ErtekelesTable.MagatartasSzoveg
,ErtekelesTable.SzorgalomOsztalyzatNev
,ErtekelesTable.SzorgalomErtek
,ErtekelesTable.SzorgalomSzoveg
) Osztalyzat
,TanuloNeve.C_NYOMTATASINEV TanuloNev
,TanuloNeve.C_NYOMTATASINEV + CAST(ErtekelesTable.TanuloId AS NVARCHAR(MAX)) GroupParameter
FROM fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT) ErtekelesTable
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
INNER JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId
INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = ErtekelesTable.TanuloId
WHERE
IsMagatartasSzorgalom = 'F'
UNION
SELECT
dbo.fnGetDokumentumDatumFormatum(Datum) Datum
,'Magatart<EFBFBD>s' Tantargy
,ErtekelesTipusDictionary.C_NAME ErtTip
,ErtekelesModjaDictionary.C_NAME ErtMod
,ErtekelesTema Tema
,ErtekeloNeve.C_NYOMTATASINEV ErtekeloNev
,COALESCE(
ErtekelesTable.MagatartasOsztalyzatNev
,ErtekelesTable.MagatartasErtek
,ErtekelesTable.MagatartasSzoveg
) Osztalyzat
,TanuloNeve.C_NYOMTATASINEV TanuloNev
,TanuloNeve.C_NYOMTATASINEV + CAST(ErtekelesTable.TanuloId AS NVARCHAR(MAX)) GroupParameter
FROM fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT) ErtekelesTable
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
INNER JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId
INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = ErtekelesTable.TanuloId
WHERE
IsMagatartasSzorgalom = 'T'
AND (MagatartasOsztalyzatNev IS NOT NULL OR MagatartasErtek IS NOT NULL OR MagatartasSzoveg IS NOT NULL)
UNION
SELECT
dbo.fnGetDokumentumDatumFormatum(Datum) Datum
,'Szorgalom' Tantargy
,ErtekelesTipusDictionary.C_NAME ErtTip
,ErtekelesModjaDictionary.C_NAME ErtMod
,ErtekelesTema Tema
,ErtekeloNeve.C_NYOMTATASINEV ErtekeloNev
,COALESCE(
ErtekelesTable.SzorgalomOsztalyzatNev
,ErtekelesTable.SzorgalomErtek
,ErtekelesTable.SzorgalomSzoveg
) Osztalyzat
,TanuloNeve.C_NYOMTATASINEV TanuloNev
,TanuloNeve.C_NYOMTATASINEV + CAST(ErtekelesTable.TanuloId AS NVARCHAR(MAX)) GroupParameter
FROM fnGetDokumentumErtekelesekOsztalyonkent(@TanevId, @OsztalyId, DEFAULT, 0, DEFAULT, DEFAULT) ErtekelesTable
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesTipusDictionary ON ErtekelesTipusDictionary.ID = ErtekelesTable.TipusId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ErtekelesModjaDictionary ON ErtekelesModjaDictionary.ID = ErtekelesTable.ErtekelesModjaId AND ErtekelesTipusDictionary.C_TANEVID = @TanevId
INNER JOIN T_FELHASZNALO_OSSZES ErtekeloNeve ON ErtekeloNeve.Id = ErtekelesTable.ErtekeloId
INNER JOIN T_FELHASZNALO_OSSZES TanuloNeve ON TanuloNeve.Id = ErtekelesTable.TanuloId
WHERE
IsMagatartasSzorgalom = 'T'
AND (SzorgalomOsztalyzatNev IS NOT NULL OR SzorgalomErtek IS NOT NULL OR SzorgalomSzoveg IS NOT NULL)
ORDER BY TanuloNeve.C_NYOMTATASINEV, Datum
END
GO