SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

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


CREATE PROCEDURE [dbo].[sp_GetOsztalyOrarendOsszes] 
   @tanevID					INT
  ,@intezmenyId				INT
  ,@aktivTanevId			INT
  ,@isEgyebFoglalkozasok	BIT
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, Hetirend INT, [1408] NVARCHAR(MAX), [1409] NVARCHAR(MAX), [1410] NVARCHAR(MAX), [1411] NVARCHAR(MAX), [1412] NVARCHAR(MAX), [1413] NVARCHAR(MAX), Hetirend_dname NVARCHAR(MAX),Osztalynev NVARCHAR(MAX))

DECLARE kurzor CURSOR FOR 
SELECT 
	ocs.Id 
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

DECLARE @OsztalyId int

OPEN kurzor
FETCH NEXT FROM kurzor INTO @OsztalyId

WHILE @@FETCH_STATUS = 0 BEGIN
  INSERT INTO @tabla
  EXEC sp_GetOrarendOsztalyonkent @intezmenyId, @tanevID, @osztalyid, @aktivTanevId, @isEgyebFoglalkozasok
  
      FETCH NEXT FROM kurzor INTO @OsztalyId
END

CLOSE kurzor
DEALLOCATE kurzor

SELECT 
	OsztalyokOrarendje.* 
	,C_ORDER	Rendez
FROM @tabla OsztalyokOrarendje
	INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.Id = OsztalyokOrarendje.OsztalyId
	INNER JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipusa ON EvfolyamTipusa.Id = OsztalyCsoport.C_EVFOLYAMTIPUSA AND EvfolyamTipusa.C_TANEVID = @tanevId

END

GO