﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

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

CREATE PROCEDURE [dbo].[sp_GetOsztalyTanuloinakHaviMulasztasaiOsszesitoje] 
  @pTanevId INT,
  @pIntezmenyId INT, 
  @pOsztalyId INT,
  @pElmeletgyakorlat BIT = 0,
  @pMulasztandoOrakszamaTeljesNaposMulasztashoz INT = 3
AS 
BEGIN

DECLARE @honapok TABLE(honap INT, honapnev NVARCHAR(max));

INSERT INTO @honapok
SELECT DISTINCT (3 + d.c_value) % 12 + 1 AS c_value, d.c_name as Honap 
FROM T_DICTIONARYITEMBASE_OSSZES d 
WHERE c_type LIKE 'honap%' 
ORDER BY c_value;

SELECT honapnev FROM @honapok;

DECLARE honap_cursor CURSOR FOR 
SELECT DISTINCT (3 + d.c_value) % 12 + 1 AS honap_sorrend, d.c_value AS honap
FROM T_DICTIONARYITEMBASE_OSSZES d 
WHERE c_type LIKE 'honap%'
ORDER BY honap_sorrend;

DECLARE @honap_sorrend INT, @honap INT;
OPEN honap_cursor
FETCH NEXT FROM honap_cursor 
INTO @honap_sorrend, @honap;
WHILE @@FETCH_STATUS = 0 
BEGIN
  EXEC [sp_GetOsztalyTanuloinakHaviMulasztasaiOsszesitoje_honapra] @pTanevId, @pIntezmenyId, @pOsztalyId, @honap, @pElmeletgyakorlat, @pMulasztandoOrakszamaTeljesNaposMulasztashoz
  FETCH NEXT FROM honap_cursor 
  INTO @honap_sorrend, @honap
END
CLOSE honap_cursor
DEALLOCATE honap_cursor

SELECT
  ocs.ID  AS OsztalyId
  ,ocs.C_EVFOLYAMTIPUSA AS  EvfolyamTipusa
	,ocs.C_FELADATELLATASIHELYID  AS  FeladatEllatasiHelyId
  ,o.C_OSZTALYFONOKID AS OsztalyfonokId
	,o.C_TANTERVID  AS  TantervId
	,ocs.C_KEPZESIFORMA AS  KepzesiForma
	,o.C_AGAZAT AS  Agazat
	,o.C_SZAKMACSOPORT  AS  SzakmaCsoport
	,o.C_SZAKKEPESITES		Szakkepesites
	,o.C_RESZSZAKKEPESITES	Reszszakkepesites
	,ocs.C_KERESZTFELEVES	OJCSJKeresztfeleves
	,ocs.C_VEGZOSEVFOLYAM	CSJVegzosEvfolyamu
	,o.C_TECHNIKAIOSZTALY	OJTechnikaiOsztaly
	,o.C_NEMZETISEGI		OJNemzetisegi
	,o.C_KETTANNYELVU		OJKettannyelvu
	,o.C_NYELVIELOKESZITO	OJNyelviElokeszito
	,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI			OJIsGyogypedagogiaiLogopediai
	,o.C_SPORT				OJSportOsztaly
	,o.C_AJPROGRAM			OJAranyJanosProgram
FROM T_OSZTALYCSOPORT_OSSZES ocs
  INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID
WHERE ocs.ID = @pOsztalyId
  AND ocs.C_TANEVID = @pTanevId
  AND ocs.C_INTEZMENYID = @pIntezmenyId
  AND ocs.TOROLT = 'F'
END

SELECT 
  tanuloID  AS  TanuloId
  ,tanuloNeve AS TanuloNeve
  ,oktAzon  AS  OktAzon
FROM fnGetDokumentumTanuloiAlapadatok(@pOsztalyId, @pTanevId, 'T')

GO