69 lines
No EOL
2.8 KiB
Transact-SQL
69 lines
No EOL
2.8 KiB
Transact-SQL
DROP FUNCTION IF EXISTS dbo.fnGetDokumentumPedagogusOraszam
|
|
GO
|
|
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
CREATE FUNCTION dbo.fnGetDokumentumPedagogusOraszam (@PedagogusId INT, @isKlebersberg BIT)
|
|
RETURNS NVARCHAR(MAX)
|
|
BEGIN
|
|
DECLARE @value NVARCHAR(MAX)
|
|
IF (@isKlebersberg = 0)
|
|
BEGIN
|
|
SET @value = (SELECT TOP 1 CAST(C_KOTELEZOORASZAM AS NVARCHAR(MAX)) FROM T_MUNKAUGYIADATOK_OSSZES WHERE C_ALKALMAZOTTID = @PedagogusId AND TOROLT = 'F')
|
|
END
|
|
|
|
ELSE
|
|
|
|
BEGIN
|
|
DECLARE @isKollegium INT =(
|
|
SELECT TOP 1
|
|
munk.C_ALKALMAZOTTID
|
|
FROM T_MUNKAUGYIADATOK_OSSZES munk
|
|
INNER JOIN T_FELADATELLATASIHELY_OSSZES fhely ON fhely.Id = munk.C_FELADATELLATASIHELYID
|
|
WHERE fhely.C_OKTATASINEVELESIFELADATTIPUS = 1165
|
|
AND munk.TOROLT = 'F'
|
|
AND fhely.TOROLT = 'F'
|
|
AND munk.C_ALKALMAZOTTID = @PedagogusId)
|
|
|
|
DECLARE @isEgyMi INT=(
|
|
SELECT TOP 1
|
|
munk.C_ALKALMAZOTTID
|
|
FROM T_MUNKAUGYIADATOK_OSSZES munk
|
|
INNER JOIN T_FELADATELLATASIHELY_OSSZES fhely ON fhely.Id = munk.C_FELADATELLATASIHELYID
|
|
WHERE fhely.C_OKTATASINEVELESIFELADATTIPUS IN (1177 /* óvoda gyógy.*/, 1178 /*ált. isk. gyógyp.*/, 6711 /*utazó gyógyp.*/, 1173 /*konduktív ped. ell*/, 6570 /*fejlesztő nev-okt*/)
|
|
AND munk.C_MUNKAKORTIPUSA IN (597 /*gyógypedagógus*/, 598 /*konduktor*/, 555 /*logopédus*/, 6421 /*pszichopedagógus*/)
|
|
AND munk.C_ALKALMAZOTTID = @PedagogusId
|
|
AND munk.TOROLT = 'F'
|
|
AND fhely.TOROLT = 'F')
|
|
|
|
SELECT DISTINCT @value =
|
|
IIF(C_VEZETOIORASZAMOK != 6571, CAST(C_KOTELEZOORASZAM AS NVARCHAR(MAX)) + ' (vezető)', --van vezetői óraszáma, ha nincs
|
|
--ha teljes munkaidős
|
|
CASE
|
|
WHEN C_FOGLALKOZTATASTIPUS = 6465 AND C_MUNKAKORTIPUSA NOT IN (557,559,560,561,562,563,564,565,566,567,568,583,584,585,589,594,633,3026,6382,6388,6421,6438,7356, --ha teljes munkaidős és nem NOKS
|
|
569,6345,6346,572,582,581,6404,571,586,588,587,6347,570,590) -- és nem egyéb
|
|
THEN IIF(@isKollegium IS NOT NULL, '30', --ha kollégiumi feh-n alkalmazott, ha nem
|
|
IIF(C_SZAKERTOMESTERPEDAGOGUS = 'T', '18', --ha szakértőmesterpedagógus, ha nem
|
|
IIF(@isEgyMi IS NOT NULL, '20', --ha gyógypedagógus, ha nem
|
|
IIF(C_BESOROLASIFOKOZAT = 3044, '20', --ha gyakornok, ha nem akkor
|
|
'22-26'))))
|
|
WHEN C_FOGLALKOZTATASTIPUS = 6466 --Részmunkaidős
|
|
THEN CAST(C_RESZMUNKAIDOSZAZALEK AS NVARCHAR(MAX)) + '%'
|
|
WHEN C_FOGLALKOZTATASTIPUS = 6467 --Óraadó
|
|
THEN CAST(C_KOTELEZOORASZAM AS NVARCHAR(MAX))
|
|
ELSE --betöltetlen álláshely
|
|
'-'
|
|
END
|
|
)
|
|
FROM T_MUNKAUGYIADATOK_OSSZES munk
|
|
WHERE munk.TOROLT = 'F'
|
|
AND munk.C_ALKALMAZOTTID = @PedagogusId
|
|
|
|
END
|
|
|
|
RETURN @value
|
|
|
|
END; |