﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('[dbo].[sp_GetOsztalyOrarend]') IS NOT NULL 
BEGIN
  DROP PROCEDURE [dbo].[sp_GetOsztalyOrarend]
END  
GO


CREATE PROCEDURE [dbo].[sp_GetOsztalyOrarend] 
   @tanevID					INT
  ,@intezmenyId				INT
  ,@aktivTanevId			INT
  ,@osztalyId				INT
  ,@isEgyebFoglalkozasok	BIT
  ,@orarendErvenyessegiDatum	DATE
AS 
BEGIN
SET NOCOUNT ON;

SELECT DISTINCT 
	 ia.C_NEV as intezmeny
	,m.C_NEV as mukodesihely
	,d.C_NAME as oktatasiNevelesiFeladatTipus
	,ISNULL(ia.C_VAROS + ', ', '') + dbo.fnGetDokumentumDatumFormatum(GETDATE()) AS kelt
FROM T_INTEZMENY_OSSZES i
  INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_INTEZMENYID=I.ID AND ia.C_TANEVID = @tanevid
  INNER JOIN T_MUKODESIHELY_OSSZES m ON ia.C_INTEZMENYID = m.C_INTEZMENYID AND m.TOROLT = 'F' AND m.C_TANEVID = @tanevID
  INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON m.ID = f.C_MUKODESIHELYID AND f.TOROLT = 'F' AND f.C_TANEVID = @tanevID
  INNER JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE_OSSZES) d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS
WHERE 
	i.id = @intezmenyId 
	AND I.TOROLT = 'F'


DECLARE @tabla TABLE (osztalyId INT, Ora INT, HetirendId INT, Hetfo NVARCHAR(MAX), Kedd NVARCHAR(MAX), Szerda NVARCHAR(MAX), Csutortok NVARCHAR(MAX), Pentek NVARCHAR(MAX), Szombat NVARCHAR(MAX), Vasarnap NVARCHAR(MAX), Hetirend NVARCHAR(MAX),Osztalynev NVARCHAR(MAX))

SELECT 
	ocs.Id		OsztalyId
	,ocs.C_NEV	OsztalyNev
INTO #Osztalyok
FROM T_OSZTALYCSOPORT_OSSZES ocs 
	INNER JOIN T_OSZTALY_OSSZES o ON ocs.Id=o.Id
WHERE 
	ocs.TOROLT='F' 
	AND ocs.C_TANEVID = @tanevID 
	AND ocs.C_INTEZMENYID = @intezmenyId
	AND ocs.Id = @osztalyId

INSERT INTO @tabla
  EXEC sp_GetOrarendOsztalyonkent @intezmenyId, @tanevID, @osztalyId, @aktivTanevId, @isEgyebFoglalkozasok, @orarendErvenyessegiDatum

SELECT 
	OsztalyId
	,OsztalyNev 
	,Hetirend
FROM #Osztalyok Osztalyok
	CROSS JOIN (SELECT DISTINCT Hetirend FROM @tabla) Hetirend (Hetirend)
	INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.Id = Osztalyok.OsztalyId
	INNER JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipusa ON EvfolyamTipusa.Id = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusa.C_TANEVID = @tanevId
ORDER BY C_ORDER, C_NEV

SELECT 
	OsztalyokOrarendje.* 
FROM @tabla OsztalyokOrarendje
ORDER BY Ora

END

GO