805 lines
No EOL
31 KiB
Transact-SQL
805 lines
No EOL
31 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS dbo.uspGetAmiTorzslap
|
|
GO
|
|
|
|
CREATE PROCEDURE dbo.uspGetAmiTorzslap
|
|
@pTanevId int
|
|
,@pOsztalyId int
|
|
,@pErtekelesTipus int
|
|
,@pIskolaErdekuSzamit bit
|
|
,@kiiratkozottTanulokMegjelenitese bit = 1
|
|
,@kellAtsorolasiZaradek bit = 1
|
|
,@evfolyamTipusTypeId int = 37
|
|
,@pSzorgalomErtekelesTipusTypeID int = 51
|
|
,@elmeletiOraPercben int = 45
|
|
,@gyakorlatiOraPercben int = 45
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @IdoszakKezdete DATE = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1394 AND C_TANEVID = @pTanevId AND TOROLT = 'F')
|
|
DECLARE @IdoszakVege DATE = (SELECT TOP 1 ISNULL(C_DATUM, GETDATE()) FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @pTanevId AND TOROLT = 'F')
|
|
DECLARE @idegenNyelvId int = 0 --magyar
|
|
DECLARE @nyomtatvanyNyelvEnum int = 0 --magyar
|
|
DECLARE @amiFeladatKategoriaId int = 7555
|
|
|
|
CREATE TABLE #Student (
|
|
TanuloId int
|
|
,NaploSorszam int
|
|
,TorzslapSzam nvarchar(500)
|
|
,TanuloCsoportId int
|
|
,BelepesDatum datetime
|
|
,KilepesDatum datetime
|
|
,BeirasiNaploSorszam nvarchar(100)
|
|
,OsztalyId INT
|
|
,RowNum int
|
|
INDEX IX_01 CLUSTERED (TanuloId)
|
|
)
|
|
|
|
CREATE TABLE #FejlecAdatok (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,TorzslapSzam nvarchar(500)
|
|
,TanuloNeve nvarchar(120)
|
|
,TanuloNevElotag nvarchar(120)
|
|
,TanuloNevVezeteknev nvarchar(120)
|
|
,TanuloNevUtonev nvarchar(120)
|
|
,OktatasiAzonosito nvarchar(40)
|
|
,BeirasiNaploSorszam nvarchar(100)
|
|
,SzuletesiHely nvarchar(50)
|
|
,SzuletesiOrszag nvarchar(250)
|
|
,SzuletesiDatum datetime
|
|
,AnyjaNeve nvarchar(64)
|
|
,Allampolgarsag nvarchar(250)
|
|
,TartozkodasiJogCim nvarchar(255)
|
|
,OkiratSzam nvarchar(255)
|
|
,TanevNeve nvarchar(10)
|
|
,MufajNeve nvarchar(100)
|
|
,TanszakNeve nvarchar(100)
|
|
,EvfolyamNeve nvarchar(500)
|
|
)
|
|
|
|
CREATE TABLE #TanuloTantargyErtekelesek (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,TantargyId int
|
|
,OsztalyCsoportId int
|
|
,EvfolyamNeve nvarchar(500)
|
|
,AmiFotargyId int
|
|
,AmiTantargyKotelezosegId int
|
|
,TantargyNeve nvarchar(510)
|
|
,Sorszam int
|
|
,TagozatNeve nvarchar(500)
|
|
,MufajNeve nvarchar(100)
|
|
,TanszakNeve nvarchar(100)
|
|
,IsAtlagbaNemSzamitBe char(1)
|
|
,Ertekeles nvarchar(max)
|
|
,ErtekelesValue int
|
|
,ErtekelesSzoveg nvarchar(max)
|
|
,Jeloles nvarchar(max)
|
|
,IsSzoveges char(1)
|
|
,IsSzorgalom char(1)
|
|
,KapcsolodoFotargyId int
|
|
,MuveszetiAgId int
|
|
,ErtekelesId int
|
|
)
|
|
|
|
CREATE TABLE #AlapZaroVizsga (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,Ertekeles nvarchar(510)
|
|
,TipusId int
|
|
,Datum datetime
|
|
,MufajNeve nvarchar(510)
|
|
,TanszakNeve nvarchar(510)
|
|
,MuveszetiAgNeve nvarchar(510)
|
|
,TantargyNeve nvarchar(500)
|
|
,OsztalyCsoportId int
|
|
)
|
|
|
|
CREATE TABLE #Mulasztasok (
|
|
TanuloId int
|
|
,TanuloCsoportId int
|
|
,TantargyId int
|
|
,MuveszetiAgId int
|
|
,MulasztasTipusId int
|
|
,IsIgazolt char(1)
|
|
,Darab int
|
|
)
|
|
|
|
CREATE TABLE #FoglalkozasiNaplok (
|
|
TanuloId int
|
|
,TanuloTanuloCsoport int
|
|
,TanuloCsoportId int
|
|
,Naploszam nvarchar(100)
|
|
,OsztalyCsoportId int
|
|
)
|
|
|
|
INSERT INTO #Student (
|
|
TanuloId
|
|
,NaploSorszam
|
|
,TorzslapSzam
|
|
,TanuloCsoportId
|
|
,BelepesDatum
|
|
,KilepesDatum
|
|
,BeirasiNaploSorszam
|
|
,OsztalyId
|
|
,RowNum
|
|
) SELECT
|
|
OsztalyTanuloi.TanuloId AS TanuloId
|
|
,OsztalyTanuloi.NaploSorszam AS NaploSorszam
|
|
,OsztalyTanuloi.TorzslapSzam AS TorzslapSzam
|
|
,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId
|
|
,OsztalyTanuloi.BelepesDatum AS BelepesDatum
|
|
,OsztalyTanuloi.KilepesDatum AS KilepesDatum
|
|
,OsztalyTanuloi.BeirasiNaploSorszam AS BeirasiNaploSorszam
|
|
,@pOsztalyId AS OsztalyId
|
|
,ROW_NUMBER() OVER(ORDER BY LEN(TorzslapSzam), TorzslapSzam) AS RowNum
|
|
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') OsztalyTanuloi
|
|
LEFT JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = @pOsztalyId
|
|
AND Osztaly.C_ALTANEVID = @pTanevId
|
|
AND Osztaly.TOROLT = 'F'
|
|
WHERE @kiiratkozottTanulokMegjelenitese = 1 OR (KilepesDatum IS NULL OR KilepesDatum >= @IdoszakVege)
|
|
|
|
--Fejléc adatok
|
|
INSERT INTO #FejlecAdatok (
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,TorzslapSzam
|
|
,TanuloNeve
|
|
,TanuloNevElotag
|
|
,TanuloNevVezeteknev
|
|
,TanuloNevUtonev
|
|
,OktatasiAzonosito
|
|
,BeirasiNaploSorszam
|
|
,SzuletesiHely
|
|
,SzuletesiOrszag
|
|
,SzuletesiDatum
|
|
,AnyjaNeve
|
|
,Allampolgarsag
|
|
,TartozkodasiJogCim
|
|
,OkiratSzam
|
|
,TanevNeve
|
|
,MufajNeve
|
|
,TanszakNeve
|
|
,EvfolyamNeve
|
|
)
|
|
SELECT
|
|
felhasznalo.ID AS TanuloId
|
|
,OsztalyTanuloi.TanuloCsoportId AS TanuloCsoportId
|
|
,OsztalyTanuloi.TorzslapSzam AS TorzslapSzam
|
|
,felhasznalo.C_NYOMTATASINEV AS TanuloNeve
|
|
,felhasznalo.C_ELOTAG AS TanuloNevElotag
|
|
,felhasznalo.C_VEZETEKNEV AS TanuloNevVezeteknev
|
|
,felhasznalo.C_UTONEV AS TanuloNevUtonev
|
|
,felhasznalo.C_OKTATASIAZONOSITO AS OktatasiAzonosito
|
|
,OsztalyTanuloi.BeirasiNaploSorszam AS BeirasiNaploSorszam
|
|
,felhasznalo.C_SZULETESIHELY AS SzuletesiHely
|
|
,szorszag.C_NAME AS SzuletesiOrszag
|
|
,felhasznalo.C_SZULETESIDATUM AS SzuletesiDatum
|
|
,felhasznalo.C_ANYJANEVE AS AnyjaNeve
|
|
,LOWER(allampolgarsag.C_NAME + IIF(allampolgarsag2.C_NAME IS NULL, '', ', ' + allampolgarsag2.C_NAME)) AS Allampolgarsag
|
|
,TartozkodasiJogCim.C_NAME AS TartozkodasiJogCim
|
|
,Tanulo.C_OKIRATSZAM AS OkiratSzam
|
|
,tanev.C_NEV AS TanevNeve
|
|
,FoTantargyFejlec.MufajNeve
|
|
,FoTantargyFejlec.TanszakNeve
|
|
,FoTantargyFejlec.EvfolyamNeve
|
|
FROM #Student OsztalyTanuloi
|
|
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = OsztalyTanuloi.TanuloId
|
|
AND Tanulo.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON OsztalyTanuloi.TanuloId = felhasznalo.ID
|
|
AND felhasznalo.TOROLT = 'F'
|
|
OUTER APPLY(
|
|
SELECT
|
|
mufaj.C_NAME AS MufajNeve
|
|
,tanszak.C_NAME AS TanszakNeve
|
|
,fat.EvfolyamNeve AS EvfolyamNeve
|
|
FROM
|
|
T_TANULOCSOPORT_OSSZES cs
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = cs.C_OSZTALYCSOPORTID
|
|
AND f.C_TANEVID = cs.C_TANEVID
|
|
AND f.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY_OSSZES tt ON tt.id = f.C_TANTARGYID
|
|
AND tt.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mufaj ON mufaj.ID = tt.C_MUFAJTIPUSID
|
|
AND mufaj.C_TANEVID = tt.C_TANEVID
|
|
AND mufaj.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES tanszak ON tanszak.ID = tt.C_TANSZAKTIPUSID
|
|
AND tanszak.C_TANEVID = tt.C_TANEVID
|
|
AND tanszak.TOROLT = 'F'
|
|
LEFT JOIN (
|
|
SELECT
|
|
C_AMIFOTARGYID
|
|
,evfolyam.C_NAME_1 AS EvfolyamNeve
|
|
,C_FOGLALKOZASID
|
|
,C_TANULOID
|
|
,ROW_NUMBER() OVER(PARTITION BY f.C_TANEVID, f.C_TANULOID ORDER BY f.ID) RowNum
|
|
FROM T_FOGLALKOZASAMITANULO_OSSZES f
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES evfolyam ON evfolyam.ID = f.C_EVFOLYAMTIPUSID
|
|
AND evfolyam.ID <> 1296 -- Na
|
|
AND evfolyam.C_TANEVID = f.C_TANEVID
|
|
AND evfolyam.TOROLT = 'F'
|
|
INNER JOIN T_FOGLALKOZAS_OSSZES tta ON tta.ID = f.C_FOGLALKOZASID
|
|
AND tta.TOROLT = 'F'
|
|
INNER JOIN (
|
|
SELECT ID
|
|
FROM fnGetKapcsolodoOsztalyCsoportok(@pOsztalyId)
|
|
) kapcsOcs ON kapcsOcs.ID = tta.C_OSZTALYCSOPORTID
|
|
WHERE f.TOROLT = 'F'
|
|
AND f.C_TANEVID = @pTanevId
|
|
AND f.C_AMIFOTARGYID = 7671
|
|
) fat ON fat.C_FOGLALKOZASID = f.ID AND fat.C_TANULOID = Tanulo.ID
|
|
WHERE cs.C_TANULOID = Tanulo.ID
|
|
AND cs.C_TANEVID = @pTanevId
|
|
AND cs.TOROLT = 'F'
|
|
AND fat.RowNum = 1
|
|
GROUP BY
|
|
mufaj.C_NAME
|
|
,tanszak.C_NAME
|
|
,fat.EvfolyamNeve
|
|
) FoTantargyFejlec
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TartozkodasiJogCim ON TartozkodasiJogCim.ID = Tanulo.C_TARTOZKODASJOGCIMTIPUSID
|
|
AND TartozkodasiJogCim.C_TANEVID = Tanulo.C_ALTANEVID
|
|
AND TartozkodasiJogCim.TOROLT = 'F'
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsag ON allampolgarsag.ID = felhasznalo.C_ALLAMPOLGARSAGA
|
|
AND allampolgarsag.C_TANEVID = felhasznalo.C_TANEVID
|
|
AND allampolgarsag.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsag2 ON allampolgarsag2.ID = felhasznalo.C_ALLAMPOLGARSAGA2
|
|
AND allampolgarsag2.C_TANEVID = felhasznalo.C_TANEVID
|
|
AND allampolgarsag2.TOROLT = 'F'
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szorszag ON szorszag.ID = felhasznalo.C_SZULETESIORSZAG
|
|
AND szorszag.C_TANEVID = felhasznalo.C_TANEVID
|
|
AND szorszag.TOROLT = 'F'
|
|
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = felhasznalo.C_TANEVID
|
|
and tanev.TOROLT = 'F'
|
|
WHERE felhasznalo.C_TANEVID = @pTanevId
|
|
AND felhasznalo.TOROLT = 'F'
|
|
ORDER BY TanuloNeve
|
|
|
|
-- Közös adatok
|
|
SELECT
|
|
ocs.ID AS OsztalyId
|
|
,ocs.C_NEV AS OsztalyNeve
|
|
,tv.C_NEV AS TanevNeve
|
|
,ia.C_OMKOD AS OMKod
|
|
,ISNULL(mukh.C_VAROS, ia.C_VAROS) AS SzekhelyVaros
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
|
INNER JOIN T_TANEV_OSSZES tv ON tv.ID = ocs.C_TANEVID
|
|
AND tv.TOROLT = 'F'
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_TANEVID = ocs.C_TANEVID
|
|
AND ia.TOROLT = 'F'
|
|
LEFT JOIN T_MUKODESIHELY_OSSZES mukh ON mukh.C_TANEVID = ocs.C_TANEVID
|
|
AND mukh.TOROLT = 'F'
|
|
AND mukh.C_MUKODESIHELYTIPUSA = 5431
|
|
WHERE ocs.ID = @pOsztalyId
|
|
AND ocs.TOROLT = 'F'
|
|
|
|
-- Fejléc adatok
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,OktatasiAzonosito
|
|
,TanuloNeve
|
|
,TanuloNevElotag
|
|
,TanuloNevUtonev
|
|
,TanuloNevVezeteknev
|
|
,BeirasiNaploSorszam
|
|
,SzuletesiDatum
|
|
,SzuletesiHely
|
|
,Allampolgarsag
|
|
,Anyjaneve
|
|
,SzuletesiOrszag
|
|
,TorzslapSzam
|
|
,TartozkodasiJogCim
|
|
,OkiratSzam
|
|
,TanszakNeve
|
|
,MufajNeve
|
|
,EvfolyamNeve
|
|
FROM #FejlecAdatok
|
|
ORDER BY LEN(TorzslapSzam), TorzslapSzam
|
|
|
|
-- SNI
|
|
SELECT
|
|
s.TanuloId AS TanuloId
|
|
,s.TanuloCsoportId AS TanuloCsoportId
|
|
,ISNULL(SNIAdatok.C_KIALLITOSZAKBIZOTTSAGNEVE, '') AS SNIKiallitoIntezmenyNeve
|
|
,ISNULL(SNIAdatok.C_KIALLITOSZAKBIZOTTSAGCIME, '') AS SNIKiallitoIntezmenyCime
|
|
,SNIAdatok.C_KIALLITASDATUMA AS SNIKiallitasKelte
|
|
,SNIAdatok.C_SZAKVELEMENYSZAMA AS SNIOkmanyszamok --SNISzakvelemenySzama
|
|
,dbo.fnGetDokumentumDatumFormatum(SNIAdatok.C_KIALLITASDATUMA) AS SNIKezdete --SNIKiallitaKelte
|
|
,SNIAdatok.C_FELULVIZSGALATTANEVE AS SNIKontrolIdopont --SNIFelulvizsgalatTaneve
|
|
FROM #Student s
|
|
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = s.TanuloId
|
|
INNER JOIN T_TANULOSNI_OSSZES SNIAdatok ON SNIAdatok.C_TANULOID = s.TanuloId AND SNIAdatok.TOROLT ='F'
|
|
WHERE Tanulo.C_SAJATOSNEVELESU = 'T'
|
|
|
|
-- Záradékok
|
|
DECLARE @tempZaradekTipusId int = (SELECT IIF(@kellAtsorolasiZaradek = 1, null, 1))
|
|
EXEC dbo.uspGetDokumentumTanuloZaradekai
|
|
@tanevId = @pTanevId
|
|
,@osztalyId = @pOsztalyId
|
|
,@zaradekTipusId = @tempZaradekTipusId
|
|
,@idegenNyelvId = @idegenNyelvId
|
|
,@dokumentumTipusId = 2
|
|
,@nyomtatvanyNyelvEnum = @nyomtatvanyNyelvEnum
|
|
|
|
-- Törzslapon megjelenő feljegyzések
|
|
SELECT
|
|
bejegyzes.TanuloId AS TanuloId
|
|
,s.TanuloCsoportId AS TanuloCsoportId
|
|
,Tartalom AS Bejegyzes
|
|
,d.C_NAME AS Tipus_DNAME
|
|
,dny.C_NAME AS TipusIdegenNyelven
|
|
,bejegyzes.Datum AS Datum
|
|
,BejegyzesIdegenNyelven
|
|
FROM fnGetDokumentumTanulokFeljegyzesei(@pTanevId, @pOsztalyId, @idegenNyelvId) bejegyzes
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa AND C_TANEVID = @pTanevId AND d.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES dny ON dny.C_DICTIONARYITEMBASEID = Tipusa AND dny.C_NYELVID = @idegenNyelvId AND dny.TOROLT = 'F' AND dny.C_TANEVID = @pTanevId
|
|
INNER JOIN #Student s ON s.TanuloId = bejegyzes.TanuloId
|
|
WHERE Tipusa IN (1545, 1548, 1553) --KRETA-6062 Feljegyzések a személyi adatok változásához (törzslapon megjelenik), Év végi bizonyítványban megjelenő tantestületi feljegyzés, határozat (dicséret, felmentés stb.), Törzslapon megjelenő egyéb feljegyzés vagy határozat
|
|
AND BelepesDatum <= Datum
|
|
AND (KilepesDatum IS NULL OR KilepesDatum >= Datum)
|
|
AND (RogziteskoriOsztalyId = @pOsztalyId OR RogziteskoriOsztalyId IS NULL)
|
|
ORDER BY Datum
|
|
|
|
-- Tanuló felmentései
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,TantargyNevMentessegNelkul
|
|
,MentessegOka
|
|
,dbo.fnGetDokumentumDatumFormatum(Kezdete) AS Kezdete
|
|
FROM fnGetDokumentumTanuloMentessegei(@pTanevId, @pOsztalyId, @nyomtatvanyNyelvEnum)
|
|
|
|
-- Tanulói alap- és záróvizsga adatok
|
|
INSERT INTO #AlapZaroVizsga
|
|
SELECT
|
|
t.TanuloId AS TanuloId
|
|
,t.TanuloCsoportId AS TanuloCsoportId
|
|
,REPLACE(LOWER(ertekelesd.C_NAME), '(', ' (') AS Ertekeles
|
|
,te.C_TIPUSID AS TipusId
|
|
,te.C_DATUM AS Datum
|
|
,mufaj.C_NAME AS MufajNeve
|
|
,tanszak.C_NAME AS TanszakNeve
|
|
,muvag.C_NAME AS MuveszetiAgNeve
|
|
,ISNULL(tt.C_NEVNYOMTATVANYBAN, tt.C_NEV) AS TantargyNeve
|
|
,te.C_OSZTALYCSOPORTID AS OsztalyCsoportId
|
|
FROM T_TANULOERTEKELES_OSSZES te
|
|
INNER JOIN #Student t ON t.TanuloId = te.C_TANULOID
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ertekelesd ON ertekelesd.ID = te.C_ERTEKELESOSZTALYZATID
|
|
AND ertekelesd.C_TANEVID = te.C_TANEVID
|
|
AND ertekelesd.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tt ON tt.ID = te.C_TANTARGYID
|
|
AND tt.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mufaj ON mufaj.ID = tt.C_MUFAJTIPUSID
|
|
AND mufaj.C_TANEVID = tt.C_TANEVID
|
|
AND mufaj.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES tanszak ON tanszak.ID = tt.C_TANSZAKTIPUSID
|
|
AND tanszak.C_TANEVID = tt.C_TANEVID
|
|
AND tanszak.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES muvag ON muvag.ID = tt.C_MUVESZETIAGID
|
|
AND muvag.C_TANEVID = tt.C_TANEVID
|
|
AND muvag.TOROLT = 'F'
|
|
WHERE te.C_TIPUSID in (7899, 7900) -- Művészeti alapvizsga, Művészeti záróvizsga
|
|
AND te.TOROLT = 'F'
|
|
AND te.C_TANEVID = @pTanevId
|
|
|
|
SELECT azv.*
|
|
FROM #AlapZaroVizsga azv
|
|
LEFT JOIN (
|
|
SELECT
|
|
ID
|
|
,C_TIPUSA
|
|
,C_OSZTALYBONTASID
|
|
FROM T_CSOPORT_OSSZES
|
|
WHERE TOROLT = 'F'
|
|
AND C_ALTANEVID = @pTanevID
|
|
) cs ON azv.OsztalyCsoportId = cs.ID
|
|
WHERE (cs.C_TIPUSA NOT IN (1067, 6757, 6759, 6761) -- ami egyéni csoportok
|
|
OR cs.C_TIPUSA IS NULL)
|
|
AND (azv.OsztalyCsoportId = @pOsztalyId
|
|
OR cs.C_OSZTALYBONTASID = @pOsztalyId
|
|
OR (cs.C_OSZTALYBONTASID IS NULL AND cs.ID IS NOT NULL))
|
|
UNION
|
|
SELECT azv.*
|
|
FROM #AlapZaroVizsga azv
|
|
LEFT JOIN (
|
|
SELECT
|
|
ID
|
|
,C_TIPUSA
|
|
,C_OSZTALYBONTASID
|
|
FROM T_CSOPORT_OSSZES
|
|
WHERE TOROLT = 'F'
|
|
AND C_ALTANEVID = @pTanevID
|
|
) cs ON azv.OsztalyCsoportId = cs.ID
|
|
WHERE cs.C_TIPUSA IN (1067, 6757, 6759, 6761) -- ami egyéni csoportok
|
|
AND cs.C_OSZTALYBONTASID = @pOsztalyId
|
|
|
|
-- Tantárgyak értékeléssel
|
|
INSERT INTO #TanuloTantargyErtekelesek (
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,TantargyId
|
|
,OsztalyCsoportId
|
|
,EvfolyamNeve
|
|
,AmiFotargyId
|
|
,AmiTantargyKotelezosegId
|
|
,TantargyNeve
|
|
,Sorszam
|
|
,TagozatNeve
|
|
,MufajNeve
|
|
,TanszakNeve
|
|
,IsAtlagbaNemSzamitBe
|
|
,Ertekeles
|
|
,ErtekelesValue
|
|
,ErtekelesSzoveg
|
|
,Jeloles
|
|
,IsSzoveges
|
|
,IsSzorgalom
|
|
,KapcsolodoFotargyId
|
|
,MuveszetiAgId
|
|
,ErtekelesId)
|
|
SELECT
|
|
te.C_TANULOID
|
|
,tanulok.TanuloCsoportId
|
|
,ISNULL(te.C_TANTARGYID, -1)
|
|
,te.C_OSZTALYCSOPORTID
|
|
,fat.EvfolyamNeve
|
|
,fat.C_AMIFOTARGYID
|
|
,fat.C_AMITANTARGYKOTELEZOSEGID
|
|
,COALESCE(tt.C_NEVNYOMTATVANYBAN, tt.C_NEV, 'Szorgalom')
|
|
,ISNULL(tt.C_SORSZAM, -1)
|
|
,fat.TagozatNeve
|
|
,mufaj.C_NAME
|
|
,tanszak.C_NAME
|
|
,tt.C_ISTANULMANYIATLAGBANEMSZAMIT
|
|
,COALESCE(
|
|
CONVERT(nvarchar(max)
|
|
,IIF(@nyomtatvanyNyelvEnum = 0
|
|
,IIF(tt.C_TARGYKATEGORIA = 7688, LOWER(szorgkatjegy.C_NAME) + ' (' + CONVERT(nvarchar(max), jegy.C_VALUE) + ')', REPLACE(LOWER(jegy.C_NAME), '(', ' ('))
|
|
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, te.C_ERTEKELESOSZTALYZATID, @pTanevId)
|
|
)
|
|
)
|
|
,IIF(te.C_ERTEKELESSZOVEGFORMAZOTT IS NOT NULL, CONCAT(IIF(te.C_ERTEKELESSZOVEGROVIDNEV IS NOT NULL, te.C_ERTEKELESSZOVEGROVIDNEV, 'sz'), ''), NULL)
|
|
,CONVERT(nvarchar(max),te.C_ERTEKELESSZAZALEK)
|
|
,CONVERT(nvarchar(max)
|
|
,IIF(@nyomtatvanyNyelvEnum = 0
|
|
,szg.C_NAME
|
|
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, te.C_SZORGALOMERTEKID , @pTanevId))
|
|
)
|
|
,IIF(te.C_SZORGALOMSZOVEGFORMAZOTT IS NOT NULL, 'sz'
|
|
,IIF(@nyomtatvanyNyelvEnum = 0
|
|
,szet.C_NAME
|
|
,[dbo].fnGetDokumentumIdegenNyelv(@nyomtatvanyNyelvEnum, te.C_SZORGALOMOSZTALYZATID, @pTanevId)
|
|
)
|
|
)
|
|
) AS Ertekeles
|
|
,jegy.C_VALUE
|
|
,COALESCE(te.C_ERTEKELESSZOVEGFORMAZOTT, te.C_ERTEKELESTEMA, te.C_SZORGALOMSZOVEGFORMAZOTT, te.C_SZORGALOMSZOVEG)
|
|
,CASE
|
|
WHEN te.C_TIPUSID = 1518 THEN
|
|
CASE
|
|
WHEN te.C_ISMAGATARTASSZORGALOM = 'T' THEN
|
|
CASE
|
|
WHEN te.C_MAGATARTASSZOVEG IS NOT NULL THEN
|
|
'<sup>' + CAST(ROW_NUMBER() OVER(PARTITION BY te.C_TANULOID, te.C_TIPUSID, IIF(te.C_MAGATARTASSZOVEG IS NOT NULL, 1, 0) ORDER BY te.C_ROGZITESDATUM) AS NVARCHAR(10))+'</sup>'
|
|
WHEN te.C_SZORGALOMSZOVEG IS NOT NULL THEN
|
|
'<sup>' + CAST(ROW_NUMBER() OVER(PARTITION BY te.C_TANULOID, te.C_TIPUSID, IIF(te.C_SZORGALOMSZOVEG IS NOT NULL, 1, 0) ORDER BY te.C_ROGZITESDATUM) AS NVARCHAR(10))+'</sup>'
|
|
END
|
|
WHEN te.C_ISMAGATARTASSZORGALOM = 'F' THEN
|
|
'<sup>' + CAST(ROW_NUMBER() OVER(PARTITION BY te.C_TANULOID, te.C_TIPUSID, IIF(te.C_ERTEKELESSZOVEG IS NOT NULL, 1, 0) ORDER BY te.C_ROGZITESDATUM) AS NVARCHAR(10))+'</sup>'
|
|
END
|
|
WHEN te.C_ERTEKELESTEMA IS NOT NULL AND te.C_TIPUSID IN (1519, 1520) THEN
|
|
'(' + CAST(CHAR(ROW_NUMBER() OVER(PARTITION BY te.C_TANULOID, te.C_TIPUSID, IIF(te.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY te.C_DATUM) + 96) AS NVARCHAR(10))+')'
|
|
WHEN (te.C_ERTEKELESSZOVEGFORMAZOTT IS NOT NULL OR te.C_SZORGALOMSZOVEGFORMAZOTT IS NOT NULL) AND te.C_TIPUSID IN (1519, 1520) THEN
|
|
'(' + CAST(ROW_NUMBER() OVER(PARTITION BY te.C_TANULOID, te.C_TIPUSID, IIF(te.C_ERTEKELESSZOVEGFORMAZOTT IS NOT NULL OR te.C_SZORGALOMSZOVEGFORMAZOTT IS NOT NULL, 1, 0) ORDER BY te.C_DATUM) AS NVARCHAR(10))+')'
|
|
WHEN te.C_ERTEKELESTEMA IS NOT NULL AND te.C_TIPUSID IN (1522, 1523, 1524, 1525) THEN
|
|
'<i>(' + CAST(CHAR(ROW_NUMBER() OVER(PARTITION BY te.C_TANULOID, te.C_TIPUSID, IIF(te.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY te.C_DATUM) + 96) AS NVARCHAR(10))+')</i>'
|
|
END
|
|
,IIF(te.C_ERTEKELESSZOVEGFORMAZOTT IS NULL, IIF(te.C_SZORGALOMSZOVEGFORMAZOTT IS NULL, 'F', 'T'), 'T') AS IsSzoveges
|
|
,IIF(tt.C_TARGYKATEGORIA = 7688, 'T', IIF(tt.ID IS NULL, 'T', 'F')) AS IsSzorgalom
|
|
,tt.C_FOTARGYID AS KapcsolodoFotargyId
|
|
,tt.C_MUVESZETIAGID AS MuveszetiAgId
|
|
,te.ID
|
|
FROM T_TANULOERTEKELES_OSSZES te
|
|
INNER JOIN #Student tanulok on tanulok.TanuloId = te.C_TANULOID
|
|
AND te.C_DATUM >= tanulok.BelepesDatum
|
|
AND (tanulok.KilepesDatum IS NULL or te.C_DATUM < tanulok.KilepesDatum)
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = te.C_OSZTALYCSOPORTID
|
|
AND ocs.C_FELADATKATEGORIAID = @amiFeladatKategoriaId
|
|
AND ocs.TOROLT = 'F'
|
|
LEFT JOIN T_TANTARGY_OSSZES tt ON tt.ID = te.C_TANTARGYID
|
|
AND tt.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES jegy ON jegy.ID = te.C_ERTEKELESOSZTALYZATID
|
|
AND jegy.C_TANEVID = te.C_TANEVID
|
|
AND jegy.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szg ON szg.ID = te.C_SZORGALOMERTEKID
|
|
AND szg.C_TANEVID = te.C_TANEVID
|
|
AND szg.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szo ON szo.ID = te.C_SZORGALOMOSZTALYZATID
|
|
AND szo.C_TANEVID = te.C_TANEVID
|
|
AND szo.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szet ON (szet.C_VALUE + 1) = szo.C_VALUE
|
|
AND szet.C_DICTIONARYTYPEID = 51
|
|
AND szet.C_TANEVID = te.C_TANEVID
|
|
AND szet.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgkatjegy ON (szorgkatjegy.C_VALUE + 1) = jegy.C_VALUE
|
|
AND szorgkatjegy.TOROLT = 'F'
|
|
AND szorgkatjegy.C_TANEVID = jegy.C_TANEVID
|
|
AND szorgkatjegy.C_DICTIONARYTYPEID = 51
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mufaj ON mufaj.ID = tt.C_MUFAJTIPUSID
|
|
AND mufaj.C_TANEVID = tt.C_TANEVID
|
|
AND mufaj.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES tanszak ON tanszak.ID = tt.C_TANSZAKTIPUSID
|
|
AND tanszak.C_TANEVID = tt.C_TANEVID
|
|
AND tanszak.TOROLT = 'F'
|
|
LEFT JOIN T_TANULOCSOPORT_OSSZES tcs on tcs.C_OSZTALYCSOPORTID = te.C_OSZTALYCSOPORTID
|
|
AND tcs.C_TANULOID = te.C_TANULOID
|
|
AND tcs.C_BELEPESDATUM >= tanulok.BelepesDatum
|
|
AND (tcs.C_KILEPESDATUM IS NULL or tcs.C_KILEPESDATUM < tanulok.KilepesDatum)
|
|
AND tcs.TOROLT = 'F'
|
|
LEFT JOIN T_FOGLALKOZAS_OSSZES f on f.C_TANTARGYID = te.C_TANTARGYID
|
|
AND f.C_OSZTALYCSOPORTID = te.C_OSZTALYCSOPORTID
|
|
AND f.C_TANARID = te.C_ERTEKELOID
|
|
AND f.TOROLT = 'F'
|
|
LEFT JOIN (
|
|
SELECT
|
|
T_FOGLALKOZASAMITANULO_OSSZES.ID
|
|
,C_AMIFOTARGYID
|
|
,C_AMITAGOZATID
|
|
,C_AMITANTARGYKOTELEZOSEGID
|
|
,C_EVFOLYAMTIPUSID
|
|
,evfolyam.C_NAME_1 AS EvfolyamNeve
|
|
,tagozat.C_NAME AS TagozatNeve
|
|
,C_FOGLALKOZASID
|
|
,C_TANULOID
|
|
FROM T_FOGLALKOZASAMITANULO_OSSZES
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES evfolyam ON evfolyam.ID = T_FOGLALKOZASAMITANULO_OSSZES.C_EVFOLYAMTIPUSID
|
|
AND evfolyam.ID <> 1296 -- Na
|
|
AND evfolyam.C_TANEVID = T_FOGLALKOZASAMITANULO_OSSZES.C_TANEVID
|
|
AND evfolyam.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES tagozat ON tagozat.ID = T_FOGLALKOZASAMITANULO_OSSZES.C_AMITAGOZATID
|
|
AND tagozat.ID <> 7780 -- Na
|
|
AND tagozat.C_TANEVID = T_FOGLALKOZASAMITANULO_OSSZES.C_TANEVID
|
|
AND tagozat.TOROLT = 'F'
|
|
WHERE T_FOGLALKOZASAMITANULO_OSSZES.TOROLT = 'F'
|
|
AND T_FOGLALKOZASAMITANULO_OSSZES.C_TANEVID = @pTanevID
|
|
) fat ON fat.C_FOGLALKOZASID = f.ID AND fat.C_TANULOID = te.C_TANULOID
|
|
WHERE te.TOROLT = 'F'
|
|
AND te.C_TANEVID = @pTanevId
|
|
AND te.C_TIPUSID = 1520 -- Év végi értékelés
|
|
|
|
-- Mulasztás adatok
|
|
INSERT INTO #Mulasztasok (
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,TantargyId
|
|
,MuveszetiAgId
|
|
,MulasztasTipusId
|
|
,IsIgazolt
|
|
,Darab)
|
|
SELECT
|
|
mu.C_ORATANULOIID AS TanuloId
|
|
,Tanulok.TanuloCsoportId AS TanuloCsoportId
|
|
,t.ID AS TantargyId
|
|
,t.C_MUVESZETIAGID AS MuveszetiAgId
|
|
,mu.C_TIPUS AS MulasztasTipus
|
|
,mu.C_IGAZOLT AS IsIgazolt
|
|
,COUNT(1) AS Darab
|
|
FROM T_TANULOMULASZTAS_OSSZES mu
|
|
INNER JOIN #Student tanulok ON tanulok.TanuloId = mu.C_ORATANULOIID
|
|
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = mu.C_TANITASIORAKID
|
|
AND tn.TOROLT = 'F'
|
|
INNER JOIN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@posztalyID, @ptanevId, 0, DEFAULT)) kocs ON kocs.ID = tn.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_TANTARGY_OSSZES t on t.id=tn.C_TANTARGYID
|
|
AND t.TOROLT = 'F'
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID
|
|
AND tanulok.TanuloId = tcs.C_TANULOID
|
|
AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tn.C_OSZTALYCSOPORTID
|
|
AND ocs.C_FELADATKATEGORIAID = @amiFeladatKategoriaId
|
|
AND ocs.Torolt = 'F'
|
|
WHERE tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
|
AND mu.C_TANEVID = @pTanevId
|
|
AND mu.Torolt ='F'
|
|
AND mu.C_IGAZOLT IS NOT NULL
|
|
AND (@pIskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
|
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tn.C_DATUM)
|
|
AND tanulok.BelepesDatum <= tn.C_DATUM
|
|
AND (tanulok.KilepesDatum IS NULL OR tanulok.KilepesDatum >= tn.C_DATUM)
|
|
AND mu.C_TIPUS = 1500
|
|
GROUP BY mu.C_ORATANULOIID, Tanulok.TanuloCsoportId, mu.C_TIPUS, t.ID, t.C_MUVESZETIAGID, mu.C_IGAZOLT
|
|
UNION
|
|
SELECT
|
|
mu.C_ORATANULOIID AS tanuloId
|
|
,Tanulok.TanuloCsoportId AS TanuloCsoportId
|
|
,t.ID AS TantargyId
|
|
,t.C_MUVESZETIAGID AS MuveszetiAgId
|
|
,mu.C_TIPUS AS MulasztasTipus
|
|
,mu.C_IGAZOLT isIgazolt
|
|
,cast(SUM(cast(mu.C_KESESPERCBEN as float) / (CASE WHEN t.C_GYAKORLATI = 'F' THEN @elmeletiOraPercben ELSE @gyakorlatiOraPercben END)) as int) AS kesesOraban
|
|
FROM T_TANULOMULASZTAS_OSSZES mu
|
|
INNER JOIN #Student tanulok ON tanulok.TanuloId = mu.C_ORATANULOIID
|
|
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = mu.C_TANITASIORAKID
|
|
AND tn.TOROLT = 'F'
|
|
INNER JOIN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@pOsztalyID, @pTanevId, 0, DEFAULT)) kocs ON kocs.ID = tn.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = tn.C_TANTARGYID
|
|
AND t.TOROLT = 'F'
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID
|
|
AND tanulok.TanuloId = tcs.C_TANULOID
|
|
AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tn.C_OSZTALYCSOPORTID
|
|
AND ocs.C_FELADATKATEGORIAID = @amiFeladatKategoriaId
|
|
AND ocs.Torolt = 'F'
|
|
WHERE mu.C_TANEVID = @pTanevId
|
|
AND mu.C_TIPUS = 1499
|
|
AND mu.TOROLT = 'F'
|
|
AND mu.C_IGAZOLT IS NOT NULL
|
|
AND (@pIskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
|
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tn.C_DATUM)
|
|
AND tanulok.BelepesDatum <= tn.C_DATUM
|
|
AND (tanulok.KilepesDatum IS NULL OR tanulok.KilepesDatum >= tn.C_DATUM)
|
|
AND tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
|
GROUP BY mu.C_ORATANULOIID, Tanulok.TanuloCsoportId, t.ID, t.C_MUVESZETIAGID, mu.C_TIPUS, mu.C_IGAZOLT
|
|
|
|
-- osztályban kapott jegyből az osztály csoportbontott ami egyéni csoportjának az adatai kerülnek bele
|
|
UPDATE tte
|
|
SET
|
|
tte.AmiFotargyId = fat.C_AMIFOTARGYID
|
|
,tte.AmiTantargyKotelezosegId = fat.C_AMITANTARGYKOTELEZOSEGID
|
|
,tte.EvfolyamNeve = fat.EvfolyamNeve
|
|
,tte.TagozatNeve = fat.TagozatNeve
|
|
FROM #TanuloTantargyErtekelesek tte
|
|
INNER JOIN T_TANULOERTEKELES_OSSZES te ON te.ID = tte.ErtekelesId
|
|
AND te.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = te.C_TANTARGYID
|
|
AND t.TOROLT = 'F'
|
|
INNER JOIN T_CSOPORT_OSSZES cs ON cs.C_OSZTALYBONTASID = te.C_OSZTALYCSOPORTID
|
|
AND cs.C_TIPUSA IN (1067, 6757, 6759, 6761) -- ami egyéni csoportok
|
|
AND cs.TOROLT = 'F'
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = cs.ID
|
|
AND tcs.C_TANULOID = te.C_TANULOID
|
|
AND tcs.TOROLT = 'F'
|
|
LEFT JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANARID = te.C_ERTEKELOID
|
|
AND f.C_TANTARGYID = te.C_TANTARGYID
|
|
AND f.C_OSZTALYCSOPORTID = cs.ID
|
|
AND f.TOROLT = 'F'
|
|
LEFT JOIN (
|
|
SELECT
|
|
T_FOGLALKOZASAMITANULO_OSSZES.ID
|
|
,C_AMIFOTARGYID
|
|
,C_AMITAGOZATID
|
|
,C_AMITANTARGYKOTELEZOSEGID
|
|
,C_EVFOLYAMTIPUSID
|
|
,evfolyam.C_NAME_1 AS EvfolyamNeve
|
|
,tagozat.C_NAME AS TagozatNeve
|
|
,C_FOGLALKOZASID
|
|
,C_TANULOID
|
|
FROM T_FOGLALKOZASAMITANULO_OSSZES
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES evfolyam ON evfolyam.ID = T_FOGLALKOZASAMITANULO_OSSZES.C_EVFOLYAMTIPUSID
|
|
AND evfolyam.ID <> 1296 -- Na
|
|
AND evfolyam.C_TANEVID = T_FOGLALKOZASAMITANULO_OSSZES.C_TANEVID
|
|
AND evfolyam.TOROLT = 'F'
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES tagozat ON tagozat.ID = T_FOGLALKOZASAMITANULO_OSSZES.C_AMITAGOZATID
|
|
AND tagozat.ID <> 7780 -- Na
|
|
AND tagozat.C_TANEVID = T_FOGLALKOZASAMITANULO_OSSZES.C_TANEVID
|
|
AND tagozat.TOROLT = 'F'
|
|
WHERE T_FOGLALKOZASAMITANULO_OSSZES.TOROLT = 'F'
|
|
AND T_FOGLALKOZASAMITANULO_OSSZES.C_TANEVID = @pTanevID
|
|
) fat ON fat.C_FOGLALKOZASID = f.ID AND fat.C_TANULOID = te.C_TANULOID
|
|
WHERE tte.AmiFotargyId IS NULL
|
|
AND fat.ID IS NOT NULL
|
|
|
|
SELECT ert.*
|
|
FROM #TanuloTantargyErtekelesek ert
|
|
LEFT JOIN (
|
|
SELECT
|
|
ID
|
|
,C_TIPUSA
|
|
,C_OSZTALYBONTASID
|
|
FROM T_CSOPORT_OSSZES
|
|
WHERE TOROLT = 'F'
|
|
AND C_ALTANEVID = @pTanevID
|
|
) cs ON ert.OsztalyCsoportId = cs.ID
|
|
WHERE (cs.C_TIPUSA NOT IN (1067, 6757, 6759, 6761) -- ami egyéni csoportok
|
|
OR cs.C_TIPUSA IS NULL)
|
|
AND (ert.OsztalyCsoportId = @pOsztalyId
|
|
OR cs.C_OSZTALYBONTASID = @pOsztalyId
|
|
OR (cs.C_OSZTALYBONTASID IS NULL AND cs.ID IS NOT NULL))
|
|
UNION
|
|
SELECT ert.*
|
|
FROM #TanuloTantargyErtekelesek ert
|
|
LEFT JOIN (
|
|
SELECT
|
|
ID
|
|
,C_TIPUSA
|
|
,C_OSZTALYBONTASID
|
|
FROM T_CSOPORT_OSSZES
|
|
WHERE TOROLT = 'F'
|
|
AND C_ALTANEVID = @pTanevID
|
|
) cs ON ert.OsztalyCsoportId = cs.ID
|
|
WHERE cs.C_TIPUSA IN (1067, 6757, 6759, 6761) -- ami egyéni csoportok
|
|
AND cs.C_OSZTALYBONTASID = @pOsztalyId
|
|
|
|
SELECT
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,TantargyId
|
|
,MuveszetiAgId
|
|
,IsIgazolt
|
|
,SUM(Darab) AS Darab
|
|
FROM #Mulasztasok m
|
|
WHERE IsIgazolt IS NOT NULL
|
|
GROUP BY TanuloId, TanuloCsoportId, TantargyId, MuveszetiAgId, IsIgazolt
|
|
|
|
INSERT INTO #FoglalkozasiNaplok (
|
|
TanuloId
|
|
,TanuloCsoportId
|
|
,TanuloTanuloCsoport
|
|
,Naploszam
|
|
,OsztalyCsoportId
|
|
)
|
|
SELECT
|
|
tcs.C_TANULOID AS TanuloId
|
|
,tcs.ID AS TanuloCsoportId
|
|
,tanulok.TanuloCsoportId AS TanuloTanuloCsoport
|
|
,ocs.C_NAPLOSZAM AS Naploszam
|
|
,ocs.ID
|
|
FROM (
|
|
SELECT
|
|
ID
|
|
,C_TANULOID
|
|
,C_OSZTALYCSOPORTID
|
|
,C_BELEPESDATUM
|
|
,C_KILEPESDATUM
|
|
FROM T_TANULOCSOPORT_OSSZES
|
|
WHERE TOROLT = 'F'
|
|
AND (@kiiratkozottTanulokMegjelenitese = 1 OR (C_KILEPESDATUM IS NULL OR C_KILEPESDATUM >= @IdoszakVege))
|
|
AND C_TANEVID = @pTanevID
|
|
) tcs
|
|
INNER JOIN #Student tanulok ON tanulok.TanuloId = tcs.C_TANULOID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
|
|
AND ocs.C_FELADATKATEGORIAID = @amiFeladatKategoriaId
|
|
AND ocs.TOROLT = 'F'
|
|
|
|
SELECT
|
|
fn.TanuloId
|
|
,fn.TanuloTanuloCsoport AS TanuloCsoportId
|
|
,1 AS IsOsztalyos
|
|
,fn.Naploszam
|
|
,tta.C_NAPLOSORSZAM AS Naplosorszam
|
|
FROM #FoglalkozasiNaplok fn
|
|
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = fn.TanuloCsoportId
|
|
AND tta.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = fn.OsztalyCsoportId
|
|
AND o.TOROLT = 'F'
|
|
AND o.ID = @pOsztalyId
|
|
UNION
|
|
SELECT
|
|
fn.TanuloId
|
|
,fn.TanuloTanuloCsoport AS TanuloCsoportId
|
|
,0 AS IsOsztalyos
|
|
,fn.Naploszam
|
|
,CAST(sorszam.RN as int) AS Naplosorszam
|
|
FROM #FoglalkozasiNaplok fn
|
|
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = fn.OsztalyCsoportId
|
|
AND (cs.C_OSZTALYBONTASID = @pOsztalyId
|
|
OR (cs.C_OSZTALYBONTASID IS NULL AND cs.ID IS NOT NULL))
|
|
AND cs.TOROLT = 'F'
|
|
LEFT JOIN (
|
|
SELECT fn.TanuloId
|
|
,fn.TanuloCsoportId
|
|
,ROW_NUMBER() OVER ( PARTITION BY fn.OsztalyCsoportId ORDER BY f.C_NYOMTATASINEV) as RN
|
|
FROM #FoglalkozasiNaplok fn
|
|
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = fn.TanuloId
|
|
AND f.TOROLT = 'F'
|
|
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = fn.OsztalyCsoportId
|
|
AND cs.TOROLT = 'F'
|
|
CROSS APPLY dbo.fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, fn.OsztalyCsoportId, 'T') csoptanuloi
|
|
WHERE fn.TanuloId = csoptanuloi.TanuloId
|
|
) sorszam ON sorszam.TanuloId = fn.TanuloId
|
|
AND sorszam.TanuloCsoportId = fn.TanuloCsoportId
|
|
|
|
END |