kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170327110702_Init/Stored procedures/sp_GetTantargyiStatuszPedagogusonkent.sql
2024-03-13 00:33:46 +01:00

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