56 lines
No EOL
2.3 KiB
Transact-SQL
56 lines
No EOL
2.3 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_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 |