init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,54 @@
|
|||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló osztályát(Jó lenne a jövőben ezt használni egységesen, ezért ésszerűen ezt ki lehet egészíteni, egyelőre csak azzal tér vissza, ami épp most kell)>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP FUNCTION IF EXISTS [dbo].[fnGetTanuloOsztaly]
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [dbo].[fnGetTanuloOsztaly](
|
||||
@pTanuloId INT
|
||||
,@pDatum DATE = NULL
|
||||
)
|
||||
RETURNS @ResultTable TABLE(
|
||||
ID INT
|
||||
,EvfolyamTipusId INT
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
IF @pDatum IS NULL
|
||||
SET @pDatum = CONVERT(DATE, GETDATE())
|
||||
|
||||
INSERT @ResultTable
|
||||
SELECT /*TODO:Tobb Osztaly*//*OM-1585*/
|
||||
OsztalyCsoport.ID ID
|
||||
,OsztalyCsoport.C_EVFOLYAMTIPUSA EvfolyamTipusId
|
||||
FROM
|
||||
T_TANULOCSOPORT_OSSZES TanuloCsoport
|
||||
INNER JOIN
|
||||
T_OSZTALY_OSSZES Osztaly ON
|
||||
Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
||||
OsztalyCsoport.ID = Osztaly.ID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND OsztalyCsoport.C_FELADATKATEGORIAID = (SELECT C_DEFAULTFELADATKATEGORIAID FROM T_TANEV WHERE ID = OsztalyCsoport.C_TANEVID)
|
||||
WHERE
|
||||
TanuloCsoport.C_TANULOID = @pTanuloId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
--TODO: Aktuális tanév első napja előtt és utolsó napja után valszeg nem lesz jó!
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
|
||||
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= @pDatum)
|
||||
|
||||
RETURN
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetAllOsztalyCsoport]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Osztályok/csoportok és egyéb osztályok/csoportok>
|
||||
-- =============================================
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
|
||||
@pFeladatKategoriaId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder,
|
||||
CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder,
|
||||
osztalyCsoport.ID ID,
|
||||
osztalyCsoport.C_NEV Nev,
|
||||
'1' Tipus,
|
||||
NULL CsoportTipusa,
|
||||
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam,
|
||||
0 OsztalyCsoportOrder
|
||||
FROM
|
||||
T_OSZTALY osztaly
|
||||
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
|
||||
ON osztaly.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
||||
WHERE
|
||||
osztalyCsoport.TOROLT = 'F'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder,
|
||||
CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder,
|
||||
osztalyCsoport.ID ID,
|
||||
osztalyCsoport.C_NEV Nev,
|
||||
'1' Tipus,
|
||||
csoport.C_TIPUSA CsoportTipusa,
|
||||
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam,
|
||||
1 OsztalyCsoportOrder
|
||||
FROM
|
||||
T_CSOPORT csoport
|
||||
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
|
||||
ON csoport.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
||||
WHERE
|
||||
osztalyCsoport.TOROLT = 'F'
|
||||
ORDER BY
|
||||
OsztalyCsoportOrder, NumberOrder ASC, NumberAndTextOrder ASC, osztalyCsoport.C_NEV ASC
|
||||
|
||||
END
|
|
@ -0,0 +1,172 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetPedagogusAltalAdottErtekelesek]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetPedagogusAltalAdottErtekelesek]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetPedagogusAltalAdottErtekelesek]
|
||||
@pTanarId INT,
|
||||
@pEvkozi INT,
|
||||
@pFelevi INT,
|
||||
@pEvvegi INT,
|
||||
@pTanevId INT,
|
||||
@pFelevVegeNaptipusId INT,
|
||||
@pErtekelesmodSuly BIT = 0
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @osztalyId INT = 0;
|
||||
DECLARE @tantargyId INT = 0;
|
||||
DECLARE @rowId INT = 0;
|
||||
DECLARE @maxCharNumErtekelesSzoveg INT = 20;
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @felevVege DATE = (
|
||||
SELECT COALESCE(
|
||||
(SELECT C_DATUM FROM T_TANEVRENDJE WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pFelevVegeNaptipusId),
|
||||
GETDATE()
|
||||
)
|
||||
);
|
||||
SELECT T_TANARIATLAGSULY.C_ERTEKELESMODID AS ID, T_DICTIONARYITEMBASE.C_NAME, T_TANARIATLAGSULY.C_ERTEKELESMODID, C_SULY, CAST(C_SULY AS NVARCHAR) + '%' AS C_SULYSZAZALEK, ' (' + NCHAR(97 + ROW_NUMBER() OVER(ORDER BY T_DICTIONARYITEMBASE.C_ORDER ASC) - 1) + ')' AS Row#
|
||||
INTO #tempTanariAtlagsuly
|
||||
FROM T_TANARIATLAGSULY
|
||||
INNER JOIN T_ERTEKELESMOD ON T_ERTEKELESMOD.ID = T_TANARIATLAGSULY.C_ERTEKELESMODID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE ON T_DICTIONARYITEMBASE.ID = T_ERTEKELESMOD.ID
|
||||
WHERE T_TANARIATLAGSULY.TOROLT = 'F' AND T_TANARIATLAGSULY.C_TANEVID = @pTanevId AND T_DICTIONARYITEMBASE.TOROLT = 'F' AND T_DICTIONARYITEMBASE.C_TANEVID = @pTanevId
|
||||
ORDER BY T_DICTIONARYITEMBASE.C_ORDER;
|
||||
SELECT DISTINCT ROW_NUMBER ( ) OVER (ORDER BY TARGYKATEGSORREND, EVFOLYAMSORREND, OSZTALYCSOPORTNEV, TARGYNEV) AS SORSZAM, TANTARGYID, OSZTALYID, CAST(ROW_NUMBER ( ) OVER (ORDER BY TARGYKATEGSORREND, EVFOLYAMSORREND, OSZTALYCSOPORTNEV, TARGYNEV) AS NVARCHAR(10)) + '. ' + NEV AS NEV
|
||||
INTO #tempFoglalkozasok
|
||||
FROM (
|
||||
SELECT DISTINCT T_TANTARGY_OSSZES.ID AS TANTARGYID, T_OSZTALYCSOPORT_OSSZES.ID AS OSZTALYID,
|
||||
TARGYKATEG.C_ORDER AS TARGYKATEGSORREND, EVFOLYAM.C_ORDER AS EVFOLYAMSORREND,
|
||||
T_OSZTALYCSOPORT_OSSZES.C_NEV AS OSZTALYCSOPORTNEV, T_TANTARGY_OSSZES.C_NEV AS TARGYNEV, T_OSZTALYCSOPORT_OSSZES.C_NEV + '-' + T_TANTARGY_OSSZES.C_NEV AS NEV
|
||||
FROM T_FOGLALKOZAS_OSSZES
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES ON T_TANTARGY_OSSZES.ID = T_FOGLALKOZAS_OSSZES.C_TANTARGYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE AS TARGYKATEG ON TARGYKATEG.ID = T_TANTARGY_OSSZES.C_TARGYKATEGORIA AND TARGYKATEG.C_TANEVID = T_TANTARGY_OSSZES.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE AS EVFOLYAM ON EVFOLYAM.ID = T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA AND EVFOLYAM.C_TANEVID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
|
||||
WHERE T_FOGLALKOZAS_OSSZES.TOROLT = 'F' AND T_TANTARGY_OSSZES.TOROLT = 'F' AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F' AND
|
||||
T_FOGLALKOZAS_OSSZES.C_TANARID = @pTanarId AND T_FOGLALKOZAS_OSSZES.C_TANEVID = @pTanevId
|
||||
UNION
|
||||
SELECT DISTINCT T_TANTARGY_OSSZES.ID AS TANTARGYID, T_OSZTALYCSOPORT_OSSZES.ID AS OSZTALYID,
|
||||
TARGYKATEG.C_ORDER AS TARGYKATEGSORREND, EVFOLYAM.C_ORDER AS EVFOLYAMSORREND,
|
||||
T_OSZTALYCSOPORT_OSSZES.C_NEV AS OSZTALYCSOPORTNEV, T_TANTARGY_OSSZES.C_NEV AS TARGYNEV, T_OSZTALYCSOPORT_OSSZES.C_NEV + '-' + T_TANTARGY_OSSZES.C_NEV AS NEV
|
||||
FROM T_TANULOERTEKELES_OSSZES
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOERTEKELES_OSSZES.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES ON T_TANTARGY_OSSZES.ID = T_TANULOERTEKELES_OSSZES.C_TANTARGYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE AS TARGYKATEG ON TARGYKATEG.ID = T_TANTARGY_OSSZES.C_TARGYKATEGORIA AND TARGYKATEG.C_TANEVID = T_TANTARGY_OSSZES.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE AS EVFOLYAM ON EVFOLYAM.ID = T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA AND EVFOLYAM.C_TANEVID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
|
||||
WHERE T_TANULOERTEKELES_OSSZES.TOROLT = 'F' AND T_TANTARGY_OSSZES.TOROLT = 'F' AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F' AND
|
||||
T_TANULOERTEKELES_OSSZES.C_ERTEKELOID = @pTanarId AND T_TANULOERTEKELES_OSSZES.C_TANEVID = @pTanevId
|
||||
) AS FOGLALKOZASOK
|
||||
ORDER BY SORSZAM;
|
||||
DECLARE @tempErtekeles TABLE (ID INT, TANULOID INT, NEV NVARCHAR(255), C_BELEPESDATUM NVARCHAR(15), C_KILEPESDATUM NVARCHAR(15), OSZTID INT, ERTEKELESDATUMA NVARCHAR(255), ERTEKELESTIPUSA INT, ERTEKELESMODJA INT, ERTEKELES NVARCHAR(MAX), OSZTALYZAT INT, HONAP INT);
|
||||
SELECT * FROM #tempFoglalkozasok
|
||||
ORDER BY SORSZAM;
|
||||
WHILE (1 = 1)
|
||||
BEGIN
|
||||
DELETE FROM @tempErtekeles;
|
||||
SELECT TOP 1 @rowId = SORSZAM, @tantargyId = TANTARGYID, @osztalyId = OSZTALYID
|
||||
FROM #tempFoglalkozasok
|
||||
WHERE SORSZAM > @rowId
|
||||
ORDER BY SORSZAM;
|
||||
|
||||
IF @@ROWCOUNT = 0
|
||||
BEGIN
|
||||
BREAK;
|
||||
END
|
||||
|
||||
INSERT INTO @tempErtekeles
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT DISTINCT T_TANULOERTEKELES_OSSZES.ID, T_TANULOCSOPORT_OSSZES.C_TANULOID AS TANULOID, T_FELHASZNALO_OSSZES.C_NYOMTATASINEV AS NEV, COALESCE(FORMAT(T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM, 'yyyy. MM. dd'), '') AS C_BELEPESDATUM, COALESCE(FORMAT(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM, 'yyyy. MM. dd'), '') AS C_KILEPESDATUM,
|
||||
T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID AS OSZTID,
|
||||
T_TANULOERTEKELES_OSSZES.C_DATUM AS ERTEKELESDATUMA, T_TANULOERTEKELES_OSSZES.C_TIPUSID AS ERTEKELESTIPUSA, T_TANULOERTEKELES_OSSZES.C_ERTEKELESMODID AS ERTEKELESMODJA,
|
||||
(
|
||||
(CASE WHEN C_TIPUSID NOT IN (@pEvkozi, @pFelevi, @pEvvegi) THEN '{' ELSE '' END) +
|
||||
COALESCE(CONVERT(NVARCHAR, TDIB_JEGY.C_VALUE), (CASE WHEN C_ERTEKELESSZOVEG IS NOT NULL THEN '[' + CASE WHEN LEN(C_ERTEKELESSZOVEG) > @maxCharNumErtekelesSzoveg THEN STUFF(C_ERTEKELESSZOVEG, @maxCharNumErtekelesSzoveg, 1000000, '...') ELSE C_ERTEKELESSZOVEG END + ']' ELSE NULL END), CONVERT(NVARCHAR, C_ERTEKELESSZAZALEK) + '%') +
|
||||
(CASE WHEN C_TIPUSID NOT IN (@pEvkozi, @pFelevi, @pEvvegi) THEN '}' ELSE '' END) +
|
||||
(CASE WHEN @pErtekelesmodSuly = 1 AND C_TIPUSID IN (@pEvkozi) AND ISNULL(TANARIATLAGSULY.C_SULY, 100) <> 100 THEN TANARIATLAGSULY.Row# ELSE '' END)
|
||||
) AS ERTEKELES,
|
||||
TDIB_JEGY.C_VALUE AS OSZTALYZAT, (CASE WHEN MONTH(C_DATUM) >= 9 THEN 100 WHEN MONTH(C_DATUM) > 1 AND MONTH(C_DATUM) < 9 THEN 200 ELSE (CASE WHEN C_DATUM > @felevVege THEN 200 ELSE 100 END) END) + MONTH(C_DATUM) AS HONAP
|
||||
FROM T_TANULOCSOPORT_OSSZES
|
||||
INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_TANULOID
|
||||
LEFT JOIN T_TANULOERTEKELES_OSSZES ON T_TANULOERTEKELES_OSSZES.C_TANTARGYID = @tantargyId AND T_TANULOERTEKELES_OSSZES.C_TANULOID = T_TANULOCSOPORT_OSSZES.C_TANULOID AND T_TANULOERTEKELES_OSSZES.TOROLT = 'F' AND T_TANULOERTEKELES_OSSZES.C_TANEVID = @pTanevId AND T_TANULOERTEKELES_OSSZES.C_ERTEKELOID = @pTanarId
|
||||
--NOTE: Az évfolyamváltot tanulók szűréséhez kell! -- INNEN
|
||||
INNER JOIN
|
||||
T_TANULOCSOPORT_OSSZES TanuloCsoport ON
|
||||
TanuloCsoport.C_TANULOID = T_TANULOERTEKELES_OSSZES.C_TANULOID
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= GETDATE()
|
||||
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR
|
||||
TanuloCsoport.C_KILEPESDATUM > GETDATE())
|
||||
INNER JOIN
|
||||
T_OSZTALY_OSSZES Osztaly ON
|
||||
Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
||||
OsztalyCsoport.ID = Osztaly.ID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyEvfolyamSzures ON
|
||||
OsztalyEvfolyamSzures.ID = T_TANULOERTEKELES_OSSZES.C_ROGZITESKORITANULOOSZTALYID
|
||||
AND OsztalyEvfolyamSzures.TOROLT = 'F'
|
||||
AND OsztalyEvfolyamSzures.C_EVFOLYAMTIPUSA = OsztalyCsoport.C_EVFOLYAMTIPUSA
|
||||
--NOTE: Az évfolyamváltot tanulók szűréséhez kell! EDDIG
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TDIB_JEGY ON TDIB_JEGY.ID = T_TANULOERTEKELES_OSSZES.C_ERTEKELESOSZTALYZATID AND TDIB_JEGY.TOROLT = 'F' AND TDIB_JEGY.C_TANEVID = @pTanevId
|
||||
LEFT JOIN #tempTanariAtlagsuly AS TANARIATLAGSULY on TANARIATLAGSULY.C_ERTEKELESMODID = T_TANULOERTEKELES_OSSZES.C_ERTEKELESMODID
|
||||
WHERE T_TANULOCSOPORT_OSSZES.C_TANEVID = @pTanevId AND T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID = @osztalyId AND T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
|
||||
--NOTE: AMI-s értékelések miatt, ott nincs mentve C_ROGZITESKORITANULOOSZTALYID
|
||||
AND ((T_TANULOERTEKELES_OSSZES.C_ROGZITESKORITANULOOSZTALYID IS NULL) OR (OsztalyEvfolyamSzures.ID IS NOT NULL))
|
||||
) AS tempErtekeles;
|
||||
SELECT CAST(ROW_NUMBER ( ) OVER (ORDER BY NEV) AS NVARCHAR(10)) + '.' AS "#", RESULT.*
|
||||
FROM (
|
||||
SELECT PIVOTERTEKEL.TANULOID AS ID, NEV AS "Név", BESOROLAS AS "Csoport tagja",
|
||||
[109] AS Szeptember, [110] AS Október, [111] AS November, [112] AS December, [101] AS "Január / I.", FELEV.JEGY AS [I. félév$@8], [201] AS "Január / II.", [202] AS Február, [203] AS Március, [204] AS Április, [205] AS Május, [206] AS Június,
|
||||
EVVEGE.JEGY AS [II. félév$@9], ATLAG.SULYOZOTTATLAG AS "Átlag"
|
||||
FROM (
|
||||
SELECT DISTINCT T1.NEV, T1.C_BELEPESDATUM + ' - ' + T1.C_KILEPESDATUM AS BESOROLAS, STUFF (
|
||||
(SELECT ', ' + ISNULL(T2.ERTEKELES, '')
|
||||
FROM @tempErtekeles AS T2
|
||||
WHERE T1.TANULOID = T2.TANULOID AND T1.HONAP = T2.HONAP AND T1.ERTEKELESTIPUSA NOT IN (@pFelevi, @pEvvegi) AND T2.ERTEKELESTIPUSA NOT IN (@pFelevi, @pEvvegi) -- = @pEvkozi--AND T1.ERTEKELESTIPUSA = @pEvkozi
|
||||
ORDER BY ERTEKELESDATUMA
|
||||
FOR XML PATH ('')
|
||||
), 1, 2, '') AS ERTEKELESEK, T1.HONAP, T1.TANULOID
|
||||
FROM @tempErtekeles AS T1
|
||||
) AS ERDEMJEGYEK
|
||||
PIVOT ( MAX(ERTEKELESEK) FOR HONAP IN ([109], [110], [111], [112], [101], [201], [202], [203], [204], [205], [206])) AS PIVOTERTEKEL
|
||||
LEFT JOIN (
|
||||
SELECT TANULOID, AVG(OSZTALYZAT) AS JEGY
|
||||
FROM @tempErtekeles
|
||||
WHERE ERTEKELESTIPUSA = @pFelevi
|
||||
GROUP BY TANULOID
|
||||
) AS FELEV ON PIVOTERTEKEL.TANULOID = FELEV.TANULOID
|
||||
LEFT JOIN (
|
||||
SELECT TANULOID, AVG(OSZTALYZAT) AS JEGY
|
||||
FROM @tempErtekeles
|
||||
WHERE ERTEKELESTIPUSA = @pEvvegi
|
||||
GROUP BY TANULOID
|
||||
) AS EVVEGE ON PIVOTERTEKEL.TANULOID = EVVEGE.TANULOID
|
||||
LEFT JOIN (
|
||||
SELECT TANULOID, ROUND(AVG(CAST(OSZTALYZAT AS FLOAT)), 2) AS ATLAG, ROUND(SUM(CAST(OSZTALYZAT AS FLOAT) * CAST(ISNULL(T_TANARIATLAGSULY.C_SULY, 100) AS FLOAT) / 100) / SUM(CAST(ISNULL(T_TANARIATLAGSULY.C_SULY, 100) AS FLOAT) / 100), 2) AS SULYOZOTTATLAG
|
||||
FROM @tempErtekeles AS tempErtekeles
|
||||
LEFT JOIN T_TANARIATLAGSULY on T_TANARIATLAGSULY.C_ERTEKELESMODID = tempErtekeles.ERTEKELESMODJA AND T_TANARIATLAGSULY.TOROLT = 'F' AND T_TANARIATLAGSULY.C_TANEVID = @pTanevId
|
||||
WHERE ERTEKELESTIPUSA = @pEvkozi AND OSZTALYZAT IS NOT NULL
|
||||
GROUP BY TANULOID
|
||||
) AS ATLAG ON PIVOTERTEKEL.TANULOID = ATLAG.TANULOID
|
||||
) AS RESULT
|
||||
ORDER BY NEV;
|
||||
END
|
||||
SELECT ID, Row# AS "Jelmagyarázat", C_NAME AS "Értékelésmód", C_SULYSZAZALEK AS "Értékelés súlyozása"
|
||||
FROM #tempTanariAtlagsuly
|
||||
ORDER BY Row#;
|
||||
IF OBJECT_ID('tempdb..#tempErtekeles') IS NOT NULL DROP TABLE #tempErtekeles
|
||||
IF OBJECT_ID('tempdb..#tempFoglalkozasok') IS NOT NULL DROP TABLE #tempFoglalkozasok
|
||||
IF OBJECT_ID('tempdb..#tempTanariAtlagsuly') IS NOT NULL DROP TABLE #tempTanariAtlagsuly
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,81 @@
|
|||
-- =============================================
|
||||
-- Description: <Ellenőrizzuk, hogy a tanulóknak van-e már egyszer adható tanuló értékelése, ha nincs akkor true, ha van akkor false>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[uspCheckTanuloListEgyszerAdhatoTanuloErtekelesValidation]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[uspCheckTanuloListEgyszerAdhatoTanuloErtekelesValidation]
|
||||
@pTanuloErtekelesList XML
|
||||
,@pTipusId INT
|
||||
,@pTantargyId INT = NULL
|
||||
,@pDatum DATE = NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @pDatum IS NULL
|
||||
SET @pDatum = CONVERT(DATE, GETDATE())
|
||||
|
||||
DECLARE @TempTanuloErtekelesList TABLE (C_TANULOID INT, ID INT)
|
||||
|
||||
INSERT INTO @TempTanuloErtekelesList
|
||||
SELECT DISTINCT
|
||||
C_TANULOID = tanuloErtekeles.value('(./tanuloId)[1]', 'INT')
|
||||
,ID = tanuloErtekeles.value('(./id)[1]', 'INT')
|
||||
FROM @pTanuloErtekelesList.nodes('tanuloErtekelesList') AS tanuloErtekelesList(tanuloErtekeles)
|
||||
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES Osztaly ON
|
||||
Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
AND Osztaly.C_EVFOLYAMTIPUSA = (SELECT EvfolyamTipusId FROM dbo.fnGetTanuloOsztaly(TanuloErtekeles.C_TANULOID, @pDatum)) /*TODO:Tobb Osztaly*//*OM-1588*/
|
||||
LEFT JOIN
|
||||
@TempTanuloErtekelesList TanuloErtekelesToEdit ON
|
||||
TanuloErtekeles.C_TANULOID = TanuloErtekelesToEdit.C_TANULOID
|
||||
WHERE
|
||||
TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TIPUSID = @pTipusId
|
||||
AND TanuloErtekeles.C_TANULOID = TanuloErtekelesToEdit.C_TANULOID
|
||||
AND (TanuloErtekelesToEdit.ID IS NULL OR
|
||||
TanuloErtekeles.ID != TanuloErtekelesToEdit.ID)
|
||||
AND (@pTantargyId IS NOT NULL AND @pTantargyId = TanuloErtekeles.C_TANTARGYID OR
|
||||
@pTantargyId IS NULL AND TanuloErtekeles.C_TANTARGYID IS NULL)
|
||||
|
||||
UNION ALL
|
||||
--NOTE: ami-s értékelések miatt, ott nincs mentve C_ROGZITESKORITANULOOSZTALYID
|
||||
SELECT 1
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
LEFT JOIN
|
||||
@TempTanuloErtekelesList TanuloErtekelesToEdit ON
|
||||
TanuloErtekeles.C_TANULOID = TanuloErtekelesToEdit.C_TANULOID
|
||||
WHERE
|
||||
TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TIPUSID = @pTipusId
|
||||
AND TanuloErtekeles.C_TANULOID = TanuloErtekelesToEdit.C_TANULOID
|
||||
AND (TanuloErtekelesToEdit.ID IS NULL OR
|
||||
TanuloErtekeles.ID != TanuloErtekelesToEdit.ID)
|
||||
AND (@pTantargyId IS NOT NULL AND @pTantargyId = TanuloErtekeles.C_TANTARGYID OR
|
||||
@pTantargyId IS NULL AND TanuloErtekeles.C_TANTARGYID IS NULL)
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
||||
)
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,291 @@
|
|||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló értékeléseket főtárgy/altárgy alapján>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloErtekelesDataSetByFotargyAltargy]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[uspGetTanuloErtekelesDataSetByFotargyAltargy]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pTanarId INT
|
||||
,@pTanuloId INT
|
||||
,@pFotargyAltargyId INT
|
||||
,@pDatum DATE = NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @pDatum IS NULL
|
||||
SET @pDatum = CONVERT(DATE, GETDATE())
|
||||
|
||||
DECLARE @evfolyamTipusId INT = (SELECT EvfolyamTipusId FROM dbo.fnGetTanuloOsztaly(@pTanuloId, @pDatum)) /*TODO:Tobb Osztaly*//*OM-1642*/
|
||||
|
||||
CREATE TABLE #KapcsopodoTantargyak(
|
||||
ID INT
|
||||
,C_FOTARGYID INT
|
||||
,C_NEV NVARCHAR(255)
|
||||
,C_TARGYKATEGORIA INT
|
||||
,C_INTEZMENYID INT
|
||||
,C_TANEVID INT
|
||||
)
|
||||
INSERT INTO
|
||||
#KapcsopodoTantargyak
|
||||
SELECT
|
||||
ID
|
||||
,C_FOTARGYID
|
||||
,C_NEV
|
||||
,C_TARGYKATEGORIA
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
FROM
|
||||
fnGetKapcsolodoTantargyak(@pIntezmenyId, @pTanevId, @pFotargyAltargyId)
|
||||
|
||||
CREATE TABLE #OsztalyCsoportIdList(
|
||||
ID INT PRIMARY KEY
|
||||
)
|
||||
INSERT INTO
|
||||
#OsztalyCsoportIdList (ID)
|
||||
SELECT
|
||||
OsztalyCsoport.ID
|
||||
FROM
|
||||
T_TANULOCSOPORT_OSSZES TanuloCsoport
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
||||
OsztalyCsoport.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
||||
AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloCsoport.C_TANEVID = @pTanevId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanuloCsoport.C_TANULOID = @pTanuloId
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= GETDATE()
|
||||
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= GETDATE())
|
||||
|
||||
CREATE TABLE #Tantargyak(
|
||||
ID INT
|
||||
,C_FOTARGYID INT
|
||||
,C_NEV NVARCHAR(255)
|
||||
,C_TARGYKATEGORIA INT
|
||||
,C_INTEZMENYID INT
|
||||
,C_TANEVID INT
|
||||
);
|
||||
WITH tantargy_CTE (C_TANTARGYID, C_FOTARGYID, C_INTEZMENYID, C_TANEVID)
|
||||
AS (
|
||||
SELECT DISTINCT
|
||||
Foglalkozas.C_TANTARGYID,
|
||||
Tantargy.C_FOTARGYID,
|
||||
Tantargy.C_INTEZMENYID,
|
||||
Tantargy.C_TANEVID
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES Foglalkozas
|
||||
INNER JOIN
|
||||
T_TANTARGY_OSSZES Tantargy ON
|
||||
Tantargy.C_INTEZMENYID = Foglalkozas.C_INTEZMENYID
|
||||
AND Tantargy.C_TANEVID = Foglalkozas.C_TANEVID
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
AND Tantargy.ID = Foglalkozas.C_TANTARGYID
|
||||
INNER JOIN
|
||||
#OsztalyCsoportIdList OsztalyCsoport ON
|
||||
OsztalyCsoport.ID = Foglalkozas.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
Foglalkozas.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Foglalkozas.C_TANEVID = @pTanevId
|
||||
AND Foglalkozas.TOROLT = 'F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT
|
||||
OrarendiOra.C_TANTARGYID,
|
||||
Tantargy.C_FOTARGYID,
|
||||
Tantargy.C_INTEZMENYID,
|
||||
Tantargy.C_TANEVID
|
||||
FROM
|
||||
T_ORARENDIORA_OSSZES OrarendiOra
|
||||
INNER JOIN
|
||||
T_TANTARGY_OSSZES Tantargy ON
|
||||
Tantargy.C_INTEZMENYID = OrarendiOra.C_INTEZMENYID
|
||||
AND Tantargy.C_TANEVID = OrarendiOra.C_TANEVID
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
AND Tantargy.ID = OrarendiOra.C_TANTARGYID
|
||||
INNER JOIN
|
||||
#OsztalyCsoportIdList OsztalyCsoport ON
|
||||
OsztalyCsoport.ID = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
OrarendiOra.C_INTEZMENYID = @pIntezmenyId
|
||||
AND OrarendiOra.C_TANEVID = @pTanevId
|
||||
AND OrarendiOra.TOROLT = 'F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT
|
||||
TanuloErtekeles.C_TANTARGYID,
|
||||
Tantargy.C_FOTARGYID,
|
||||
Tantargy.C_INTEZMENYID,
|
||||
Tantargy.C_TANEVID
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN
|
||||
T_TANTARGY_OSSZES Tantargy ON
|
||||
Tantargy.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
AND Tantargy.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
AND Tantargy.ID = TanuloErtekeles.C_TANTARGYID
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES Osztaly ON
|
||||
Osztaly.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
||||
AND Osztaly.C_EVFOLYAMTIPUSA = @evfolyamTipusId
|
||||
WHERE
|
||||
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
AND TanuloErtekeles.C_TANTARGYID IS NOT NULL
|
||||
|
||||
UNION ALL
|
||||
--NOTE: ami-s értékelések miatt, ott nincs mentve C_ROGZITESKORITANULOOSZTALYID
|
||||
SELECT DISTINCT
|
||||
TanuloErtekeles.C_TANTARGYID,
|
||||
Tantargy.C_FOTARGYID,
|
||||
Tantargy.C_INTEZMENYID,
|
||||
Tantargy.C_TANEVID
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN
|
||||
T_TANTARGY_OSSZES Tantargy ON
|
||||
Tantargy.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
AND Tantargy.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
AND Tantargy.ID = TanuloErtekeles.C_TANTARGYID
|
||||
WHERE
|
||||
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
AND TanuloErtekeles.C_TANTARGYID IS NOT NULL
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
||||
)
|
||||
INSERT INTO
|
||||
#Tantargyak (ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA, C_INTEZMENYID, C_TANEVID)
|
||||
SELECT DISTINCT
|
||||
KapcsopodoTantargy.ID,
|
||||
KapcsopodoTantargy.C_FOTARGYID,
|
||||
KapcsopodoTantargy.C_NEV,
|
||||
KapcsopodoTantargy.C_TARGYKATEGORIA,
|
||||
KapcsopodoTantargy.C_INTEZMENYID,
|
||||
KapcsopodoTantargy.C_TANEVID
|
||||
FROM
|
||||
tantargy_CTE
|
||||
INNER JOIN
|
||||
#KapcsopodoTantargyak KapcsopodoTantargy ON
|
||||
tantargy_CTE.C_TANTARGYID = KapcsopodoTantargy.ID
|
||||
OR tantargy_CTE.C_FOTARGYID = KapcsopodoTantargy.ID
|
||||
WHERE
|
||||
(KapcsopodoTantargy.ID <> @pFotargyAltargyId)
|
||||
|
||||
SELECT
|
||||
@pTanuloId TanuloId
|
||||
,Tantargy.ID TantargyId
|
||||
|
||||
,Tantargy.C_NEV TantargyNev
|
||||
|
||||
,TanuloErtekeles.ID ID
|
||||
,TanuloErtekeles.C_DATUM Datum
|
||||
,TanuloErtekeles.C_ROGZITESDATUM RogzitesDatum
|
||||
,TanuloErtekeles.C_TIPUSID TipusId
|
||||
,FelhasznaloErtekelo.C_NYOMTATASINEV ErtekeloNyomtatasiNev
|
||||
,IIF(TanuloErtekeles.ID IS NULL, --
|
||||
NULL, --
|
||||
CASE --
|
||||
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId --
|
||||
THEN 'T' --
|
||||
ELSE 'F' --
|
||||
END --
|
||||
) Modosithato
|
||||
,TanuloErtekeles.CREATED Created
|
||||
,TanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
|
||||
,TanuloErtekeles.C_ISERTESITESELKULDVE IsErtesitesElkuldve
|
||||
|
||||
,TanuloErtekeles.C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId
|
||||
,TanariAtlagSuly.C_SULY Suly
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV ErtekelesSzovegRovidNev
|
||||
,TanuloErtekeles.C_ERTEKELESSZAZALEK ErtekelesSzazalek
|
||||
,TanuloErtekeles.C_ERTEKELESMODID ErtekelesModId
|
||||
,TanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema
|
||||
|
||||
,Tantargy.C_TARGYKATEGORIA TantargyKategoriaId
|
||||
,Fotargy.ID FotargyId
|
||||
,Fotargy.C_NEV FotargyNev
|
||||
,Fotargy.C_TARGYKATEGORIA FotargyTantargyKategoriaId
|
||||
FROM
|
||||
#Tantargyak Tantargy
|
||||
LEFT JOIN(
|
||||
SELECT
|
||||
TanuloErtekeles.*
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES Osztaly ON
|
||||
Osztaly.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
||||
AND Osztaly.C_EVFOLYAMTIPUSA = @evfolyamTipusId
|
||||
WHERE
|
||||
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
|
||||
UNION ALL
|
||||
--NOTE: ami-s értékelések miatt, ott nincs mentve C_ROGZITESKORITANULOOSZTALYID
|
||||
SELECT
|
||||
TanuloErtekeles.*
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
WHERE
|
||||
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
||||
) AS TanuloErtekeles ON
|
||||
TanuloErtekeles.C_TANTARGYID = Tantargy.ID
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON
|
||||
FelhasznaloErtekelo.C_INTEZMENYID = Tantargy.C_INTEZMENYID
|
||||
AND FelhasznaloErtekelo.C_TANEVID = Tantargy.C_TANEVID
|
||||
AND FelhasznaloErtekelo.TOROLT = 'F'
|
||||
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
|
||||
LEFT JOIN
|
||||
T_TANARIATLAGSULY_OSSZES TanariAtlagSuly ON
|
||||
TanariAtlagSuly.C_INTEZMENYID = Tantargy.C_INTEZMENYID
|
||||
AND TanariAtlagSuly.C_TANEVID = Tantargy.C_TANEVID
|
||||
AND TanariAtlagSuly.TOROLT = 'F'
|
||||
AND TanariAtlagSuly.C_ERTEKELESMODID = TanuloErtekeles.C_ERTEKELESMODID
|
||||
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F'
|
||||
AND TanuloErtekeles.C_ERTEKELESOSZTALYZATID IS NOT NULL
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES Fotargy ON
|
||||
Fotargy.C_INTEZMENYID = Tantargy.C_INTEZMENYID
|
||||
AND Fotargy.C_TANEVID = Tantargy.C_TANEVID
|
||||
AND Fotargy.TOROLT = 'F'
|
||||
AND Fotargy.ID = Tantargy.C_FOTARGYID
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló értékeléseket magatartás/szorgalom alapján>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloErtekelesDataSetByMagatartasSzorgalom]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[uspGetTanuloErtekelesDataSetByMagatartasSzorgalom]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pTanarId INT
|
||||
,@pOsztalyCsoportId INT
|
||||
,@pDatum DATE = NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @pDatum IS NULL
|
||||
SET @pDatum = CONVERT(DATE, GETDATE())
|
||||
|
||||
CREATE TABLE #TanuloOsztalyEvfolyamTipusIdList(
|
||||
TanuloId INT PRIMARY KEY
|
||||
,EvfolyamTipusId INT
|
||||
)
|
||||
INSERT INTO
|
||||
#TanuloOsztalyEvfolyamTipusIdList
|
||||
SELECT
|
||||
TanuloId
|
||||
,EvfolyamTipusId
|
||||
FROM
|
||||
dbo.fnGetOsztalyCsoportTanuloOsztalyList(@pIntezmenyId, @pTanevId, @pOsztalyCsoportId, @pDatum) /*TODO:Tobb Osztaly*//*OM-1649*/
|
||||
|
||||
SELECT
|
||||
FelhasznaloTanulo.ID TanuloId
|
||||
,NULL TantargyId
|
||||
|
||||
,FelhasznaloTanulo.C_NYOMTATASINEV TanuloNev
|
||||
,IIF(FelhasznaloTanulo.C_NEVSORREND = 'T', --
|
||||
FelhasznaloTanulo.C_UTONEV + ' '+ FelhasznaloTanulo.C_VEZETEKNEV, --
|
||||
FelhasznaloTanulo.C_VEZETEKNEV + ' ' + FelhasznaloTanulo.C_UTONEV) TanuloNevElotagNelkul
|
||||
,FelhasznaloTanulo.C_ANYJANEVE AnyjaNeve
|
||||
,FelhasznaloTanulo.C_SZULETESIDATUM SzuletesiIdo
|
||||
,OsztalyCsoport.C_NEV OsztalyNev
|
||||
|
||||
,TanuloErtekeles.ID ID
|
||||
,TanuloErtekeles.C_DATUM Datum
|
||||
,TanuloErtekeles.C_ROGZITESDATUM RogzitesDatum
|
||||
,TanuloErtekeles.C_TIPUSID TipusId
|
||||
,FelhasznaloErtekelo.C_NYOMTATASINEV ErtekeloNyomtatasiNev
|
||||
,IIF(TanuloErtekeles.ID IS NULL, --
|
||||
NULL, --
|
||||
CASE --
|
||||
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId --
|
||||
THEN 'T' --
|
||||
ELSE 'F' --
|
||||
END --
|
||||
) Modosithato
|
||||
,TanuloErtekeles.CREATED Created
|
||||
,TanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
|
||||
,TanuloErtekeles.C_ISERTESITESELKULDVE IsErtesitesElkuldve
|
||||
|
||||
,TanuloErtekeles.C_MAGATARTASOSZTALYZATID MagatartasOsztalyzatId
|
||||
,TanuloErtekeles.C_MAGATARTASSZOVEG MagatartasSzoveg
|
||||
,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV MagatartasSzovegRovidNev
|
||||
,TanuloErtekeles.C_MAGATARTASERTEKID MagatartasErtekId
|
||||
,TanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId
|
||||
,TanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg
|
||||
,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV SzorgalomSzovegRovidNev
|
||||
,TanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId
|
||||
FROM
|
||||
-- NOTE: Azért TanuloCsoport-ból indul ki, mert a tanulókat akkor is meg kell jeleníteni, ha nincs értékelésük
|
||||
T_TANULOCSOPORT_OSSZES TanuloCsoport
|
||||
INNER JOIN
|
||||
T_FELHASZNALO_OSSZES FelhasznaloTanulo ON
|
||||
FelhasznaloTanulo.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
||||
AND FelhasznaloTanulo.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND FelhasznaloTanulo.TOROLT = 'F'
|
||||
AND FelhasznaloTanulo.ID = TanuloCsoport.C_TANULOID
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
||||
OsztalyCsoport.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
||||
AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN(
|
||||
SELECT
|
||||
TanuloErtekeles.*
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES Osztaly ON
|
||||
Osztaly.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
||||
AND Osztaly.C_EVFOLYAMTIPUSA = (SELECT EvfolyamTipusId FROM #TanuloOsztalyEvfolyamTipusIdList WHERE TanuloId = TanuloErtekeles.C_TANULOID)
|
||||
WHERE
|
||||
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANTARGYID IS NULL
|
||||
|
||||
-- NOTE: Ami-s értékelésnél a C_ROGZITESKORITANULOOSZTALYID null, ezeket mindig meg kell jeleníteni
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
TanuloErtekeles.*
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
WHERE TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANTARGYID IS NULL
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
||||
) AS TanuloErtekeles ON
|
||||
TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON
|
||||
FelhasznaloErtekelo.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
||||
AND FelhasznaloErtekelo.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND FelhasznaloErtekelo.TOROLT = 'F'
|
||||
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
|
||||
WHERE
|
||||
TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloCsoport.C_TANEVID = @pTanevId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
|
||||
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= @pDatum)
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,171 @@
|
|||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló értékeléseket tantárgy alapján>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloErtekelesDataSetByTantargy]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[uspGetTanuloErtekelesDataSetByTantargy]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pTanarId INT
|
||||
,@pTantargyId INT
|
||||
,@pOsztalyCsoportId INT
|
||||
,@pDatum DATE = NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @pDatum IS NULL
|
||||
SET @pDatum = CONVERT(DATE, GETDATE())
|
||||
|
||||
CREATE TABLE #TanuloOsztalyEvfolyamTipusIdList(
|
||||
TanuloId INT PRIMARY KEY
|
||||
,EvfolyamTipusId INT
|
||||
)
|
||||
INSERT INTO
|
||||
#TanuloOsztalyEvfolyamTipusIdList
|
||||
SELECT
|
||||
TanuloId
|
||||
,EvfolyamTipusId
|
||||
FROM
|
||||
dbo.fnGetOsztalyCsoportTanuloOsztalyList(@pIntezmenyId, @pTanevId, @pOsztalyCsoportId, @pDatum) /*TODO:Tobb Osztaly*//*OM-1648*/
|
||||
|
||||
SELECT
|
||||
FelhasznaloTanulo.ID TanuloId
|
||||
,@pTantargyId TantargyId
|
||||
|
||||
,FelhasznaloTanulo.C_NYOMTATASINEV TanuloNev
|
||||
,IIF(FelhasznaloTanulo.C_NEVSORREND = 'T', --
|
||||
FelhasznaloTanulo.C_UTONEV + ' '+ FelhasznaloTanulo.C_VEZETEKNEV, --
|
||||
FelhasznaloTanulo.C_VEZETEKNEV + ' ' + FelhasznaloTanulo.C_UTONEV) TanuloNevElotagNelkul
|
||||
,FelhasznaloTanulo.C_ANYJANEVE AnyjaNeve
|
||||
,FelhasznaloTanulo.C_SZULETESIDATUM SzuletesiIdo
|
||||
,OsztalyCsoport.C_NEV OsztalyNev
|
||||
,TanuloMentesseg.C_MENTESSEGOKA MentessegOka
|
||||
,TanuloMentesseg.C_ERTEKELESMENTESITES ErtkelesMentesseg
|
||||
,TanuloMentesseg.C_SZOVEGESENERTEKELHETO SzovegesenErtekelheto
|
||||
|
||||
,TanuloErtekeles.ID ID
|
||||
,TanuloErtekeles.C_DATUM Datum
|
||||
,TanuloErtekeles.C_ROGZITESDATUM RogzitesDatum
|
||||
,TanuloErtekeles.C_TIPUSID TipusId
|
||||
,FelhasznaloErtekelo.C_NYOMTATASINEV ErtekeloNyomtatasiNev
|
||||
,IIF(TanuloErtekeles.ID IS NULL, --
|
||||
NULL, --
|
||||
CASE --
|
||||
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId --
|
||||
THEN 'T' --
|
||||
ELSE 'F' --
|
||||
END --
|
||||
) Modosithato
|
||||
,TanuloErtekeles.CREATED Created
|
||||
,TanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
|
||||
,TanuloErtekeles.C_ISERTESITESELKULDVE IsErtesitesElkuldve
|
||||
|
||||
,TanuloErtekeles.C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId
|
||||
,TanariAtlagSuly.C_SULY Suly
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV ErtekelesSzovegRovidNev
|
||||
,TanuloErtekeles.C_ERTEKELESSZAZALEK ErtekelesSzazalek
|
||||
,TanuloErtekeles.C_ERTEKELESMODID ErtekelesModId
|
||||
,TanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema
|
||||
FROM
|
||||
T_TANULOCSOPORT_OSSZES TanuloCsoport -- NOTE: Azért TanuloCsoport-ból indul ki, mert a tanulókat akkor is meg kell jeleníteni, ha nincs értékelésük
|
||||
INNER JOIN
|
||||
T_FELHASZNALO_OSSZES FelhasznaloTanulo ON
|
||||
FelhasznaloTanulo.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
||||
AND FelhasznaloTanulo.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND FelhasznaloTanulo.TOROLT = 'F'
|
||||
AND FelhasznaloTanulo.ID = TanuloCsoport.C_TANULOID
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
||||
OsztalyCsoport.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
||||
AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN(
|
||||
SELECT
|
||||
TanuloErtekeles.*
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES Osztaly ON
|
||||
Osztaly.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
||||
AND Osztaly.C_EVFOLYAMTIPUSA = (SELECT EvfolyamTipusId FROM #TanuloOsztalyEvfolyamTipusIdList WHERE TanuloId = TanuloErtekeles.C_TANULOID)
|
||||
WHERE
|
||||
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANTARGYID = @pTantargyId
|
||||
|
||||
-- NOTE: Ami-s értékelésnél a C_ROGZITESKORITANULOOSZTALYID null, ezeket mindig meg kell jeleníteni
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
TanuloErtekeles.*
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
WHERE TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANTARGYID = @pTantargyId
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
||||
) AS TanuloErtekeles ON
|
||||
TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON
|
||||
FelhasznaloErtekelo.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
||||
AND FelhasznaloErtekelo.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND FelhasznaloErtekelo.TOROLT = 'F'
|
||||
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
|
||||
LEFT JOIN
|
||||
T_TANARIATLAGSULY_OSSZES TanariAtlagSuly ON
|
||||
TanariAtlagSuly.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
||||
AND TanariAtlagSuly.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND TanariAtlagSuly.TOROLT = 'F'
|
||||
AND TanariAtlagSuly.C_ERTEKELESMODID = TanuloErtekeles.C_ERTEKELESMODID
|
||||
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F'
|
||||
AND TanuloErtekeles.C_ERTEKELESOSZTALYZATID IS NOT NULL
|
||||
--NOTE: Azért kell a subselect, mert lehetnek párhuzamosan is mentességek, de nekünk csak az utolsó kell C_KEZDETE alapján.
|
||||
OUTER APPLY(
|
||||
SELECT TOP 1
|
||||
TanuloMentesseg.C_ERTEKELESMENTESITES
|
||||
,TanuloMentesseg.C_SZOVEGESENERTEKELHETO
|
||||
,TanuloMentesseg.C_TANULOID
|
||||
,TanuloMentesseg.C_MENTESSEGOKA
|
||||
FROM
|
||||
T_TANULOMENTESSEG_OSSZES TanuloMentesseg
|
||||
WHERE
|
||||
TanuloMentesseg.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
||||
AND TanuloMentesseg.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND TanuloMentesseg.TOROLT = 'F'
|
||||
AND TanuloMentesseg.C_TANULOID = FelhasznaloTanulo.ID
|
||||
AND TanuloMentesseg.C_TANTARGYID = @pTantargyId
|
||||
AND (TanuloMentesseg.C_KEZDETE IS NULL OR TanuloMentesseg.C_KEZDETE <= @pDatum)
|
||||
AND (TanuloMentesseg.C_VEGE IS NULL OR TanuloMentesseg.C_VEGE >= @pDatum)
|
||||
ORDER BY
|
||||
TanuloMentesseg.C_KEZDETE DESC
|
||||
) AS TanuloMentesseg
|
||||
WHERE
|
||||
TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloCsoport.C_TANEVID = @pTanevId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
|
||||
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= @pDatum)
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,310 @@
|
|||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló étrékeléseket tanuló alapján>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloErtekelesDataSetByTanulo]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[uspGetTanuloErtekelesDataSetByTanulo]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pTanarId INT
|
||||
,@pTanuloId INT
|
||||
,@pDatum DATE = NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @pDatum IS NULL
|
||||
SET @pDatum = CONVERT(DATE, GETDATE())
|
||||
|
||||
DECLARE @evfolyamTipusId INT = (SELECT EvfolyamTipusId FROM dbo.fnGetTanuloOsztaly(@pTanuloId, @pDatum)) /*TODO:Tobb Osztaly*//*OM-1641*/
|
||||
|
||||
CREATE TABLE #KapcsopodoTantargyak(
|
||||
ID INT
|
||||
,C_FOTARGYID INT
|
||||
,C_NEV NVARCHAR(255)
|
||||
,C_TARGYKATEGORIA INT
|
||||
,C_INTEZMENYID INT
|
||||
,C_TANEVID INT
|
||||
)
|
||||
INSERT INTO
|
||||
#KapcsopodoTantargyak
|
||||
SELECT
|
||||
ID
|
||||
,C_FOTARGYID
|
||||
,C_NEV
|
||||
,C_TARGYKATEGORIA
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
FROM
|
||||
fnGetKapcsolodoTantargyak(@pIntezmenyId, @pTanevId, NULL)
|
||||
|
||||
CREATE TABLE #OsztalyCsoportIdList(
|
||||
ID INT PRIMARY KEY
|
||||
)
|
||||
INSERT INTO
|
||||
#OsztalyCsoportIdList (ID)
|
||||
SELECT
|
||||
OsztalyCsoport.ID
|
||||
FROM
|
||||
T_TANULOCSOPORT_OSSZES TanuloCsoport
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
|
||||
OsztalyCsoport.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
||||
AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloCsoport.C_TANEVID = @pTanevId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanuloCsoport.C_TANULOID = @pTanuloId
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= GETDATE()
|
||||
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= GETDATE())
|
||||
|
||||
CREATE TABLE #Tantargyak(
|
||||
ID INT
|
||||
,C_FOTARGYID INT
|
||||
,C_NEV NVARCHAR(255)
|
||||
,C_TARGYKATEGORIA INT
|
||||
,C_INTEZMENYID INT
|
||||
,C_TANEVID INT
|
||||
);
|
||||
--NOTE: A Magatartást/Szorgalmat beszúrjuk mint tantárgy
|
||||
INSERT INTO
|
||||
#Tantargyak (ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA, C_INTEZMENYID, C_TANEVID)
|
||||
SELECT
|
||||
NULL,
|
||||
NULL,
|
||||
'Magatartás/Szorgalom',
|
||||
0,
|
||||
@pIntezmenyId,
|
||||
@pTanevID;
|
||||
WITH tantargy_CTE (C_TANTARGYID, C_FOTARGYID, C_INTEZMENYID, C_TANEVID)
|
||||
AS (
|
||||
SELECT DISTINCT
|
||||
Foglalkozas.C_TANTARGYID,
|
||||
Tantargy.C_FOTARGYID,
|
||||
Tantargy.C_INTEZMENYID,
|
||||
Tantargy.C_TANEVID
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES Foglalkozas
|
||||
INNER JOIN
|
||||
T_TANTARGY_OSSZES Tantargy ON
|
||||
Tantargy.C_INTEZMENYID = Foglalkozas.C_INTEZMENYID
|
||||
AND Tantargy.C_TANEVID = Foglalkozas.C_TANEVID
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
AND Tantargy.ID = Foglalkozas.C_TANTARGYID
|
||||
INNER JOIN
|
||||
#OsztalyCsoportIdList OsztalyCsoport ON
|
||||
OsztalyCsoport.ID = Foglalkozas.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
Foglalkozas.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Foglalkozas.C_TANEVID = @pTanevId
|
||||
AND Foglalkozas.TOROLT = 'F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT
|
||||
OrarendiOra.C_TANTARGYID,
|
||||
Tantargy.C_FOTARGYID,
|
||||
Tantargy.C_INTEZMENYID,
|
||||
Tantargy.C_TANEVID
|
||||
FROM
|
||||
T_ORARENDIORA_OSSZES OrarendiOra
|
||||
INNER JOIN
|
||||
T_TANTARGY_OSSZES Tantargy ON
|
||||
Tantargy.C_INTEZMENYID = OrarendiOra.C_INTEZMENYID
|
||||
AND Tantargy.C_TANEVID = OrarendiOra.C_TANEVID
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
AND Tantargy.ID = OrarendiOra.C_TANTARGYID
|
||||
INNER JOIN
|
||||
#OsztalyCsoportIdList OsztalyCsoport ON
|
||||
OsztalyCsoport.ID = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
OrarendiOra.C_INTEZMENYID = @pIntezmenyId
|
||||
AND OrarendiOra.C_TANEVID = @pTanevId
|
||||
AND OrarendiOra.TOROLT = 'F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT
|
||||
TanuloErtekeles.C_TANTARGYID,
|
||||
Tantargy.C_FOTARGYID,
|
||||
Tantargy.C_INTEZMENYID,
|
||||
Tantargy.C_TANEVID
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN
|
||||
T_TANTARGY_OSSZES Tantargy ON
|
||||
Tantargy.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
AND Tantargy.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
AND Tantargy.ID = TanuloErtekeles.C_TANTARGYID
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES Osztaly ON
|
||||
Osztaly.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
||||
AND Osztaly.C_EVFOLYAMTIPUSA = @evfolyamTipusId
|
||||
WHERE
|
||||
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
AND TanuloErtekeles.C_TANTARGYID IS NOT NULL
|
||||
|
||||
UNION ALL
|
||||
-- NOTE: Ami-s értékelésnél a C_ROGZITESKORITANULOOSZTALYID null, ezeket mindig meg kell jeleníteni
|
||||
SELECT DISTINCT
|
||||
TanuloErtekeles.C_TANTARGYID,
|
||||
Tantargy.C_FOTARGYID,
|
||||
Tantargy.C_INTEZMENYID,
|
||||
Tantargy.C_TANEVID
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN
|
||||
T_TANTARGY_OSSZES Tantargy ON
|
||||
Tantargy.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
AND Tantargy.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND Tantargy.TOROLT = 'F'
|
||||
AND Tantargy.ID = TanuloErtekeles.C_TANTARGYID
|
||||
WHERE
|
||||
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
AND TanuloErtekeles.C_TANTARGYID IS NOT NULL
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
||||
)
|
||||
INSERT INTO
|
||||
#Tantargyak (ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA, C_INTEZMENYID, C_TANEVID)
|
||||
SELECT DISTINCT
|
||||
KapcsopodoTantargy.ID,
|
||||
KapcsopodoTantargy.C_FOTARGYID,
|
||||
KapcsopodoTantargy.C_NEV,
|
||||
KapcsopodoTantargy.C_TARGYKATEGORIA,
|
||||
KapcsopodoTantargy.C_INTEZMENYID,
|
||||
KapcsopodoTantargy.C_TANEVID
|
||||
FROM
|
||||
tantargy_CTE
|
||||
INNER JOIN
|
||||
#KapcsopodoTantargyak KapcsopodoTantargy ON
|
||||
tantargy_CTE.C_TANTARGYID = KapcsopodoTantargy.ID
|
||||
OR tantargy_CTE.C_FOTARGYID = KapcsopodoTantargy.ID
|
||||
|
||||
SELECT
|
||||
@pTanuloId TanuloId
|
||||
,Tantargy.ID TantargyId
|
||||
|
||||
,Tantargy.C_NEV TantargyNev
|
||||
|
||||
,TanuloErtekeles.ID ID
|
||||
,TanuloErtekeles.C_DATUM Datum
|
||||
,TanuloErtekeles.C_ROGZITESDATUM RogzitesDatum
|
||||
,TanuloErtekeles.C_TIPUSID TipusId
|
||||
,FelhasznaloErtekelo.C_NYOMTATASINEV ErtekeloNyomtatasiNev
|
||||
,IIF(TanuloErtekeles.ID IS NULL, --
|
||||
NULL, --
|
||||
CASE --
|
||||
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId --
|
||||
THEN 'T' --
|
||||
ELSE 'F' --
|
||||
END --
|
||||
) Modosithato
|
||||
,TanuloErtekeles.CREATED Created
|
||||
,IIF(TanuloErtekeles.C_ISMAGATARTASSZORGALOM IS NOT NULL, --
|
||||
TanuloErtekeles.C_ISMAGATARTASSZORGALOM, --
|
||||
IIF (Tantargy.ID IS NOT NULL, 'F', 'T') --
|
||||
) IsMagatartasSzorgalom
|
||||
,TanuloErtekeles.C_ISERTESITESELKULDVE IsErtesitesElkuldve
|
||||
|
||||
,TanuloErtekeles.C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId
|
||||
,TanariAtlagSuly.C_SULY Suly
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV ErtekelesSzovegRovidNev
|
||||
,TanuloErtekeles.C_ERTEKELESSZAZALEK ErtekelesSzazalek
|
||||
,TanuloErtekeles.C_ERTEKELESMODID ErtekelesModId
|
||||
,TanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema
|
||||
|
||||
,TanuloErtekeles.C_MAGATARTASOSZTALYZATID MagatartasOsztalyzatId
|
||||
,TanuloErtekeles.C_MAGATARTASSZOVEG MagatartasSzoveg
|
||||
,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV MagatartasSzovegRovidNev
|
||||
,TanuloErtekeles.C_MAGATARTASERTEKID MagatartasErtekId
|
||||
,TanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId
|
||||
,TanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg
|
||||
,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV SzorgalomSzovegRovidNev
|
||||
,TanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId
|
||||
|
||||
,Tantargy.C_TARGYKATEGORIA TantargyKategoriaId
|
||||
,Fotargy.ID FotargyId
|
||||
,Fotargy.C_NEV FotargyNev
|
||||
,Fotargy.C_TARGYKATEGORIA FotargyTantargyKategoriaId
|
||||
FROM
|
||||
#Tantargyak Tantargy
|
||||
LEFT JOIN(
|
||||
SELECT
|
||||
TanuloErtekeles.*
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES Osztaly ON
|
||||
Osztaly.C_INTEZMENYID = TanuloErtekeles.C_INTEZMENYID
|
||||
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
||||
AND Osztaly.C_EVFOLYAMTIPUSA = @evfolyamTipusId
|
||||
WHERE
|
||||
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
|
||||
UNION ALL
|
||||
-- NOTE: Ami-s értékelésnél a C_ROGZITESKORITANULOOSZTALYID null, ezeket mindig meg kell jeleníteni
|
||||
SELECT
|
||||
TanuloErtekeles.*
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
WHERE
|
||||
TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
||||
) AS TanuloErtekeles ON
|
||||
(TanuloErtekeles.C_TANTARGYID = Tantargy.ID OR (TanuloErtekeles.C_TANTARGYID IS NULL AND Tantargy.ID IS NULL))
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON
|
||||
FelhasznaloErtekelo.C_INTEZMENYID = Tantargy.C_INTEZMENYID
|
||||
AND FelhasznaloErtekelo.C_TANEVID = Tantargy.C_TANEVID
|
||||
AND FelhasznaloErtekelo.TOROLT = 'F'
|
||||
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
|
||||
LEFT JOIN
|
||||
T_TANARIATLAGSULY_OSSZES TanariAtlagSuly ON
|
||||
TanariAtlagSuly.C_INTEZMENYID = Tantargy.C_INTEZMENYID
|
||||
AND TanariAtlagSuly.C_TANEVID = Tantargy.C_TANEVID
|
||||
AND TanariAtlagSuly.TOROLT = 'F'
|
||||
AND TanariAtlagSuly.C_ERTEKELESMODID = TanuloErtekeles.C_ERTEKELESMODID
|
||||
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F'
|
||||
AND TanuloErtekeles.C_ERTEKELESOSZTALYZATID IS NOT NULL
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES Fotargy ON
|
||||
Fotargy.C_INTEZMENYID = Tantargy.C_INTEZMENYID
|
||||
AND Fotargy.C_TANEVID = Tantargy.C_TANEVID
|
||||
AND Fotargy.TOROLT = 'F'
|
||||
AND Fotargy.ID = Tantargy.C_FOTARGYID
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,205 @@
|
|||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló értékeléseket részletesen>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloErtekelesDetailDataSet]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[uspGetTanuloErtekelesDetailDataSet]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pTanuloId INT
|
||||
,@pTantargyId INT = NULL
|
||||
,@pShowToroltElemek BIT
|
||||
,@pTanarId INT
|
||||
,@pErtekelesMegjelenesFajtaEnumTantargyId INT
|
||||
,@pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId INT
|
||||
,@pErtekelesMegjelenesFajtaId INT
|
||||
,@pDatum DATE = NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @pDatum IS NULL
|
||||
SET @pDatum = CONVERT(DATE, GETDATE())
|
||||
|
||||
DECLARE @evfolyamTipusId INT = (SELECT EvfolyamTipusId FROM dbo.fnGetTanuloOsztaly(@pTanuloId, @pDatum)) /*TODO:Tobb Osztaly*//*OM-1643*/
|
||||
|
||||
DECLARE @sql NVARCHAR(MAX)
|
||||
|
||||
SET @sql = N'
|
||||
SELECT
|
||||
TanuloErtekeles.ID ID
|
||||
,TanuloErtekeles.C_DATUM Datum
|
||||
,TanuloErtekeles.C_ROGZITESDATUM RogzitesDatum
|
||||
,TanuloErtekeles.C_TIPUSID TipusId
|
||||
,TanuloErtekeles.C_ISERTESITESELKULDVE IsErtesitesElkuldve
|
||||
,TanuloErtekeles.C_TANORAID TanoraId
|
||||
,TanuloErtekeles.C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV ErtekelesSzovegRovidNev
|
||||
,TanuloErtekeles.C_ERTEKELESSZAZALEK ErtekelesSzazalek
|
||||
,TanuloErtekeles.C_ERTEKELESMODID ErtekelesModId
|
||||
,TanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema
|
||||
,TanuloErtekeles.C_MAGATARTASOSZTALYZATID MagatartasOsztalyzatId
|
||||
,TanuloErtekeles.C_MAGATARTASSZOVEG MagatartasSzoveg
|
||||
,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV MagatartasSzovegRovidNev
|
||||
,TanuloErtekeles.C_MAGATARTASERTEKID MagatartasErtekId
|
||||
,TanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId
|
||||
,TanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg
|
||||
,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV SzorgalomSzovegRovidNev
|
||||
,TanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId
|
||||
,TanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
|
||||
,TanuloErtekeles.CREATED Created
|
||||
,TanuloErtekeles.TOROLT Torolt
|
||||
,TanuloErtekeles.C_TANULOID TanuloId
|
||||
,TanariAtlagSuly.C_SULY Suly
|
||||
,Felhasznalo.C_NYOMTATASINEV ErtekeloNyomtatasiNev
|
||||
,CASE
|
||||
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId
|
||||
THEN ''T''
|
||||
ELSE ''F''
|
||||
END Modosithato
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES AS TanuloErtekeles
|
||||
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT Osztaly ON
|
||||
Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
||||
AND Osztaly.TOROLT = ''F''
|
||||
AND Osztaly.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Osztaly.C_TANEVID = @pTanevId
|
||||
AND Osztaly.C_EVFOLYAMTIPUSA = @evfolyamTipusId
|
||||
INNER JOIN
|
||||
T_FELHASZNALO_OSSZES AS Felhasznalo ON
|
||||
Felhasznalo.TOROLT = ''F''
|
||||
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Felhasznalo.C_TANEVID = @pTanevId
|
||||
AND Felhasznalo.ID = TanuloErtekeles.C_ERTEKELOID
|
||||
LEFT JOIN
|
||||
T_TANARIATLAGSULY_OSSZES AS TanariAtlagSuly ON
|
||||
TanariAtlagSuly.TOROLT = ''F''
|
||||
AND TanariAtlagSuly.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanariAtlagSuly.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''F''
|
||||
AND TanariAtlagSuly.C_ERTEKELESMODID = TanuloErtekeles.C_ERTEKELESMODID
|
||||
WHERE
|
||||
--Ha a @pShowToroltElemek változó True, akkor a törölt elemeket is visszaadjuk!
|
||||
TanuloErtekeles.TOROLT = IIF(@pShowToroltElemek = 1, TanuloErtekeles.TOROLT, ''F'')
|
||||
AND TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NOT NULL
|
||||
'
|
||||
SET @sql +=
|
||||
CASE
|
||||
WHEN @pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumTantargyId
|
||||
THEN N' AND (TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''F'' AND TanuloErtekeles.C_TANTARGYID = @pTantargyId)'
|
||||
WHEN @pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId
|
||||
THEN N' AND (TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''T'' AND TanuloErtekeles.C_TANTARGYID IS NULL)'
|
||||
ELSE N' AND ((TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''F''AND TanuloErtekeles.C_TANTARGYID = @pTantargyId AND @pTantargyId IS NOT NULL) OR
|
||||
(TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''T'' AND TanuloErtekeles.C_TANTARGYID IS NULL AND @pTantargyId IS NULL))'
|
||||
END
|
||||
|
||||
SET @sql +=
|
||||
-- NOTE: Ami-s értékelésnél a C_ROGZITESKORITANULOOSZTALYID null, ezeket mindig meg kell jeleníteni
|
||||
N'
|
||||
UNION ALL
|
||||
SELECT
|
||||
TanuloErtekeles.ID ID
|
||||
,TanuloErtekeles.C_DATUM Datum
|
||||
,TanuloErtekeles.C_ROGZITESDATUM RogzitesDatum
|
||||
,TanuloErtekeles.C_TIPUSID TipusId
|
||||
,TanuloErtekeles.C_ISERTESITESELKULDVE IsErtesitesElkuldve
|
||||
,TanuloErtekeles.C_TANORAID TanoraId
|
||||
,TanuloErtekeles.C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV ErtekelesSzovegRovidNev
|
||||
,TanuloErtekeles.C_ERTEKELESSZAZALEK ErtekelesSzazalek
|
||||
,TanuloErtekeles.C_ERTEKELESMODID ErtekelesModId
|
||||
,TanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema
|
||||
,TanuloErtekeles.C_MAGATARTASOSZTALYZATID MagatartasOsztalyzatId
|
||||
,TanuloErtekeles.C_MAGATARTASSZOVEG MagatartasSzoveg
|
||||
,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV MagatartasSzovegRovidNev
|
||||
,TanuloErtekeles.C_MAGATARTASERTEKID MagatartasErtekId
|
||||
,TanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId
|
||||
,TanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg
|
||||
,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV SzorgalomSzovegRovidNev
|
||||
,TanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId
|
||||
,TanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
|
||||
,TanuloErtekeles.CREATED Created
|
||||
,TanuloErtekeles.TOROLT Torolt
|
||||
,TanuloErtekeles.C_TANULOID TanuloId
|
||||
,TanariAtlagSuly.C_SULY Suly
|
||||
,Felhasznalo.C_NYOMTATASINEV ErtekeloNyomtatasiNev
|
||||
,CASE
|
||||
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId
|
||||
THEN ''T''
|
||||
ELSE ''F''
|
||||
END Modosithato
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES AS TanuloErtekeles
|
||||
|
||||
INNER JOIN
|
||||
T_FELHASZNALO_OSSZES AS Felhasznalo ON
|
||||
Felhasznalo.TOROLT = ''F''
|
||||
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Felhasznalo.C_TANEVID = @pTanevId
|
||||
AND Felhasznalo.ID = TanuloErtekeles.C_ERTEKELOID
|
||||
LEFT JOIN
|
||||
T_TANARIATLAGSULY_OSSZES AS TanariAtlagSuly ON
|
||||
TanariAtlagSuly.TOROLT = ''F''
|
||||
AND TanariAtlagSuly.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanariAtlagSuly.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''F''
|
||||
AND TanariAtlagSuly.C_ERTEKELESMODID = TanuloErtekeles.C_ERTEKELESMODID
|
||||
WHERE
|
||||
--Ha a @pShowToroltElemek változó True, akkor a törölt elemeket is visszaadjuk!
|
||||
TanuloErtekeles.TOROLT = IIF(@pShowToroltElemek = 1, TanuloErtekeles.TOROLT, ''F'')
|
||||
AND TanuloErtekeles.C_INTEZMENYID = @pIntezmenyId
|
||||
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
||||
'
|
||||
SET @sql +=
|
||||
CASE
|
||||
WHEN @pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumTantargyId
|
||||
THEN N' AND (TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''F'' AND TanuloErtekeles.C_TANTARGYID = @pTantargyId)'
|
||||
WHEN @pErtekelesMegjelenesFajtaId = @pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId
|
||||
THEN N' AND (TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''T'' AND TanuloErtekeles.C_TANTARGYID IS NULL)'
|
||||
ELSE N' AND ((TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''F''AND TanuloErtekeles.C_TANTARGYID = @pTantargyId AND @pTantargyId IS NOT NULL) OR
|
||||
(TanuloErtekeles.C_ISMAGATARTASSZORGALOM = ''T'' AND TanuloErtekeles.C_TANTARGYID IS NULL AND @pTantargyId IS NULL))'
|
||||
END
|
||||
|
||||
SET @sql += ' ORDER BY
|
||||
Datum DESC
|
||||
,RogzitesDatum DESC'
|
||||
|
||||
|
||||
EXEC sp_executesql @sql, N'
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pTanuloId INT
|
||||
,@pTantargyId INT = NULL
|
||||
,@pShowToroltElemek BIT
|
||||
,@pTanarId INT
|
||||
,@evfolyamTipusId INT'
|
||||
,@pIntezmenyId = @pIntezmenyId
|
||||
,@pTanevId = @pTanevId
|
||||
,@pTanuloId = @pTanuloId
|
||||
,@pTantargyId = @pTantargyId
|
||||
,@pShowToroltElemek = @pShowToroltElemek
|
||||
,@pTanarId = @pTanarId
|
||||
,@evfolyamTipusId = @evfolyamTipusId
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,298 @@
|
|||
-- =============================================
|
||||
-- Description: <Előszedjük a tanuló értékeléseket a megadott paraméterek alapján>
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloErtekelesListDataSet]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[uspGetTanuloErtekelesListDataSet]
|
||||
@pTanevId INT
|
||||
,@pTanuloId INT = NULL
|
||||
,@pOsztalyCsoportId INT = NULL
|
||||
,@pCsoportTipusId INT = NULL
|
||||
,@pTantargyId INT = NULL
|
||||
,@pErtekeloId INT = NULL
|
||||
,@pOsztalyzatId INT = NULL
|
||||
,@pErtekelesModId INT = NULL
|
||||
,@pTipusId INT = NULL
|
||||
,@pDatumTol DATETIME = NULL
|
||||
,@pDatumIg DATETIME = NULL
|
||||
,@pRogzitesDatumTol DATETIME = NULL
|
||||
,@pRogzitesDatumIg DATETIME = NULL
|
||||
,@pErtekelesSzoveg NVARCHAR(MAX) = NULL
|
||||
,@pErtekelesTema NVARCHAR(255) = NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets frominterfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--NOTE: A végén lévő konkatenálás miatt kell mindenova NVARCHAR(MAX). Ha 4000-eket használunk elszáll!
|
||||
DECLARE
|
||||
@sql NVARCHAR(MAX)
|
||||
,@preSelectSql NVARCHAR(MAX) = ''
|
||||
,@selectSql NVARCHAR(MAX)
|
||||
,@joinSql NVARCHAR(MAX)
|
||||
,@whereSql NVARCHAR(MAX)
|
||||
,@postSelectSql NVARCHAR(MAX) = ''
|
||||
|
||||
SET @selectSql = N'
|
||||
SELECT DISTINCT
|
||||
tanuloErtekeles.ID ID
|
||||
,tanuloErtekeles.C_DATUM Datum
|
||||
,tanuloErtekeles.C_ROGZITESDATUM RogzitesDatum
|
||||
,tanuloErtekeles.C_TIPUSID TipusId
|
||||
,tanuloErtekeles.C_ISERTESITESELKULDVE IsErtesitesElkuldve
|
||||
,tanuloErtekeles.C_ERTEKELESMODID ErtekelesModId
|
||||
,tanuloErtekeles.C_ERTEKELESTEMA ErtekelesTema
|
||||
,tanuloErtekeles.C_ERTEKELESOSZTALYZATID ErtekelesOsztalyzatId
|
||||
,tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
|
||||
,tanuloErtekeles.C_ERTEKELESSZAZALEK ErtekelesSzazalek
|
||||
,tanuloErtekeles.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
|
||||
,tanuloErtekeles.C_MAGATARTASOSZTALYZATID MagatartasOsztalyzatId
|
||||
,tanuloErtekeles.C_MAGATARTASSZOVEG MagatartasSzoveg
|
||||
,tanuloErtekeles.C_MAGATARTASERTEKID MagatartasErtekId
|
||||
,tanuloErtekeles.C_SZORGALOMOSZTALYZATID SzorgalomOsztalyzatId
|
||||
,tanuloErtekeles.C_SZORGALOMSZOVEG SzorgalomSzoveg
|
||||
,tanuloErtekeles.C_SZORGALOMERTEKID SzorgalomErtekId
|
||||
,tanuloErtekeles.CREATED Created
|
||||
,ISNULL(tanariAtlagSuly.C_SULY, 100) ErtekelesSuly
|
||||
,tantargy.ID TantargyId
|
||||
,ISNULL(tantargy.C_NEV, ''Magatartás/Szorgalom'') TantargyNev
|
||||
,tantargy.C_TARGYKATEGORIA TantargyKategoriaId
|
||||
,fotargy.ID FotargyId
|
||||
,fotargy.C_NEV FotargyNev
|
||||
,fotargy.C_TARGYKATEGORIA FotargyTantargyKategoriaId
|
||||
,tanuloFelhasznalo.ID TanuloId
|
||||
,tanuloFelhasznalo.C_NYOMTATASINEV TanuloNev
|
||||
,IIF(tanuloFelhasznalo.C_NEVSORREND = ''T'', --
|
||||
tanuloFelhasznalo.C_UTONEV + '' '' + tanuloFelhasznalo.C_VEZETEKNEV, --
|
||||
tanuloFelhasznalo.C_VEZETEKNEV + '' '' + tanuloFelhasznalo.C_UTONEV) TanuloNevElotagNelkul
|
||||
,ertekeloFelhasznalo.ID ErtekeloId
|
||||
,ertekeloFelhasznalo.C_NYOMTATASINEV ErtekeloNyomtatasiNev
|
||||
,IIF(ertekeloFelhasznalo.C_NEVSORREND = ''T'', --
|
||||
ertekeloFelhasznalo.C_UTONEV + '' '' + ertekeloFelhasznalo.C_VEZETEKNEV, --
|
||||
ertekeloFelhasznalo.C_VEZETEKNEV + '' '' + ertekeloFelhasznalo.C_UTONEV) ErtekeloNyomtatasiNevElotagNelkul
|
||||
,osztalyCsoport.C_NEV OsztalyCsoportNev
|
||||
,rogziteskoriTanuloOsztaly.ID RogziteskoriTanuloOsztalyId
|
||||
,rogziteskoriTanuloOsztaly.C_EVFOLYAMTIPUSA RogziteskoriTanuloOsztalyEvfolyamTipusId
|
||||
FROM
|
||||
T_TANULOERTEKELES_OSSZES tanuloErtekeles'
|
||||
|
||||
SET @joinSql = N'
|
||||
LEFT JOIN
|
||||
T_TANARIATLAGSULY_OSSZES tanariAtlagSuly ON
|
||||
tanariAtlagSuly.C_TANEVID = tanuloErtekeles.C_TANEVID
|
||||
AND tanariAtlagSuly.TOROLT = ''F''
|
||||
AND tanariAtlagSuly.C_ERTEKELESMODID = tanuloErtekeles.C_ERTEKELESMODID
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES tantargy ON
|
||||
tantargy.C_TANEVID = tanuloErtekeles.C_TANEVID
|
||||
AND tantargy.TOROLT = ''F''
|
||||
AND tantargy.ID = tanuloErtekeles.C_TANTARGYID
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES fotargy ON
|
||||
fotargy.C_TANEVID = tanuloErtekeles.C_TANEVID
|
||||
AND fotargy.TOROLT = ''F''
|
||||
AND fotargy.ID = tantargy.C_FOTARGYID
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES rogziteskoriTanuloOsztaly ON
|
||||
rogziteskoriTanuloOsztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
|
||||
AND rogziteskoriTanuloOsztaly.TOROLT = ''F''
|
||||
AND rogziteskoriTanuloOsztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
||||
INNER JOIN
|
||||
T_FELHASZNALO_OSSZES tanuloFelhasznalo ON
|
||||
tanuloFelhasznalo.C_TANEVID = tanuloErtekeles.C_TANEVID
|
||||
AND tanuloFelhasznalo.TOROLT = ''F''
|
||||
AND tanuloFelhasznalo.ID = tanuloErtekeles.C_TANULOID
|
||||
INNER JOIN
|
||||
T_FELHASZNALO_OSSZES ertekeloFelhasznalo ON
|
||||
ertekeloFelhasznalo.C_TANEVID = tanuloErtekeles.C_TANEVID
|
||||
AND ertekeloFelhasznalo.TOROLT = ''F''
|
||||
AND ertekeloFelhasznalo.ID = tanuloErtekeles.C_ERTEKELOID
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON
|
||||
osztalyCsoport.C_TANEVID = tanuloErtekeles.C_TANEVID
|
||||
AND osztalyCsoport.TOROLT = ''F''
|
||||
AND osztalyCsoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID'
|
||||
|
||||
SET @whereSql = N'
|
||||
WHERE
|
||||
tanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND tanuloErtekeles.TOROLT = ''F'''
|
||||
|
||||
IF @pTanuloId IS NOT NULL
|
||||
BEGIN
|
||||
SET @whereSql += N'
|
||||
AND tanuloErtekeles.C_TANULOID = @pTanuloId'
|
||||
END
|
||||
|
||||
IF @pOsztalyCsoportId IS NOT NULL
|
||||
BEGIN
|
||||
SET @preSelectSql += N'
|
||||
CREATE TABLE #OsztalyCsoportIdList(
|
||||
ID INT PRIMARY KEY
|
||||
)
|
||||
INSERT INTO
|
||||
#OsztalyCsoportIdList (ID)
|
||||
SELECT
|
||||
ID
|
||||
FROM
|
||||
fnGetKapcsolodoOsztalycsoportok(@pOsztalyCsoportId)'
|
||||
|
||||
SET @joinSql += N'
|
||||
LEFT JOIN
|
||||
T_TANULOCSOPORT_OSSZES tanuloCsoport ON
|
||||
tanuloCsoport.C_TANEVID = tanuloErtekeles.C_TANEVID
|
||||
AND tanuloCsoport.TOROLT = ''F''
|
||||
AND tanuloCsoport.C_TANULOID = tanuloFelhasznalo.ID
|
||||
AND tanuloCsoport.C_BELEPESDATUM <= GETDATE()
|
||||
AND (tanuloCsoport.C_KILEPESDATUM IS NULL OR tanuloCsoport.C_KILEPESDATUM >= GETDATE())'
|
||||
|
||||
SET @whereSql += N'
|
||||
AND osztalyCsoport.ID IN (SELECT ID FROM #OsztalyCsoportIdList)
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM
|
||||
T_TANULOCSOPORT_OSSZES tanuloCsoport
|
||||
WHERE
|
||||
tanuloCsoport.C_TANEVID = tanuloErtekeles.C_TANEVID
|
||||
AND tanuloCsoport.TOROLT = ''F''
|
||||
AND tanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND tanuloCsoport.C_TANULOID = tanuloFelhasznalo.ID
|
||||
)'
|
||||
|
||||
SET @postSelectSql += N'
|
||||
DROP TABLE IF EXISTS #OsztalyCsoportIdList'
|
||||
END
|
||||
|
||||
IF @pCsoportTipusId IS NOT NULL
|
||||
BEGIN
|
||||
SET @joinSql += N'
|
||||
LEFT JOIN
|
||||
T_CSOPORT_OSSZES csoport ON
|
||||
csoport.C_ALTANEVID = tanuloErtekeles.C_TANEVID
|
||||
AND csoport.TOROLT = ''F''
|
||||
AND csoport.ID = osztalyCsoport.ID'
|
||||
|
||||
SET @whereSql += N'
|
||||
AND csoport.C_TIPUSA = @pCsoportTipusId'
|
||||
END
|
||||
|
||||
IF @pTantargyId IS NOT NULL
|
||||
BEGIN
|
||||
SET @whereSql += N'
|
||||
AND tantargy.ID = @pTantargyId'
|
||||
END
|
||||
|
||||
IF @pErtekeloId IS NOT NULL
|
||||
BEGIN
|
||||
SET @whereSql += N'
|
||||
AND ertekeloFelhasznalo.ID = @pErtekeloId'
|
||||
END
|
||||
|
||||
IF @pOsztalyzatId IS NOT NULL
|
||||
BEGIN
|
||||
SET @whereSql += N'
|
||||
AND (tanuloErtekeles.C_ERTEKELESOSZTALYZATID = @pOsztalyzatId OR
|
||||
tanuloErtekeles.C_MAGATARTASOSZTALYZATID = @pOsztalyzatId OR
|
||||
tanuloErtekeles.C_SZORGALOMOSZTALYZATID = @pOsztalyzatId)'
|
||||
END
|
||||
|
||||
IF @pErtekelesModId IS NOT NULL
|
||||
BEGIN
|
||||
SET @whereSql += N'
|
||||
AND tanuloErtekeles.C_ERTEKELESMODID = @pErtekelesModId'
|
||||
END
|
||||
|
||||
IF @pTipusId IS NOT NULL
|
||||
BEGIN
|
||||
SET @whereSql += N'
|
||||
AND tanuloErtekeles.C_TIPUSID = @pTipusId'
|
||||
END
|
||||
|
||||
IF @pDatumTol IS NOT NULL
|
||||
BEGIN
|
||||
--NOTE: Ide az adott nap 00:00:00 időponttal fog bejönni.
|
||||
SET @whereSql += N'
|
||||
AND tanuloErtekeles.C_DATUM >= @pDatumTol'
|
||||
END
|
||||
|
||||
IF @pDatumIg IS NOT NULL
|
||||
BEGIN
|
||||
--NOTE: Ide az adott nap 23:59:59 időponttal fog bejönni.
|
||||
SET @whereSql += N'
|
||||
AND tanuloErtekeles.C_DATUM <= @pDatumIg'
|
||||
END
|
||||
|
||||
IF @pRogzitesDatumTol IS NOT NULL
|
||||
BEGIN
|
||||
--NOTE: Ide az adott nap 00:00:00 időponttal fog bejönni.
|
||||
SET @whereSql += N'
|
||||
AND tanuloErtekeles.C_ROGZITESDATUM >= @pRogzitesDatumTol'
|
||||
END
|
||||
|
||||
IF @pRogzitesDatumIg IS NOT NULL
|
||||
BEGIN
|
||||
--NOTE: Ide az adott nap 23:59:59 időponttal fog bejönni.
|
||||
SET @whereSql += N'
|
||||
AND tanuloErtekeles.C_ROGZITESDATUM <= @pRogzitesDatumIg'
|
||||
END
|
||||
|
||||
IF @pErtekelesSzoveg IS NOT NULL
|
||||
BEGIN
|
||||
SET @whereSql += N'
|
||||
AND (tanuloErtekeles.C_ERTEKELESSZOVEG LIKE ''%'' + @pErtekelesSzoveg + ''%'' OR
|
||||
tanuloErtekeles.C_MAGATARTASSZOVEG LIKE ''%'' + @pErtekelesSzoveg + ''%'' OR
|
||||
tanuloErtekeles.C_SZORGALOMSZOVEG LIKE ''%'' + @pErtekelesSzoveg + ''%'')'
|
||||
END
|
||||
|
||||
IF @pErtekelesTema IS NOT NULL
|
||||
BEGIN
|
||||
SET @whereSql += N'
|
||||
AND tanuloErtekeles.C_ERTEKELESTEMA LIKE ''%'' + @pErtekelesTema + ''%'''
|
||||
END
|
||||
|
||||
SET @sql = @preSelectSql + @selectSql + @joinSql + @whereSql + @postSelectSql
|
||||
|
||||
EXEC sp_executesql @sql, N'
|
||||
@pTanevId INT
|
||||
,@pTanuloId INT = NULL
|
||||
,@pOsztalyCsoportId INT = NULL
|
||||
,@pCsoportTipusId INT = NULL
|
||||
,@pTantargyId INT = NULL
|
||||
,@pErtekeloId INT = NULL
|
||||
,@pOsztalyzatId INT = NULL
|
||||
,@pErtekelesModId INT = NULL
|
||||
,@pTipusId INT = NULL
|
||||
,@pDatumTol DATETIME = NULL
|
||||
,@pDatumIg DATETIME = NULL
|
||||
,@pRogzitesDatumTol DATETIME = NULL
|
||||
,@pRogzitesDatumIg DATETIME = NULL
|
||||
,@pErtekelesSzoveg NVARCHAR(MAX) = NULL
|
||||
,@pErtekelesTema NVARCHAR(255) = NULL'
|
||||
,@pTanevId = @pTanevId
|
||||
,@pTanuloId = @pTanuloId
|
||||
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
||||
,@pCsoportTipusId = @pCsoportTipusId
|
||||
,@pTantargyId = @pTantargyId
|
||||
,@pErtekeloId = @pErtekeloId
|
||||
,@pOsztalyzatId = @pOsztalyzatId
|
||||
,@pErtekelesModId = @pErtekelesModId
|
||||
,@pTipusId = @pTipusId
|
||||
,@pDatumTol = @pDatumTol
|
||||
,@pDatumIg = @pDatumIg
|
||||
,@pRogzitesDatumTol = @pRogzitesDatumTol
|
||||
,@pRogzitesDatumIg = @pRogzitesDatumIg
|
||||
,@pErtekelesSzoveg = @pErtekelesSzoveg
|
||||
,@pErtekelesTema = @pErtekelesTema
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue