init
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
DROP PROCEDURE IF EXISTS uspGetTanuloErtekelesDataSetByTantargy
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetTanuloErtekelesDataSetByTantargy
|
||||
@pTanevId int
|
||||
,@pTanarId int
|
||||
,@pTantargyId int
|
||||
,@pOsztalyCsoportId int
|
||||
,@pDatum date = NULL
|
||||
,@pAmiKategoriaId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @pDatum IS NULL
|
||||
SET @pDatum = CONVERT(date, GETDATE())
|
||||
|
||||
DECLARE @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId)
|
||||
|
||||
CREATE TABLE #TanuloOsztalyEvfolyamTipusIdList (
|
||||
TanuloId int PRIMARY KEY
|
||||
,EvfolyamTipusId int
|
||||
)
|
||||
|
||||
CREATE TABLE #Mentessegek (
|
||||
TanuloId int
|
||||
,C_MENTESSEGOKA nvarchar (max)
|
||||
,C_ERTEKELESMENTESITES char (1)
|
||||
,C_SZOVEGESENERTEKELHETO char (1)
|
||||
,RowNumber int
|
||||
)
|
||||
|
||||
IF @feladatKategoriaId <> @pAmiKategoriaId
|
||||
BEGIN
|
||||
INSERT INTO #TanuloOsztalyEvfolyamTipusIdList (
|
||||
TanuloId
|
||||
,EvfolyamTipusId
|
||||
)
|
||||
SELECT
|
||||
tanuloOsztalyList.C_TANULOID AS TanuloId
|
||||
,tanuloOsztalyList.C_EVFOLYAMTIPUSA AS EvfolyamTipusId
|
||||
FROM fnGetOsztalyCsoportTanuloOsztalyList(@pTanevId, @pOsztalyCsoportId, @feladatKategoriaId, @pDatum) tanuloOsztalyList
|
||||
END
|
||||
|
||||
INSERT INTO #Mentessegek (
|
||||
TanuloId
|
||||
,C_MENTESSEGOKA
|
||||
,C_ERTEKELESMENTESITES
|
||||
,C_SZOVEGESENERTEKELHETO
|
||||
,RowNumber
|
||||
)
|
||||
SELECT
|
||||
TanuloMentesseg.C_TANULOID
|
||||
,TanuloMentesseg.C_MENTESSEGOKA
|
||||
,TanuloMentesseg.C_ERTEKELESMENTESITES
|
||||
,TanuloMentesseg.C_SZOVEGESENERTEKELHETO
|
||||
,ROW_NUMBER() OVER (PARTITION BY TanuloMentesseg.C_TANULOID ORDER BY TanuloMentesseg.C_KEZDETE DESC) RowNumber
|
||||
FROM T_TANULOMENTESSEG_OSSZES TanuloMentesseg
|
||||
WHERE TanuloMentesseg.C_TANEVID = @pTanevId
|
||||
AND TanuloMentesseg.TOROLT = 'F'
|
||||
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))
|
||||
|
||||
SELECT
|
||||
FelhasznaloTanulo.ID AS TanuloId
|
||||
,@pTantargyId AS TantargyId
|
||||
,FelhasznaloTanulo.C_NYOMTATASINEV AS TanuloNev
|
||||
,IIF(FelhasznaloTanulo.C_NEVSORREND = 'T', FelhasznaloTanulo.C_UTONEV + ' ' + FelhasznaloTanulo.C_VEZETEKNEV, FelhasznaloTanulo.C_VEZETEKNEV + ' ' + FelhasznaloTanulo.C_UTONEV) AS TanuloNevElotagNelkul
|
||||
,FelhasznaloTanulo.C_ANYJANEVE AS AnyjaNeve
|
||||
,FelhasznaloTanulo.C_SZULETESIDATUM AS SzuletesiIdo
|
||||
,OsztalyCsoport.C_FELADATKATEGORIAID AS FeladatKategoriaId
|
||||
,OsztalyCsoport.C_NEV AS OsztalyNev
|
||||
,TanuloMentesseg.C_MENTESSEGOKA AS MentessegOka
|
||||
,TanuloMentesseg.C_ERTEKELESMENTESITES AS ErtkelesMentesseg
|
||||
,TanuloMentesseg.C_SZOVEGESENERTEKELHETO AS SzovegesenErtekelheto
|
||||
,TanuloErtekeles.ID AS ID
|
||||
,TanuloErtekeles.C_DATUM AS Datum
|
||||
,TanuloErtekeles.C_ROGZITESDATUM AS RogzitesDatum
|
||||
,TanuloErtekeles.C_TIPUSID AS TipusId
|
||||
,TanuloErtekeles.C_NYOMTATASINEV AS ErtekeloNyomtatasiNev
|
||||
,IIF(TanuloErtekeles.C_ERTEKELOID = @pTanarId,'T','F') AS Modosithato
|
||||
,TanuloErtekeles.C_ROGZITESDATUM AS Created
|
||||
,TanuloErtekeles.C_ISMAGATARTASSZORGALOM AS IsMagatartasSzorgalom
|
||||
,TanuloErtekeles.C_ISERTESITESELKULDVE AS IsErtesitesElkuldve
|
||||
,TanuloErtekeles.C_ERTEKELESOSZTALYZATID AS ErtekelesOsztalyzatId
|
||||
,TanariAtlagSuly.C_SULY AS Suly
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEG AS ErtekelesSzoveg
|
||||
,TanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV AS ErtekelesSzovegRovidNev
|
||||
,TanuloErtekeles.C_ERTEKELESSZAZALEK AS ErtekelesSzazalek
|
||||
,TanuloErtekeles.C_ERTEKELESMODID AS ErtekelesModId
|
||||
,TanuloErtekeles.C_ERTEKELESTEMA AS ErtekelesTema
|
||||
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
|
||||
INNER JOIN T_TANEV_OSSZES Tanev ON Tanev.ID = TanuloCsoport.C_TANEVID AND Tanev.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES FelhasznaloTanulo ON 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_TANEVID = TanuloCsoport.C_TANEVID AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
TanuloErtekeles.*
|
||||
,FelhasznaloErtekelo.C_NYOMTATASINEV
|
||||
FROM T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES Osztaly ON Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID AND Osztaly.TOROLT = 'F'
|
||||
AND Osztaly.ID = TanuloErtekeles.C_OSZTALYCSOPORTID
|
||||
AND Osztaly.C_FELADATKATEGORIAID = @feladatKategoriaId
|
||||
INNER JOIN T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON FelhasznaloErtekelo.C_TANEVID = TanuloErtekeles.C_TANEVID AND FelhasznaloErtekelo.TOROLT = 'F'
|
||||
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
|
||||
WHERE TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANTARGYID = @pTantargyId
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
||||
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
TanuloErtekeles.*
|
||||
,FelhasznaloErtekelo.C_NYOMTATASINEV
|
||||
FROM T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES Osztaly ON Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID AND Osztaly.TOROLT = 'F'
|
||||
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
||||
AND Osztaly.C_FELADATKATEGORIAID = @feladatKategoriaId
|
||||
INNER JOIN #TanuloOsztalyEvfolyamTipusIdList Evfolyam ON Evfolyam.TanuloId = TanuloErtekeles.C_TANULOID AND Evfolyam.EvfolyamTipusId = Osztaly.C_EVFOLYAMTIPUSA
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANEVID = TanuloErtekeles.C_TANEVID AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = Osztaly.ID
|
||||
AND TanuloCsoport.C_TANULOID = TanuloErtekeles.C_TANULOID
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
|
||||
INNER JOIN T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON FelhasznaloErtekelo.C_TANEVID = TanuloErtekeles.C_TANEVID AND FelhasznaloErtekelo.TOROLT = 'F'
|
||||
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
|
||||
WHERE TanuloErtekeles.C_TANEVID = @pTanevId
|
||||
AND TanuloErtekeles.TOROLT = 'F'
|
||||
AND TanuloErtekeles.C_TANTARGYID = @pTantargyId
|
||||
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NOT NULL
|
||||
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F'
|
||||
) AS TanuloErtekeles ON TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID
|
||||
LEFT JOIN T_TANARIATLAGSULY_OSSZES TanariAtlagSuly ON TanariAtlagSuly.C_TANEVID = TanuloCsoport.C_TANEVID AND TanariAtlagSuly.TOROLT = 'F'
|
||||
AND TanariAtlagSuly.C_ERTEKELESMODID = TanuloErtekeles.C_ERTEKELESMODID
|
||||
AND TanuloErtekeles.C_ERTEKELESOSZTALYZATID IS NOT NULL
|
||||
LEFT JOIN #Mentessegek TanuloMentesseg ON TanuloMentesseg.TanuloId = FelhasznaloTanulo.ID AND TanuloMentesseg.RowNumber = 1
|
||||
WHERE TanuloCsoport.C_TANEVID = @pTanevId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
|
||||
AND (TanuloCsoport.C_KILEPESDATUM > @pDatum OR TanuloCsoport.C_KILEPESDATUM IS NULL)
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
Reference in New Issue
Block a user