﻿DROP PROCEDURE IF EXISTS uspGetAlkalmazottData
GO

CREATE PROCEDURE uspGetAlkalmazottData
  @pTanevId int
AS
BEGIN

  SET NOCOUNT ON;

  SELECT
     a.ID AS Id
    ,a.C_FOALLAS AS IsFoallas
    ,a.C_SZTSZKOD AS SztszKod
    ,a.C_ISKOZPONTILAGSZINKRONIZALT AS IsKozpontilagSzinkronizalt

    ,ma.ID AS MunkaugyiAdatokId
    ,ma.C_ALKALMAZASKEZDETE AS AlkalmazasKezdeteDate
    ,ma.C_ALKALMAZASMEGSZUNESE AS AlkalmazasMegszuneseDate
    ,ma.C_TARTOSHELYETTESITES AS IsTartosanTavolLevo
    ,ma.C_BETOLTETLENALLASHELY AS IsBetoltetlenAllashely
    ,ma.C_BESOROLASIFOKOZAT AS BesorolasiFokozatTipusId
    ,ma.C_MUNKAKORTIPUSA AS MunkakorTipusId
    ,ma.C_MUNKAVISZONYTIPUSA AS MunkaviszonyTipusId
    ,ma.C_FELADATELLATASIHELYID AS FeladatellatasihelyId
    ,IIF(mh.C_NEV IS NOT NULL, CONCAT(mh.C_NEV, ' - ', donf.C_NAME), '') AS KiemeltFeladatEllatasiHely
    ,ma.C_NYUGDIJAS AS IsNyugdijas
    ,ma.C_VEZETOIORASZAMOK AS VezetoiOraszamOka
    ,ma.C_PEDAGOGUSSTATUSZA AS JogviszonyStatusza

    ,fh.ID AS FelhasznaloId
    ,fh.C_NEVSORREND AS FelhasznaloNevsorrend
    ,fh.C_ELOTAG AS FelhasznaloElotag
    ,fh.C_VEZETEKNEV AS FelhasznaloVezeteknev
    ,fh.C_UTONEV AS FelhasznaloKeresztnev
    ,fh.C_SZULETESINEVSORREND AS SzuletesiNevsorrend
    ,fh.C_SZULETESINEVELOTAG AS SzuletesiElotag
    ,fh.C_SZULETESIVEZETEKNEV AS SzuletesiVezeteknev
    ,fh.C_SZULETESIUTONEV AS SzuletesiUtonev
    ,fh.C_SZULETESIORSZAG AS FelhasznaloSzuletesiOrszag
    ,fh.C_SZULETESIHELY AS FelhasznaloSzuletesiHely
    ,fh.C_SZULETESIDATUM AS FelhasznaloSzuletesiIdo
    ,fh.C_ANYJANEVESORREND AS AnyjaNeveNevsorrend
    ,fh.C_ANYJANEVEELOTAG AS AnyjaNeveElotag
    ,fh.C_ANYJAVEZETEKNEVE AS AnyjaVezetekneve
    ,fh.C_ANYJAUTONEVE AS AnyjaUtoneve
    ,fh.C_OKTATASIAZONOSITO AS FelhasznaloOktatasiAzonosito
    ,fh.C_NEME AS NemeId
    ,fh.C_ALLAMPOLGARSAGA AS FelhasznaloAllampolgarsag1
    ,fh.C_ALLAMPOLGARSAGA2 AS FelhasznaloAllampolgarsag2
    ,fh.C_BELUGYALTALAZONOSITOTT AS BelugyAltalAzonositott
    ,fh.C_UTOLSOADATFRISSITESIDOPONTJA AS UtolsoAdatfrissitesIdopontja
    ,fh.C_OMKOD AS OMazonosito
    ,fb.C_BEJELENTKEZESINEV AS BejelentkezesiNev
    ,fb.C_UTOLSOBELEPES AS UtolsoBelepes

    ,tv.C_NEV AS TanevNev

    ,e.C_EMAILCIM AS AlapertelmezettEmailCim
    -- Mert hibásan a felületen több hivatalos e-mail rögzíthető
    ,(SELECT TOP 1 C_EMAILCIM
      FROM T_EMAIL_OSSZES
      WHERE C_FELHASZNALOID = fh.ID
        AND TOROLT = 'F'
        AND C_EMAILTIPUSA = 1025 -- Hivatalos email típus
        AND C_TANEVID = fh.C_TANEVID) AS HivatalosEmailCim
    ,ac.C_IRANYITOSZAM AS AllandoLakcimIranyitoszam
    ,ac.C_VAROS AS AllandoLakcimTelepules
    ,ac.C_KOZTERULET AS AllandoLakcimKozterulet
    ,ac.C_KOZTERULETJELLEGENEV AS AllandoLakcimKozteruletJellegNev
    ,ac.C_HAZSZAM AS AllandoLakcimHazszam
    ,ac.C_EMELET AS AllandoLakcimPontositas

    ,tc.C_IRANYITOSZAM AS TartozkodasiCimIranyitoszam
    ,tc.C_VAROS AS TartozkodasiCimTelepules
    ,tc.C_KOZTERULET AS TartozkodasiCimKozterulet
    ,tc.C_KOZTERULETJELLEGENEV AS TartozkodasiCimKozteruletJellegNev
    ,tc.C_HAZSZAM AS TartozkodasiCimHazszam
    ,tc.C_EMELET AS TartozkodasiCimPontositas
    ,sz.ID AS SzervezetId
    ,sz.C_NEV AS SzervezetNev
    ,sz.C_AZONOSITO AS SzervezetAzonosito
    ,(SELECT STUFF((SELECT ',' +  CAST(sz.C_SZEREPKORTIPUS AS varchar)
      FROM T_FELHASZNALO_SZEREPKOR fsz
      LEFT JOIN T_SZEREPKOR_OSSZES sz ON sz.ID = fsz.C_SZEREPKORID AND sz.C_TANEVID = a.C_ALTANEVID AND sz.TOROLT = 'F'
      WHERE fsz.C_FELHASZNALOID = a.ID
      FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 1,'')) AS SzerepkorTipusIdString
  FROM T_ALKALMAZOTT_OSSZES a
    INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = a.ID AND fh.C_TANEVID = a.C_ALTANEVID AND fh.TOROLT = 'F'
    INNER JOIN T_MUNKAUGYIADATOK_OSSZES ma ON ma.C_ALKALMAZOTTID = a.ID AND ma.C_TANEVID = a.C_ALTANEVID AND ma.TOROLT = 'F'
    LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb ON fb.C_FELHASZNALOID = fh.ID AND fb.TOROLT = 'F' AND fb.C_TANEVID = fh.C_TANEVID
    LEFT JOIN T_TANEV_OSSZES tv ON tv.ID = a.C_ALTANEVID AND tv.TOROLT = 'F'
    LEFT JOIN T_EMAIL_OSSZES e ON e.C_FELHASZNALOID = fh.ID AND e.TOROLT = 'F' AND e.C_ALAPERTELMEZETT = 'T' AND e.C_TANEVID = fh.C_TANEVID
    LEFT JOIN T_CIM_OSSZES ac ON ac.C_FELHASZNALOID = fh.ID AND ac.TOROLT = 'F' AND ac.C_TANEVID = fh.C_TANEVID AND ac.C_CIMTIPUSA = 907 -- Állandó lakcím
    LEFT JOIN T_CIM_OSSZES tc ON tc.C_FELHASZNALOID = fh.ID AND tc.TOROLT = 'F' AND tc.C_TANEVID = fh.C_TANEVID AND tc.C_CIMTIPUSA = 909 -- Tartózkodási cím
    LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ma.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F' AND feh.C_TANEVID = ma.C_TANEVID
    LEFT JOIN T_MUKODESIHELY_OSSZES mh ON mh.ID = feh.C_MUKODESIHELYID AND mh.TOROLT = 'F' AND mh.C_TANEVID = feh.C_TANEVID
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES donf ON donf.ID = feh.C_OKTATASINEVELESIFELADATTIPUS AND donf.TOROLT = 'F' AND donf.C_TANEVID = feh.C_TANEVID
    LEFT JOIN T_SZERVEZET_OSSZES sz ON sz.ID = ma.C_SZERVEZETID AND  sz.C_TANEVID = ma.C_TANEVID AND sz.TOROLT = 'F'
  WHERE a.C_ALTANEVID = @pTanevId
    AND a.TOROLT = 'F'

END

GO

