32 lines
1.1 KiB
Transact-SQL
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
|