kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspGetTanulokTantargyMulasztasokReszletezese.sql
2024-03-13 00:33:46 +01:00

168 lines
5.6 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokTantargyMulasztasokReszletezese
DROP PROCEDURE IF EXISTS dbo.uspGetTanulokTantargyMulasztasokReszletezese
GO
CREATE PROCEDURE [dbo].[uspGetTanulokTantargyMulasztasokReszletezese]
@pOsztalyId int
,@pTanevId int
,@pIskolaErdekuSzamit bit
AS BEGIN
SET NOCOUNT ON;
CREATE TABLE #MulasztasOsztalyonkent(
TantargyId int
,Tipusa int
,IgazolasTipusa int
,OsztalyCsoportId int
,TanuloId int
,TantargyNev nvarchar(1000)
,OsztalyCsoportNev nvarchar(510)
,Igazolt char(1)
,KesesPercben int
,Datum date
,OraszamWithOrakezdeteVege nvarchar(50)
,RENDEZ0 int
,RENDEZ1 INT
,RENDEZ2 NVARCHAR(510)
,RENDEZ3 INT
,RENDEZ4 INT
,RENDEZ5 NVARCHAR(510)
)
INSERT INTO #MulasztasOsztalyonkent(
TantargyId
,Tipusa
,IgazolasTipusa
,OsztalyCsoportId
,TanuloID
,TantargyNev
,OsztalyCsoportNev
,Igazolt
,KesesPercben
,Datum
,OraszamWithOrakezdeteVege
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
) SELECT
TantargyId
,Tipusa
,IgazolasTipusa
,OsztalyCsoportId
,TanuloID
,TantargyNev
,OsztalyCsoportNev
,Igazolt
,KesesPercben
,Datum
,OraszamWithOrakezdeteVege
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @pIskolaErdekuSzamit, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
/*FEJLEC*/
SELECT
IntezmenyAdat.C_NEV as IntezmenyNeve
,IntezmenyAdat.C_OMKOD as IntezmenyOMKod
,IntezmenyAdat.C_IGAZGATONEVE IntezmenyVezeto
,dbo.fnGetDokumentumIntezmenyCime(@pTanevId) as IntezmenyCime
,IntezmenyAdat.C_VAROS as IntezmenyVaros
,(SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId) as OsztalyCsoportNev
,@pOsztalyId as OsztalyId
,ofo.C_NYOMTATASINEV as OsztalyfonokNev
FROM T_INTEZMENYADATOK_OSSZES IntezmenyAdat
INNER JOIN T_OSZTALY_OSSZES AS o ON o.ID = @pOsztalyId AND o.TOROLT='F'
LEFT JOIN T_FELHASZNALO_OSSZES AS ofo ON ofo.ID = o.C_OSZTALYFONOKID AND ofo.TOROLT='F'
WHERE INTEZMENYADAT.C_TANEVID = @pTanevId AND IntezmenyAdat.TOROLT='F'
/*TANULOK*/
SELECT
TanuloId
,Felhasznalo.C_NYOMTATASINEV as TanuloNev
,@pOsztalyId as OsztalyCsoportId
,Felhasznalo.C_OKTATASIAZONOSITO as TanuloOktAzon
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'T') Tanulok
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulok.TanuloId AND Felhasznalo.TOROLT='F'
ORDER BY Felhasznalo.C_NYOMTATASINEV
/*MULASZTOTT TANTARGY*/
SELECT DISTINCT
TanuloId
,OsztalyCsoportId
,TantargyId
,TantargyNev as TantargyNev
,COUNT(1) as COUNT
,RENDEZ0
,RENDEZ1
,RENDEZ2
,RENDEZ3
,RENDEZ4
,RENDEZ5
FROM #MulasztasOsztalyonkent MulasztasokOsztalyonkent
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = MulasztasokOsztalyonkent.TantargyId AND Tantargy.TOROLT='F'
GROUP BY TanuloId, OsztalyCsoportId, TantargyId, TantargyNev, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
ORDER BY TanuloId, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
SELECT
TanuloId
,OsztalyCsoportId
,OsztalyCsoportNev as OsztalyCsoportNev
,CASE
WHEN Igazolt = 'T' THEN 'Igen'
WHEN Igazolt = 'F' THEN 'Nem'
ELSE ''
END as Igazolt
,MulasztasTipus.C_NAME as Tipusa
,IgazolasTipus.C_NAME as IgazolasTipusa
,KesesPercben as Keses
,Datum as Datum
,OraszamWithOrakezdeteVege as Oraszam
,TantargyId
,Felhasznalo.C_NYOMTATASINEV as OsztalyfonokNev
FROM #MulasztasOsztalyonkent MulasztasokOsztalyonkent
INNER JOIN T_DICTIONARYITEMBASE_OSSZES MulasztasTipus ON MulasztasokOsztalyonkent.Tipusa = MulasztasTipus.ID AND MulasztasTipus.C_TANEVID = @pTanevId AND MulasztasTipus.TOROLT='F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES IgazolasTipus ON MulasztasokOsztalyonkent.IgazolasTipusa = IgazolasTipus.ID AND IgazolasTipus.C_TANEVID = @pTanevId AND IgazolasTipus.TOROLT='F'
LEFT JOIN T_OSZTALY_OSSZES Osztaly ON MulasztasokOsztalyonkent.OsztalyCsoportId = Osztaly.ID AND Osztaly.TOROLT='F'
LEFT JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Osztaly.C_OSZTALYFONOKID = Felhasznalo.ID AND Felhasznalo.TOROLT='F'
ORDER BY Datum, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
SELECT
o.ID as OsztalyId
,ocs.C_EVFOLYAMTIPUSA as EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID as FeladatEllatasiHelyId
,ocs.C_KEPZESIFORMA as KepzesiForma
,o.C_OSZTALYFONOKID as OsztalyfonokId
,o.C_TANTERVID as TantervId
,o.C_SZAKMACSOPORT as SzakmaCsoport
,o.C_AGAZAT as Agazat
,o.C_SZAKKEPESITES as Szakkepesites
,o.C_RESZSZAKKEPESITES as Reszszakkepesites
,o.C_AGAZATUJSZKTTIPUSID AS UjSzktAgazat
,o.C_SZAKMATIPUSID AS UjSzktSzakma
,o.C_SZAKMAIRANYTIPUSID AS UjSzktSzakmairany
,o.C_TANULMANYITERULETNKTTIPUSID AS NktTanulmanyiTerulet
,o.C_SZAKKEPESITESNKTTIPUSID AS NktSzakkepesites
,o.C_SZAKIRANYNKTTIPUSID AS NktSzakirany
,ocs.C_KERESZTFELEVES as OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM as CSJVegzosEvfolyamu
,ocs.C_ISTECHNIKAI as OJTechnikaiOsztaly
,o.C_NEMZETISEGI as OJNemzetisegi
,o.C_KETTANNYELVU as OJKettannyelvu
,o.C_NYELVIELOKESZITO as OJNyelviElokeszito
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI as OJIsGyogypedagogiaiLogopediai
,o.C_SPORT as OJSportOsztaly
,o.C_AJPROGRAM as OJAranyJanosProgram
FROM T_OSZTALY_OSSZES as o
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
WHERE o.ID = @pOsztalyId AND o.TOROLT='F'
END
GO