-- ============================================= -- Author: -- Midifier: Telek Ákos -- Create date: <2016. 07. 27.> -- Description: -- ============================================= IF OBJECT_ID('sp_GetHaladasiMunkafuzetTanmenet') IS NOT NULL BEGIN DROP PROCEDURE sp_GetHaladasiMunkafuzetTanmenet END GO CREATE PROCEDURE sp_GetHaladasiMunkafuzetTanmenet @tanevID int, @tanarID int AS BEGIN SET NOCOUNT ON; DECLARE @foglalkozasID INT = 0 ,@foglalkozasNev VARCHAR(255) SELECT DISTINCT f.ID ,ocs.C_NEV + ' - ' + tt.C_NEV AS Nev ,f.C_TANTARGYID ,f.C_OSZTALYCSOPORTID ,f.C_INTEZMENYID INTO #Foglalkozasok FROM T_FOGLALKOZAS_OSSZES f INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID = f.C_OSZTALYCSOPORTID and ocs.TOROLT = 'F' INNER JOIN T_FOGLALKOZASOK_TANAROK ft on ft.C_FOGLALKOZASOKID = f.ID INNER JOIN T_TANTARGY_OSSZES tt on tt.ID = f.C_TANTARGYID WHERE f.TOROLT = 'F' AND f.C_TANEVID = @tanevID AND ft.C_TANAROKID = @tanarID AND tt.TOROLT = 'F' SELECT ID, Nev FROM #Foglalkozasok 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 ,@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 tn.ID ,CASE WHEN tn.C_MEGTARTOTT = 'T' then s.evesOraszam --tn.C_ORAEVESSORSZAM ELSE '-' END AS OraSorszam ,tn.C_TEMA Tema ,CASE WHEN tn.C_HELYETTESITOTANARID is null then '' ELSE 'H' END AS Helyettesites ,tn.C_DATUM 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 LEFT JOIN @sorszamTable s ON s.tanitasiOraId = tn.ID WHERE tn.TOROLT = 'F' AND tn.C_TANEVID = @tanevID AND tn.C_FOGLALKOZASID = @foglalkozasId FETCH NEXT FROM foglalkozasCursor into @foglalkozasId END CLOSE foglalkozasCursor DEALLOCATE foglalkozasCursor DROP TABLE #Foglalkozasok END; GO