94 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS uspGetNemNaplozottOrakSzama
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE uspGetNemNaplozottOrakSzama
 | 
						|
   @pTanevId int
 | 
						|
  ,@pIntezmenyId int
 | 
						|
  ,@pFeladatKategoriaId 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)
 | 
						|
  )
 | 
						|
 | 
						|
  DECLARE
 | 
						|
     @IdoszakKezdete DATETIME
 | 
						|
    ,@IdoszakVege DATETIME = GETDATE()
 | 
						|
 | 
						|
  SELECT
 | 
						|
    @IdoszakKezdete = tv.C_KEZDONAP
 | 
						|
  FROM T_TANEV_OSSZES tv WHERE ID = @pTanevId
 | 
						|
 | 
						|
  EXEC uspGetNemNaplozottOrarendiOrak_Core
 | 
						|
     @IntezmenyId = @pIntezmenyId
 | 
						|
    ,@TanevId = @pTanevId
 | 
						|
    ,@IdoszakKezdete = @IdoszakKezdete
 | 
						|
    ,@IdoszakVege = @IdoszakVege
 | 
						|
    ,@pFeladatKategoriaId = @pFeladatKategoriaId
 | 
						|
 | 
						|
  SELECT
 | 
						|
     ora.Tanar
 | 
						|
    ,ora.TanarOktAzon
 | 
						|
    ,ora.Honap
 | 
						|
    ,COUNT(*)  AS Darab
 | 
						|
  FROM (
 | 
						|
    SELECT
 | 
						|
       ISNULL(HelyettesitoTanarNev, TanarNev) AS Tanar
 | 
						|
      ,ISNULL(HelyettesitoTanarOktAzon,TanarOktAzon) AS TanarOktAzon
 | 
						|
      ,FORMAT(Datum, 'MM') AS Honap
 | 
						|
      -- egy napon lehet több óra
 | 
						|
      ,Oraszam
 | 
						|
      -- egy órában lehet több csoportnak óra
 | 
						|
      ,OsztalyNev
 | 
						|
    FROM #NemNaplozottOrak
 | 
						|
  ) ora
 | 
						|
  GROUP BY ora.Tanar
 | 
						|
    ,ora.TanarOktAzon
 | 
						|
    ,ora.Honap
 | 
						|
 | 
						|
END
 | 
						|
GO
 |