-- ==========================================================================================
--  Nem kötött munkaidő részletező nyomtatványhoz tárolt eljárás -- Rudlof Kristóf
-- ==========================================================================================
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNemKotottMunkaidoReszletezo]
GO

CREATE PROCEDURE [dbo].[sp_GetNemKotottMunkaidoReszletezo]
   @tanevId int
  ,@intezmenyId int
  ,@tanarId int
  ,@honapId int
AS
BEGIN
  SET NOCOUNT ON;

  DECLARE @Honap int = (
    SELECT  
      dictionaryItemBase.C_VALUE 
    FROM T_DICTIONARYITEMBASE_OSSZES dictionaryItemBase
    WHERE dictionaryItemBase.ID = @honapId
      AND dictionaryItemBase.C_TANEVID = @tanevId
      AND dictionaryItemBase.C_INTEZMENYID = @intezmenyId
  )

  IF @honapId = -1 BEGIN
    SELECT 
       FORMAT(nkm.C_KEZDETE, 'yyyy.MM.dd.') AS Datum
      ,FORMAT(nkm.C_KEZDETE, 'HH:mm') AS Kezdete
      ,FORMAT(nkm.C_VEGE, 'HH:mm') AS Vege
      ,f.C_NYOMTATASINEV AS Tanar
      ,IIF(nkm.C_ISTANARALTALTOROLT = 'T', 'Törölt', d.C_NAME) AS Tevekenyseg
      ,ISNULL(nkm.C_NAPLOZOTTMEGJEGYZES, nkm.C_MEGJEGYZES) AS Megjegyzes
      ,nn.C_HETSORSZAMA AS Het 
    FROM T_FELHASZNALO_OSSZES f
      LEFT JOIN T_NEMKOTOTTMUNKAIDO_OSSZES nkm ON f.ID=nkm.C_TANARID AND nkm.TOROLT='F' AND nkm.C_TANEVID=@tanevId AND nkm.C_MEGTARTOTT='T'
      LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID=nkm.C_TEVEKENYSEGTIPUSA AND d.C_TANEVID=nkm.C_TANEVID AND d.C_INTEZMENYID=nkm.C_INTEZMENYID
      LEFT JOIN  T_NAPTARINAP_OSSZES nn ON CONVERT(DATE,nn.C_NAPDATUMA)=CONVERT(DATE,nkm.C_KEZDETE) AND nn.C_INTEZMENYID=@intezmenyId AND nn.C_TANEVID=@tanevId AND nn.TOROLT='F'
    WHERE f.ID = @tanarId
  END
  ELSE BEGIN
    SELECT 
       FORMAT(nkm.C_KEZDETE, 'yyyy.MM.dd.') AS Datum
      ,FORMAT(nkm.C_KEZDETE, 'HH:mm') AS Kezdete
      ,FORMAT(nkm.C_VEGE, 'HH:mm') AS Vege
      ,f.C_NYOMTATASINEV AS Tanar
      ,IIF(nkm.C_ISTANARALTALTOROLT = 'T', 'Törölt', d.C_NAME) AS Tevekenyseg
      ,ISNULL(nkm.C_NAPLOZOTTMEGJEGYZES, nkm.C_MEGJEGYZES) AS Megjegyzes
      ,nn.C_HETSORSZAMA AS Het 
      ,@Honap AS Honap
    FROM T_FELHASZNALO_OSSZES f
      LEFT JOIN T_NEMKOTOTTMUNKAIDO_OSSZES nkm ON f.ID=nkm.C_TANARID AND nkm.TOROLT='F' AND nkm.C_TANEVID=@tanevId AND nkm.C_MEGTARTOTT='T' AND DATEPART(MONTH,nkm.C_KEZDETE) = @Honap
      LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID=nkm.C_TEVEKENYSEGTIPUSA AND d.C_TANEVID=nkm.C_TANEVID AND d.C_INTEZMENYID=nkm.C_INTEZMENYID
      LEFT JOIN  T_NAPTARINAP_OSSZES nn ON CONVERT(DATE,nn.C_NAPDATUMA)=CONVERT(DATE,nkm.C_KEZDETE) AND nn.C_INTEZMENYID=@intezmenyId AND nn.C_TANEVID=@tanevId AND nn.TOROLT='F'
    WHERE f.ID = @tanarId

    SELECT TOP(1) 
       FORMAT(naptariNap.C_NAPDATUMA, 'yyyy') AS Ev
      ,FORMAT(naptariNap.C_NAPDATUMA, 'MM') AS Honap
    FROM T_NAPTARINAP_OSSZES naptariNap 
    WHERE DATEPART(MONTH, naptariNap.C_NAPDATUMA) = @Honap 
      AND naptariNap.C_TANEVID = @TanevId 
      AND naptariNap.TOROLT = 'F'
  END
    
  -- Iktatási adatok
  SELECT 
     f.ID AS  PedagogusId
    ,f.C_OKTATASIAZONOSITO AS PedagogusOktAzon
    ,mua.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
  FROM T_FELHASZNALO_OSSZES f
    INNER JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = f.ID
  WHERE f.ID = @tanarId
    AND f.C_TANEVID = @tanevId AND f.C_INTEZMENYID = @intezmenyId
END
GO
