-- ============================================= -- Author: -- Create date: <2016. 07. 26.> -- Description: -- ============================================= IF OBJECT_ID('sp_GetHaladasiNaploAdatok') IS NOT NULL BEGIN DROP PROCEDURE sp_GetHaladasiNaploAdatok END GO CREATE PROCEDURE [dbo].[sp_GetHaladasiNaploAdatok] @tanevID int, @osztalyID int AS BEGIN DECLARE @foglalkozasID INT = 0 DECLARE @foglalkozasNev VARCHAR(255) SET NOCOUNT ON; SELECT DISTINCT f.id ,ocs.C_NEV + ' - ' + tt.C_NEV AS Nev ,f.C_TANTARGYID ,f.C_OSZTALYCSOPORTID ,f.C_INTEZMENYID ,ft.C_TANAROKID AS C_TANARID INTO #Foglalkozasok FROM T_FOGLALKOZAS_OSSZES f INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON f.ID = ft.C_FOGLALKOZASOKID INNER JOIN T_OSZTALYCSOPORT_OSSZES OCS on OCS.ID = f.C_OSZTALYCSOPORTID and OCS.TOROLT = 'F' LEFT JOIN T_CSOPORTOK_OSZTALYOK cso on cso.C_CSOPORTOKID = ocs.ID INNER JOIN T_TANTARGY_OSSZES tt on tt.ID = f.C_TANTARGYID and tt.TOROLT = 'F' WHERE f.TOROLT = 'F' AND f.C_TANEVID = @tanevID AND (ocs.ID = @osztalyID OR cso.C_OSZTALYOKID = @osztalyID) SELECT fog.ID , Nev+' - '+felh.C_NYOMTATASINEV Nev FROM #Foglalkozasok fog INNER JOIN T_FELHASZNALO_OSSZES felh on fog.C_TANARID=felh.ID DECLARE @sorszamTable TABLE ( tanitasiOraId int-- PRIMARY KEY ,evesOraszam int ,foglalkozasId int ) INSERT INTO @sorszamTable (tanitasiOraId, evesOraszam, foglalkozasId) SELECT s.Id, s.EvesSorszam, f.ID FROM #Foglalkozasok f CROSS APPLY dbo.fnGetEvesOraszamLista( f.C_TANTARGYID ,f.C_OSZTALYCSOPORTID ,f.C_TANARID ,GETDATE() ,f.C_INTEZMENYID ,@tanevID ) s DECLARE foglalkozasCursor CURSOR FOR SELECT ID FROM #Foglalkozasok OPEN foglalkozasCursor FETCH NEXT FROM foglalkozasCursor into @foglalkozasId WHILE @@FETCH_STATUS = 0 BEGIN SELECT DISTINCT CASE WHEN tn.C_MEGTARTOTT = 'T' THEN s.evesOraszam -- tn.C_ORAEVESSORSZAM ELSE '-' END AS OraSorszam ,fh.C_NYOMTATASINEV TanarNev ,tn.C_TEMA Tema ,CASE WHEN tn.C_HELYETTESITOTANARID IS NULL THEN '' ELSE 'H' END AS Helyettesites ,FORMAT(tn.C_DATUM, 'yyyy.MM.dd.') Datum ,tn.C_ORASZAM OraSzam ,tn.C_MEGJEGYZES Megjegyzes ,tn.C_HAZIFELADAT HaziFeladat ,tn.C_TULORA TulOra ,tn.C_TAMOPORA TamopOra ,tn.C_NEMSZAKRENDSZERUORA NemszakrendszeruOra ,tn.C_IKTTANORA IktOra ,tn.C_NEMZETISEGIORA NemzetisegiOra ,tn.C_MINDENNAPOSTESTNEVELES TestnevelesOra ,tn.C_IPRTANORA IprOra ,tn.C_DIFFERENCIALT DifferencialtOra ,tn.C_KOOPERATIV KooperativOra ,tn.C_MERES MeresOra ,tn.C_DRAMA DramaOra ,tn.C_PARHUZAMOSORA ParhuzamosOra ,tn.C_TIOP12 TiopOra FROM T_TANITASIORA_OSSZES tn INNER JOIN T_ORAK_TANAROK ot ON ot.C_ORAKID = tn.ID INNER JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID LEFT JOIN @sorszamTable s ON s.tanitasiOraId = tn.ID WHERE tn.TOROLT = 'F' AND tn.C_TANEVID = @tanevID AND tn.C_FOGLALKOZASID = @foglalkozasID ORDER BY FORMAT(tn.C_DATUM, 'yyyy.MM.dd.') FETCH NEXT FROM foglalkozasCursor INTO @foglalkozasId END CLOSE foglalkozasCursor DEALLOCATE foglalkozasCursor DROP TABLE #Foglalkozasok END GO