212 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
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
 | 
						|
  ,@CsakHelyettesitesreKiirtTanorak bit = 0
 | 
						|
  ,@pFeladatKategoriaId int = NULL
 | 
						|
AS BEGIN
 | 
						|
  SET NOCOUNT ON;
 | 
						|
 | 
						|
  SET DATEFIRST 1;
 | 
						|
 | 
						|
  DECLARE
 | 
						|
    @CsakOrarendiOrak bit = 0
 | 
						|
 | 
						|
  CREATE TABLE #OrarendiOrak (
 | 
						|
     Id int
 | 
						|
    ,ORARENDIID int
 | 
						|
    ,Datum datetime
 | 
						|
    ,Bontott char (1)
 | 
						|
    ,Hetirend int
 | 
						|
    ,HetNapja int
 | 
						|
    ,HetSorszam int
 | 
						|
    ,ErvenyessegKezdete datetime
 | 
						|
    ,ErvenyessegVege datetime
 | 
						|
    ,OraKezdete datetime
 | 
						|
    ,OraVege datetime
 | 
						|
    ,Oraszam int
 | 
						|
    ,TargyNev nvarchar (300)
 | 
						|
    ,TargyNevForMobile nvarchar (300)
 | 
						|
    ,TargykategoriaID int
 | 
						|
    ,Megtartott char (1)
 | 
						|
    ,CsengetesiRendOraID int
 | 
						|
    ,CsengetesiRendID int
 | 
						|
    ,MaxNapiOraszam int
 | 
						|
    ,OsztalyNev nvarchar (255)
 | 
						|
    ,TanevRendOsztalyCsoportId int
 | 
						|
    ,MegjelenesOka nvarchar (300)
 | 
						|
    ,TanarNev nvarchar (255)
 | 
						|
    ,TeremNev nvarchar (255)
 | 
						|
    ,TeremId int
 | 
						|
    ,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
 | 
						|
    ,INDEX IX1 CLUSTERED(Datum, HetNapja, Oraszam, TanevRendOsztalyCsoportId, TantargyId, TanarID)
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO #OrarendiOrak (
 | 
						|
     Id
 | 
						|
    ,ORARENDIID
 | 
						|
    ,Datum
 | 
						|
    ,Bontott
 | 
						|
    ,Hetirend
 | 
						|
    ,HetNapja
 | 
						|
    ,HetSorszam
 | 
						|
    ,ErvenyessegKezdete
 | 
						|
    ,ErvenyessegVege
 | 
						|
    ,OraKezdete
 | 
						|
    ,OraVege
 | 
						|
    ,Oraszam
 | 
						|
    ,TargyNev
 | 
						|
    ,TargyNevForMobile
 | 
						|
    ,TargykategoriaID
 | 
						|
    ,Megtartott
 | 
						|
    ,CsengetesiRendOraID
 | 
						|
    ,CsengetesiRendID
 | 
						|
    ,MaxNapiOraszam
 | 
						|
    ,OsztalyNev
 | 
						|
    ,TanevRendOsztalyCsoportId
 | 
						|
    ,MegjelenesOka
 | 
						|
    ,TanarNev
 | 
						|
    ,TeremNev
 | 
						|
    ,TeremId
 | 
						|
    ,OraTipus
 | 
						|
    ,Hianyzas
 | 
						|
    ,Keses
 | 
						|
    ,Ures
 | 
						|
    ,HelyettesitoTanarID
 | 
						|
    ,HelyettesitoTanarNev
 | 
						|
    ,HelyettesitesId
 | 
						|
    ,TanarID
 | 
						|
    ,AdminAltalKiirt
 | 
						|
    ,GroupId
 | 
						|
    ,Tema
 | 
						|
    ,TantargyId
 | 
						|
    ,OsztCsopId
 | 
						|
  )
 | 
						|
  EXEC sp_GetOrarend
 | 
						|
     @pIntezmenyId = @IntezmenyId
 | 
						|
    ,@pTanevId = @TanevId
 | 
						|
    ,@pIdoszakKezdete = @IdoszakKezdete
 | 
						|
    ,@pIdoszakVege = @IdoszakVege
 | 
						|
    ,@pTanarId = @TanarId
 | 
						|
    ,@pIsHelyettesitesNelkul = 0
 | 
						|
    ,@pOsztalyCsoportId = NULL
 | 
						|
    ,@pTanuloId = NULL
 | 
						|
    ,@pTantargyId = NULL
 | 
						|
    ,@pTeremId = NULL
 | 
						|
    ,@pCsakOrarendiOrak = 0
 | 
						|
    ,@pIsNapirend = NULL
 | 
						|
    ,@pFeladatKategoriaId = @pFeladatKategoriaId
 | 
						|
 | 
						|
  SELECT
 | 
						|
     orak.Id
 | 
						|
    ,orak.ORARENDIID
 | 
						|
    ,orak.Bontott
 | 
						|
    ,orak.Hetirend
 | 
						|
    ,orak.HetNapja
 | 
						|
    ,orak.HetSorszam
 | 
						|
    ,orak.ErvenyessegKezdete
 | 
						|
    ,orak.ErvenyessegVege
 | 
						|
    ,orak.OraKezdete
 | 
						|
    ,CONVERT(date, orak.OraKezdete) AS OraKezdeteDate
 | 
						|
    ,CONVERT(varchar (5), orak.OraKezdete, 108) AS OraKezdeteTimeText
 | 
						|
    ,orak.OraVege
 | 
						|
    ,IIF(orak.CsengetesiRendID IS NOT NULL, orak.Oraszam, NULL) AS Oraszam
 | 
						|
    ,orak.TargyNev
 | 
						|
    ,orak.TargyNevForMobile
 | 
						|
    ,orak.TargykategoriaID
 | 
						|
    ,orak.Megtartott
 | 
						|
    ,orak.CsengetesiRendOraID
 | 
						|
    ,orak.CsengetesiRendID
 | 
						|
    ,orak.MaxNapiOraszam
 | 
						|
    ,orak.OsztalyNev
 | 
						|
    ,orak.MegjelenesOka
 | 
						|
    ,orak.TanarNev
 | 
						|
    ,orak.TeremNev
 | 
						|
    ,orak.OraTipus
 | 
						|
    ,orak.Hianyzas
 | 
						|
    ,orak.Keses
 | 
						|
    ,orak.Ures
 | 
						|
    ,orak.HelyettesitoTanarID
 | 
						|
    ,orak.HelyettesitoTanarNev
 | 
						|
    ,orak.HelyettesitesId
 | 
						|
    ,orak.TanarID
 | 
						|
    ,orak.AdminAltalKiirt
 | 
						|
    ,orak.GroupId
 | 
						|
    ,orak.Tema
 | 
						|
    ,orak.TantargyId
 | 
						|
    ,orak.OsztCsopId
 | 
						|
    ,IIF(orak.HelyettesitoTanarID IS NOT NULL, orak.TanarNev, NULL) AS HelyettesitettPedagogusNev
 | 
						|
    ,CONVERT(nvarchar (25), orak.OraKezdete, 102) AS OraKezdeteDateST
 | 
						|
    ,DATEPART(w, orak.OraKezdete) + 1407 AS HetNapjaValos
 | 
						|
  FROM #OrarendiOrak orak
 | 
						|
  WHERE orak.OraTipus = 'OrarendiOra'
 | 
						|
    AND orak.OraKezdete <= @IdoszakVege
 | 
						|
    AND orak.OraVege >= @IdoszakKezdete
 | 
						|
    AND (@CsakHelyettesitesreKiirtTanorak = 0 OR orak.HelyettesitoTanarNev IS NOT NULL)
 | 
						|
 | 
						|
  -- Iktatás adatok
 | 
						|
  SELECT
 | 
						|
     @OsztalyCsoportId AS OsztalyId
 | 
						|
    ,ocs.C_EVFOLYAMTIPUSA AS Evfolyam
 | 
						|
    ,ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
 | 
						|
    ,o.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
 | 
						|
    ,o.C_LOGOPEDIAI AS OJLogopediai
 | 
						|
    ,o.C_SPORT AS OJSportOsztaly
 | 
						|
    ,o.C_AJPROGRAM AS OJAranyJanosProgram
 | 
						|
    ,o.C_GYOGYPEDAGOGIAI AS OJGyogypedagogiai
 | 
						|
  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 #OrarendiOrak 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
 |