DROP PROCEDURE IF EXISTS uspGetAlkalmazottAdatokEugyintezes GO CREATE PROCEDURE uspGetAlkalmazottAdatokEugyintezes @pFelhasznaloId INT ,@pSzerepkorTipusEnumNaplo INT ,@pOktNevKatTipusNevOkt INT ,@pTanevId INT AS BEGIN SET NOCOUNT ON; SELECT Alkalmazott.ID AS KretaAzonosito ,Felhasznalo.C_NYOMTATASINEV AS Nev ,Felhasznalo.C_OKTATASIAZONOSITO AS OktatasiAzonosito ,Osztaly.ID AS OsztalyKretaAzonosito ,Osztaly.Osztaly ,OsztalyHelyettes.ID AS OsztalyHelyettesKretaAzonosito ,OsztalyHelyettes.Osztaly AS OsztalyHelyettes ,IIF(Osztaly.OsztalyfonokId = Alkalmazott.ID, 1, 0) AS IsOsztalyfonok ,IIF(OsztalyHelyettes.OsztalyfonokHelyettesId = Alkalmazott.ID, 1, 0) AS IsOsztalyfonokHelyettes ,IIF(MunkaugyiAdatok.C_VEZETOIORASZAMOK NOT IN ( 6571 /*Nincs, DictionaryItemBase*/ ,6578 /*GyakorlatiOktatasvezeto, DictionaryItemBase*/ ), 1, 0) AS IsAlairo ,IIF(MunkaugyiAdatok.C_VEZETOIORASZAMOK IN ( 7755 ,6572 ,6573 ,7757 ,7758 ,6574 ), 1, 0) AS IsIgazgato ,IIF(MunkaugyiAdatok.C_VEZETOIORASZAMOK IN ( 7756 ,6575 ,6576 ,6577 ), 1, 0) AS IsIgazgatoHelyettes ,MunkaugyiAdatok.C_VEZETOIORASZAMOK AS Titulus ,IIF(Osztaly.OsztalyfonokId = Alkalmazott.ID, 1, 0) AS IsOsztalyfonok ,IIF(OsztalyHelyettes.OsztalyfonokHelyettesId = Alkalmazott.ID, 1, 0) AS IsOsztalyfonokHelyettes ,IIF(mkt.C_ALKALMAZOTTMUNKAKORTIPUSID = 8384, 1, 0) AS IsTanar ,IIF(mkt.C_ALKALMAZOTTMUNKAKORTIPUSID = 8385, 1, 0) AS IsNoks ,IIF(mkt.C_ALKALMAZOTTMUNKAKORTIPUSID = 8386, 1, 0) AS IsEgyeb ,IIF(Adminisztrator.FelhasznaloId = Alkalmazott.ID, 1, 0) AS IsAdmin ,mukodesihely.C_FUNKCIOTERULET AS FunkcioTeruletSAPKod ,Felhasznalo.C_EGYEDIAZONOSITO AS EgyediAzonosito ,Felhasznalo.C_IDPEGYEDIAZONOSITO AS IdpEgyediAzonosito FROM T_ALKALMAZOTT_OSSZES AS Alkalmazott INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Alkalmazott.ID = Felhasznalo.ID AND Felhasznalo.TOROLT = 'F' AND Felhasznalo.C_TANEVID = @pTanevId LEFT JOIN ( SELECT MunkaugyiAdatok.C_ALKALMAZOTTID ,MunkaugyiAdatok.C_MUNKAKORTIPUSA FROM T_MUNKAUGYIADATOK_OSSZES MunkaugyiAdatok INNER JOIN T_FELHASZNALO_SZEREPKOR FelhasznaloSzerepkor ON FelhasznaloSzerepkor.C_FELHASZNALOID = MunkaugyiAdatok.C_ALKALMAZOTTID INNER JOIN T_SZEREPKOR_OSSZES Szerepkor ON Szerepkor.ID = FelhasznaloSzerepkor.C_SZEREPKORID AND Szerepkor.TOROLT = 'F' AND Szerepkor.C_SZEREPKORTIPUS = @pSzerepkorTipusEnumNaplo AND Szerepkor.C_TANEVID = @pTanevId WHERE MunkaugyiAdatok.C_MUNKAKORTIPUSA NOT IN ( SELECT JSON_VALUE(VALUE, '$.Value') FROM OPENJSON(( SELECT RendszerBeallitas.C_ERTEK FROM T_RENDSZERBEALLITAS_OSSZES RendszerBeallitas WHERE RendszerBeallitas.C_BEALLITASTIPUS = 5441 AND RendszerBeallitas.TOROLT = 'F' AND RendszerBeallitas.C_TANEVID = @pTanevId ), '$.Options') WHERE JSON_VALUE(VALUE, '$.Selected') = 'true' ) OR MunkaugyiAdatok.C_MUNKAKORTIPUSA = 6710 /*Hitoktató*/ AND MunkaugyiAdatok.TOROLT = 'F' AND MunkaugyiAdatok.C_TANEVID = @pTanevId ) Szuro ON Szuro.C_ALKALMAZOTTID = Felhasznalo.ID LEFT JOIN ( SELECT OsztalyCsoport.ID ,OsztalyCsoport.C_NEV AS Osztaly ,Osztaly.C_OSZTALYFONOKID AS OsztalyfonokId FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = OsztalyCsoport.ID AND Osztaly.TOROLT = 'F' AND Osztaly.C_ALTANEVID = @pTanevId WHERE OsztalyCsoport.TOROLT = 'F' AND OsztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipusNevOkt AND OsztalyCsoport.C_TANEVID = @pTanevId ) Osztaly ON Osztaly.OsztalyfonokId = Alkalmazott.ID LEFT JOIN ( SELECT OsztalyCsoport.ID ,OsztalyCsoport.C_NEV AS Osztaly ,Osztaly.C_OFOHELYETTESID AS OsztalyfonokHelyettesId FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = OsztalyCsoport.ID AND Osztaly.TOROLT = 'F' AND Osztaly.C_ALTANEVID = @pTanevId WHERE OsztalyCsoport.TOROLT = 'F' AND OsztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipusNevOkt AND OsztalyCsoport.C_TANEVID = @pTanevId ) OsztalyHelyettes ON OsztalyHelyettes.OsztalyfonokHelyettesId = Alkalmazott.ID LEFT JOIN ( SELECT FelhasznaloSzerepkor.C_FELHASZNALOID AS FelhasznaloId FROM T_FELHASZNALO_SZEREPKOR FelhasznaloSzerepkor INNER JOIN T_SZEREPKOR_OSSZES Szerepkor ON Szerepkor.ID = FelhasznaloSzerepkor.C_SZEREPKORID AND Szerepkor.TOROLT = 'F' AND Szerepkor.C_SZEREPKORTIPUS = 1758 /*Adminisztrátor, DictionaryItemBase*/ AND Szerepkor.C_TANEVID = @pTanevId ) Adminisztrator ON Adminisztrator.FelhasznaloId = Alkalmazott.ID LEFT JOIN T_MUNKAUGYIADATOK_OSSZES MunkaugyiAdatok ON MunkaugyiAdatok.C_ALKALMAZOTTID = Alkalmazott.ID AND MunkaugyiAdatok.TOROLT = 'F' AND MunkaugyiAdatok.C_TANEVID = @pTanevId LEFT JOIN T_MUNKAKORTIPUS_OSSZES mkt ON mkt.ID = MunkaugyiAdatok.C_MUNKAKORTIPUSA AND mkt.C_ALINTEZMENYID = MunkaugyiAdatok.C_INTEZMENYID AND mkt.C_ALTANEVID = MunkaugyiAdatok.C_TANEVID AND mkt.TOROLT = 'F' LEFT JOIN T_FELADATELLATASIHELY_OSSZES feladatEllatasiHely ON feladatEllatasiHely.ID = MunkaugyiAdatok.C_FELADATELLATASIHELYID AND feladatEllatasiHely.TOROLT = 'F' AND feladatEllatasiHely.C_TANEVID = @pTanevId LEFT JOIN T_MUKODESIHELY_OSSZES mukodesihely ON mukodesihely.ID = feladatEllatasiHely.C_MUKODESIHELYID AND mukodesihely.TOROLT = 'F' AND mukodesihely.C_TANEVID = @pTanevId WHERE Alkalmazott.TOROLT = 'F' AND Alkalmazott.ID = @pFelhasznaloId AND Alkalmazott.C_ALTANEVID = @pTanevId ORDER BY Felhasznalo.C_NYOMTATASINEV END GO