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_FOGLALKOZASOK_TANAROK.C_TANAROKID 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_FOGLALKOZASOK_TANAROK on T_FOGLALKOZASOK_TANAROK.C_FOGLALKOZASOKID = T_FOGLALKOZAS.ID inner join T_ALKALMAZOTT on T_ALKALMAZOTT.ID = T_FOGLALKOZASOK_TANAROK.C_TANAROKID 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_FOGLALKOZASOK_TANAROK.C_TANAROKID = @tanarId and T_MUNKAUGYIADATOK.C_KOTELEZOORASZAM is not null group by T_FOGLALKOZAS.C_INTEZMENYID, T_FOGLALKOZAS.C_TANEVID,T_FOGLALKOZASOK_TANAROK.C_TANAROKID, TT.C_TARGYKATEGORIA, MunkaU.Kotelezo,MunkaU.Kedvezmeny ) SZUM group by SZUM.IntId, SZUM.TanevId,SZUM.TanarId, SZUM.TargyKategoriaTipus, SZUM.OsszesOraszam END