204 lines
13 KiB
Transact-SQL
204 lines
13 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
|
|
,@pIsKirstat bit = 1
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
DECLARE
|
|
@statDatum datetime
|
|
|
|
SET @statDatum = (SELECT LEFT(C_NEV, 4) FROM T_TANEV WHERE ID = @pTanevId) + IIF(@pIsKirstat = 1, '1001', '1008')
|
|
|
|
IF @pIsKirstat = 1 BEGIN
|
|
SELECT
|
|
fh.ID AS AlkalmazottId
|
|
,fh.C_NYOMTATASINEV AS Nev
|
|
,CASE fh.C_NEME WHEN 4 THEN 'Férfi' WHEN 5 THEN 'Nő' 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, @statDatum) 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)) /*Gimi, 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 DESC
|
|
) 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
|
|
AND a.C_ALLANDOHELYETTESITESRE = 'F'
|
|
END
|
|
ELSE BEGIN
|
|
SELECT
|
|
fh.ID AS AlkalmazottId
|
|
,fh.C_NYOMTATASINEV AS Nev
|
|
,CASE fh.C_NEME WHEN 4 THEN 'Férfi' WHEN 5 THEN 'Nő' ELSE NULL END AS Neme
|
|
,CASE
|
|
WHEN ma.C_MUNKAVISZONYTIPUSA = 654 THEN 'Megbízási szerződés'
|
|
WHEN IIF(tma.ID IS NOT NULL, tma.C_FOGLALKOZTATASTIPUS, ma.C_FOGLALKOZTATASTIPUS) = 6467 THEN 'Óraadó'
|
|
WHEN IIF(tma.ID IS NOT NULL, tma.C_FOGLALKOZTATASTIPUS, ma.C_FOGLALKOZTATASTIPUS) = 6466 THEN 'Részmunkaidős'
|
|
WHEN IIF(tma.ID IS NOT NULL, tma.C_FOGLALKOZTATASTIPUS, ma.C_FOGLALKOZTATASTIPUS) = 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, @statDatum) 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
|
|
,NULL AS KozepiskolaKozismeretiNemErettsegiFelkeszito
|
|
,NULL AS KozepiskolaKozismeretiErettsegiFelkeszito
|
|
,NULL AS KozepiskolaSzakmaiElmelet
|
|
,NULL AS KozepiskolaSzakmaiGyakorlati
|
|
,NULL AS SzakgimnaziumElmelet
|
|
,NULL 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
|
|
,NULL AS Pedagogiai
|
|
,NULL 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 DESC
|
|
) 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
|
|
AND a.C_ALLANDOHELYETTESITESRE = 'F'
|
|
END
|
|
|
|
END
|
|
GO
|
|
|