﻿DROP PROCEDURE IF EXISTS uspGetDualisSzerzodesek
GO

CREATE PROCEDURE uspGetDualisSzerzodesek
   @pTanarId int
  ,@pTanevId int
AS
BEGIN
  SET NOCOUNT ON;

SELECT DISTINCT
     x.SzerzodesFileId
    ,x.Statusz
    ,x.FileId
    ,x.FileNev
    ,x.FeltoltesDatuma
    ,x.FeltoltoId
    ,fh.ID
    ,fh.C_NYOMTATASINEV AS TanuloNev
    ,fh.C_ANYJANEVE AS AnyaNev
    ,fh.C_SZULETESIHELY AS SzuletesiHelye
    ,fh.C_SZULETESIDATUM AS SzuletesiDatum
    ,fh.C_OKTATASIAZONOSITO AS OktatasiAzonosito
  FROM T_FOGLALKOZAS_OSSZES ttf
  INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ttf.C_OSZTALYCSOPORTID = ocs.ID
      AND ocs.C_TANEVID = ttf.C_TANEVID
      AND ocs.TOROLT = 'F'
  INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
      AND tcs.C_BELEPESDATUM <= GETDATE()
      AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
      AND tcs.C_TANEVID = ttf.C_TANEVID
      AND tcs.TOROLT = 'F'
  INNER JOIN T_FELHASZNALO_OSSZES fh ON tcs.C_TANULOID = fh.ID
      AND fh.C_TANEVID = ttf.C_TANEVID
      AND fh.TOROLT = 'F'
  LEFT JOIN (
    SELECT 
       df.ID AS SzerzodesFileId
      ,IIF(df.ID IS NULL, 0, 1) AS Statusz
      ,f.ID AS FileId
      ,f.C_FILENEV AS FileNev
      ,f.C_FELTOLTESDATUM AS FeltoltesDatuma
      ,f.C_FELHASZNALOID AS FeltoltoId
      ,df.C_TANULOID as TanuloId
    FROM T_DUALISSZERZODESFILE_OSSZES df 
    INNER JOIN T_FILE_OSSZES f ON f.ID = df.C_FILEID AND f.TOROLT = 'F'
    WHERE df.C_ISALKALMAZOTTALTALTOROLT = 'F' AND df.TOROLT = 'F'
    ) x ON x.FeltoltoId = ttf.C_TANARID AND x.TanuloId = fh.ID
  WHERE ttf.C_TANEVID = @pTanevId
      AND ttf.C_TANARID = @pTanarId
      AND ttf.TOROLT = 'F'
 
END
GO
