﻿DROP FUNCTION IF EXISTS fnGetRendszerbeallitasDateValue;  
GO
CREATE FUNCTION fnGetRendszerbeallitasDateValue (@beallitasTipus int, @intezmenyId int, @tanevId int)
  RETURNS DateTime
BEGIN  

 return (SELECT top (1) 
    IIF(ISDATE(JSON_VALUE(C_ERTEK,'$.Date')) = 1
        ,JSON_VALUE(C_ERTEK,'$.Date')
        ,(SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES
            WHERE C_NAPTIPUSA = CASE 
                WHEN C_BEALLITASTIPUS = 5438 THEN 1400 -- félév vége
                WHEN C_BEALLITASTIPUS = 5439 THEN 1395 -- év vége
                WHEN C_BEALLITASTIPUS = 5440 THEN 1402 -- év vége végzős
                WHEN C_BEALLITASTIPUS = 7362 THEN 1403 -- I. né. vége
                WHEN C_BEALLITASTIPUS = 7363 THEN 1400 -- II. né. vége
                WHEN C_BEALLITASTIPUS = 7364 THEN 1404 -- III. né. vége
                WHEN C_BEALLITASTIPUS = 7365 THEN 1395 -- IV. né. vége
                END)) AS Datum
  FROM T_RENDSZERBEALLITAS_OSSZES
  WHERE C_BEALLITASTIPUS = @beallitasTipus
    AND C_INTEZMENYID = @intezmenyId
    AND C_TANEVID = @tanevId
	AND TOROLT = 'F')
    
END;
GO