55 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('sp_GetTantargyiStatuszPedagogusonkent', 'P') IS NOT NULL BEGIN
 | 
						|
  DROP PROCEDURE sp_GetTantargyiStatuszPedagogusonkent
 | 
						|
END
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetTantargyiStatuszPedagogusonkent]
 | 
						|
	@intezmenyId int,
 | 
						|
	@tanevId int,
 | 
						|
	@tanarId int,
 | 
						|
	@statuszSzam int
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
	select
 | 
						|
		ROW_NUMBER() OVER(ORDER BY SZUM.TargyKategoriaTipus) AS ID,
 | 
						|
		SZUM.IntId,
 | 
						|
		SZUM.TanevId,
 | 
						|
		SZUM.TanarId,
 | 
						|
		SZUM.TargyKategoriaTipus, 
 | 
						|
		SZUM.OsszesOraszam,
 | 
						|
		cast(sum(SZUM.StatuszSzam) as decimal(10,2)) StatuszSzam
 | 
						|
		from
 | 
						|
		(
 | 
						|
		select
 | 
						|
		T_FOGLALKOZAS.C_INTEZMENYID IntId,
 | 
						|
		T_FOGLALKOZAS.C_TANEVID TanevId,
 | 
						|
		T_FOGLALKOZAS.C_TANARID TanarId,
 | 
						|
		TT.C_TARGYKATEGORIA TargyKategoriaTipus,
 | 
						|
		SUM(T_FOGLALKOZAS.C_ORASZAM) OsszesOraszam,
 | 
						|
		IIF(SUM(T_FOGLALKOZAS.C_ORASZAM) <= Kotelezo - Kedvezmeny,
 | 
						|
		 CAST(SUM(T_FOGLALKOZAS.C_ORASZAM) AS DECIMAL) / CAST((Kotelezo - Kedvezmeny)AS DECIMAL),	 
 | 
						|
		 1 + (cast((SUM(T_FOGLALKOZAS.C_ORASZAM) - (Kotelezo - Kedvezmeny)) as integer) / @statuszSzam))  StatuszSzam
 | 
						|
		from T_FOGLALKOZAS
 | 
						|
		inner join T_ALKALMAZOTT on T_ALKALMAZOTT.ID = T_FOGLALKOZAS.C_TANARID and T_ALKALMAZOTT.TOROLT = 'F'
 | 
						|
		inner join T_MUNKAUGYIADATOK on T_MUNKAUGYIADATOK.C_ALKALMAZOTTID = T_ALKALMAZOTT.ID and T_MUNKAUGYIADATOK.TOROLT ='F'
 | 
						|
		INNER JOIN (SELECT C_ALKALMAZOTTID, C_KOTELEZOORASZAM Kotelezo, IIF(C_MUNKAIDOKEDVEZMENYORASZAM IS NULL, 0, C_MUNKAIDOKEDVEZMENYORASZAM) Kedvezmeny FROM T_MUNKAUGYIADATOK
 | 
						|
		WHERE TOROLT = 'F' and C_KOTELEZOORASZAM > 0 and C_KOTELEZOORASZAM - isnull(C_MUNKAIDOKEDVEZMENYORASZAM, 0) > 0	
 | 
						|
		) MunkaU  ON 
 | 
						|
			MunkaU.C_ALKALMAZOTTID = T_ALKALMAZOTT.ID
 | 
						|
		inner join T_TANTARGY TT on TT.ID = T_FOGLALKOZAS.C_TANTARGYID and TT.TOROLT = 'F'
 | 
						|
		where T_FOGLALKOZAS.TOROLT = 'F'
 | 
						|
		and T_FOGLALKOZAS.C_INTEZMENYID = @intezmenyId
 | 
						|
		and T_FOGLALKOZAS.C_TANEVID = @tanevId
 | 
						|
		and T_FOGLALKOZAS.C_TANARID = @tanarId
 | 
						|
		and T_MUNKAUGYIADATOK.C_KOTELEZOORASZAM is not null
 | 
						|
		group by T_FOGLALKOZAS.C_INTEZMENYID, T_FOGLALKOZAS.C_TANEVID,T_FOGLALKOZAS.C_TANARID, TT.C_TARGYKATEGORIA, MunkaU.Kotelezo,MunkaU.Kedvezmeny
 | 
						|
		) SZUM
 | 
						|
		group by SZUM.IntId, SZUM.TanevId,SZUM.TanarId, SZUM.TargyKategoriaTipus, SZUM.OsszesOraszam 
 | 
						|
END |