init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,118 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumMulasztasokOsztalyonkentReszletes
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumMulasztasokOsztalyonkentReszletes (
|
||||
@tanevId int
|
||||
,@osztalyCsoportId int
|
||||
,@iskolaErdekuSzamit bit
|
||||
,@csakKivlasztottOsztalyCsoport bit = 0
|
||||
,@atsoroltTanuloMulasztas bit = 1
|
||||
,@idoszakEleje date = NULL
|
||||
,@idoszakVege date = NULL
|
||||
,@csakTanoraiCelu int = 1
|
||||
)
|
||||
RETURNS @result TABLE (
|
||||
TanuloId int
|
||||
,TanuloCsoportId int
|
||||
,OsztalyCsoportId int
|
||||
,OsztalyCsoportNev nvarchar (255)
|
||||
,Tipusa int
|
||||
,Igazolt char (1)
|
||||
,IgazolasTipusa int
|
||||
,KesesPercben int null
|
||||
,Datum datetime
|
||||
,Oraszam nvarchar (255)
|
||||
,OraszamWithOrakezdeteVege nvarchar (255)
|
||||
,TantargyId int
|
||||
,TantargyNev nvarchar (255)
|
||||
,HetSorszama int
|
||||
,Gyakorlati char(1)
|
||||
,Tanorai char(1)
|
||||
,RENDEZ1 int
|
||||
,RENDEZ2 nvarchar(255)
|
||||
,RENDEZ3 int
|
||||
,RENDEZ4 int
|
||||
,RENDEZ5 nvarchar(255)
|
||||
)
|
||||
AS BEGIN
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
|
||||
DECLARE @defaultCsengetesiRendId int
|
||||
|
||||
DECLARE @tanoraiCsoportok TABLE(
|
||||
OsztalyCsoportId int
|
||||
)
|
||||
|
||||
SELECT @defaultCsengetesiRendId = ID
|
||||
FROM T_CSENGETESIREND_OSSZES csr
|
||||
WHERE csr.TOROLT='F'
|
||||
AND csr.C_AKTIV = 'T'
|
||||
AND csr.C_TANEVID = @tanevId
|
||||
|
||||
INSERT INTO @tanoraiCsoportok(OsztalyCsoportId)
|
||||
SELECT
|
||||
ID
|
||||
FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId)
|
||||
|
||||
INSERT INTO @result
|
||||
SELECT
|
||||
tm.C_ORATANULOIID AS TanuloId
|
||||
,tcs.ID AS TanuloCsoportId
|
||||
,tao.C_OSZTALYCSOPORTID AS OsztalyCsoportId
|
||||
,ocs.C_NEV AS OsztalyCsoportNev
|
||||
,tm.C_TIPUS AS Tipusa
|
||||
,tm.C_IGAZOLT AS Igazolt
|
||||
,tm.C_IGAZOLASTIPUSA AS IgazolasTipusa
|
||||
,tm.C_KESESPERCBEN AS KesesPercben
|
||||
,tao.C_DATUM AS Datum
|
||||
,IIF(tao.C_CSENGETESIRENDORAID IS NULL,
|
||||
(SELECT
|
||||
ISNULL(MAX(csro.C_ORASZAM), 0)
|
||||
FROM T_CSENGETESIRENDORA_OSSZES csro
|
||||
WHERE csro.TOROLT = 'F'
|
||||
AND csro.C_CSENGETESIRENDID = @defaultCsengetesiRendId
|
||||
AND CONVERT(nvarchar(5), C_KEZDETE, 108) <= CONVERT(nvarchar(5), C_ORAKEZDETE, 108)
|
||||
),tao.C_ORASZAM) as Oraszam
|
||||
,IIF(tao.C_CSENGETESIRENDORAID IS NULL, CONCAT(CONVERT(nvarchar(5), tao.C_ORAKEZDETE, 108), '-',
|
||||
CONVERT(nvarchar(5), tao.C_ORAVEGE, 108)), CAST(tao.C_ORASZAM AS nvarchar(5))) AS OraszamWithOrakezdeteVege
|
||||
,tao.C_TANTARGYID AS TantargyId
|
||||
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS TantargyNev
|
||||
,tao.C_HETSORSZAMA AS HetSorszama
|
||||
,tgy.C_GYAKORLATI AS Gyakorlati
|
||||
,IIF(tanorai.OsztalyCsoportId IS NULL, 'F', 'T') AS Tanorai
|
||||
,IIF(tgy.C_FOTARGYID IS NULL,ISNULL(dibtgykat.C_ORDER, 10000),ISNULL(dibftgykat.C_ORDER, 10000)) AS RENDEZ1
|
||||
,COALESCE(ftgy.C_NEVNYOMTATVANYBAN, ftgy.C_NEV, tgy.C_NEV) AS RENDEZ2
|
||||
,ISNULL(tgy.C_FOTARGYID, tgy.ID) AS RENDEZ3
|
||||
,tgy.C_FOTARGYID AS RENDEZ4
|
||||
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS RENDEZ5
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.ID = tm.C_TANITASIORAKID
|
||||
AND tao.TOROLT='F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = tm.C_ORATANULOIID
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND tao.C_DATUM >= tcs.C_BELEPESDATUM
|
||||
AND tao.C_DATUM <= ISNULL(tcs.C_KILEPESDATUM, GETDATE())
|
||||
AND tcs.C_OSZTALYCSOPORTID=@osztalyCsoportId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID
|
||||
AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = tao.C_TANTARGYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dibtgykat ON dibtgykat.Id = tgy.C_TARGYKATEGORIA
|
||||
AND dibtgykat.TOROLT = 'F'
|
||||
AND dibtgykat.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_TANTARGY_OSSZES ftgy ON tgy.C_FOTARGYID = ftgy.ID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dibftgykat ON dibftgykat.ID = ftgy.C_TARGYKATEGORIA
|
||||
AND dibftgykat.TOROLT = 'F'
|
||||
AND dibftgykat.C_TANEVID = ftgy.C_TANEVID
|
||||
LEFT JOIN @tanoraiCsoportok tanorai ON tanorai.OsztalyCsoportId = ocs.ID
|
||||
WHERE tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tm.TOROLT = 'F'
|
||||
AND (@csakTanoraiCelu = 0 OR tanorai.OsztalyCsoportId IS NOT NULL)
|
||||
AND (@iskolaErdekuSzamit = 1 OR (tm.C_IGAZOLASTIPUSA IS NULL OR tm.C_IGAZOLASTIPUSA <> 1533))
|
||||
AND (@atsoroltTanuloMulasztas = 1 OR (tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, @csakTanoraiCelu))))
|
||||
AND (@csakKivlasztottOsztalyCsoport = 0 OR tao.C_OSZTALYCSOPORTID = @osztalyCsoportId)
|
||||
AND (@idoszakEleje IS NULL OR tao.C_DATUM >= @idoszakEleje)
|
||||
AND (@idoszakVege IS NULL OR tao.C_DATUM <= @idoszakVege)
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,447 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetDokumentumErtekelesek]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetDokumentumErtekelesek]
|
||||
@osztalyId int,
|
||||
@tanevId int,
|
||||
@ertekelesTipus int,
|
||||
@isBizonyitvany int = 0,
|
||||
@nyomtatvanyNyelvEnum int = 0,
|
||||
@isMuveszetOktatasi bit = 0,
|
||||
@tanitasiHetekSzamaVegzos int = 32,
|
||||
@tanitasiHetekSzamaNemVegzos int = 36,
|
||||
@isAltantargyBeszamitasa bit = 0
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--PRINT 'Osztályhoz tartozó tanulók'
|
||||
CREATE TABLE #Tanulo (
|
||||
TanuloId int
|
||||
,TanuloCsoportId int
|
||||
,BelepesDatum date
|
||||
,KilepesDatum date
|
||||
,PRIMARY KEY (TanuloId, TanuloCsoportId, BelepesDatum)
|
||||
)
|
||||
|
||||
INSERT INTO #Tanulo
|
||||
SELECT
|
||||
C_TANULOID AS TanuloId
|
||||
,ID AS TanuloCsoportId
|
||||
,C_BELEPESDATUM AS BelepesDatum
|
||||
,ISNULL(C_KILEPESDATUM, '21000101') AS KilepesDatum
|
||||
FROM T_TANULOCSOPORT_OSSZES tanuloCsoport
|
||||
WHERE C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
|
||||
|
||||
DECLARE
|
||||
@defaultFeladatKategoriaId int = 7553
|
||||
,@nyelvesitettMagatartasNev nvarchar(max) = CASE @nyomtatvanyNyelvEnum WHEN 0 THEN 'MAGATARTAS' WHEN 1 THEN 'Betragen' WHEN 2 THEN 'Conduct' END
|
||||
,@nyelvesitettSzorgalomNev nvarchar(max) = CASE @nyomtatvanyNyelvEnum WHEN 0 THEN 'SZORGALOM' WHEN 1 THEN 'Fleiss' WHEN 2 THEN 'Effort' END
|
||||
|
||||
CREATE TABLE #Oraszamok (
|
||||
TanuloId int
|
||||
,Tantargy int
|
||||
,Oraszam float
|
||||
,INDEX IX_1 CLUSTERED (TanuloId, Tantargy)
|
||||
)
|
||||
|
||||
INSERT INTO #Oraszamok
|
||||
SELECT TanuloId, TantargyId, Oraszam
|
||||
FROM fnGetDokumentumTanulokEvesOraszamaiOsztalyonkent(@tanevId, @osztalyId, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos, @isAltantargyBeszamitasa)
|
||||
|
||||
IF @isMuveszetOktatasi = 0 BEGIN
|
||||
SELECT
|
||||
x.TANULOID
|
||||
,x.TanuloCsoportId
|
||||
,x.TARGY
|
||||
,x.Jegyzet
|
||||
,REPLACE(Ertekeles, '(', ' (') AS Ertekeles
|
||||
,x.ErtekelesValue
|
||||
,REPLACE(ErtekelesJegyzettel, '(', ' (') AS ErtekelesJegyzettel
|
||||
,x.Oraszam
|
||||
,x.RENDEZ1
|
||||
,x.RENDEZ2
|
||||
,x.RENDEZ3
|
||||
,x.RENDEZ4
|
||||
,x.RENDEZ5
|
||||
FROM (
|
||||
SELECT
|
||||
er.C_TANULOID AS TANULOID
|
||||
,dk.TanuloCsoportId AS TANULOCSOPORTID
|
||||
,@nyelvesitettMagatartasNev AS TARGY
|
||||
,NULL AS Jegyzet
|
||||
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, mag.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_MAGATARTASERTEKID, @tanevId))), ISNULL(er.C_MAGATARTASSZOVEGFORMAZOTT, IIF(@nyomtatvanyNyelvEnum = 0, mao.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_MAGATARTASOSZTALYZATID, @tanevId)))) AS Ertekeles
|
||||
,NULL AS ErtekelesValue
|
||||
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, mag.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_MAGATARTASERTEKID, @tanevId))), ISNULL(er.C_MAGATARTASSZOVEGFORMAZOTT, IIF(@nyomtatvanyNyelvEnum = 0, mao.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_MAGATARTASOSZTALYZATID, @tanevId)))) AS ErtekelesJegyzettel
|
||||
,NULL AS Oraszam
|
||||
,-2 AS RENDEZ1
|
||||
,NULL AS RENDEZ2
|
||||
,NULL AS RENDEZ3
|
||||
,NULL AS RENDEZ4
|
||||
,NULL AS RENDEZ5
|
||||
FROM T_TANULOERTEKELES_OSSZES er
|
||||
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = er.C_TANULOID
|
||||
AND tcs.C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND tcs.C_BELEPESDATUM <= er.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM >= er.C_DATUM OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES ErtekeleshezTartozoOsztalyCsoport ON ErtekeleshezTartozoOsztalyCsoport.C_TANULOID = er.C_TANULOID
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.C_OSZTALYCSOPORTID = er.C_OSZTALYCSOPORTID
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.C_BELEPESDATUM <= er.C_DATUM
|
||||
AND (ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM >= er.C_DATUM OR ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM IS NULL)
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.TOROLT = 'F'
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mao ON mao.ID = er.C_MAGATARTASOSZTALYZATID AND mao.C_TANEVID = er.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mag ON mag.ID = er.C_MAGATARTASERTEKID AND mag.C_TANEVID = er.C_TANEVID
|
||||
WHERE KilepesDatum > er.C_DATUM
|
||||
AND (er.C_MAGATARTASERTEKID IS NOT NULL OR er.C_MAGATARTASSZOVEGFORMAZOTT IS NOT NULL OR er.C_MAGATARTASOSZTALYZATID IS NOT NULL)
|
||||
AND er.C_TANEVID = @tanevId
|
||||
AND er.TOROLT = 'F'
|
||||
AND er.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND er.C_TIPUSID = @ertekelesTipus
|
||||
-- AND er.C_OSZTALYCSOPORTID IN (SELECT ID FROM @kapcsolodoOcsID)
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
er.C_TANULOID AS TANULOID
|
||||
,dk.TanuloCsoportId AS TanuloCsoportId
|
||||
,@nyelvesitettSzorgalomNev AS TARGY
|
||||
,NULL AS Jegyzet
|
||||
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, szg.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_SZORGALOMERTEKID , @tanevId))), ISNULL(er.C_SZORGALOMSZOVEGFORMAZOTT, IIF(@nyomtatvanyNyelvEnum = 0, szg.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_SZORGALOMOSZTALYZATID, @tanevId)))) AS Ertekeles
|
||||
,NULL AS ErtekelesValue
|
||||
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, szg.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_SZORGALOMERTEKID, @tanevId))), ISNULL(er.C_SZORGALOMSZOVEGFORMAZOTT, IIF(@nyomtatvanyNyelvEnum = 0, szg.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_SZORGALOMOSZTALYZATID, @tanevId)))) AS ErtekelesJegyzettel
|
||||
,NULL AS Oraszam
|
||||
,-1 AS RENDEZ1
|
||||
,NULL AS RENDEZ2
|
||||
,NULL AS RENDEZ3
|
||||
,NULL AS RENDEZ4
|
||||
,NULL AS RENDEZ5
|
||||
FROM T_TANULOERTEKELES_OSSZES er
|
||||
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = er.C_TANULOID
|
||||
AND tcs.C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND tcs.C_BELEPESDATUM <= er.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM >= er.C_DATUM OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES ErtekeleshezTartozoOsztalyCsoport ON ErtekeleshezTartozoOsztalyCsoport.C_TANULOID = er.C_TANULOID
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.C_OSZTALYCSOPORTID = er.C_OSZTALYCSOPORTID
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.C_BELEPESDATUM <= er.C_DATUM
|
||||
AND (ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM >= er.C_DATUM OR ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM IS NULL)
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.TOROLT = 'F'
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szo ON szo.ID = er.C_SZORGALOMOSZTALYZATID AND szo.C_TANEVID = er.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szg ON szg.ID = er.C_SZORGALOMERTEKID AND szg.C_TANEVID = er.C_TANEVID
|
||||
WHERE dk.KilepesDatum > er.C_DATUM
|
||||
AND (er.C_SZORGALOMERTEKID IS NOT NULL OR er.C_SZORGALOMSZOVEGFORMAZOTT IS NOT NULL OR er.C_SZORGALOMOSZTALYZATID IS NOT NULL)
|
||||
AND er.C_TANEVID = @tanevId
|
||||
AND er.TOROLT = 'F'
|
||||
AND er.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND er.C_TIPUSID = @ertekelesTipus
|
||||
--- AND TipusId = @ertekelesTipus --????
|
||||
UNION ALL
|
||||
SELECT
|
||||
er.C_TANULOID AS TANULOID
|
||||
,dk.TanuloCsoportId AS TanuloCsoportId
|
||||
,CASE
|
||||
WHEN @nyomtatvanyNyelvEnum = 0 THEN
|
||||
ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV)
|
||||
WHEN @nyomtatvanyNyelvEnum = 1 THEN
|
||||
COALESCE(tgy.C_NEMETNEV, tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV)
|
||||
WHEN @nyomtatvanyNyelvEnum = 2 THEN
|
||||
COALESCE(tgy.C_ANGOLNEV, tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV)
|
||||
END AS TARGY
|
||||
,er.C_ERTEKELESTEMA AS Jegyzet
|
||||
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, jegy.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_ERTEKELESOSZTALYZATID, @tanevId))), ISNULL(er.C_ERTEKELESSZOVEGFORMAZOTT, CONVERT(nvarchar(max),er.C_ERTEKELESSZAZALEK))) AS Ertekeles
|
||||
,jegy.C_VALUE AS ErtekelesValue
|
||||
,CASE
|
||||
WHEN tgy.C_TARGYKATEGORIA = 7688 AND er.C_ERTEKELESOSZTALYZATID IS NOT NULL THEN
|
||||
CASE er.C_ERTEKELESOSZTALYZATID
|
||||
WHEN 1502 THEN 'Hanyag(2)'
|
||||
WHEN 1503 THEN 'Változó(3)'
|
||||
WHEN 1504 THEN 'Jó(4)'
|
||||
WHEN 1505 THEN 'Példás(5)'
|
||||
END
|
||||
ELSE ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, jegy.C_NAME, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, er.C_ERTEKELESOSZTALYZATID, @tanevId))), ISNULL(er.C_ERTEKELESSZOVEGFORMAZOTT, CONVERT(nvarchar(max),er.C_ERTEKELESSZAZALEK))) + IIF(er.C_ERTEKELESTEMA IS NULL, '', ' * ' + er.C_ERTEKELESTEMA)
|
||||
END AS ErtekelesJegyzettel
|
||||
,Oraszam AS Oraszam
|
||||
,CASE WHEN tgy.C_FOTARGYID IS NULL THEN ISNULL(kat.C_ORDER, 10000) ELSE ISNULL(fokat.C_ORDER, 10000) END as RENDEZ1
|
||||
,COALESCE(fotgy.C_NEVNYOMTATVANYBAN, fotgy.C_NEV, tgy.C_NEV) as RENDEZ2
|
||||
,ISNULL(tgy.C_FOTARGYID, tgy.ID) as RENDEZ3
|
||||
,tgy.C_FOTARGYID as RENDEZ4
|
||||
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS RENDEZ5
|
||||
FROM T_TANULOERTEKELES_OSSZES er
|
||||
INNER JOIN #Tanulo dk ON dk.TanuloId = er.C_TANULOID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = er.C_TANULOID
|
||||
AND tcs.C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND tcs.C_BELEPESDATUM <= er.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM >= er.C_DATUM OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES ocs ON ocs.C_TANULOID = er.C_TANULOID
|
||||
AND ocs.C_OSZTALYCSOPORTID = er.C_OSZTALYCSOPORTID
|
||||
AND ocs.C_BELEPESDATUM <= er.C_DATUM
|
||||
AND (ocs.C_KILEPESDATUM >= er.C_DATUM OR ocs.C_KILEPESDATUM IS NULL)
|
||||
AND ocs.TOROLT = 'F'
|
||||
AND ocs.C_TANEVID = @tanevId
|
||||
LEFT JOIN #Oraszamok OraszamTable ON OraszamTable.Tantargy = er.C_TANTARGYID
|
||||
AND OraszamTable.TanuloId = er.C_TANULOID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES jegy ON jegy.ID = er.C_ERTEKELESOSZTALYZATID
|
||||
AND jegy.C_TANEVID = er.C_TANEVID
|
||||
AND jegy.TOROLT = 'F'
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = er.C_TANTARGYID AND tgy.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES kat ON kat.ID = tgy.C_TARGYKATEGORIA
|
||||
AND kat.TOROLT = 'F'
|
||||
AND kat.C_TANEVID = tgy.C_TANEVID
|
||||
LEFT JOIN T_TANTARGY_OSSZES fotgy ON tgy.C_FOTARGYID = fotgy.ID AND fotgy.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES fokat ON kat.ID = fotgy.C_TARGYKATEGORIA
|
||||
AND fokat.TOROLT = 'F'
|
||||
AND fokat.C_TANEVID = fotgy.C_TANEVID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES o ON er.C_OSZTALYCSOPORTID = o.ID AND o.C_FELADATKATEGORIAID = 7553
|
||||
LEFT JOIN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN T_CSOPORTTIPUS_OSSZES cst ON cst.ID = cs.C_TIPUSA AND cst.C_ALTANEVID = cs.C_ALTANEVID AND cst.C_ISTANORAICELU = 'T'
|
||||
) cs ON cs.ID = er.C_OSZTALYCSOPORTID
|
||||
WHERE er.C_TIPUSID = @ertekelesTipus
|
||||
AND dk.KilepesDatum > er.C_DATUM
|
||||
AND (tgy.C_FOTARGYE = 'T' OR tgy.C_ALTANTARGYKENTNYOMTATVANYBAN = 'T')
|
||||
AND tgy.C_TARGYKATEGORIA <> 1248
|
||||
AND er.C_ISMAGATARTASSZORGALOM = 'F'
|
||||
AND er.TOROLT = 'F'
|
||||
AND (cs.ID IS NOT NULL OR er.C_OSZTALYCSOPORTID = @osztalyId)
|
||||
) x
|
||||
|
||||
END
|
||||
ELSE BEGIN -- A művészeti csoportos lekérdezés maradt a régi, elvileg nem használják már, mert ott az ami, de azért ez nagy bizonyossággal nem jelenthető ki.
|
||||
CREATE TABLE #ErtekelesekTemp (
|
||||
ErtekelesId int primary key NOT NULL
|
||||
,Datum date
|
||||
,TipusId int
|
||||
,ErtekelesSzoveg nvarchar(max)
|
||||
,ErtekelesSzovegFormazott 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)
|
||||
,MagatartasSzovegFormazott nvarchar(max)
|
||||
,MagatartasSzovegRovidNev nvarchar(3)
|
||||
,MagatartasErtekId int
|
||||
,MagatartasErtek nvarchar(max)
|
||||
,MagatartasErtekOsztalyzatkent int
|
||||
,SzorgalomOsztalyzatId int
|
||||
,SzorgalomOsztalyzatValue int
|
||||
,SzorgalomOsztalyzatNev nvarchar(max)
|
||||
,SzorgalomSzoveg nvarchar(max)
|
||||
,SzorgalomSzovegFormazott 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)
|
||||
,TantargyAngolNev nvarchar(max)
|
||||
,TantargyNemetNev 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)
|
||||
,RENDEZ1 int
|
||||
,RENDEZ2 nvarchar(max)
|
||||
,RENDEZ3 int
|
||||
,RENDEZ4 int
|
||||
,RENDEZ5 nvarchar(max)
|
||||
)
|
||||
|
||||
INSERT INTO #ErtekelesekTemp
|
||||
SELECT
|
||||
ErtekelesId
|
||||
,Datum
|
||||
,TipusId
|
||||
,ErtekelesSzoveg
|
||||
,ErtekelesSzovegFormazott
|
||||
,ErtekelesSzovegRovidNev
|
||||
,ErtekelesOsztalyzatId
|
||||
,ErtekelesOsztalyzatValue
|
||||
,ErtekelesOsztalyzatNev
|
||||
,ErtekelesSzazalek
|
||||
,MagatartasOsztalyzatId
|
||||
,MagatartasOsztalyzatValue
|
||||
,MagatartasOsztalyzatNev
|
||||
,MagatartasSzoveg
|
||||
,MagatartasSzovegFormazott
|
||||
,MagatartasSzovegRovidNev
|
||||
,MagatartasErtekId
|
||||
,MagatartasErtek
|
||||
,MagatartasErtekOsztalyzatkent
|
||||
,SzorgalomOsztalyzatId
|
||||
,SzorgalomOsztalyzatValue
|
||||
,SzorgalomOsztalyzatNev
|
||||
,SzorgalomSzoveg
|
||||
,SzorgalomSzovegFormazott
|
||||
,SzorgalomSzovegRovidNev
|
||||
,SzorgalomErtekId
|
||||
,SzorgalomErtek
|
||||
,SzorgalomErtekOsztalyzatkent
|
||||
,TanuloId
|
||||
,OsztalyCsoportId
|
||||
,TantargyId
|
||||
,TantargyNevZarojellel
|
||||
,TantargyNevNyomtatvanyban
|
||||
,TantargyNev
|
||||
,NULL
|
||||
,NULL
|
||||
,TargyKategoriaId
|
||||
,FotargyE
|
||||
,Altantargy
|
||||
,FotargyId
|
||||
,ErtekelesTema
|
||||
,ErtekeloId
|
||||
,ErtekelesModjaId
|
||||
,IsMagatartasSzorgalom
|
||||
,Jeloles
|
||||
,JelolesAndErtekelesTema
|
||||
,RENDEZ1
|
||||
,RENDEZ2
|
||||
,RENDEZ3
|
||||
,RENDEZ4
|
||||
,RENDEZ5
|
||||
FROM fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent (@tanevId, @osztalyId, DEFAULT, 0, DEFAULT, 2)
|
||||
|
||||
CREATE TABLE #temp (
|
||||
TANULOID int
|
||||
,TANULOCSOPORTID int
|
||||
,TARGY nvarchar(max)
|
||||
,Jegyzet nvarchar(max)
|
||||
,Ertekeles nvarchar(max)
|
||||
,ErtekelesValue int
|
||||
,ErtekelesJegyzettel nvarchar(max)
|
||||
,Oraszam FLOAT
|
||||
,RENDEZ1 int
|
||||
,RENDEZ2 nvarchar(max)
|
||||
,RENDEZ3 int
|
||||
,RENDEZ4 int
|
||||
,RENDEZ5 nvarchar(max)
|
||||
)
|
||||
|
||||
INSERT INTO #temp
|
||||
SELECT
|
||||
ErtekelesTemp.TanuloId AS TANULOID
|
||||
,TanuloTable.TanuloCsoportId AS TanuloCsoportId
|
||||
,@nyelvesitettMagatartasNev AS TARGY
|
||||
,NULL
|
||||
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, MagatartasErtek, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, MagatartasErtekId, @tanevId))), ISNULL(MagatartasSzovegFormazott, IIF(@nyomtatvanyNyelvEnum = 0, MagatartasOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, MagatartasOsztalyzatId, @tanevId))))
|
||||
,NULL
|
||||
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, MagatartasErtek, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, MagatartasErtekId, @tanevId))), ISNULL(MagatartasSzovegFormazott, IIF(@nyomtatvanyNyelvEnum = 0, MagatartasOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, MagatartasOsztalyzatId, @tanevId)))) AS ErtekelesJegyzettel
|
||||
,NULL AS Oraszam
|
||||
,-2
|
||||
,RENDEZ2
|
||||
,RENDEZ3
|
||||
,RENDEZ4
|
||||
,RENDEZ5
|
||||
FROM #ErtekelesekTemp ErtekelesTemp
|
||||
INNER JOIN #Tanulo TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
WHERE (KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
||||
AND (MagatartasErtek IS NOT NULL OR MagatartasSzovegFormazott IS NOT NULL OR MagatartasOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId = @ertekelesTipus --????
|
||||
|
||||
INSERT INTO #TEMP
|
||||
SELECT
|
||||
ErtekelesTemp.TanuloId AS TANULOID
|
||||
,TanuloTable.TanuloCsoportId AS TanuloCsoportId
|
||||
,@nyelvesitettSzorgalomNev AS TARGY
|
||||
,NULL
|
||||
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, SzorgalomErtek, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, SzorgalomErtekId, @tanevId))), ISNULL(SzorgalomSzovegFormazott, IIF(@nyomtatvanyNyelvEnum = 0, SzorgalomOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, SzorgalomOsztalyzatId, @tanevId))))
|
||||
,NULL
|
||||
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, SzorgalomErtek, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, SzorgalomErtekId, @tanevId))), ISNULL(SzorgalomSzovegFormazott, IIF(@nyomtatvanyNyelvEnum = 0, SzorgalomOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, SzorgalomOsztalyzatId, @tanevId)))) AS ErtekelesJegyzettel
|
||||
,NULL AS Oraszam
|
||||
,-1
|
||||
,RENDEZ2
|
||||
,RENDEZ3
|
||||
,RENDEZ4
|
||||
,RENDEZ5
|
||||
FROM #ErtekelesekTemp ErtekelesTemp
|
||||
INNER JOIN #Tanulo TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
WHERE (KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
||||
AND (SzorgalomErtek IS NOT NULL OR SzorgalomSzovegFormazott IS NOT NULL OR SzorgalomOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId = @ertekelesTipus --????
|
||||
INSERT INTO #TEMP
|
||||
SELECT
|
||||
ErtekelesTemp.TanuloId AS TANULOID
|
||||
,TanuloTable.TanuloCsoportId AS TanuloCsoportId
|
||||
,CASE
|
||||
WHEN @nyomtatvanyNyelvEnum = 0 THEN
|
||||
ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev)
|
||||
WHEN @nyomtatvanyNyelvEnum = 1 THEN
|
||||
ISNULL(TantargyNemetNev, ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev))
|
||||
WHEN @nyomtatvanyNyelvEnum = 2 THEN
|
||||
ISNULL(TantargyAngolNev, ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev))
|
||||
END AS TARGY
|
||||
,ErtekelesTemp.ErtekelesTema
|
||||
,ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, ErtekelesTemp.ErtekelesOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, ErtekelesTemp.ErtekelesOsztalyzatId, @tanevId))), ISNULL(ErtekelesTemp.ErtekelesSzovegFormazott, CONVERT(nvarchar(max),ErtekelesTemp.ErtekelesSzazalek)))
|
||||
,ErtekelesTemp.ErtekelesOsztalyzatValue
|
||||
,CASE
|
||||
WHEN TargyKategoriaId = 7688 AND ErtekelesOsztalyzatId IS NOT NULL THEN
|
||||
CASE
|
||||
WHEN ErtekelesTemp.ErtekelesOsztalyzatId = 1502 THEN 'Hanyag(2)'
|
||||
WHEN ErtekelesTemp.ErtekelesOsztalyzatId = 1503 THEN 'Változó(3)'
|
||||
WHEN ErtekelesTemp.ErtekelesOsztalyzatId = 1504 THEN 'Jó(4)'
|
||||
WHEN ErtekelesTemp.ErtekelesOsztalyzatId = 1505 THEN 'Példás(5)'
|
||||
END
|
||||
ELSE ISNULL(CONVERT(nvarchar(max), IIF(@nyomtatvanyNyelvEnum = 0, ErtekelesTemp.ErtekelesOsztalyzatNev, [dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, ErtekelesTemp.ErtekelesOsztalyzatId, @tanevId))), ISNULL(ErtekelesTemp.ErtekelesSzovegFormazott, CONVERT(nvarchar(max),ErtekelesTemp.ErtekelesSzazalek))) + IIF(ErtekelesTemp.ErtekelesTema IS NULL, '', +' * ' + ErtekelesTemp.ErtekelesTema)
|
||||
END AS ErtekelesJegyzettel
|
||||
,Oraszam AS Oraszam
|
||||
,RENDEZ1
|
||||
,RENDEZ2
|
||||
,RENDEZ3
|
||||
,RENDEZ4
|
||||
,RENDEZ5
|
||||
FROM #ErtekelesekTemp ErtekelesTemp
|
||||
INNER JOIN #Tanulo TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
LEFT JOIN #Oraszamok OraszamTable ON OraszamTable.Tantargy = ErtekelesTemp.TantargyId AND OraszamTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
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
|
||||
,TanuloCsoportId
|
||||
,TARGY
|
||||
,Jegyzet
|
||||
,REPLACE(Ertekeles, '(', ' (') AS Ertekeles
|
||||
,ErtekelesValue
|
||||
,REPLACE(ErtekelesJegyzettel, '(', ' (') AS ErtekelesJegyzettel
|
||||
,Oraszam
|
||||
,RENDEZ1
|
||||
,RENDEZ2
|
||||
,RENDEZ3
|
||||
,RENDEZ4
|
||||
,RENDEZ5
|
||||
FROM #temp
|
||||
ORDER BY RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
|
||||
|
||||
END
|
||||
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,191 @@
|
|||
DROP PROCEDURE IF EXISTS [uspGetDolgozatErtekelesAtlag]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [uspGetDolgozatErtekelesAtlag]
|
||||
@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
,@pOsztalyCsoportId int
|
||||
,@pTantargyId int
|
||||
,@pTanarId int
|
||||
,@pErtekelesTema nvarchar(255)
|
||||
,@pAtlagTol float
|
||||
,@pAtlagIg float
|
||||
,@pErdemjegy5Tol int
|
||||
,@pErdemjegy5Ig int
|
||||
,@pErdemjegy4Tol int
|
||||
,@pErdemjegy4Ig int
|
||||
,@pErdemjegy3Tol int
|
||||
,@pErdemjegy3Ig int
|
||||
,@pErdemjegy2Tol int
|
||||
,@pErdemjegy2Ig int
|
||||
,@pErdemjegy1Tol int
|
||||
,@pErdemjegy1Ig int
|
||||
,@pNemIrtDolgozatotTol int
|
||||
,@pNemIrtDolgozatotIg int
|
||||
,@pSzuperOsztalyfonok int
|
||||
,@pDatum datetime
|
||||
|
||||
AS BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @preSql NVARCHAR(MAX), @mainSql NVARCHAR(MAX), @sql NVARCHAR(MAX)
|
||||
SET @pErtekelesTema = REPLACE(@pErtekelesTema, ' ', '')
|
||||
|
||||
SET @preSql = IIF(@pSzuperOsztalyfonok = 1, N'', N'
|
||||
CREATE TABLE #OsztalyCsoportokTantargyak (
|
||||
OsztalyCsoportId INT
|
||||
,OsztalyCsoportNev nvarchar(255)
|
||||
,TantargyId INT
|
||||
,PRIMARY KEY(OsztalyCsoportId,TantargyId)
|
||||
)
|
||||
|
||||
INSERT INTO #OsztalyCsoportokTantargyak (
|
||||
OsztalyCsoportId
|
||||
,OsztalyCsoportNev
|
||||
,TantargyId
|
||||
)
|
||||
EXEC uspGetTanarAltalErtekelhetoCsoportokTantargyak
|
||||
@pTanarId
|
||||
,@pTanevId
|
||||
,@pDatum
|
||||
')
|
||||
|
||||
SET @mainSql = N'
|
||||
SELECT
|
||||
sub.Datum
|
||||
,sub.OsztalyCsoport
|
||||
,sub.OsztalyCsoportId
|
||||
,sub.ErtekelesTema
|
||||
,tgy.C_NEV AS TantargyNev
|
||||
,sub.TantargyId
|
||||
,sub.ErtekelesModId
|
||||
,sub.Erdemjegy1
|
||||
,sub.Erdemjegy2
|
||||
,sub.Erdemjegy3
|
||||
,sub.Erdemjegy4
|
||||
,sub.Erdemjegy5
|
||||
,sub.Cnt IrtakDolgozatot
|
||||
,(letszam.Letszam - sub.Cnt) NemIrtakDolgozatot
|
||||
,CONVERT(nvarchar(255), sub.Cnt) + ''/'' + CONVERT(nvarchar(255), letszam.Letszam) AS IrtakDolgozatotArany
|
||||
,ROUND(Total / CAST(Cnt AS Float), 2) AS Atlag
|
||||
,letszam.Letszam
|
||||
FROM (
|
||||
SELECT
|
||||
s.C_DATUM AS Datum
|
||||
,s.OsztalyCsoportNev AS OsztalyCsoport
|
||||
,s.C_OSZTALYCSOPORTID AS OsztalyCsoportId
|
||||
,s.C_ERTEKELESTEMA AS ErtekelesTema
|
||||
,s.C_TANTARGYID AS TantargyId
|
||||
,s.C_ERTEKELESMODID AS ErtekelesModId
|
||||
,s.[1501] AS Erdemjegy1
|
||||
,s.[1502] AS Erdemjegy2
|
||||
,s.[1503] AS Erdemjegy3
|
||||
,s.[1504] AS Erdemjegy4
|
||||
,s.[1505] AS Erdemjegy5
|
||||
,s.[1501] + s.[1502] + s.[1503] + s.[1504] + s.[1505] AS Cnt
|
||||
,s.[1501] + s.[1502] * 2 + s.[1503] * 3 + s.[1504] * 4 + s.[1505] * 5 AS Total
|
||||
FROM (
|
||||
SELECT
|
||||
er.C_DATUM
|
||||
,er.C_OSZTALYCSOPORTID
|
||||
,er.C_ERTEKELESTEMA
|
||||
,er.C_TANTARGYID
|
||||
,er.C_ERTEKELESOSZTALYZATID
|
||||
,er.C_ERTEKELESMODID
|
||||
,ocs.C_NEV AS OsztalyCsoportNev
|
||||
FROM T_TANULOERTEKELES_OSSZES er
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = er.C_OSZTALYCSOPORTID AND ocs.TOROLT=''F''
|
||||
WHERE er.C_ERTEKELESMODID IN (1507, 1508)
|
||||
AND er.C_TANEVID = @pTanevId
|
||||
AND er.C_ISMAGATARTASSZORGALOM = ''F''
|
||||
AND er.TOROLT = ''F''
|
||||
AND er.C_ERTEKELESTEMA IS NOT NULL
|
||||
AND er.C_ERTEKELESOSZTALYZATID IS NOT NULL
|
||||
' + IIF(@pSzuperOsztalyfonok = 1, N'', N'AND (EXISTS(SELECT 1 FROM #OsztalyCsoportokTantargyak ocst WHERE ocst.OsztalyCsoportId = er.C_OSZTALYCSOPORTID AND ocst.TantargyId = er.C_TANTARGYID))') + N'
|
||||
' + IIF(@pTantargyId IS NULL, N'', N'AND er.C_TANTARGYID = @pTantargyId') + N'
|
||||
' + IIF(@pErtekelesTema IS NULL, N'', N'AND REPLACE(er.C_ERTEKELESTEMA,'' '','''') LIKE ''%' + @pErtekelesTema + '%''') + N'
|
||||
' + IIF(@pOsztalyCsoportId IS NULL, N'', N'AND er.C_OSZTALYCSOPORTID = @pOsztalyCsoportId') + N'
|
||||
) x
|
||||
PIVOT (COUNT(C_ERTEKELESOSZTALYZATID) FOR C_ERTEKELESOSZTALYZATID IN ([1501], [1502], [1503], [1504], [1505])
|
||||
) s
|
||||
WHERE 1 = 1' + '
|
||||
' + IIF(@pErdemjegy5Tol IS NULL, N'', 'AND s.[1505] >= @pErdemjegy5Tol') + '
|
||||
' + IIF(@pErdemjegy5Ig IS NULL, N'', 'AND s.[1505] <= @pErdemjegy5Ig') + '
|
||||
' + IIF(@pErdemjegy4Tol IS NULL, N'', 'AND s.[1504] >= @pErdemjegy4Tol') + '
|
||||
' + IIF(@pErdemjegy4Ig IS NULL, N'', 'AND s.[1504] <= @pErdemjegy4Ig') + '
|
||||
' + IIF(@pErdemjegy3Tol IS NULL, N'', 'AND s.[1503] >= @pErdemjegy3Tol') + '
|
||||
' + IIF(@pErdemjegy3Ig IS NULL, N'', 'AND s.[1503] <= @pErdemjegy3Ig') + '
|
||||
' + IIF(@pErdemjegy2Tol IS NULL, N'', 'AND s.[1502] >= @pErdemjegy2Tol') + '
|
||||
' + IIF(@pErdemjegy2Ig IS NULL, N'', 'AND s.[1502] <= @pErdemjegy2Ig') + '
|
||||
' + IIF(@pErdemjegy1Tol IS NULL, N'', 'AND s.[1501] >= @pErdemjegy1Tol') + '
|
||||
' + IIF(@pErdemjegy1Ig IS NULL, N'', 'AND s.[1501] <= @pErdemjegy1Ig') + '
|
||||
) sub
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON sub.TantargyId = tgy.ID AND tgy.TOROLT=''F''
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dTantargy ON tgy.C_TARGYKATEGORIA = dTantargy.ID AND dTantargy.C_TANEVID = @pTanevId AND dTantargy.TOROLT=''F''
|
||||
INNER JOIN (
|
||||
SELECT nn.C_NAPDATUMA, tcs.C_OSZTALYCSOPORTID, COUNT(1) AS Letszam
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_NAPTARINAP_OSSZES nn ON nn.C_NAPDATUMA >= tcs.C_BELEPESDATUM
|
||||
AND (nn.C_NAPDATUMA <= tcs.C_KILEPESDATUM OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND nn.TOROLT=''F''
|
||||
WHERE nn.C_TANEVID = @pTanevId
|
||||
' + IIF(@pOsztalyCsoportId IS NULL, N'', N'AND tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId') + N'
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.TOROLT=''F''
|
||||
GROUP BY nn.C_NAPDATUMA, tcs.C_OSZTALYCSOPORTID
|
||||
) letszam ON letszam.C_NAPDATUMA = sub.Datum
|
||||
AND letszam.C_OSZTALYCSOPORTID = OsztalyCsoportId' + '
|
||||
' + IIF(@pNemIrtDolgozatotTol IS NULL, N'', N'AND (letszam.Letszam - sub.Cnt) >= @pNemIrtDolgozatotTol') + '
|
||||
' + IIF(@pNemIrtDolgozatotIg IS NULL, N'', N'AND (letszam.Letszam - sub.Cnt) <= @pNemIrtDolgozatotIg') + '
|
||||
' + IIF(@pAtlagTol IS NULL, N'', N'AND ROUND(Total / CAST(Cnt AS Float), 2) >= @pAtlagTol') + '
|
||||
' + IIF(@pAtlagIg IS NULL, N'', N'AND ROUND(Total / CAST(Cnt AS Float), 2) <= @pAtlagIg') + '
|
||||
'
|
||||
|
||||
SET @sql = CONCAT(@preSql, @mainSql)
|
||||
|
||||
EXEC sp_executesql @sql, N'
|
||||
@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
,@pOsztalyCsoportId int
|
||||
,@pTantargyId int
|
||||
,@pTanarId int
|
||||
,@pErtekelesTema nvarchar(255)
|
||||
,@pAtlagTol float
|
||||
,@pAtlagIg float
|
||||
,@pErdemjegy5Tol int
|
||||
,@pErdemjegy5Ig int
|
||||
,@pErdemjegy4Tol int
|
||||
,@pErdemjegy4Ig int
|
||||
,@pErdemjegy3Tol int
|
||||
,@pErdemjegy3Ig int
|
||||
,@pErdemjegy2Tol int
|
||||
,@pErdemjegy2Ig int
|
||||
,@pErdemjegy1Tol int
|
||||
,@pErdemjegy1Ig int
|
||||
,@pNemIrtDolgozatotTol int
|
||||
,@pNemIrtDolgozatotIg int
|
||||
,@pSzuperOsztalyfonok int
|
||||
,@pDatum datetime'
|
||||
,@pIntezmenyId = @pIntezmenyId
|
||||
,@pTanevId = @pTanevId
|
||||
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
||||
,@pTantargyId = @pTantargyId
|
||||
,@pTanarId = @pTanarId
|
||||
,@pErtekelesTema = @pErtekelesTema
|
||||
,@pAtlagTol = @pAtlagTol
|
||||
,@pAtlagIg = @pAtlagIg
|
||||
,@pErdemjegy5Tol = @pErdemjegy5Tol
|
||||
,@pErdemjegy5Ig = @pErdemjegy5Ig
|
||||
,@pErdemjegy4Tol = @pErdemjegy4Tol
|
||||
,@pErdemjegy4Ig = @pErdemjegy4Ig
|
||||
,@pErdemjegy3Tol = @pErdemjegy3Tol
|
||||
,@pErdemjegy3Ig = @pErdemjegy3Ig
|
||||
,@pErdemjegy2Tol = @pErdemjegy2Tol
|
||||
,@pErdemjegy2Ig = @pErdemjegy2Ig
|
||||
,@pErdemjegy1Tol = @pErdemjegy1Tol
|
||||
,@pErdemjegy1Ig = @pErdemjegy1Ig
|
||||
,@pNemIrtDolgozatotTol = @pNemIrtDolgozatotTol
|
||||
,@pNemIrtDolgozatotIg = @pNemIrtDolgozatotIg
|
||||
,@pSzuperOsztalyfonok = @pSzuperOsztalyfonok
|
||||
,@pDatum = @pDatum
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,41 @@
|
|||
DROP PROCEDURE IF EXISTS uspGetTanarAltalErtekelhetoCsoportokTantargyak
|
||||
GO
|
||||
CREATE PROCEDURE uspGetTanarAltalErtekelhetoCsoportokTantargyak
|
||||
@pTanarId int
|
||||
,@pTanevId int
|
||||
,@pDatum date
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Minden, ahol ő az osztályfőnök
|
||||
SELECT
|
||||
ocs.ID AS OsztalyCsoportId
|
||||
,ocs.C_NEV
|
||||
,f.C_TANTARGYID AS TantargyId
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
INNER JOIN T_TANULOCSOPORT tcsocs ON tcsocs.C_OSZTALYCSOPORTID = ocs.ID AND tcsocs.TOROLT='F'
|
||||
AND @pDatum >= tcsocs.C_BELEPESDATUM
|
||||
AND (tcsocs.C_KILEPESDATUM IS NULL OR tcsocs.C_KILEPESDATUM >= @pDatum)
|
||||
INNER JOIN T_TANULOCSOPORT tcso ON tcso.C_TANULOID = tcsocs.C_TANULOID AND tcso.TOROLT='F'
|
||||
AND @pDatum >= tcso.C_BELEPESDATUM
|
||||
AND (tcso.C_KILEPESDATUM IS NULL OR tcso.C_KILEPESDATUM >= @pDatum)
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocso ON ocso.ID = tcso.C_OSZTALYCSOPORTID AND ocso.C_FELADATKATEGORIAID = ocs.C_FELADATKATEGORIAID AND ocso.TOROLT='F'
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON o.ID=ocso.ID AND o.TOROLT='F' AND o.C_OSZTALYFONOKID = @pTanarId
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON ocs.ID = f.C_OSZTALYCSOPORTID AND f.TOROLT = 'F'
|
||||
WHERE ocs.TOROLT = 'F'
|
||||
AND ocs.C_TANEVID = @pTanevId
|
||||
UNION
|
||||
--Minden, ahol ő a tanár
|
||||
SELECT
|
||||
ocs.ID AS OsztalyCsoportId
|
||||
,ocs.C_NEV
|
||||
,f.C_TANTARGYID AS TantargyId
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
AND ocs.TOROLT = 'F'
|
||||
WHERE f.TOROLT = 'F'
|
||||
AND f.C_TANARID = @pTanarId
|
||||
AND ocs.C_TANEVID = @pTanevId
|
||||
ORDER BY C_NEV
|
||||
END
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue