﻿-- ===================================================================================================
-- 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 '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, '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
