This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,212 @@
DROP PROCEDURE IF EXISTS sp_GetNaplozasMulasztasList
GO
CREATE PROCEDURE [dbo].[sp_GetNaplozasMulasztasList]
@date datetime
,@oraId int
,@targyId int
,@osztalyCsoportId int
,@pCsakMegtartott bit
,@pTanevElsoTanitasiNapja datetime
,@pTanevUtolsoTanitasiNapja datetime
,@pTanevid int
,@pIntezmenyId int
,@pTanarId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @hetekSzama int = 36
CREATE TABLE #TanuloCsoport (
C_TANULOID int
,C_OSZTALYCSOPORTID int
,C_BELEPESDATUM datetime
,C_KILEPESDATUM datetime
,PRIMARY KEY CLUSTERED (C_TANULOID, C_BELEPESDATUM)
)
CREATE TABLE #TanuloMentessegOka (
C_TANULOID int
,MentessegOka nvarchar(max)
)
CREATE TABLE #JogviszonySzunetelteto (
TanuloId int
)
IF (SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT WHERE ID = @osztalyCsoportId) = 'T' BEGIN
SELECT @pTanevUtolsoTanitasiNapja = C_DATUM, @hetekSzama = 32
FROM T_TANEVRENDJE_OSSZES
WHERE TOROLT = 'F'
AND C_TANEVID = @pTanevid
AND C_NAPTIPUSA = 1402
END
INSERT INTO #JogviszonySzunetelteto (TanuloId)
SELECT TanuloId
FROM fnGetOsztalyCsoportTanuloinakTanugyiAdatai(@osztalyCsoportId,@date)
WHERE C_JOGVISZONYATSZUNETELTETO = 'T'
INSERT INTO #TanuloCsoport (C_TANULOID, C_OSZTALYCSOPORTID, C_BELEPESDATUM, C_KILEPESDATUM)
SELECT DISTINCT tcs.C_TANULOID, tcs.C_OSZTALYCSOPORTID, tcs.C_BELEPESDATUM, ISNULL(tcs.C_KILEPESDATUM, @pTanevUtolsoTanitasiNapja) AS C_KILEPESDATUM
FROM T_TANULOCSOPORT tcs
WHERE tcs.torolt = 'F'
AND tcs.C_BELEPESDATUM <= @date AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= @date)
AND tcs.c_osztalycsoportid = @osztalyCsoportId
AND (tcs.C_BELEPESDATUM < tcs.C_KILEPESDATUM OR tcs.C_KILEPESDATUM IS NULL)
AND NOT EXISTS (SELECT 1 FROM #JogviszonySzunetelteto jsz WHERE jsz.TanuloId = tcs.C_TANULOID)
INSERT INTO #TanuloMentessegOka (C_TANULOID, MentessegOka)
SELECT C_TANULOID
,MentessegOka = STUFF((
SELECT DISTINCT ' | ' + tm.C_MENTESSEGOKA
FROM T_TANULOMENTESSEG tm
WHERE tm.C_TANTARGYID = @targyId AND tm.C_TANULOID = #TanuloCsoport.C_TANULOID
FOR XML PATH(''), TYPE).value('.', 'varchar(max)'),1,3,''
)
FROM #TanuloCsoport
CREATE TABLE #Feljegyzes (
tanuloid int
,tipus int
,id int
,PRIMARY KEY CLUSTERED (tanuloid, tipus, id)
)
INSERT INTO #Feljegyzes
SELECT tte.C_TANULOID, te.C_TIPUS, te.ID
FROM T_TANULOESEMENY te
INNER JOIN T_TANULO_TANULOESEMENY tte on tte.C_TANULOESEMENYID = te.ID
WHERE te.C_TANITASIORAID = @oraId
AND te.TOROLT = 'F'
CREATE TABLE #Result (
TanuloId int
,TantargyId int
,Mulasztas int
,MegtartottOra int
,HatralevoOra int
,PRIMARY KEY CLUSTERED (TanuloId, TantargyId)
)
EXEC [uspGetOsztalycsoportTantargyiMulasztasai]
@pOsztalyId = @osztalyCsoportId
,@pTantargyId = @targyId
,@pTanevid = @pTanevid
,@pIntezmenyId = @pIntezmenyId
,@pCsakMegtartott = @pCsakMegtartott
SELECT
ID
,MulasztasId
,TanuloNev
,MulasztasTipus
,KesesIdo
,Oka
,MAX(ErtkelesMentesseg) AS ErtkelesMentesseg
,MAX(OraMentesseg) AS OraMentesseg
,MAX(SzovegesenErtekelheto) AS SzovegesenErtekelheto
,IsMagantanulo
,MagantanulosagKezdete
,JogviszonySzunetelteto
,GondviseloNev
,GondviseloTelSzam
,MAX(Igazolt) Igazolt
,ISNULL(tmpHianyCnt, 0) AS MulasztasHianyCnt
,ISNULL(tmpOsszCnt, 0) AS MulasztasOsszCnt
,ISNULL(tmpMegtartottOraCnt, 0) AS MulasztasMegtartottCnt
,ISNULL(tmpHatralevoOraCnt, 0) AS MulasztasMegtarthatoCnt
,IIF(tmpOsszCnt = 0,0, ISNULL(CAST((CAST(tmpHianyCnt AS float) / CAST(tmpOsszCnt AS float)) * 100 AS int), 0)) AS MulasztasSzazalek
,IIF(Hazifeladat IS NOT NULL,'T','F') AS HaziFeladatHiany
,Hazifeladat AS HaziFeladatHianyId
,IIF(Felszereles IS NOT NULL,'T','F') AS FelszerelesHiany
,Felszereles AS FelszerelesHianyId
,IIF(Felment IS NOT NULL,'T','F') AS Felmentes
,Felment AS FelmentesId
,IIF(Dicseret IS NOT NULL,'T','F') AS TanoraiDicseret
,Dicseret AS TanoraiDicseretId
,RogzitettIgazolas AS RogzitettIgazolas
,AmiFotargyId
,AmiTagozatId
,AmiTantargyKotelezosegId
,EvfolyamId
FROM (
SELECT
fh.ID AS ID
,mul.ID MulasztasId
,fh.C_NYOMTATASINEV + ' (' + FORMAT(fh.C_SZULETESIDATUM, 'yyyy.MM.dd.') + ')' TanuloNev
,isnull(mul.C_TIPUS, 1498) MulasztasTipus
,mul.C_KESESPERCBEN KesesIdo
,tmo.MentessegOka AS Oka
,tm.C_ERTEKELESMENTESITES ErtkelesMentesseg
,tm.C_ORAMENTESITES OraMentesseg
,tm.C_SZOVEGESENERTEKELHETO SzovegesenErtekelheto
,tta.C_MAGANTANULO IsMagantanulo
,tta.C_MAGANTANULOSAGKEZDETE MagantanulosagKezdete
,tta.C_JOGVISZONYATSZUNETELTETO JogviszonySzunetelteto
,ISNULL(gondviselo.C_NEV,'-') as GondviseloNev
,ISNULL(telefon.C_TELEFONSZAM,'-') as GondviseloTelSzam
,mul.C_IGAZOLT as Igazolt
,ISNULL(r.MegtartottOra,0) + ISNULL(r.HatralevoOra,0) as tmpOsszCnt
,r.Mulasztas as tmpHianyCnt
,r.MegtartottOra as tmpMegtartottOraCnt
,r.HatralevoOra as tmpHatralevoOraCnt
,FeljegyzesHazifeladat.id as Hazifeladat
,FeljegyzesFelszereles.id as Felszereles
,FeljegyzesFelment.id as Felment
,FeljegyzesDicseret.id as Dicseret
,IIF(i.ID IS NOT NULL, 'T', 'F') as RogzitettIgazolas
,ttfTanulo.C_AMIFOTARGYID AS AmiFotargyId
,ttfTanulo.C_AMITAGOZATID AS AmiTagozatId
,ttfTanulo.C_AMITANTARGYKOTELEZOSEGID AS AmiTantargyKotelezosegId
,ttfTanulo.C_EVFOLYAMTIPUSID AS EvfolyamId
FROM #TanuloCsoport tcs
INNER JOIN T_FELHASZNALO_OSSZES fh on fh.ID = tcs.C_TANULOID AND fh.C_TANEVID = @pTanevid
INNER JOIN fnGetOsztalyCsoportTanuloinakTanugyiAdatai(@osztalyCsoportId,@date) tta ON tta.TanuloId=fh.ID
INNER JOIN T_TANULO_OSSZES tanulo on tanulo.id = tcs.C_TANULOID AND tanulo.C_ALTANEVID = @pTanevid
OUTER APPLY (SELECT TOP 1 g.ID, g.C_NEV FROM T_GONDVISELO_OSSZES g WHERE tanulo.ID = g.C_TANULOID AND g.TOROLT = 'F' AND g.C_TANEVID = @pTanevid ORDER BY g.ID) gondviselo
OUTER APPLY (SELECT TOP 1 t.C_TELEFONSZAM FROM T_TELEFON_OSSZES t WHERE t.C_GONDVISELOID = gondviselo.ID AND t.TOROLT = 'F' ORDER BY t.C_ALAPERTELMEZETT DESC) telefon
LEFT JOIN T_TANULOMULASZTAS_OSSZES mul on mul.C_ORATANULOIID = fh.ID AND mul.C_TANITASIORAKID = @oraId AND mul.TOROLT = 'F' AND mul.C_TANEVID = @pTanevid
LEFT JOIN T_TANULOMENTESSEG_OSSZES tm on fh.ID = tm.C_TANULOID and tm.TOROLT = 'F' AND tm.C_TANTARGYID = @targyId AND (@date BETWEEN ISNULL(tm.C_KEZDETE, @date) and isnull(tm.C_VEGE, @date)) AND tm.C_TANEVID = @pTanevid
LEFT JOIN T_IGAZOLAS_OSSZES i ON fh.ID = i.C_TANULOID AND i.TOROLT = 'F' AND (@date BETWEEN ISNULL(i.C_KEZDETE, @date) AND isnull(i.C_VEGE, @date)) AND i.C_TANEVID = @pTanevid
LEFT JOIN #TanuloMentessegOka tmo ON tcs.C_TANULOID = tmo.C_TANULOID
LEFT JOIN #Result r ON r.TanuloId = fh.ID
LEFT JOIN #Feljegyzes FeljegyzesHazifeladat ON FeljegyzesHazifeladat.tanuloId = fh.ID AND FeljegyzesHazifeladat.tipus = 6325
LEFT JOIN #Feljegyzes FeljegyzesFelszereles ON FeljegyzesFelszereles.tanuloId = fh.ID AND FeljegyzesFelszereles.tipus = 6324
LEFT JOIN #Feljegyzes FeljegyzesFelment ON FeljegyzesFelment.tanuloId = fh.ID AND FeljegyzesFelment.tipus = 1542
LEFT JOIN #Feljegyzes FeljegyzesDicseret ON FeljegyzesDicseret.tanuloId = fh.ID AND FeljegyzesDicseret.tipus = 1536
LEFT JOIN T_FOGLALKOZAS ttf ON ttf.C_TANTARGYID = @targyId AND ttf.C_OSZTALYCSOPORTID = @osztalyCsoportId AND ttf.C_TANARID = @pTanarId AND ttf.C_TANEVID = @pTanevid AND ttf.TOROLT = 'F'
LEFT JOIN T_FOGLALKOZASAMITANULO ttfTanulo ON ttf.ID = ttfTanulo.C_FOGLALKOZASID AND ttfTanulo.C_TANULOID = tcs.C_TANULOID AND ttfTanulo.C_TANEVID = @pTanevid AND ttfTanulo.TOROLT = 'F'
) AS x
GROUP BY
ID,
MulasztasId,
TanuloNev,
MulasztasTipus,
IsMagantanulo,
MagantanulosagKezdete,
JogviszonySzunetelteto,
Oka,
KesesIdo,
GondviseloNev,
GondviseloTelSzam,
tmpOsszCnt,
tmpHianyCnt,
tmpMegtartottOraCnt,
tmpHatralevoOraCnt,
Hazifeladat,
Felszereles,
Felment,
Dicseret,
RogzitettIgazolas
,AmiFotargyId
,AmiTagozatId
,AmiTantargyKotelezosegId
,EvfolyamId
ORDER BY x.TanuloNev
IF OBJECT_ID('tempdb..#Result') IS NOT NULL BEGIN
DROP TABLE #Result
END
END

View file

@ -0,0 +1,120 @@
DROP PROCEDURE IF EXISTS uspGetTanuloErtekelesDataSetByMagatartasSzorgalom
GO
CREATE PROCEDURE uspGetTanuloErtekelesDataSetByMagatartasSzorgalom
@pTanevId int
,@pTanarId 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
)
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
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
,OsztalyCsoport.C_FELADATKATEGORIAID AS FeladatKategoriaId
,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
,NULL AS AmiFotargyId
,NULL AS AmiTagozatId
,NULL AS AmiTantargyKotelezosegId
,NULL AS EvfolyamId
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 IS NULL
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T'
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 IS NULL
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NOT NULL
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T'
) AS TanuloErtekeles ON TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID
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

View file

@ -0,0 +1,166 @@
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
,TanuloErtekeles.C_AMIFOTARGYID AS AmiFotargyId
,TanuloErtekeles.C_AMITAGOZATID AS AmiTagozatId
,TanuloErtekeles.C_AMITANTARGYKOTELEZOSEGID AS AmiTantargyKotelezosegId
,TanuloErtekeles.C_EVFOLYAMTIPUSID AS EvfolyamId
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
,ttfTanulo.C_AMIFOTARGYID
,ttfTanulo.C_AMITAGOZATID
,ttfTanulo.C_AMITANTARGYKOTELEZOSEGID
,ttfTanulo.C_EVFOLYAMTIPUSID
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
LEFT JOIN T_FOGLALKOZAS ttf ON ttf.C_TANTARGYID = @pTantargyId AND ttf.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND ttf.C_TANARID = @pTanarId AND ttf.C_TANEVID = @pTanevId AND ttf.TOROLT = 'F'
LEFT JOIN T_FOGLALKOZASAMITANULO ttfTanulo ON ttf.ID = ttfTanulo.C_FOGLALKOZASID AND ttfTanulo.C_TANULOID = TanuloErtekeles.C_TANULOID AND ttfTanulo.C_TANEVID = @pTanevId AND ttfTanulo.TOROLT = 'F'
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
,ttfTanulo.C_AMIFOTARGYID
,ttfTanulo.C_AMITAGOZATID
,ttfTanulo.C_AMITANTARGYKOTELEZOSEGID
,ttfTanulo.C_EVFOLYAMTIPUSID
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
LEFT JOIN T_FOGLALKOZAS ttf ON ttf.C_TANTARGYID = @pTantargyId AND ttf.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND ttf.C_TANARID = @pTanarId AND ttf.C_TANEVID = @pTanevId AND ttf.TOROLT = 'F'
LEFT JOIN T_FOGLALKOZASAMITANULO ttfTanulo ON ttf.ID = ttfTanulo.C_FOGLALKOZASID AND ttfTanulo.C_TANULOID = TanuloErtekeles.C_TANULOID AND ttfTanulo.C_TANEVID = @pTanevId AND ttfTanulo.TOROLT = 'F'
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