GO
/****** Object:  StoredProcedure [dbo].[sp_GetOsszesNemBejegyzettOra]    Script Date: 2016.01.27. 11:35:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

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

-- =============================================
-- Author:		<Kelemen Attila>
-- Create date: <2016. 01. 07.>
-- Description:	<Azok a megtartott, vagy elmaradt órák, amik nincsenek bejegyezve a naplóba, havi bontásban, tanáronként>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetOsszesNemBejegyzettOra]
	@tanevID int,
	@mindenHeten int
	AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;


	--Nem naplózott órák
		select
		MONTH(naptar.C_NAPDATUMA) Honap,
		T_FELHASZNALO.C_NYOMTATASINEV TanarNeve,
		COUNT(*)

        FROM
            T_ORARENDIORA
            inner join T_FOGLALKOZAS on T_FOGLALKOZAS.ID= T_ORARENDIORA.C_FOGLALKOZASID
			inner join T_NAPTARINAP naptar on ((naptar.C_NAPDATUMA BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
												AND (naptar.C_HETIREND = T_ORARENDIORA.C_HETIREND OR T_ORARENDIORA.C_HETIREND = @mindenHeten)) -- Minden héten
			INNER JOIN T_CSENGETESIRENDORA on T_ORARENDIORA.C_CSENGETESIRENDORAID=T_CSENGETESIRENDORA.ID
			LEFT JOIN T_TANITASIORA ON T_TANITASIORA.C_ORARENDIORAID = T_ORARENDIORA.ID AND T_TANITASIORA.TOROLT='F'
			inner join T_FELHASZNALO on T_FOGLALKOZAS.C_TANARID = T_FELHASZNALO.ID
		WHERE
			 T_ORARENDIORA.TOROLT='F' 
			 AND naptar.TOROLT = 'F' AND T_FOGLALKOZAS.TOROLT='F'
			 AND T_FOGLALKOZAS.TOROLT='F'
			 AND T_FELHASZNALO.TOROLT='F'
			 AND GETDATE() >= naptar.C_NAPDATUMA
			 AND T_TANITASIORA.ID IS NULL
			 AND T_FOGLALKOZAS.C_TANEVID = @tanevID
			 
			 
			 group by MONTH(naptar.C_NAPDATUMA), T_FELHASZNALO.C_NYOMTATASINEV
			 order by case --Hónapok sorrendje
				when MONTH(naptar.C_NAPDATUMA) = 9 then 1 
				when MONTH(naptar.C_NAPDATUMA) = 10 then 2
				when MONTH(naptar.C_NAPDATUMA) = 11 then 3
				when MONTH(naptar.C_NAPDATUMA) = 12 then 4 
				when MONTH(naptar.C_NAPDATUMA) = 1 then 5
				when MONTH(naptar.C_NAPDATUMA) = 2 then 6
				when MONTH(naptar.C_NAPDATUMA) = 3 then 7
				when MONTH(naptar.C_NAPDATUMA) = 4 then 8
				when MONTH(naptar.C_NAPDATUMA) = 5 then 9
				when MONTH(naptar.C_NAPDATUMA) = 6 then 10
				when MONTH(naptar.C_NAPDATUMA) = 7 then 11
				when MONTH(naptar.C_NAPDATUMA) = 8 then 12
       end;
END 
