139 lines
5.5 KiB
Transact-SQL
139 lines
5.5 KiB
Transact-SQL
-- =============================================
|
|
-- 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)
|
|
|
|
SELECT
|
|
FelhasznaloTanulo.ID TanuloId
|
|
,TanuloErtekeles.C_TANTARGYID 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_ERTEKELESMENTESITES ErtkelesMentesseg
|
|
,TanuloMentesseg.C_SZOVEGESENERTEKELHETO SzovegesenErtekelheto
|
|
|
|
,TanuloErtekeles.ID ID
|
|
,TanuloErtekeles.C_DATUM Datum
|
|
,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.C_ISMAGATARTASSZORGALOM IsMagatartasSzorgalom
|
|
|
|
,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
|
|
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
|
|
LEFT 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
|
|
T_TANULOERTEKELES_OSSZES TanuloErtekeles ON
|
|
TanuloErtekeles.C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
|
|
AND TanuloErtekeles.C_TANEVID = TanuloCsoport.C_TANEVID
|
|
AND TanuloErtekeles.TOROLT = 'F'
|
|
AND TanuloErtekeles.C_TANTARGYID = @pTantargyId
|
|
AND TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID
|
|
LEFT 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)
|
|
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
|
|
LEFT JOIN
|
|
T_TANULOMENTESSEG_OSSZES TanuloMentesseg ON
|
|
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)
|
|
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
|
|
|