﻿ 
 SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('[dbo].[sp_GetAlkalmazottMunkaugyiAdataiExport]') IS NOT NULL 
BEGIN
  DROP PROCEDURE [dbo].[sp_GetAlkalmazottMunkaugyiAdataiExport]
END  
GO

CREATE PROCEDURE [dbo].[sp_GetAlkalmazottMunkaugyiAdataiExport]

  @pTanevId INT
 ,@pIntezmenyId INT
 ,@pIsKlebersberg BIT

AS
BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

  SELECT 
                felhasznalo.ID		FelhasznaloId
				,0 AS				Elsodleges
                ,felhasznalo.C_NYOMTATASINEV AS 'Alkalmazott neve'
                , COALESCE(felhasznalo.C_OKTATASIAZONOSITO, '') AS 'Pedagógus oktatási azonosító'
                , tanev.C_NEV AS 'Tanév'
                , IIF(munkaugyi.C_BESOROLASIFOKOZAT IS NULL, '',besorolasiFokozat.C_NAME) AS 'Pedagógus fokozat'
                , IIF(munkaugyi.C_MUNKAKORTIPUSA IS NULL, '', munkakor.C_NAME) AS 'Munkakör'
                , IIF(munkaugyi.C_MUNKAVISZONYTIPUSA IS NULL, '', foglalkoztatas.C_NAME) AS 'Foglalkoztatási jogviszony'
                , IIF(munkaugyi.C_UTAZOGYOGYPEDAGOGUS = 'T', 'Igen', 'Nem') AS 'Utazó gyógypedagógus'
                , IIF(munkaugyi.C_FOGLALKOZTATASTIPUS IS NULL, '', foglalkoztatastipus.C_NAME) AS 'Foglalkoztatás típusa'
                , IIF(munkaugyi.C_VEZETOIORASZAMOK IS NULL, '', vezetoioraszamok.C_NAME) AS 'Vezetői óraszám ok'
                , [dbo].fnGetDokumentumPedagogusOraszam (alkalmazott.ID, @pIsKlebersberg) AS 'Kötelező óraszáma'
                , IIF(munkaugyi.C_MUNKAIDOKEDVEZMENYOKA IS NULL, '', munkaidokedvezmenyoka.C_NAME) AS 'Feladattal terhelt óraszám oka'
                , IIF(munkaugyi.C_MUNKAIDOKEDVEZMENYORASZAM IS NULL, '', munkaugyi.C_MUNKAIDOKEDVEZMENYORASZAM) AS 'Munkaidőkedvezmény óraszáma'
                , IIF(munkaugyi.C_MUNKAIDOKEDVEZMENYORASZAM IS NULL, munkaugyi.C_KOTELEZOORASZAM, munkaugyi.C_KOTELEZOORASZAM - munkaugyi.C_MUNKAIDOKEDVEZMENYORASZAM) AS 'Pedagógus heti óraszáma'
                , IIF(munkaugyi.C_CSOKKENTETTMUNKAIDOS = 'T', 'Igen', 'Nem') AS 'Csökkentett munkaidős'
                , IIF(convert(varchar(10), munkaugyi.C_ALKALMAZASKEZDETE, 120) IS NULL, '', convert(varchar(10), munkaugyi.C_ALKALMAZASKEZDETE, 120)) AS 'Alkalmazás kezdete'
                , IIF(convert(varchar(10), munkaugyi.C_ALKALMAZASMEGSZUNESE, 120) IS NULL, '', convert(varchar(10), munkaugyi.C_ALKALMAZASMEGSZUNESE, 120)) AS 'Alkalmazás vége'
                , IIF(munkaugyi.C_FELADATELLATASIHELYID IS NULL, '', feladatellatasihely.C_NAME) AS 'Feladatellátási hely'
                , IIF(munkaugyi.C_TARTOSHELYETTESITES = 'T', 'Igen', 'Nem') AS 'Tartósan távollévő'
                , IIF(munkaugyi.C_NYUGDIJAS = 'T', 'Igen', 'Nem') AS 'Nyugdíjas (továbbfoglalkoztatott)'
                , IIF(munkaugyi.C_BETOLTETLENALLASHELY = 'T', 'Igen', 'Nem') AS 'Betöltetlen álláshely'
                , IIF(alkalmazott.C_FOALLAS = 'T', 'Igen', 'Nem') AS 'Főállású'
                , IIF(munkaugyi.C_SZABADALLASHELY = 'T', 'Igen', 'Nem') AS 'Szabad állashely'
                , IIF(alkalmazott.C_SZAKERTOIVIZSGAELNOKI = 'T', 'Igen', 'Nem') AS 'Szakértői, vagy vizsgaelnöki tevékenységű'
                , IIF(alkalmazott.C_TOVABBKEPZES = 'T', 'Igen', 'Nem') AS 'Szakmai továbbképzés' 
                , IIF(alkalmazott.C_SZAKVIZSGA = 'T', 'Igen', 'Nem') AS 'Szakvizsga'
            FROM T_ALKALMAZOTT_OSSZES alkalmazott 
                INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = alkalmazott.ID AND alkalmazott.C_ALINTEZMENYID = felhasznalo.C_INTEZMENYID
                LEFT JOIN T_MUNKAUGYIADATOK_OSSZES munkaugyi ON munkaugyi.C_ALKALMAZOTTID = felhasznalo.ID AND munkaugyi.C_TANEVID = felhasznalo.C_TANEVID AND munkaugyi.TOROLT = 'F'
                LEFT JOIN T_DICTIONARYITEMBASE besorolasiFokozat ON besorolasiFokozat.ID = munkaugyi.C_BESOROLASIFOKOZAT AND besorolasiFokozat.C_TANEVID = alkalmazott.C_ALTANEVID
                LEFT JOIN T_DICTIONARYITEMBASE munkakor ON munkakor.ID = munkaugyi.C_MUNKAKORTIPUSA AND munkakor.C_TANEVID = alkalmazott.C_ALTANEVID
                LEFT JOIN T_DICTIONARYITEMBASE foglalkoztatas ON foglalkoztatas.ID = munkaugyi.C_MUNKAVISZONYTIPUSA AND foglalkoztatas.C_TANEVID = alkalmazott.C_ALTANEVID
                LEFT JOIN T_DICTIONARYITEMBASE foglalkoztatastipus ON munkaugyi.C_FOGLALKOZTATASTIPUS = foglalkoztatastipus.ID AND foglalkoztatastipus.C_TANEVID = alkalmazott.C_ALTANEVID
                LEFT JOIN T_DICTIONARYITEMBASE vezetoioraszamok ON munkaugyi.C_VEZETOIORASZAMOK = vezetoioraszamok.ID AND vezetoioraszamok.C_TANEVID = alkalmazott.C_ALTANEVID
                LEFT JOIN T_DICTIONARYITEMBASE munkaidokedvezmenyoka ON munkaugyi.C_MUNKAIDOKEDVEZMENYOKA = munkaidokedvezmenyoka.ID AND munkaidokedvezmenyoka.C_TANEVID = alkalmazott.C_ALTANEVID
                LEFT JOIN T_FELADATELLATASIHELY_OSSZES feladatellatasi ON feladatellatasi.ID = munkaugyi.C_FELADATELLATASIHELYID AND alkalmazott.C_ALTANEVID = munkaugyi.C_TANEVID
                LEFT JOIN T_DICTIONARYITEMBASE feladatellatasihely ON feladatellatasihely.ID = feladatellatasi.C_OKTATASINEVELESIFELADATTIPUS AND feladatellatasihely.C_TANEVID = alkalmazott.C_ALTANEVID
                JOIN T_TANEV_OSSZES tanev on tanev.ID = alkalmazott.C_ALTANEVID and tanev.TOROLT = 'F' WHERE felhasznalo.TOROLT = 'F' AND alkalmazott.TOROLT = 'F' AND felhasznalo.C_TANEVID = @pTanevId
            UNION 
                SELECT 

                      felhasznalo.ID felhasznaloId
				    , 1 AS Elsodleges
                    , felhasznalo.C_NYOMTATASINEV AS 'Alkalmazott neve'
                    , COALESCE(felhasznalo.C_OKTATASIAZONOSITO, '') AS 'Oktatási azonosító'
                    , tanev.C_NEV AS 'Tanév'
                    , IIF(munkaugyi.C_BESOROLASIFOKOZAT IS NULL, '', besorolasiFokozat.C_NAME) AS 'Pedagógus fokozat'
                    , IIF(munkaugyi.C_MUNKAKORTIPUSA IS NULL, '', munkakor.C_NAME) AS 'Munkakör'
                    , IIF(munkaugyi.C_MUNKAVISZONYTIPUSA IS NULL, '', foglalkoztatas.C_NAME) AS 'Foglalkoztatási jogviszony', '' AS 'Utazó gyógypedagógus'
                    , IIF(munkaugyi.C_FOGLALKOZTATASTIPUS IS NULL, '', foglalkoztatastipus.C_NAME) AS 'Foglalkoztatás típusa'
                    , IIF(munkaugyi.C_VEZETOIORASZAMOK IS NULL, '', vezetoioraszamok.C_NAME) AS 'Vezetői óraszám ok'
                    , [dbo].fnGetDokumentumPedagogusOraszam (alkalmazott.ID, @pIsKlebersberg) AS 'Kötelező óraszáma'
                    , IIF(munkaugyi.C_MUNKAIDOKEDVEZMENYOKA IS NULL, '', munkaidokedvezmenyoka.C_NAME) AS 'Feladattal terhelt óraszám oka'
                    , IIF(munkaugyi.C_MUNKAIDOKEDVEZMENYORASZAM IS NULL, '', munkaugyi.C_MUNKAIDOKEDVEZMENYORASZAM) AS 'Munkaidőkedvezmény óraszáma'
                    , IIF(munkaugyi.C_MUNKAIDOKEDVEZMENYORASZAM IS NULL, munkaugyi.C_KOTELEZOORASZAM, munkaugyi.C_KOTELEZOORASZAM - munkaugyi.C_MUNKAIDOKEDVEZMENYORASZAM) AS 'Pedagógus heti óraszáma'     , '' AS 'Csökkentett munkaidős'
                    , IIF(convert(varchar(10), munkaugyi.C_ALKALMAZASKEZDETE, 120) IS NULL, '', convert(varchar(10), munkaugyi.C_ALKALMAZASKEZDETE, 120)) AS 'Alkalmazás kezdete'
                    , IIF(convert(varchar(10), munkaugyi.C_ALKALMAZASMEGSZUNESE, 120) IS NULL, '', convert(varchar(10), munkaugyi.C_ALKALMAZASMEGSZUNESE, 120)) AS 'Alkalmazás vége'
                    , IIF(munkaugyi.C_FELADATELLATASIHELYID IS NULL, '', feladatellatasihely.C_NAME) AS 'Feladatellátási hely'     , 'Nem' AS 'Tartósan távollévő'
                    , IIF(munkaugyi.C_NYUGDIJAS = 'T', 'Igen', 'Nem') AS 'Nyugdíjas (továbbfoglalkoztatott)'     , 'Nem' AS 'Betöltetlen álláshely'
                    , IIF(alkalmazott.C_FOALLAS = 'T', 'Igen', 'Nem') AS 'Főállású' , '-' AS 'Szabad állashely'
                    , IIF(alkalmazott.C_SZAKERTOIVIZSGAELNOKI = 'T', 'Igen', 'Nem') AS 'Szakértői, vagy vizsgaelnöki tevékenységű'
                    , IIF(alkalmazott.C_TOVABBKEPZES = 'T', 'Igen', 'Nem') AS 'Szakmai továbbképzés'
                    , IIF(alkalmazott.C_SZAKVIZSGA = 'T', 'Igen', 'Nem') AS 'Szakvizsga'
               FROM T_ALKALMAZOTT_OSSZES alkalmazott
                    JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = alkalmazott.ID AND alkalmazott.C_ALINTEZMENYID = felhasznalo.C_INTEZMENYID
                    JOIN T_TOVABBIMUNKAUGYIADATOK_OSSZES munkaugyi ON munkaugyi.C_ALKALMAZOTTID = felhasznalo.ID AND munkaugyi.C_TANEVID = felhasznalo.C_TANEVID AND munkaugyi.TOROLT = 'F'
                    JOIN T_DICTIONARYITEMBASE besorolasiFokozat ON besorolasiFokozat.ID = munkaugyi.C_BESOROLASIFOKOZAT AND besorolasiFokozat.C_TANEVID = alkalmazott.C_ALTANEVID
                    JOIN T_DICTIONARYITEMBASE munkakor ON munkakor.ID = munkaugyi.C_MUNKAKORTIPUSA AND munkakor.C_TANEVID = alkalmazott.C_ALTANEVID
                    JOIN T_DICTIONARYITEMBASE foglalkoztatas ON foglalkoztatas.ID = munkaugyi.C_MUNKAVISZONYTIPUSA AND foglalkoztatas.C_TANEVID = alkalmazott.C_ALTANEVID 
                    JOIN T_DICTIONARYITEMBASE foglalkoztatastipus ON munkaugyi.C_FOGLALKOZTATASTIPUS = foglalkoztatastipus.ID AND foglalkoztatastipus.C_TANEVID = alkalmazott.C_ALTANEVID 
                    JOIN T_DICTIONARYITEMBASE vezetoioraszamok ON munkaugyi.C_VEZETOIORASZAMOK = vezetoioraszamok.ID AND vezetoioraszamok.C_TANEVID = alkalmazott.C_ALTANEVID 
                    LEFT JOIN T_DICTIONARYITEMBASE munkaidokedvezmenyoka ON munkaugyi.C_MUNKAIDOKEDVEZMENYOKA = munkaidokedvezmenyoka.ID AND munkaidokedvezmenyoka.C_TANEVID = alkalmazott.C_ALTANEVID
                    JOIN T_FELADATELLATASIHELY_OSSZES feladatellatasi ON feladatellatasi.ID = munkaugyi.C_FELADATELLATASIHELYID AND alkalmazott.C_ALTANEVID = munkaugyi.C_TANEVID
                    JOIN T_DICTIONARYITEMBASE feladatellatasihely ON feladatellatasihely.ID = feladatellatasi.C_OKTATASINEVELESIFELADATTIPUS AND feladatellatasihely.C_TANEVID = alkalmazott.C_ALTANEVID
                    JOIN T_TANEV_OSSZES tanev on tanev.ID = alkalmazott.C_ALTANEVID and tanev.TOROLT = 'F' 
               WHERE
                    felhasznalo.TOROLT = 'F'
                    AND alkalmazott.TOROLT = 'F'
                    AND felhasznalo.C_TANEVID = @pTanevId
					AND felhasznalo.C_INTEZMENYID = @pIntezmenyId
               ORDER BY
                    felhasznalo.C_NYOMTATASINEV
END