125 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS sp_GetNemNaplozottOrarendiOrak
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE sp_GetNemNaplozottOrarendiOrak
 | 
						|
	 @IntezmenyId int
 | 
						|
	,@TanevId int
 | 
						|
	,@IdoszakKezdete datetime
 | 
						|
	,@IdoszakVege datetime
 | 
						|
	,@TanarId int = NULL
 | 
						|
	,@OsztalyCsoportId int = NULL
 | 
						|
	,@TantargyId int = NULL
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
  SET DATEFIRST 1
 | 
						|
 | 
						|
	DECLARE @CsakOrarendiOrak bit = 0;
 | 
						|
	DECLARE @OrarendTable TABLE (
 | 
						|
	 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
 | 
						|
  )
 | 
						|
 | 
						|
  INSERT INTO @OrarendTable (
 | 
						|
    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  =  @OsztalyCsoportId
 | 
						|
    ,@pTanuloId = NULL
 | 
						|
    ,@pTantargyId  = @TantargyId
 | 
						|
    ,@pTeremId = NULL
 | 
						|
    ,@pCsakOrarendiOrak  = @CsakOrarendiOrak
 | 
						|
    ,@pIsNapirend = NULL
 | 
						|
 | 
						|
  SELECT DISTINCT
 | 
						|
    Id, ORARENDIID, Bontott, Hetirend, HetNapja,HetSorszam, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, CONVERT(date, OraKezdete) as OraKezdeteDate, CONVERT(varchar(5), OraKezdete, 108) as OraKezdeteTimeText, OraVege, IIF(tmp.CsengetesiRendID IS NOT NULL, tmp.Oraszam, NULL) as Oraszam,
 | 
						|
    TargyNev, TargyNevForMobile,
 | 
						|
    TargykategoriaID, Megtartott, CsengetesiRendOraID, CsengetesiRendID,MaxNapiOraszam, OsztalyNev, MegjelenesOka, TanarNev, TeremNev,
 | 
						|
    OraTipus, Hianyzas, Keses, Ures, HelyettesitoTanarID, HelyettesitoTanarNev, HelyettesitesId, TanarID, AdminAltalKiirt, GroupId, Tema, TantargyId,
 | 
						|
    OsztCsopId, IIF(tmp.HelyettesitoTanarID IS NOT NULL, tmp.TanarNev, NULL) as HelyettesitettPedagogusNev, CONVERT(nvarchar(25), OraKezdete, 102) as OraKezdeteDateST,
 | 
						|
    DATEPART(w, OraKezdete) + 1407 AS HetNapjaValos
 | 
						|
	FROM @OrarendTable tmp
 | 
						|
	WHERE tmp.OraTipus = 'OrarendiOra' AND OraKezdete <= @IdoszakVege AND OraVege >= @IdoszakKezdete
 | 
						|
 | 
						|
    -- 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 o ON o.ID = ocs.ID
 | 
						|
	WHERE ocs.ID = @OsztalyCsoportId AND ocs.TOROLT = 'F'
 | 
						|
		AND ocs.C_TANEVID = @TanevId;
 | 
						|
 | 
						|
    -- Tanár iktatás adatok
 | 
						|
    SELECT DISTINCT
 | 
						|
      f.ID AS TanarId
 | 
						|
      ,f.C_OKTATASIAZONOSITO TanarOktAzon
 | 
						|
    FROM T_ALKALMAZOTT_OSSZES a
 | 
						|
    INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = a.ID
 | 
						|
      LEFT JOIN @OrarendTable ot ON ot.TanarID = f.ID
 | 
						|
    WHERE f.C_INTEZMENYID = @IntezmenyId AND f.C_TANEVID = @TanevId
 | 
						|
      AND (@TanarId IS NULL OR f.ID = @TanarId)
 | 
						|
END
 | 
						|
GO
 |