﻿DROP PROCEDURE IF EXISTS uspGetNemNaplozottOrarendiOrak
GO

CREATE PROCEDURE uspGetNemNaplozottOrarendiOrak
   @IntezmenyId int
  ,@TanevId int
  ,@IdoszakKezdete datetime
  ,@IdoszakVege datetime
  ,@TanarId int = NULL
  ,@OsztalyCsoportId int = NULL
  ,@TantargyId int = NULL
  ,@CsakAHelyettesiteseim bit = 0
  ,@HelyettesitettOraimIs bit = 0
  ,@pFeladatKategoriaId int = NULL
  ,@pDatum datetime = NULL
  ,@pOraszam int = NULL
  ,@pIdopont datetime = NULL
  ,@pOktatasiNevelesiFeladatTipusId int = NULL
  ,@pFeladatEllatasiHelyId int = NULL
AS BEGIN
  SET NOCOUNT ON;

  CREATE TABLE #NemNaplozottOrak (
     Id int
    ,ORARENDIID int
    ,Bontott char (1)
    ,Hetirend int
    ,HetNapja int
    ,HetSorszam int
    ,ErvenyessegKezdete datetime
    ,ErvenyessegVege datetime
    ,OraKezdete datetime
    ,OraKezdeteDate date
    ,OraKezdeteTimeText varchar(5)
    ,OraVege datetime
    ,Oraszam int
    ,TargyNev nvarchar (300)
    ,TargyNevForMobile nvarchar (300)
    ,TargykategoriaID int
    ,Megtartott char (1)
    ,CsengetesiRendOraID int
    ,CsengetesiRendID int
    ,MaxNapiOraszam int
    ,OsztalyNev nvarchar (255)
    ,MegjelenesOka nvarchar (300)
    ,TanarNev nvarchar (255)
    ,TanarOktAzon nvarchar (20)
    ,TeremNev nvarchar (255)
    ,OraTipus nvarchar (200)
    ,Hianyzas char (1)
    ,Keses char (1)
    ,Ures char (1)
    ,HelyettesitoTanarID int
    ,HelyettesitoTanarNev nvarchar (255)
    ,HelyettesitesId int
    ,TanarID int
    ,AdminAltalKiirt char (1)
    ,GroupId int
    ,Tema nvarchar (max)
    ,TantargyId int
    ,OsztCsopId int
    ,HelyettesitettPedagogusNev nvarchar (255)
    ,OraKezdeteDateST nvarchar (25)
    ,HetNapjaValos int
    ,Datum datetime
    ,HelyettesitoTanarOktAzon nvarchar (20)
  )

  EXEC uspGetNemNaplozottOrarendiOrak_Core
     @IntezmenyId = @IntezmenyId
    ,@TanevId = @TanevId
    ,@IdoszakKezdete = @IdoszakKezdete
    ,@IdoszakVege = @IdoszakVege
    ,@TanarId = @TanarId
    ,@OsztalyCsoportId = @OsztalyCsoportId
    ,@TantargyId = @TantargyId
    ,@CsakAHelyettesiteseim = @CsakAHelyettesiteseim
    ,@HelyettesitettOraimIs = @HelyettesitettOraimIs
    ,@pFeladatKategoriaId = @pFeladatKategoriaId
    ,@pDatum = @pDatum
    ,@pOraszam = @pOraszam
    ,@pIdopont = @pIdopont
    ,@pOktatasiNevelesiFeladatTipusId = @pOktatasiNevelesiFeladatTipusId
    ,@pFeladatEllatasiHelyId = @pFeladatEllatasiHelyId

  SELECT
     Id
    ,ORARENDIID
    ,Bontott
    ,Hetirend
    ,HetNapja
    ,HetSorszam
    ,ErvenyessegKezdete
    ,ErvenyessegVege
    ,OraKezdete
    ,OraKezdeteDate
    ,OraKezdeteTimeText
    ,OraVege
    ,Oraszam
    ,TargyNev
    ,TargyNevForMobile
    ,TargykategoriaID
    ,Megtartott
    ,CsengetesiRendOraID
    ,CsengetesiRendID
    ,MaxNapiOraszam
    ,OsztalyNev
    ,MegjelenesOka
    ,TanarNev
    ,TanarOktAzon
    ,TeremNev
    ,OraTipus
    ,Hianyzas
    ,Keses
    ,Ures
    ,HelyettesitoTanarID
    ,HelyettesitoTanarNev
    ,HelyettesitesId
    ,TanarID
    ,AdminAltalKiirt
    ,GroupId
    ,Tema
    ,TantargyId
    ,OsztCsopId
    ,HelyettesitettPedagogusNev
    ,OraKezdeteDateST
    ,HetNapjaValos
    ,Datum
    ,HelyettesitoTanarOktAzon
  FROM #NemNaplozottOrak

  -- Iktatás adatok
  SELECT
     @OsztalyCsoportId AS OsztalyId
    ,ocs.C_EVFOLYAMTIPUSA AS Evfolyam
    ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
    ,ocs.C_KEPZESIFORMA AS KepzesiForma
    ,o.C_OSZTALYFONOKID AS OsztalyFonokId
    ,o.C_TANTERVID AS TantervId
    ,o.C_SZAKMACSOPORT AS SzakmaCsoport
    ,o.C_AGAZAT AS Agazat
    ,o.C_SZAKKEPESITES AS Szakkepesites
    ,o.C_RESZSZAKKEPESITES AS Reszszakkepesites
    ,ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves
    ,o.C_TECHNIKAIOSZTALY AS OJTechnikaiOsztaly
    ,o.C_NEMZETISEGI AS OJNemzetisegi
    ,o.C_KETTANNYELVU AS OJKettannyelvu
    ,o.C_NYELVIELOKESZITO AS OJNyelviElokeszito
    ,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI AS OJIsGyogypedagogiaiLogopediai
    ,o.C_SPORT AS OJSportOsztaly
    ,o.C_AJPROGRAM AS OJAranyJanosProgram
  FROM T_OSZTALYCSOPORT_OSSZES ocs
    INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F'
      AND o.C_ALTANEVID = ocs.C_TANEVID
      AND o.C_ALINTEZMENYID = ocs.C_INTEZMENYID
  WHERE ocs.ID = @OsztalyCsoportId
    AND ocs.TOROLT = 'F'
    AND ocs.C_TANEVID = @TanevId
    AND ocs.C_INTEZMENYID = @IntezmenyId

  -- Tanár iktatás adatok
  SELECT DISTINCT
     f.ID AS TanarId
    ,f.C_OKTATASIAZONOSITO AS TanarOktAzon
  FROM T_ALKALMAZOTT_OSSZES a
    INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = a.ID AND f.TOROLT = 'F'
      AND a.C_ALTANEVID = f.C_TANEVID
      AND a.C_ALINTEZMENYID = f.C_INTEZMENYID
    LEFT JOIN #NemNaplozottOrak orak ON orak.TanarID = f.ID
  WHERE a.TOROLT = 'F'
    AND a.C_ALINTEZMENYID = @IntezmenyId
    AND a.C_ALTANEVID = @TanevId
    AND (@TanarId IS NULL OR f.ID = @TanarId)

END
GO
