﻿-- =============================================
-- Author:		<Hoffmann Zsolt>
-- Midifier: Telek Ákos
-- Create date: <2016. 07. 27.>
-- Description:	<Haladási munkafüzet, tanmenet>
-- =============================================

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
