kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Functions/fnGetOsztondijSzazalek.sql
2024-03-13 00:33:46 +01:00

32 lines
1.1 KiB
Transact-SQL

DROP FUNCTION IF EXISTS dbo.fnGetOsztondijSzazalek
GO
CREATE FUNCTION dbo.fnGetOsztondijSzazalek (
@pBeszamitasosTanulo char(1)
,@pIsBeszamitasosFixSzazalek char(1)
,@pAtlag float
,@pCode nvarchar(10)
,@pFelevnelValtos char(1)
,@pIsSikeresAgazatiVizsga char(1)
,@pIsAtlagSzakkepzesi char(1)
)
RETURNS int
BEGIN
RETURN CASE
WHEN @pBeszamitasosTanulo = 'T' AND @pIsBeszamitasosFixSzazalek = 'T' THEN 16
WHEN @pBeszamitasosTanulo = 'T' THEN dbo.fnGetOsztondijSzazalekFromAtlag(@pAtlag)
WHEN @pCode = '003' THEN dbo.fnGetOsztondijSzazalekFromAtlag(@pAtlag)
WHEN @pFelevnelValtos = 'T' THEN
CASE
WHEN @pIsSikeresAgazatiVizsga = 'F' AND @pCode = '001' THEN 8
WHEN @pIsSikeresAgazatiVizsga = 'F' AND @pCode = '002' THEN 16
WHEN @pIsSikeresAgazatiVizsga = 'T' AND @pIsAtlagSzakkepzesi = 'F' THEN 16
WHEN @pIsSikeresAgazatiVizsga = 'T' AND @pIsAtlagSzakkepzesi = 'T' THEN dbo.fnGetOsztondijSzazalekFromAtlag(@pAtlag)
ELSE -1
END
WHEN @pCode IN ('001','004','005') THEN 8
WHEN @pCode = '002' THEN 16
ELSE 0
END
END
GO