init
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent (@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
|
||||
ErtekelesId,
|
||||
Datum,
|
||||
TipusId,
|
||||
ErtekelesSzoveg,
|
||||
ErtekelesSzovegRovidNev,
|
||||
ErtekelesOsztalyzatId,
|
||||
ErtekelesOsztalyzatValue,
|
||||
ErtekelesOsztalyzatNev,
|
||||
ErtekelesSzazalek,
|
||||
MagatartasOsztalyzatId,
|
||||
MagatartasOsztalyzatValue,
|
||||
MagatartasOsztalyzatNev,
|
||||
MagatartasSzoveg,
|
||||
MagatartasSzovegRovidNev,
|
||||
MagatartasErtekId,
|
||||
MagatartasErtek,
|
||||
MagatartasErtekOsztalyzatkent,
|
||||
SzorgalomOsztalyzatId,
|
||||
SzorgalomOsztalyzatValue,
|
||||
SzorgalomOsztalyzatNev,
|
||||
SzorgalomSzoveg,
|
||||
SzorgalomSzovegRovidNev,
|
||||
SzorgalomErtekId,
|
||||
SzorgalomErtek,
|
||||
SzorgalomErtekOsztalyzatkent,
|
||||
TanuloId,
|
||||
OsztalyCsoportId,
|
||||
TantargyId,
|
||||
TantargyNevZarojellel,
|
||||
TantargyNevNyomtatvanyban,
|
||||
TantargyNev,
|
||||
TargyKategoriaId,
|
||||
FotargyE,
|
||||
Altantargy,
|
||||
FotargyId,
|
||||
ErtekelesTema,
|
||||
ErtekeloId,
|
||||
ErtekelesModjaId,
|
||||
IsMagatartasSzorgalom,
|
||||
Jeloles,
|
||||
JelolesAndErtekelesTema
|
||||
FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevId, @osztalyCsoportId, @ertekelesTipusa, 0, @csakKivlasztottOsztalyCsoport, @atsoroltTanuloErtekelesek)
|
||||
WHERE
|
||||
OsztalyCsoportId IN
|
||||
(
|
||||
1067 --Alapf. müv. okt. zeneművészeti csoport - egyéni főtanszak
|
||||
,1068 --Alapf. müv. okt. zeneművészeti csoport - csoportos főtanszak
|
||||
,1069 --Alapf. müv. okt. képző- és iparművészeti csoport
|
||||
,1070 --Alapf. müv. okt. táncművészeti csoport
|
||||
,1071 --Alapf. müv. okt. szín- és bábművészeti csoport
|
||||
,6756 --Alapf. műv. okt. zeneművészeti csoport - csoportos kötelezően választható
|
||||
,6757 --Alapf. műv. okt. zeneművészeti csoport - egyéni kötelezően választható
|
||||
,6758 --Alapf. műv. okt. zeneművészeti csoport - csoportos kötelező
|
||||
,6759 --Alapf. műv. okt. zeneművészeti csoport - egyéni kötelező
|
||||
,6760 --Alapf. műv. okt. zeneművészeti csoport - csoportos választható
|
||||
,6761 --Alapf. műv. okt. zeneművészeti csoport - egyéni választható
|
||||
)
|
||||
RETURN
|
||||
END
|
||||
GO
|
@@ -0,0 +1,360 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetDokumentumErtekelesek]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetDokumentumErtekelesek]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetDokumentumErtekelesek]
|
||||
@osztalyId INT,
|
||||
@tanevId INT,
|
||||
@ertekelesTipus INT,
|
||||
@isBizonyitvany INT = 0,
|
||||
@isNemet BIT = 0,
|
||||
@isMuveszetOktatasi 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')
|
||||
|
||||
--Osztályhoz tartozó értékelések
|
||||
CREATE TABLE #ErtekelesekTemp
|
||||
(
|
||||
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)
|
||||
)
|
||||
|
||||
IF (@isMuveszetOktatasi = 0)
|
||||
BEGIN
|
||||
INSERT INTO #ErtekelesekTemp
|
||||
SELECT
|
||||
ErtekelesId
|
||||
,Datum
|
||||
,TipusId
|
||||
,ErtekelesSzoveg
|
||||
,ErtekelesSzovegRovidNev
|
||||
,ErtekelesOsztalyzatId
|
||||
,ErtekelesOsztalyzatValue
|
||||
,ErtekelesOsztalyzatNev
|
||||
,ErtekelesSzazalek
|
||||
,MagatartasOsztalyzatId
|
||||
,MagatartasOsztalyzatValue
|
||||
,MagatartasOsztalyzatNev
|
||||
,MagatartasSzoveg
|
||||
,MagatartasSzovegRovidNev
|
||||
,MagatartasErtekId
|
||||
,MagatartasErtek
|
||||
,MagatartasErtekOsztalyzatkent
|
||||
,SzorgalomOsztalyzatId
|
||||
,SzorgalomOsztalyzatValue
|
||||
,SzorgalomOsztalyzatNev
|
||||
,SzorgalomSzoveg
|
||||
,SzorgalomSzovegRovidNev
|
||||
,SzorgalomErtekId
|
||||
,SzorgalomErtek
|
||||
,SzorgalomErtekOsztalyzatkent
|
||||
,TanuloId
|
||||
,OsztalyCsoportId
|
||||
,TantargyId
|
||||
,TantargyNevZarojellel
|
||||
,TantargyNevNyomtatvanyban
|
||||
,TantargyNev
|
||||
,TargyKategoriaId
|
||||
,FotargyE
|
||||
,Altantargy
|
||||
,FotargyId
|
||||
,ErtekelesTema
|
||||
,ErtekeloId
|
||||
,ErtekelesModjaId
|
||||
,IsMagatartasSzorgalom
|
||||
,Jeloles
|
||||
,JelolesAndErtekelesTema
|
||||
FROM fnGetDokumentumErtekelesekOsztalyonkent (@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO #ErtekelesekTemp
|
||||
SELECT
|
||||
ErtekelesId
|
||||
,Datum
|
||||
,TipusId
|
||||
,ErtekelesSzoveg
|
||||
,ErtekelesSzovegRovidNev
|
||||
,ErtekelesOsztalyzatId
|
||||
,ErtekelesOsztalyzatValue
|
||||
,ErtekelesOsztalyzatNev
|
||||
,ErtekelesSzazalek
|
||||
,MagatartasOsztalyzatId
|
||||
,MagatartasOsztalyzatValue
|
||||
,MagatartasOsztalyzatNev
|
||||
,MagatartasSzoveg
|
||||
,MagatartasSzovegRovidNev
|
||||
,MagatartasErtekId
|
||||
,MagatartasErtek
|
||||
,MagatartasErtekOsztalyzatkent
|
||||
,SzorgalomOsztalyzatId
|
||||
,SzorgalomOsztalyzatValue
|
||||
,SzorgalomOsztalyzatNev
|
||||
,SzorgalomSzoveg
|
||||
,SzorgalomSzovegRovidNev
|
||||
,SzorgalomErtekId
|
||||
,SzorgalomErtek
|
||||
,SzorgalomErtekOsztalyzatkent
|
||||
,TanuloId
|
||||
,OsztalyCsoportId
|
||||
,TantargyId
|
||||
,TantargyNevZarojellel
|
||||
,TantargyNevNyomtatvanyban
|
||||
,TantargyNev
|
||||
,TargyKategoriaId
|
||||
,FotargyE
|
||||
,Altantargy
|
||||
,FotargyId
|
||||
,ErtekelesTema
|
||||
,ErtekeloId
|
||||
,ErtekelesModjaId
|
||||
,IsMagatartasSzorgalom
|
||||
,Jeloles
|
||||
,JelolesAndErtekelesTema
|
||||
FROM fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent (@tanevId, @osztalyId, DEFAULT, 0, DEFAULT, DEFAULT)
|
||||
END
|
||||
|
||||
--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)
|
||||
,Jegyzet NVARCHAR(MAX)
|
||||
,Ertekeles NVARCHAR(MAX)
|
||||
,ErtekelesJegyzettel NVARCHAR(MAX)
|
||||
,Oraszam INT
|
||||
,RENDEZ1 INT
|
||||
,RENDEZ2 NVARCHAR(MAX)
|
||||
,RENDEZ3 INT
|
||||
,RENDEZ4 INT
|
||||
,RENDEZ5 NVARCHAR(MAX)
|
||||
)
|
||||
|
||||
INSERT INTO #temp
|
||||
SELECT
|
||||
ErtekelesTemp.TanuloId TANULOID
|
||||
,IIF(@isNemet = 0, 'MAGATARTAS', 'Betragen') TARGY
|
||||
,NULL
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, MagatartasErtek, dbo.fnGetDokumentumNemet(MagatartasOsztalyzatId))), ISNULL(MagatartasSzoveg, IIF(@isNemet = 0, MagatartasOsztalyzatNev, dbo.fnGetDokumentumNemet(MagatartasOsztalyzatId))))
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, MagatartasErtek, dbo.fnGetDokumentumNemet(MagatartasOsztalyzatId))), ISNULL(MagatartasSzoveg, IIF(@isNemet = 0, MagatartasOsztalyzatNev, dbo.fnGetDokumentumNemet(MagatartasOsztalyzatId)))) ErtekelesJegyzettel
|
||||
,NULL Oraszam
|
||||
,-1 RENDEZ1
|
||||
,'aaa' RENDEZ2
|
||||
,-1 RENDEZ3
|
||||
,-1 RENDEZ4
|
||||
,'aaa' RENDEZ5
|
||||
FROM #ErtekelesekTemp ErtekelesTemp
|
||||
INNER JOIN @Tanulok TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
WHERE
|
||||
(KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
||||
AND (MagatartasErtek IS NOT NULL OR MagatartasSzoveg IS NOT NULL OR MagatartasOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId = @ertekelesTipus --????
|
||||
|
||||
|
||||
INSERT INTO #TEMP
|
||||
SELECT
|
||||
ErtekelesTemp.TanuloId TANULOID
|
||||
,IIF(@isNemet = 0, 'SZORGALOM', 'Fleiss') TARGY
|
||||
,NULL
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, SzorgalomErtek, dbo.fnGetDokumentumNemet(SzorgalomOsztalyzatId))), ISNULL(SzorgalomSzoveg, IIF(@isNemet = 0, SzorgalomOsztalyzatNev, dbo.fnGetDokumentumNemet(SzorgalomOsztalyzatId))))
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, SzorgalomErtek, dbo.fnGetDokumentumNemet(SzorgalomOsztalyzatId))), ISNULL(SzorgalomSzoveg, IIF(@isNemet = 0, SzorgalomOsztalyzatNev, dbo.fnGetDokumentumNemet(SzorgalomOsztalyzatId)))) ErtekelesJegyzettel
|
||||
,NULL Oraszam
|
||||
,0 RENDEZ1
|
||||
,'aab' RENDEZ2
|
||||
,0 RENDEZ3
|
||||
,0 RENDEZ4
|
||||
,'aab' RENDEZ5
|
||||
FROM #ErtekelesekTemp ErtekelesTemp
|
||||
INNER JOIN @Tanulok TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
WHERE
|
||||
(KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
||||
AND (SzorgalomErtek IS NOT NULL OR SzorgalomSzoveg IS NOT NULL OR SzorgalomOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId = @ertekelesTipus --????
|
||||
|
||||
/*
|
||||
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
|
||||
ErtekelesTemp.TanuloId TANULOID
|
||||
,ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev) TARGY
|
||||
,ErtekelesTemp.ErtekelesTema
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, ErtekelesTemp.ErtekelesOsztalyzatNev, dbo.fnGetDokumentumNemet(ErtekelesTemp.ErtekelesOsztalyzatId))), ISNULL(ErtekelesTemp.ErtekelesSzoveg, CONVERT(NVARCHAR(MAX),ErtekelesTemp.ErtekelesSzazalek)+' % '))
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, ErtekelesTemp.ErtekelesOsztalyzatNev, dbo.fnGetDokumentumNemet(ErtekelesTemp.ErtekelesOsztalyzatId))), ISNULL(ErtekelesTemp.ErtekelesSzoveg, CONVERT(NVARCHAR(MAX),ErtekelesTemp.ErtekelesSzazalek)+' % ')) + IIF(ErtekelesTemp.ErtekelesTema IS NULL, '', +' * ' + ErtekelesTemp.ErtekelesTema) ErtekelesJegyzettel
|
||||
,Oraszam Oraszam
|
||||
,CASE WHEN ErtekelesTemp.FotargyId IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END
|
||||
,ISNULL(ISNULL(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV), ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev))
|
||||
,ISNULL(ErtekelesTemp.FotargyId, ErtekelesTemp.TantargyId)
|
||||
,ErtekelesTemp.FotargyId
|
||||
,ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev)
|
||||
FROM #ErtekelesekTemp ErtekelesTemp
|
||||
INNER JOIN @Tanulok TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
LEFT JOIN @Oraszamok OraszamTable ON OraszamTable.Tantargy = ErtekelesTemp.TantargyId AND OraszamTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = ErtekelesTemp.TargyKategoriaId AND TargyKategoriaDictionary.TOROLT = 'F' AND TargyKategoriaDictionary.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON Ertekelestemp.FotargyId = FotargyTable.ID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
|
||||
WHERE
|
||||
ErtekelesTemp.TipusId = @ertekelesTipus
|
||||
AND (ErtekelesTemp.FotargyE = 'T' OR ErtekelesTemp.Altantargy = 'T')
|
||||
AND (KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
||||
AND ErtekelesTemp.TargyKategoriaId <> 1248
|
||||
AND ErtekelesTemp.isMagatartasSzorgalom = 'F'
|
||||
|
||||
SELECT
|
||||
TANULOID
|
||||
,TARGY
|
||||
,Jegyzet
|
||||
,Ertekeles
|
||||
,ErtekelesJegyzettel
|
||||
,Oraszam
|
||||
,RENDEZ1
|
||||
,RENDEZ2
|
||||
,RENDEZ3
|
||||
,RENDEZ4
|
||||
,RENDEZ5
|
||||
FROM #temp
|
||||
ORDER BY RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,284 @@
|
||||
|
||||
IF OBJECT_ID('sp_GetDokumentumMulasztasok') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetDokumentumMulasztasok
|
||||
END
|
||||
GO
|
||||
|
||||
-- ===========================================================================
|
||||
-- Description: Dokumentumokban használt mulasztás összesítő osztály alapján
|
||||
-- ===========================================================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetDokumentumMulasztasok]
|
||||
@osztalyId INT
|
||||
,@tanevId INT
|
||||
,@elmeletGyakorlat BIT = 0
|
||||
,@kesesTipus INT = 1499
|
||||
,@elmeletiOraPercben INT = 45
|
||||
,@gyakorlatiOraPercben INT = 60
|
||||
,@ertekelesTipus INT
|
||||
,@iskolaErdekuSzamit BIT
|
||||
,@isMuveszetOktatasi BIT = 0
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @Tanulok table (
|
||||
tanuloId int PRIMARY KEY
|
||||
);
|
||||
|
||||
INSERT INTO @Tanulok
|
||||
SELECT TanuloId
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T')
|
||||
|
||||
DECLARE @Idoszak INT
|
||||
DECLARE @IdoszakElsoNap INT
|
||||
DECLARE @IdoszakKezdete DATE
|
||||
DECLARE @IdoszakVege DATE
|
||||
|
||||
SET @Idoszak =
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1400 --félévi
|
||||
WHEN 1520 THEN 1395 --év végi
|
||||
WHEN 1522 THEN 1403 --I. negyedévi
|
||||
WHEN 1524 THEN 1400 --II. negyedévi
|
||||
WHEN 1523 THEN 1404 --III. negyedévi
|
||||
END
|
||||
|
||||
SET @IdoszakElsoNap =
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1394 --félévi
|
||||
WHEN 1520 THEN 1394 --év végi
|
||||
WHEN 1522 THEN 1394 --I. negyedévi
|
||||
WHEN 1524 THEN 1403 --II. negyedévi
|
||||
WHEN 1523 THEN 1400 --III. negyedévi
|
||||
END
|
||||
|
||||
DECLARE @SzurtCsoportTipusok TABLE (CsoportTipusId INT)
|
||||
IF (@isMuveszetOktatasi = 0)
|
||||
BEGIN
|
||||
INSERT INTO @SzurtCsoportTipusok
|
||||
SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @SzurtCsoportTipusok
|
||||
SELECT Id FROM T_CSOPORTTIPUS_OSSZES
|
||||
WHERE
|
||||
C_ALTANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
AND Id IN
|
||||
(
|
||||
1067 --Alapf. müv. okt. zeneművészeti csoport - egyéni főtanszak
|
||||
,1068 --Alapf. müv. okt. zeneművészeti csoport - csoportos főtanszak
|
||||
,1069 --Alapf. müv. okt. képző- és iparművészeti csoport
|
||||
,1070 --Alapf. müv. okt. táncművészeti csoport
|
||||
,1071 --Alapf. müv. okt. szín- és bábművészeti csoport
|
||||
,6756 --Alapf. műv. okt. zeneművészeti csoport - csoportos kötelezően választható
|
||||
,6757 --Alapf. műv. okt. zeneművészeti csoport - egyéni kötelezően választható
|
||||
,6758 --Alapf. műv. okt. zeneművészeti csoport - csoportos kötelező
|
||||
,6759 --Alapf. műv. okt. zeneművészeti csoport - egyéni kötelező
|
||||
,6760 --Alapf. műv. okt. zeneművészeti csoport - csoportos választható
|
||||
,6761 --Alapf. műv. okt. zeneművészeti csoport - egyéni választható
|
||||
)
|
||||
END
|
||||
|
||||
SET @IdoszakKezdete = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = @IdoszakElsoNap AND C_TANEVID = @tanevId AND TOROLT='F')
|
||||
SET @IdoszakVege = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = @Idoszak AND C_TANEVID = @tanevId AND TOROLT='F')
|
||||
|
||||
|
||||
|
||||
SELECT
|
||||
t.TANULOID tanuloid
|
||||
,m.Igazolt
|
||||
,m.Igazolatlan
|
||||
,m.ElmeletIgazolt
|
||||
,m.ElmeletIgazolatlan
|
||||
,m.GyakorlatiIgazolt
|
||||
,m.GyakorlatiIgazolatlan
|
||||
,m.ElmeletOsszes
|
||||
,m.GyakorlatOsszes
|
||||
,m.Osszes
|
||||
FROM @Tanulok t
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT
|
||||
m.tanuloId
|
||||
,ISNULL(m.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(m.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0) Igazolt
|
||||
,ISNULL(m.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(m.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0) Igazolatlan
|
||||
,ISNULL(m.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0) ElmeletIgazolt
|
||||
,ISNULL(m.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) ElmeletIgazolatlan
|
||||
,ISNULL(m.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0) GyakorlatiIgazolt
|
||||
,ISNULL(m.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0) GyakorlatiIgazolatlan
|
||||
,ISNULL(m.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0)
|
||||
+ ISNULL(m.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) ElmeletOsszes
|
||||
,ISNULL(m.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
||||
+ ISNULL(m.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0) GyakorlatOsszes
|
||||
,ISNULL(m.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(m.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
||||
+ ISNULL(m.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(m.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0) Osszes
|
||||
FROM (
|
||||
SELECT
|
||||
tanuloId,
|
||||
[hianyzasIgazoltTanoraiElmeleti], [hianyzasIgazoltTanoraiGyakorlati],
|
||||
[hianyzasIgazolatlanTanoraiElmeleti], [hianyzasIgazolatlanTanoraiGyakorlati],
|
||||
[kesesIgazoltTanoraiElmeleti],[kesesIgazoltTanoraiGyakorlati],
|
||||
[kesesIgazolatlanTanoraiElmeleti], [kesesIgazolatlanTanoraiGyakorlati]
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId
|
||||
,CASE mulasztasTipus WHEN 1500 THEN 'Hianyzas' WHEN 1499 THEN 'Keses' END +
|
||||
CASE WHEN isIgazolt IS NULL THEN 'Igazolando' WHEN isIgazolt = 'T' THEN 'Igazolt' WHEN isIgazolt = 'F' THEN 'Igazolatlan' END +
|
||||
CASE isTanorai WHEN 'T' THEN 'Tanorai' WHEN 'F' THEN 'TanoranKivuli' END +
|
||||
CASE isGyakorlati WHEN 'T' THEN 'Gyakorlati' WHEN 'F' THEN 'Elmeleti' END
|
||||
AS piv
|
||||
,cnt
|
||||
FROM (
|
||||
SELECT
|
||||
m.C_ORATANULOIID AS tanuloId
|
||||
,m.C_TIPUS mulasztasTipus
|
||||
,m.C_IGAZOLT isIgazolt
|
||||
,IIF(cs.ID IS NULL, 'T', 'F') AS isTanorai
|
||||
,IIF(t.C_GYAKORLATI='T', 'T', 'F') as isGyakorlati
|
||||
,COUNT(1) AS cnt
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN @Tanulok tanulok ON tanulok.TanuloId = m.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = m.C_TANITASIORAKID
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.id=tn.C_TANTARGYID
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON tn.C_OSZTALYCSOPORTID = cs.ID AND cs.C_TIPUSA NOT IN (SELECT CsoportTipusId FROM @SzurtCsoportTipusok)
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID AND tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
WHERE
|
||||
tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
||||
AND m.C_TANEVID = @tanevId
|
||||
AND m.Torolt ='F'
|
||||
AND tn.Torolt ='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > tn.C_DATUM)
|
||||
AND m.C_TIPUS IN (1500 ,1499)
|
||||
AND (@isMuveszetOktatasi = 0 OR cs.ID IS NOT NULL)
|
||||
GROUP BY m.C_ORATANULOIID, m.C_TIPUS, m.C_IGAZOLT, IIF(cs.ID IS NULL, 'T', 'F'), t.C_GYAKORLATI
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(cnt)
|
||||
FOR piv IN (
|
||||
[hianyzasIgazoltTanoraiElmeleti], [hianyzasIgazoltTanoraiGyakorlati],
|
||||
[hianyzasIgazolatlanTanoraiElmeleti], [hianyzasIgazolatlanTanoraiGyakorlati],
|
||||
[kesesIgazoltTanoraiElmeleti],[kesesIgazoltTanoraiGyakorlati],
|
||||
[kesesIgazolatlanTanoraiElmeleti], [kesesIgazolatlanTanoraiGyakorlati]
|
||||
)
|
||||
) AS pvt
|
||||
) m
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,[kesesIgazolandoTanoraiPerc]
|
||||
,[kesesIgazoltTanoraiPerc]
|
||||
,[kesesIgazolatlanTanoraiPerc]
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId
|
||||
,'Keses' +
|
||||
CASE WHEN isIgazolt IS NULL THEN 'Igazolando' WHEN isIgazolt = 'T' THEN 'Igazolt' WHEN isIgazolt = 'F' THEN 'Igazolatlan' END +
|
||||
'TanoraiPerc' AS piv
|
||||
,kesesPercben
|
||||
FROM (
|
||||
SELECT
|
||||
m.C_ORATANULOIID AS tanuloId
|
||||
,m.C_IGAZOLT isIgazolt
|
||||
,SUM(m.C_KESESPERCBEN) AS kesesPercben
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN @Tanulok tanulok ON tanulok.TanuloId = m.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = m.C_TANITASIORAKID
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID AND tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
WHERE
|
||||
tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
||||
AND m.C_TANEVID = @tanevId
|
||||
AND m.Torolt ='F'
|
||||
AND tn.Torolt ='F'
|
||||
AND (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT CsoportTipusId FROM @SzurtCsoportTipusok))
|
||||
AND (@isMuveszetOktatasi = 0 OR cs.ID IS NOT NULL)
|
||||
AND m.C_TIPUS = 1499
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > tn.C_DATUM)
|
||||
GROUP BY m.C_ORATANULOIID, m.C_IGAZOLT
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(kesesPercben)
|
||||
FOR piv IN
|
||||
([kesesIgazolandoTanoraiPerc], [kesesIgazoltTanoraiPerc], [kesesIgazolatlanTanoraiPerc])
|
||||
) AS pvt
|
||||
) k ON k.tanuloId = m.tanuloId
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,SUM(kesesIgazolandoTanoraiPluszOra) AS kesesIgazolandoTanoraiPluszOra
|
||||
,SUM(kesesIgazoltTanoraiPluszOra) AS kesesIgazoltTanoraiPluszOra
|
||||
,SUM(kesesIgazolatlanTanoraiPluszOra) AS kesesIgazolatlanTanoraiPluszOra
|
||||
,SUM(kesesIgazoltElmeletiOraban) AS kesesIgazoltElmeletiOraban
|
||||
,SUM(kesesIgazolatlanElmeletiOraban) AS kesesIgazolatlanElmeletiOraban
|
||||
,SUM(kesesIgazoltGyakorlatiOraban) AS kesesIgazoltGyakorlatiOraban
|
||||
,SUM(kesesIgazolatlanGyakorlatiOraban) AS kesesIgazolatlanGyakorlatiOraban
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId
|
||||
,'Keses' +
|
||||
CASE
|
||||
WHEN isIgazolt IS NULL THEN 'Igazolando'
|
||||
WHEN isIgazolt = 'T' THEN 'Igazolt'
|
||||
WHEN isIgazolt = 'F' THEN 'Igazolatlan'
|
||||
END + 'TanoraiPluszOra' AS piv
|
||||
,kesesOraban
|
||||
,kesesIgazoltElmeletiOraban
|
||||
,kesesIgazolatlanElmeletiOraban
|
||||
,kesesIgazoltGyakorlatiOraban
|
||||
,kesesIgazolatlanGyakorlatiOraban
|
||||
FROM (
|
||||
SELECT
|
||||
xx.tanuloId
|
||||
,xx.isIgazolt
|
||||
,SUM(xx.keses / (CASE WHEN isGyakorlati = 'F' THEN @elmeletiOraPercben ELSE @gyakorlatiOraPercben END)) AS kesesOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'F' and isIgazolt='T' THEN xx.keses / @elmeletiOraPercben ELSE 0 END) AS kesesIgazoltElmeletiOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'F' and isIgazolt='F' THEN xx.keses / @elmeletiOraPercben ELSE 0 END) AS kesesIgazolatlanElmeletiOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'T' and isIgazolt='T' THEN xx.keses / @gyakorlatiOraPercben ELSE 0 END) AS kesesIgazoltGyakorlatiOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'T' and isIgazolt='F' THEN xx.keses / @gyakorlatiOraPercben ELSE 0 END) AS kesesIgazolatlanGyakorlatiOraban
|
||||
FROM (
|
||||
SELECT
|
||||
m.C_ORATANULOIID AS tanuloId
|
||||
,m.C_IGAZOLT isIgazolt
|
||||
,t.C_GYAKORLATI AS isGyakorlati
|
||||
,SUM(m.C_KESESPERCBEN) AS keses
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN @Tanulok tanulok ON tanulok.TanuloId = m.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = m.C_TANITASIORAKID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = tn.C_TANTARGYID
|
||||
LEFT JOIN T_CSOPORT_OSSZES cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID and tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
WHERE m.C_TANEVID = @tanevId
|
||||
AND (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT CsoportTipusId FROM @SzurtCsoportTipusok))
|
||||
AND (@isMuveszetOktatasi = 0 OR cs.ID IS NOT NULL)
|
||||
AND m.C_TIPUS = 1499
|
||||
AND m.TOROLT = 'F'
|
||||
AND tn.Torolt ='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > tn.C_DATUM)
|
||||
AND tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
||||
GROUP BY m.C_ORATANULOIID, m.C_IGAZOLT, t.C_GYAKORLATI
|
||||
) xx
|
||||
GROUP BY tanuloId, xx.isIgazolt
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(kesesOraban)
|
||||
FOR piv IN (
|
||||
kesesIgazolandoTanoraiPluszOra, kesesIgazoltTanoraiPluszOra, kesesIgazolatlanTanoraiPluszOra
|
||||
)
|
||||
) AS pvt
|
||||
GROUP BY tanuloId
|
||||
) kp ON m.tanuloId = kp.tanuloId
|
||||
) m on m.tanuloId=t.tanuloId
|
||||
END
|
||||
GO
|
||||
|
@@ -0,0 +1,290 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetErtesitoNyomtatvany]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetErtesitoNyomtatvany]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =====================================================================
|
||||
-- Description: értesítõ nyomtatvány (félévi, év végi, I. negyedévi...)
|
||||
-- =====================================================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetErtesitoNyomtatvany]
|
||||
@osztalyId INT,
|
||||
@tanevId INT,
|
||||
@ertekelesTipus INT,
|
||||
@elmeletGyakorlat BIT = 0,
|
||||
@kesesTipus INT = 1499,
|
||||
@elmeletiOraPercben INT = 45,
|
||||
@gyakorlatiOraPercben INT = 60,
|
||||
@iskolaErdekuSzamit BIT,
|
||||
@isKozossegiSzolgalat BIT,
|
||||
@pTanuloIdXML XML = NULL,
|
||||
@isMuveszetOktatasi BIT = 0
|
||||
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Fejléc
|
||||
SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
|
||||
T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
|
||||
dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime,
|
||||
T_INTEZMENYADATOK_OSSZES.C_OMKOD OMKod,
|
||||
T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
|
||||
T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
|
||||
T_TANEV_OSSZES.C_NEV TANEV,
|
||||
T_INTEZMENYADATOK_OSSZES.C_VAROS VAROS,
|
||||
(SELECT OFO.C_NYOMTATASINEV FROM T_OSZTALY_OSSZES
|
||||
INNER JOIN T_FELHASZNALO_OSSZES OFO
|
||||
ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID
|
||||
WHERE T_OSZTALY_OSSZES.ID=@osztalyId
|
||||
AND T_OSZTALY_OSSZES.TOROLT = 'F') OSZTALYFONOK,
|
||||
(SELECT to2.C_NEV FROM T_OSZTALYCSOPORT_OSSZES to2 WHERE ID = @osztalyId AND TOROLT = 'F') OSZTALYNEV,
|
||||
GETDATE() Datum
|
||||
FROM T_INTEZMENYADATOK_OSSZES
|
||||
INNER JOIN T_TANEV_OSSZES
|
||||
ON T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID AND T_TANEV_OSSZES.TOROLT = 'F'
|
||||
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
|
||||
AND T_TANEV_OSSZES.ID = @TanevId
|
||||
|
||||
-- TANULÓK
|
||||
DECLARE @Tanulok TABLE (TANULOID INT, TANULONEV NVARCHAR(MAX), OKTATASIAZONOSITO NVARCHAR(MAX), TORZSLAPSZAM NVARCHAR(MAX), SZULHELY NVARCHAR(MAX), SZULIDO NVARCHAR(MAX), ANYJANEVE NVARCHAR(MAX))
|
||||
|
||||
|
||||
DECLARE @ValasztottTanulok TABLE(Id int PRIMARY KEY)
|
||||
IF @pTanuloIdXML IS NOT NULL BEGIN
|
||||
INSERT INTO @ValasztottTanulok(Id)
|
||||
SELECT Data FROM fnConvertXmlIntListToTable(@pTanuloIdXML, 'a', 'b')
|
||||
|
||||
INSERT INTO @Tanulok
|
||||
SELECT
|
||||
tanulok.TanuloId
|
||||
,felhasznalo.C_NYOMTATASINEV
|
||||
,felhasznalo.C_OKTATASIAZONOSITO
|
||||
,felhasznalo.C_NYILVANTARTASISZAM
|
||||
,felhasznalo.C_SZULETESIHELY
|
||||
,dbo.fnGetDokumentumDatumFormatum(felhasznalo.C_SZULETESIDATUM)
|
||||
,felhasznalo.C_ANYJANEVE
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') tanulok
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo on felhasznalo.Id=tanulok.TanuloId
|
||||
INNER JOIN @ValasztottTanulok vt ON vt.Id = tanulok.TanuloId
|
||||
|
||||
SELECT * FROM @Tanulok ORDER BY TANULONEV
|
||||
|
||||
END
|
||||
ELSE BEGIN
|
||||
|
||||
INSERT INTO @Tanulok
|
||||
SELECT
|
||||
tanulok.TanuloId
|
||||
,felhasznalo.C_NYOMTATASINEV
|
||||
,felhasznalo.C_OKTATASIAZONOSITO
|
||||
,felhasznalo.C_NYILVANTARTASISZAM
|
||||
,felhasznalo.C_SZULETESIHELY
|
||||
,dbo.fnGetDokumentumDatumFormatum(felhasznalo.C_SZULETESIDATUM)
|
||||
,felhasznalo.C_ANYJANEVE
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') tanulok
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo on felhasznalo.Id=tanulok.TanuloId
|
||||
|
||||
SELECT * FROM @Tanulok ORDER BY TANULONEV
|
||||
|
||||
END
|
||||
|
||||
-- ÉRTÉKELÉSEK
|
||||
DECLARE @Ertekelesek TABLE (
|
||||
TanuloId INT
|
||||
,Targy NVARCHAR(MAX)
|
||||
,Jegyzet NVARCHAR(MAX)
|
||||
,Ertekeles NVARCHAR(MAX)
|
||||
,ErtekelesJegyzettel NVARCHAR(MAX)
|
||||
,Oraszam INT
|
||||
,RENDEZ1 INT
|
||||
,RENDEZ2 NVARCHAR(MAX)
|
||||
,RENDEZ3 INT
|
||||
,RENDEZ4 INT
|
||||
,RENDEZ5 NVARCHAR(MAX)
|
||||
)
|
||||
|
||||
INSERT INTO @Ertekelesek
|
||||
EXEC sp_GetDokumentumErtekelesek
|
||||
@osztalyId = @osztalyId,
|
||||
@tanevId = @tanevId,
|
||||
@ertekelesTipus = @ertekelesTipus,
|
||||
@isMuveszetOktatasi = @isMuveszetOktatasi
|
||||
|
||||
SELECT
|
||||
TanuloTable.TanuloId
|
||||
,Targy
|
||||
,Jegyzet
|
||||
,Ertekeles
|
||||
,ErtekelesJegyzettel
|
||||
,Oraszam
|
||||
,RENDEZ1
|
||||
,RENDEZ2
|
||||
,RENDEZ3
|
||||
,RENDEZ4
|
||||
,RENDEZ5
|
||||
,'' TanarNev
|
||||
FROM
|
||||
@Ertekelesek ertekeles
|
||||
INNER JOIN @Tanulok TanuloTable ON TanuloTable.TanuloId = ertekeles.TanuloId
|
||||
ORDER BY RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
|
||||
|
||||
-- MULASZTÁSOK
|
||||
DECLARE @Mulasztasok TABLE (
|
||||
TanuloId INT
|
||||
,Igazolt INT
|
||||
,Igazolatlan INT
|
||||
,ElmeletIgazolt INT
|
||||
,ElmeletIgazolatlan INT
|
||||
,GyakorlatIgazolt INT
|
||||
,GyakorlatIgazolatlan INT
|
||||
,ElmeletOsszes INT
|
||||
,GyakorlatOsszes INT
|
||||
,Osszes INT
|
||||
)
|
||||
|
||||
INSERT INTO @Mulasztasok
|
||||
EXEC sp_GetDokumentumMulasztasok
|
||||
@osztalyId = @osztalyId,
|
||||
@tanevId = @tanevId,
|
||||
@elmeletGyakorlat = @elmeletGyakorlat,
|
||||
@kesesTipus = @kesesTipus,
|
||||
@elmeletiOraPercben = @elmeletiOraPercben,
|
||||
@gyakorlatiOraPercben = @gyakorlatiOraPercben,
|
||||
@ertekelesTipus = @ertekelesTipus,
|
||||
@iskolaErdekuSzamit = @iskolaErdekuSzamit,
|
||||
@isMuveszetOktatasi = @isMuveszetOktatasi
|
||||
|
||||
SELECT
|
||||
TanuloTable.TanuloId
|
||||
,Igazolt
|
||||
,Igazolatlan
|
||||
,ElmeletIgazolt
|
||||
,ElmeletIgazolatlan
|
||||
,GyakorlatIgazolt
|
||||
,GyakorlatIgazolatlan
|
||||
,ElmeletOsszes
|
||||
,GyakorlatOsszes
|
||||
,Osszes
|
||||
FROM @Mulasztasok mulasztasok
|
||||
INNER JOIN @Tanulok TanuloTable ON mulasztasok.TanuloId = TanuloTable.TanuloId
|
||||
|
||||
-- TANTÁRGYI MENTESSÉGEK
|
||||
SELECT
|
||||
TanuloTable.TanuloId TANULOID
|
||||
,mentesseg.tantargyNev TARGYNEV
|
||||
,'(' + ISNULL(IIF(mentesseg = '', '', LEFT(mentesseg, LEN(mentesseg)- 1)),' ') + ') ' + mentesseg.mentessegOka MENTESSEGOKA
|
||||
FROM @Tanulok TanuloTable
|
||||
INNER JOIN (SELECT DISTINCT
|
||||
mentesseg.C_TANULOID tanuloId
|
||||
, IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV) tantargyNev
|
||||
, mentesseg.C_MENTESSEGOKA + ' ' + ISNULL('(' + FORMAT(C_KEZDETE, 'yyyy.MM.dd.') + ' - ', '') + ISNULL(FORMAT(C_VEGE, 'yyyy.MM.dd.') + ')', IIF(C_KEZDETE IS NULL, '', ')' )) mentessegOka
|
||||
, IIF(mentesseg.C_ERTEKELESMENTESITES = 'T', 'Értékelésmentesség, ', '') + IIF(mentesseg.C_ORAMENTESITES = 'T', 'Óramentesség, ', '') as mentesseg
|
||||
FROM T_TANULOMENTESSEG_OSSZES mentesseg
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.ID=mentesseg.C_TANTARGYID
|
||||
INNER JOIN @Tanulok Tanulok ON Tanulok.TanuloId = mentesseg.C_TANULOID
|
||||
INNER JOIN @Tanulok vt ON Tanulok.TanuloId = vt.TanuloId
|
||||
WHERE
|
||||
mentesseg.TOROLT='F'
|
||||
AND mentesseg.C_TANEVID=@tanevId
|
||||
) mentesseg ON TanuloTable.TanuloId = mentesseg.TANULOID
|
||||
|
||||
DECLARE @EsemenyTipus INT
|
||||
SET @EsemenyTipus = (SELECT
|
||||
CASE
|
||||
WHEN @ertekelesTipus = 1519 THEN 1547 --félévi
|
||||
WHEN @ertekelesTipus = 1520 THEN 1548 --év végi
|
||||
WHEN @ertekelesTipus = 1522 THEN 1549 --I. negyedévi
|
||||
WHEN @ertekelesTipus = 1524 THEN 1550 --II. negyedévi
|
||||
WHEN @ertekelesTipus = 1523 then 1551 --III. negyedévi
|
||||
END
|
||||
)
|
||||
|
||||
--Bejegyzések
|
||||
DECLARE @FelevVege DATE = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F')
|
||||
|
||||
SELECT
|
||||
TanuloTable.TanuloId
|
||||
,'A félév során ' + CAST(SUM(Oraszam) AS NVARCHAR(MAX)) + ' óra közösségi szolgálatot teljesített.' Bejegyzes
|
||||
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent (@tanevId, @osztalyId) bejegyzes
|
||||
INNER JOIN @Tanulok TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId
|
||||
WHERE
|
||||
@isKozossegiSzolgalat = 1
|
||||
AND Datum <= @FelevVege
|
||||
GROUP BY TanuloTable.TanuloId
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
bejegyzes.TanuloId TanuloId
|
||||
,Tartalom Bejegyzes
|
||||
FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId) bejegyzes
|
||||
INNER JOIN @Tanulok TanuloTable ON bejegyzes.TanuloId = TanuloTable.TanuloId
|
||||
WHERE
|
||||
Tipusa IN (1546, @EsemenyTipus)
|
||||
|
||||
UNION
|
||||
|
||||
-- Határozatok
|
||||
SELECT DISTINCT
|
||||
C_TANULOID TanuloId
|
||||
,tcs.C_ZARADEK Bejegyzes
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
WHERE
|
||||
tcs.C_TANULOID IN (SELECT TanuloId from @Tanulok)
|
||||
AND TOROLT = 'F'
|
||||
AND C_ZARADEK IS NOT NULL
|
||||
AND LEN(C_ZARADEK) > 0
|
||||
AND C_TANEVID = @tanevId
|
||||
AND C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES WHERE TOROLT = 'F')
|
||||
AND @ertekelesTipus = 1520
|
||||
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT
|
||||
C_TANULOID TanuloId
|
||||
,tcs.C_VEGZARADEK Bejegyzes
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
WHERE
|
||||
tcs.C_TANULOID IN (SELECT TanuloId from @Tanulok)
|
||||
AND TOROLT = 'F'
|
||||
AND C_VEGZARADEK IS NOT NULL
|
||||
AND LEN(C_VEGZARADEK) > 0
|
||||
AND C_TANEVID = @tanevId
|
||||
AND C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES WHERE TOROLT = 'F')
|
||||
AND @ertekelesTipus = 1520
|
||||
|
||||
|
||||
--TANULÓ elérhetőségei
|
||||
SELECT DISTINCT
|
||||
tanulo.TanuloId tanuloID
|
||||
,Gondviselo.C_NEV + IIF(Gondviselo.C_ISTORVENYESKEPVISELO = 'T', ' (törvényes)', '') GondviseloNeve
|
||||
|
||||
FROM T_GONDVISELO_OSSZES Gondviselo
|
||||
INNER JOIN @Tanulok TanuloTable ON Gondviselo.C_TANULOID = TanuloTable.TanuloId
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'F') tanulo ON tanulo.TanuloId = Gondviselo.C_TANULOID
|
||||
WHERE
|
||||
Gondviselo.TOROLT = 'F'
|
||||
|
||||
|
||||
SELECT DISTINCT
|
||||
TanuloTable.TanuloId tanuloID
|
||||
,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM CimText
|
||||
,cimTipus.C_NAME CimTipusa
|
||||
FROM @Tanulok TanuloTable
|
||||
INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloTable.TanuloId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipus ON cim.C_CIMTIPUSA = cimTipus.ID AND cimTipus.C_TANEVID = @tanevId
|
||||
WHERE
|
||||
cim.TOROLT = 'F'
|
||||
AND cim.C_TANEVID = @tanevId
|
||||
|
||||
END
|
||||
|
||||
GO
|
Reference in New Issue
Block a user