kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190924234529_KRETA2_1320/uspKIRstat_FelhasznaloPedagogus.sql
2024-03-13 00:33:46 +01:00

134 lines
9 KiB
Transact-SQL

-- ===================================================================================================
-- KIRSTAT - Felhasználó - Pedagógus
-- ===================================================================================================
-- 11. MUNKALAP - A02T59 - PEDAGÓGUSOK NYITÓÁLLOMÁNYA MUNKAIDŐ SZERINT, OKTATÁSI SZINTENKÉNT
-- 12. MUNKALAP - A02T61 - FŐ MUNKAVISZONY KERETÉBEN, PEDAGÓGUS MUNKAKÖRBEN ALKALMAZOTT PEDAGÓGUSOK SZÁMÁNAK NYITÓÁLLOMÁNYA ÉLETKOR ÉS NEM SZERINT, OKTATÁSI SZINTENKÉNT
DROP PROCEDURE IF EXISTS uspKIRstat_FelhasznaloPedagogus
GO
CREATE PROCEDURE uspKIRstat_FelhasznaloPedagogus
@pFeladatEllatasiHelyId int
,@pTanevid int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@oktoberEgy datetime
SET @oktoberEgy = (SELECT LEFT(C_NEV, 4) FROM T_TANEV WHERE ID = @pTanevid) + '1001'
SELECT
fh.ID AS AlkalmazottId
,fh.C_NYOMTATASINEV AS Nev
,CASE fh.C_NEME WHEN 4 THEN 'Férfi' WHEN 5 THEN '' ELSE NULL END AS Neme
,CASE IIF(tma.ID IS NOT NULL, tma.C_FOGLALKOZTATASTIPUS, ma.C_FOGLALKOZTATASTIPUS)
WHEN 6467 THEN 'Óraadó'
WHEN 6466 THEN 'Részmunkaidős'
WHEN 6465 THEN 'Teljes munkaidős'
ELSE NULL
END AS FoglalkozasTipusa
,IIF(tma.ID IS NOT NULL, tma.C_RESZMUNKAIDOSZAZALEK, ma.C_RESZMUNKAIDOSZAZALEK) AS ReszmunkaidoSzazalek
,DATEDIFF(year, fh.C_SZULETESIDATUM, '20190101') AS Eletkor
,Ovoda
,AlsoTagozat
,FelsoTagozat
,KozepiskolaKozismeretiNemErettsegiFelkeszito + KozepiskolaKozismeretiErettsegiFelkeszito AS KozepiskolaKozismeretiOsszes
,KozepiskolaKozismeretiNemErettsegiFelkeszito AS KozepiskolaKozismeretiNemErettsegiFelkeszito
,KozepiskolaKozismeretiErettsegiFelkeszito AS KozepiskolaKozismeretiErettsegiFelkeszito
,KozepiskolaSzakmaiElmelet AS KozepiskolaSzakmaiElmelet
,KozepiskolaSzakmaiGyakorlati AS KozepiskolaKSzakmaiGyakorlat
,SzakgimnaziumElmelet AS SzakgimnaziumElmelet
,SzakgimnaziumGyakorlat AS SzakgimnaziumGyakorlat
,AMI
,Kollegium
,Pedagogiai AS Pedagogiai
,FejlesztoNevelesOktatas AS FejlesztoNevelesOktatas
FROM T_FELHASZNALO_OSSZES fh
INNER JOIN T_ALKALMAZOTT a ON a.ID = fh.ID AND a.TOROLT = 'F'
CROSS APPLY (
SELECT TOP(1)
ocs.C_FELADATELLATASIHELYID FeladatellatasihelyId
,SUM(f.C_ORASZAM) AS Oraszam
,SUM(IIF(feh.C_OKTATASINEVELESIFELADATTIPUS IN (1157, 7762) AND d.C_NAME_4 IN (N'Kis', N'Középső', N'Nagy'), C_ORASZAM, 0)) AS Ovoda
,SUM(IIF(feh.C_OKTATASINEVELESIFELADATTIPUS IN (1158, 7763) AND d.C_NAME_4 IN (N'1', N'2', N'3', N'4'), C_ORASZAM, 0)) AS AlsoTagozat
,SUM(IIF(feh.C_OKTATASINEVELESIFELADATTIPUS IN (1158, 1160, 7763, 7764) AND d.C_NAME_4 IN (N'5', N'6', N'7', N'8'), C_ORASZAM, 0)) AS FelsoTagozat
,SUM (
CASE
WHEN (feh.C_OKTATASINEVELESIFELADATTIPUS IN (1161, 1162, 1180, 5435) OR (d.C_NAME_4 IN (N'9', N'10', N'11', N'12') AND feh.C_OKTATASINEVELESIFELADATTIPUS IN (7764, 1160)) /*Gomi, csak 9-12*/)
AND ocs.C_EVFOLYAMTIPUSA NOT IN (6818, 6819) /*Nem érettségi felkészítő évfolyamok*/
AND tgy.C_TARGYKATEGORIA IN (1221, 1199, 1225, 6755, 1224, 1292, 1212, 1219, 1223, 1217, 1209, 6727, 6728, 6729, 6730, 6731, 6732, 6733, 6734, 6737, 6738, 6739, 6740, 6741, 6742, 6743, 6744, 7754, 1230, 1220, 1198, 1210, 1228, 1294, 1293, 1218, 1235, 6754, 1226) /*Közismereti tantárgykategóriák*/
THEN C_ORASZAM
ELSE 0
END
) AS KozepiskolaKozismeretiNemErettsegiFelkeszito
,SUM (
CASE
WHEN (feh.C_OKTATASINEVELESIFELADATTIPUS IN (1161, 1162, 1180, 5435) OR (d.C_NAME_4 IN (N'9', N'10', N'11', N'12') AND feh.C_OKTATASINEVELESIFELADATTIPUS IN (7764, 1160)))
AND ocs.C_EVFOLYAMTIPUSA IN (6818, 6819) /*Érettségi felkészítő évfolyamok*/
AND tgy.C_TARGYKATEGORIA IN (1221, 1199, 1225, 6755, 1224, 1292, 1212, 1219, 1223, 1217, 1209, 6727, 6728, 6729, 6730, 6731, 6732, 6733, 6734, 6737, 6738, 6739, 6740, 6741, 6742, 6743, 6744, 7754, 1230, 1220, 1198, 1210, 1228, 1294, 1293, 1218, 1235, 6754, 1226) /*Közismereti tantárgykategóriák*/
THEN C_ORASZAM
ELSE 0
END
) AS KozepiskolaKozismeretiErettsegiFelkeszito
,SUM (
CASE
WHEN (feh.C_OKTATASINEVELESIFELADATTIPUS IN (1161, 1162, 1180, 5435) OR (d.C_NAME_4 IN (N'9', N'10', N'11', N'12') AND feh.C_OKTATASINEVELESIFELADATTIPUS IN (7764, 1160)))
AND ocs.C_EVFOLYAMTIPUSA NOT IN (1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1337, 3016, 3017, 6468, 6469, 6471, 6472, 6473, 6474, 6475, 6476, 6477, 6478, 6479, 6480, 6481, 6482, 6520)
AND tgy.C_TARGYKATEGORIA NOT IN (7597, 1221, 1199, 1225, 6755, 1224, 1292, 1212, 1219, 1223, 1217, 1209, 6727, 6728, 6729, 6730, 6731, 6732, 6733, 6734, 6737, 6738, 6739, 6740, 6741, 6742, 6743, 6744, 7754, 1230, 1220, 1198, 1210, 1228, 1294, 1293, 1218, 1235, 6754, 1226) /*Közismereti tantárgykategóriák*/
AND tgy.C_GYAKORLATI = 'F'
THEN C_ORASZAM
ELSE 0
END
) AS KozepiskolaSzakmaiElmelet
,SUM (
CASE
WHEN (feh.C_OKTATASINEVELESIFELADATTIPUS IN (1161, 1162, 1180, 5435) OR (d.C_NAME_4 IN (N'9', N'10', N'11', N'12') AND feh.C_OKTATASINEVELESIFELADATTIPUS IN (7764, 1160)))
AND ocs.C_EVFOLYAMTIPUSA NOT IN (1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1337, 3016, 3017, 6468, 6469, 6471, 6472, 6473, 6474, 6475, 6476, 6477, 6478, 6479, 6480, 6481, 6482, 6520)
AND tgy.C_TARGYKATEGORIA NOT IN (1221, 1199, 1225, 6755, 1224, 1292, 1212, 1219, 1223, 1217, 1209, 6727, 6728, 6729, 6730, 6731, 6732, 6733, 6734, 6737, 6738, 6739, 6740, 6741, 6742, 6743, 6744, 7754, 1230, 1220, 1198, 1210, 1228, 1294, 1293, 1218, 1235, 6754, 1226) /*Közismereti tantárgykategóriák*/
AND (tgy.C_TARGYKATEGORIA = 7597 OR tgy.C_GYAKORLATI = 'T')
THEN C_ORASZAM
ELSE 0
END
) AS KozepiskolaSzakmaiGyakorlati
,SUM (
CASE
WHEN feh.C_OKTATASINEVELESIFELADATTIPUS IN (5435, 7765)
AND ocs.C_EVFOLYAMTIPUSA IN (1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1337, 3016, 3017, 6468, 6469, 6471, 6472, 6473, 6474, 6475, 6476, 6477, 6478, 6479, 6480, 6481, 6482, 6520)
AND tgy.C_TARGYKATEGORIA NOT IN (7597, 1221, 1199, 1225, 6755, 1224, 1292, 1212, 1219, 1223, 1217, 1209, 6727, 6728, 6729, 6730, 6731, 6732, 6733, 6734, 6737, 6738, 6739, 6740, 6741, 6742, 6743, 6744, 7754, 1230, 1220, 1198, 1210, 1228, 1294, 1293, 1218, 1235, 6754, 1226) /*Közismereti tantárgykategóriák*/
AND tgy.C_GYAKORLATI = 'F'
THEN C_ORASZAM
ELSE 0
END
) AS SzakgimnaziumElmelet
,SUM (
CASE
WHEN feh.C_OKTATASINEVELESIFELADATTIPUS IN (5435, 7765)
AND ocs.C_EVFOLYAMTIPUSA IN (1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1337, 3016, 3017, 6468, 6469, 6471, 6472, 6473, 6474, 6475, 6476, 6477, 6478, 6479, 6480, 6481, 6482, 6520)
AND tgy.C_TARGYKATEGORIA NOT IN (1221, 1199, 1225, 6755, 1224, 1292, 1212, 1219, 1223, 1217, 1209, 6727, 6728, 6729, 6730, 6731, 6732, 6733, 6734, 6737, 6738, 6739, 6740, 6741, 6742, 6743, 6744, 7754, 1230, 1220, 1198, 1210, 1228, 1294, 1293, 1218, 1235, 6754, 1226) /*Közismereti tantárgykategóriák*/
AND (tgy.C_TARGYKATEGORIA = 7597 OR tgy.C_GYAKORLATI = 'T')
THEN C_ORASZAM
ELSE 0
END
) AS SzakgimnaziumGyakorlat
,SUM(IIF(feh.C_OKTATASINEVELESIFELADATTIPUS = 1159, C_ORASZAM, 0)) AS AMI
,SUM(IIF(feh.C_OKTATASINEVELESIFELADATTIPUS IN (1165, 7767), C_ORASZAM, 0)) AS Kollegium
,SUM(IIF(feh.C_OKTATASINEVELESIFELADATTIPUS IN (6711, 1195, 7761, 1196), C_ORASZAM, 0)) AS Pedagogiai
,SUM(IIF(feh.C_OKTATASINEVELESIFELADATTIPUS = 6570, C_ORASZAM, 0)) AS FejlesztoNevelesOktatas
FROM T_FOGLALKOZAS_OSSZES f
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = ocs.C_EVFOLYAMTIPUSA AND d.C_TANEVID = ocs.C_TANEVID AND d.TOROLT = 'F'
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = f.C_TANTARGYID AND tgy.TOROLT = 'F'
INNER JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
WHERE f.C_TANARID = fh.ID
AND f.C_TANEVID = @pTanevid
AND f.TOROLT = 'F'
GROUP BY ocs.C_FELADATELLATASIHELYID
ORDER BY Oraszam
) x
LEFT JOIN T_TOVABBIMUNKAUGYIADATOK_OSSZES tma ON tma.C_ALKALMAZOTTID = fh.ID AND tma.C_FELADATELLATASIHELYID = x.FeladatellatasihelyId AND tma.TOROLT = 'F'
INNER JOIN T_MUNKAUGYIADATOK_OSSZES ma ON ma.C_ALKALMAZOTTID = fh.ID AND ma.TOROLT = 'F'
WHERE x.FeladatellatasihelyId = @pFeladatEllatasiHelyId
AND fh.C_TANEVID = @pTanevid
END
GO