151 lines
5.5 KiB
Transact-SQL
151 lines
5.5 KiB
Transact-SQL
-- =============================================
|
|
-- 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].[sp_GetTanuloErtekelesDetailDataSet]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[sp_GetTanuloErtekelesDetailDataSet]
|
|
@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))
|
|
|
|
DECLARE @sql NVARCHAR(MAX)
|
|
|
|
SET @sql = N'
|
|
SELECT
|
|
TanuloErtekeles.ID ID
|
|
,TanuloErtekeles.C_DATUM Datum
|
|
,TanuloErtekeles.C_TIPUSID TipusId
|
|
,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.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
|
|
' +
|
|
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
|
|
|
|
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
|
|
WITH RESULT SETS((
|
|
ID INT
|
|
,Datum DATETIME
|
|
,TipusId INT
|
|
,TanoraId INT
|
|
,ErtekelesOsztalyzatId INT
|
|
,ErtekelesSzoveg NVARCHAR(MAX)
|
|
,ErtekelesSzovegRovidNev NVARCHAR(3)
|
|
,ErtekelesSzazalek INT
|
|
,ErtekelesModId INT
|
|
,ErtekelesTema NVARCHAR(255)
|
|
,MagatartasOsztalyzatId INT
|
|
,MagatartasSzoveg NVARCHAR(MAX)
|
|
,MagatartasSzovegRovidNev NVARCHAR(3)
|
|
,MagatartasErtekId INT
|
|
,SzorgalomOsztalyzatId INT
|
|
,SzorgalomSzoveg NVARCHAR(MAX)
|
|
,SzorgalomSzovegRovidNev NVARCHAR(3)
|
|
,SzorgalomErtekId INT
|
|
,IsMagatartasSzorgalom NVARCHAR(1)
|
|
,Torolt NVARCHAR(1)
|
|
,TanuloId INT
|
|
,Suly INT
|
|
,ErtekeloNyomtatasiNev NVARCHAR(255)
|
|
,Modosithato NVARCHAR(1)
|
|
))
|
|
|
|
END
|
|
|
|
|
|
GO
|
|
|