DROP PROCEDURE IF EXISTS uspGetAlkalmazottakForTavolletjelento
GO
  CREATE PROCEDURE uspGetAlkalmazottakForTavolletjelento
  	 @pIntezmenyId INT
		,@pTanevId INT
    ,@pAlkalmazottId INT
  AS
  BEGIN
    SET NOCOUNT ON;

    SELECT f.ID
      ,f.C_NYOMTATASINEV AS Nev
      ,f.C_OKTATASIAZONOSITO AS OktatasiAzonosito
      ,IIF(f.C_NEVSORREND = 'T', f.C_UTONEV + ' ' + f.C_VEZETEKNEV, f.C_VEZETEKNEV + ' ' + f.C_UTONEV) AS NevElotagNelkul
    FROM T_ALKALMAZOTT_OSSZES a
    INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = a.ID
      AND f.C_TANEVID = a.C_ALTANEVID
      AND f.C_INTEZMENYID = @pIntezmenyId
      AND f.TOROLT = 'F'
    INNER JOIN T_MUNKAUGYIADATOK_OSSZES ma ON ma.C_ALKALMAZOTTID = a.ID
      AND (
        (
          ma.C_ALKALMAZASKEZDETE IS NULL
          OR ma.C_ALKALMAZASKEZDETE <= GETDATE()
          )
        AND (
          ma.C_ALKALMAZASMEGSZUNESE IS NULL
          OR ma.C_ALKALMAZASMEGSZUNESE > GETDATE()
          )
        )
        AND ma.TOROLT ='F'
    WHERE a.TOROLT = 'F'
      AND (
        ma.C_ISTAVOLLETFOINTEZMENYE IS NOT NULL
        AND ma.C_ISTAVOLLETFOINTEZMENYE = 'T'
        )
      AND (
        @pAlkalmazottId IS NULL
        OR a.ID = @pAlkalmazottId
        )
        AND a.C_ALTANEVID = @pTanevId
    ORDER BY NevElotagNelkul
  END
GO