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

119 lines
No EOL
4.9 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS dbo.sp_GetTanulokFelmentesekHatarozatok
DROP PROCEDURE IF EXISTS dbo.uspGetTanulokFelmentesekHatarozatok
GO
CREATE PROCEDURE dbo.[uspGetTanulokFelmentesekHatarozatok]
@OsztalyId INT,
@TanevId INT
AS
BEGIN
SET NOCOUNT ON;
/*Alap adatok*/
SELECT DISTINCT
@OsztalyId OsztalyId
,ocs.C_NEV OSZTALYCSOPORT_NEV
,ofo.C_NYOMTATASINEV OSZTFO_NEV
,i.C_IGAZGATONEVE INT_IGAZGATO_NEV
,i.C_NEV INT_NEV
,i.C_IRANYITOSZAM INT_IRSZAM
,i.C_VAROS INT_VAROS
,dbo.fnGetDokumentumIntezmenyCime(@TanevId) INT_CIM
,i.C_OMKOD INT_OMKOD
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = o.C_OSZTALYFONOKID
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID=ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F'
WHERE ocs.ID = @OsztalyId
/*Mentességek*/
SELECT
tt.C_NEV TANTARGY
,tm.C_MENTESSEGOKA MENTESSEG_OKA
,IIF(C_ERTEKELESMENTESITES = 'T', 'Értékelés alóli felmentés,', '')
+ IIF(C_ORAMENTESITES = 'T', 'Tanóra látogatása alóli felmentés,', '')
+ IIF(C_SZOVEGESENERTEKELHETO = 'T', 'Szövegesen értékelhető,', '') TIPUSA
,dbo.fnGetDokumentumDatumFormatum(tm.C_KEZDETE) Kezdete
,dbo.fnGetDokumentumDatumFormatum(tm.C_VEGE) Vege
,ft.ID TANULO_ID
,ft.C_NYOMTATASINEV AS TANULO_NEV
,ft.C_NYOMTATASINEV + ' ' + CAST(ft.ID AS NVARCHAR) GROUPPARAMETER
,@OsztalyId AS OsztalyId
,ft.C_OKTATASIAZONOSITO AS TanuloOktAzon
,feljegyzo.ID AS FeljegyzoId
,feljegyzo.C_NYOMTATASINEV AS FeljegyzoNeve
,feljegyzo.C_OKTATASIAZONOSITO AS FeljegyzoOktAzon
,tt.C_SORSZAM as RENDEZ0
,CASE WHEN tt.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END as RENDEZ1
,COALESCE(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV, tt.C_NEV) as RENDEZ2
,ISNULL(tt.C_FOTARGYID, tt.ID) as RENDEZ3
,tt.C_FOTARGYID as RENDEZ4
,ISNULL(tt.C_NEVNYOMTATVANYBAN, tt.C_NEV) as RENDEZ5
INTO #TanuloMentesseg
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'T') Tanulok
INNER JOIN T_FELHASZNALO_OSSZES ft ON ft.ID = Tanulok.TanuloId AND ft.TOROLT = 'F'
LEFT JOIN T_TANULOMENTESSEG_OSSZES tm ON tm.C_TANULOID = ft.ID AND tm.TOROLT = 'F'
LEFT JOIN T_TANTARGY_OSSZES tt ON tt.ID = tm.C_TANTARGYID AND tt.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES feljegyzo ON feljegyzo.ID = tm.CREATOR AND feljegyzo.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = tt.C_TARGYKATEGORIA
AND TargyKategoriaDictionary.TOROLT = 'F'
AND TargyKategoriaDictionary.C_TANEVID = @tanevId
LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON tt.C_FOTARGYID = FotargyTable.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA
AND FotargyKategoriaDictionary.TOROLT = 'F'
AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
ORDER BY ft.C_NYOMTATASINEV
SELECT
TANTARGY
,MENTESSEG_OKA
,IIF(TIPUSA = '', '', LEFT(TIPUSA, LEN(TIPUSA) - 1)) TIPUSA
,Kezdete
,Vege
,TANULO_ID
,TANULO_NEV
,GROUPPARAMETER
,OsztalyId
,TanuloOktAzon
,FeljegyzoId
,FeljegyzoNeve
,FeljegyzoOktAzon
FROM #TanuloMentesseg
ORDER BY TANULO_ID, RENDEZ0, RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5, Kezdete
/* Osztály adatok */
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 OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
,ocs.C_ISTECHNIKAI OJTechnikaiOsztaly
,o.C_NEMZETISEGI OJNemzetisegi
,o.C_KETTANNYELVU OJKettannyelvu
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI OJIsGyogypedagogiaiLogopediai
,o.C_SPORT OJSportOsztaly
,o.C_AJPROGRAM 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 = @OsztalyId
DROP TABLE #TanuloMentesseg
END
GO