107 lines
5.4 KiB
Transact-SQL
107 lines
5.4 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetTanuloErtekelesDataSetByMagatartasSzorgalom
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetTanuloErtekelesDataSetByMagatartasSzorgalom
|
|
@pTanevId int
|
|
,@pTanarId int
|
|
,@pOsztalyCsoportId int
|
|
,@pDatum date = NULL
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId)
|
|
|
|
IF @pDatum IS NULL
|
|
SET @pDatum = CONVERT(date, GETDATE())
|
|
|
|
CREATE TABLE #TanuloOsztalyEvfolyamTipusIdList (
|
|
TanuloId int PRIMARY KEY
|
|
,EvfolyamTipusId int
|
|
)
|
|
|
|
INSERT INTO #TanuloOsztalyEvfolyamTipusIdList (
|
|
TanuloId
|
|
,EvfolyamTipusId
|
|
)
|
|
SELECT
|
|
tanuloOsztalyList.C_TANULOID AS TanuloId
|
|
,tanuloOsztalyList.C_EVFOLYAMTIPUSA AS EvfolyamTipusId
|
|
FROM fnGetOsztalyCsoportTanuloOsztalyList(@pTanevId, @pOsztalyCsoportId, @pDatum) tanuloOsztalyList
|
|
|
|
SELECT
|
|
FelhasznaloTanulo.ID AS TanuloId
|
|
,NULL 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
|
|
,TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID AS OsztalyId
|
|
,OsztalyCsoport.C_NEV AS OsztalyNev
|
|
,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_MAGATARTASOSZTALYZATID AS MagatartasOsztalyzatId
|
|
,TanuloErtekeles.C_MAGATARTASSZOVEG AS MagatartasSzoveg
|
|
,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV AS MagatartasSzovegRovidNev
|
|
,TanuloErtekeles.C_MAGATARTASERTEKID AS MagatartasErtekId
|
|
,TanuloErtekeles.C_SZORGALOMOSZTALYZATID AS SzorgalomOsztalyzatId
|
|
,TanuloErtekeles.C_SZORGALOMSZOVEG AS SzorgalomSzoveg
|
|
,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV AS SzorgalomSzovegRovidNev
|
|
,TanuloErtekeles.C_SZORGALOMERTEKID AS SzorgalomErtekId
|
|
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.TOROLT = 'F' AND FelhasznaloTanulo.ID = TanuloCsoport.C_TANULOID
|
|
AND FelhasznaloTanulo.C_TANEVID = TanuloCsoport.C_TANEVID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.TOROLT = 'F' AND OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
|
|
AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
|
|
LEFT JOIN (
|
|
SELECT
|
|
TanuloErtekeles.*
|
|
,FelhasznaloErtekelo.C_NYOMTATASINEV
|
|
FROM T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES Osztaly ON Osztaly.TOROLT = 'F' AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
|
|
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
|
|
AND Osztaly.C_FELADATKATEGORIAID = @kategoriaId
|
|
INNER JOIN T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON FelhasznaloErtekelo.TOROLT = 'F' AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
|
|
AND FelhasznaloErtekelo.C_TANEVID = TanuloErtekeles.C_TANEVID
|
|
INNER JOIN #TanuloOsztalyEvfolyamTipusIdList Evfolyam ON Evfolyam.TanuloId = TanuloErtekeles.C_TANULOID AND Evfolyam.EvfolyamTipusId = Osztaly.C_EVFOLYAMTIPUSA
|
|
WHERE TanuloErtekeles.TOROLT = 'F'
|
|
AND (TanuloErtekeles.C_TANTARGYID IS NULL OR TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T')
|
|
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
|
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NOT NULL
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
TanuloErtekeles.*
|
|
,FelhasznaloErtekelo.C_NYOMTATASINEV
|
|
FROM T_TANULOERTEKELES_OSSZES TanuloErtekeles
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES Osztaly ON Osztaly.TOROLT = 'F' AND Osztaly.ID = TanuloErtekeles.C_OSZTALYCSOPORTID
|
|
AND Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID
|
|
AND Osztaly.C_FELADATKATEGORIAID = @kategoriaId
|
|
INNER JOIN T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON FelhasznaloErtekelo.TOROLT = 'F' AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
|
|
AND FelhasznaloErtekelo.C_TANEVID = TanuloErtekeles.C_TANEVID
|
|
INNER JOIN #TanuloOsztalyEvfolyamTipusIdList Evfolyam ON Evfolyam.TanuloId = TanuloErtekeles.C_TANULOID AND Evfolyam.EvfolyamTipusId = Osztaly.C_EVFOLYAMTIPUSA
|
|
WHERE TanuloErtekeles.TOROLT = 'F'
|
|
AND (TanuloErtekeles.C_TANTARGYID IS NULL OR TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T')
|
|
AND TanuloErtekeles.C_TANEVID = @pTanevId
|
|
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
|
|
) AS TanuloErtekeles ON TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID AND TanuloErtekeles.C_OSZTALYCSOPORTID = OsztalyCsoport.ID
|
|
WHERE TanuloCsoport.TOROLT = 'F'
|
|
AND TanuloCsoport.C_TANEVID = @pTanevId
|
|
AND TanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
|
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
|
|
AND (TanuloCsoport.C_KILEPESDATUM > @pDatum OR TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= Tanev.C_UTOLSOTANITASINAP)
|
|
|
|
END
|
|
|
|
|
|
GO
|
|
|