﻿DROP PROCEDURE IF EXISTS uspSzirStatAmi
GO

CREATE PROCEDURE uspSzirStatAmi
   @pTanevId int
  ,@pIntezmenyid int
AS BEGIN
  
  DECLARE @datum datetime, @IsSniKezelo bit

  SELECT @datum = LEFT(tv.C_NEV, 4) + '1001' FROM T_TANEV tv WHERE ID = @pTanevId
  SET @IsSniKezelo = dbo.fnGetRendszerbeallitasEnumBool(1666, @pIntezmenyid, @pTanevId)
  
  SELECT 
     fh.ID  AS TanuloId
    ,CONCAT(fh.C_NYOMTATASINEV, ' (', fh.C_OKTATASIAZONOSITO ,')') AS TanuloNev --A
    ,ia.C_OMKOD AS IntezmenyOmAzonosito --B
    ,ia.C_NEV AS IntezmenyNev --C
    ,ia.C_VAROS AS IntezenyTelepules --D
    ,ia.C_IRANYITOSZAM AS IntezmenyIrszam --E
    ,RTRIM(CONCAT(ia.C_KOZTERULETNEV, ' ', ia.C_KOZTERULETJELLEGENEV,' ', ia.C_HAZSZAM, ' ', ia.C_EMELET, ' ', ia.C_AJTO)) AS IntezmenyCim --F
    ,ISNULL(NULLIF(ia.C_EMAILCIM, ''), '-') AS IntezmenyEmailcim --G
    ,CONCAT(ia.C_OMKOD, '/', fhely.C_FELADATELLATASIHELYKOD) AS FelhelyAzonosito --H
    ,mhely.C_NEV AS FelhelyNev --I
    ,mhely.C_VAROS AS FelhelyTelepules --J
    ,mhely.C_IRANYITOSZAM AS FelhelyIrszam --K
    ,RTRIM(CONCAT(mhely.C_KOZTERULETNEV, ' ', mhely.C_KOZTERULETJELLEGENEV,' ', mhely.C_HAZSZAM, ' ', mhely.C_EMELET, ' ', mhely.C_AJTO)) AS FelhelyCim --L
    ,ISNULL(NULLIF(mhely.C_EMAILCIM, ''), '-') AS FelhelyEmailcim --M
    ,fhelytip.C_NAME AS FelhelyTipus --N
    ,DATEDIFF(YEAR, fh.C_SZULETESIDATUM, @datum) AS TanuloKorev --O
    ,nem.C_NAME AS TanuloNem --P
    ,0 AS TanuloRendszeresTanulmany --Q
    ,ISNULL(NULLIF(IIF(ocs.C_EVFOLYAMTIPUSA = 7366, tanuloEvfolyamTipus.C_NAME, ocsEvfolyamTipus.C_NAME), 'Na'), '-') AS TanuloEvfolyam --R
    ,muvag.C_NAME AS TanuloMuveszetiAg --S
    ,ISNULL(NULLIF(IIF(mufajoszt.ID IS NULL OR mufajoszt.ID = 8705, mufajtta.C_NAME, mufajoszt.C_NAME), 'Na'), '-') AS TanuloMufaj --T
    ,ISNULL(NULLIF(IIF(tanszakoszt.ID IS NULL OR tanszakoszt.ID = 8732, tanszaktta.C_NAME, tanszakoszt.C_NAME), 'Na'), '-') AS TanuloTanszak --U 
    ,IIF(@IsSniKezelo = 1, IIF(dk.C_SAJATOSNEVELESU = 'T', 'Igen', 'Nem'), '-') AS TanuloSni --V
    ,IIF(@IsSniKezelo = 1 AND snizavar.ID <> 8796 AND snizavar.ID IS NOT NULL, IIF(snizavar.ID IN (8798,8799,8800,8801,8803,8805,8810,8811,8812,8813,8814,8815,8816,8817,8818,8819), 'Igen', 'Nem'), '-') AS TanuloSniZavar --W
    ,IIF(@IsSniKezelo = 1, IIF(dk.C_BTMPROBLEMAS = 'T', 'Igen', 'Nem'), '-') AS TanuloBtm --X
    ,IIF(dk.C_HATRANYOSHELYZETU IS NULL OR dk.C_HATRANYOSHELYZETU IN (1120, 1121), 'Nem', 'Igen') AS TanuloHatranyosHelyzet --Y
    ,IIF(dk.C_HATRANYOSHELYZETU IS NULL OR dk.C_HATRANYOSHELYZETU IN (1120, 1121, 1122), 'Nem', 'Igen') AS TanuloHalmozottanHatranyos --Z
    ,IIF(dk.C_ISRENDSZERESGYERMEKVEDELMI = 'T', 'Igen', 'Nem') AS TanuloGyermekvedelmiTamogatas --AA
    ,IIF(dk.C_TANDIJATFIZETO = 'T', 'Igen', 'Nem') AS TanuloTandijas --AB
    ,IIF(tta.C_TERITESIDIJATFIZETO = 'T', 'Igen', 'Nem') AS TanuloTeritesiDijas --AC
  FROM T_FELHASZNALO fh 
    INNER JOIN T_TANULO dk ON dk.ID = fh.ID AND dk.TOROLT = 'F'
    INNER JOIN T_INTEZMENYADATOK ia ON ia.C_TANEVID = fh.C_TANEVID AND ia.TOROLT = 'F'
    INNER JOIN T_INTEZMENY i ON ia.C_INTEZMENYID = i.ID AND i.TOROLT = 'F'
    INNER JOIN T_FELADATELLATASIHELY fhely ON fhely.C_TANEVID = ia.C_TANEVID AND fhely.TOROLT = 'F'
    INNER JOIN T_MUKODESIHELY mhely ON mhely.ID = fhely.C_MUKODESIHELYID AND mhely.TOROLT = 'F'
    INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID = dk.ID AND tcs.TOROLT = 'F'
    INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
    INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' AND ocs.C_FELADATELLATASIHELYID = fhely.ID
    INNER JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT = 'F'
    LEFT JOIN T_TANULOSNI sni ON sni.C_TANULOID = dk.ID AND sni.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE fhelytip ON fhelytip.ID = fhely.C_OKTATASINEVELESIFELADATTIPUS AND fhelytip.C_TANEVID = fhely.C_TANEVID AND fhelytip.C_INTEZMENYID = fhely.C_INTEZMENYID AND fhelytip.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE nem ON fh.C_NEME = nem.ID AND nem.C_TANEVID = fh.C_TANEVID AND nem.C_INTEZMENYID = fh.C_INTEZMENYID AND nem.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE muvag ON ocs.C_MUVESZETIAGID = muvag.ID AND muvag.C_TANEVID = ocs.C_TANEVID AND muvag.C_INTEZMENYID = ocs.C_INTEZMENYID AND muvag.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE mufajoszt ON mufajoszt.ID = o.C_MUFAJTIPUSID AND mufajoszt.C_TANEVID = o.C_ALTANEVID AND mufajoszt.C_INTEZMENYID = o.C_ALINTEZMENYID AND mufajoszt.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE mufajtta ON mufajtta.ID = tta.C_MUFAJTIPUSID AND mufajtta.C_TANEVID = tta.C_TANEVID AND mufajtta.C_INTEZMENYID = tta.C_INTEZMENYID AND mufajtta.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE tanszakoszt ON tanszakoszt.ID = o.C_TANSZAKTIPUSID AND tanszakoszt.C_TANEVID = o.C_ALTANEVID AND tanszakoszt.C_INTEZMENYID = o.C_ALINTEZMENYID AND tanszakoszt.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE tanszaktta ON tanszaktta.ID = tta.C_TANSZAKTIPUSID AND tanszaktta.C_TANEVID = tta.C_TANEVID AND tanszaktta.C_INTEZMENYID = tta.C_INTEZMENYID AND tanszaktta.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE snizavar ON sni.C_FOGYATEKOSSAGTIPUSID = snizavar.ID AND snizavar.C_TANEVID = sni.C_TANEVID AND snizavar.C_INTEZMENYID = sni.C_INTEZMENYID AND snizavar.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE ocsEvfolyamTipus ON ocs.C_EVFOLYAMTIPUSA = ocsEvfolyamTipus.ID AND ocsEvfolyamTipus.C_TANEVID = ocs.C_TANEVID AND ocsEvfolyamTipus.C_INTEZMENYID = ocs.C_INTEZMENYID AND ocsEvfolyamTipus.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE tanuloEvfolyamTipus ON tta.C_TANULOEVFOLYAMTIPUSID = tanuloEvfolyamTipus.ID AND tanuloEvfolyamTipus.C_TANEVID = tta.C_TANEVID AND tanuloEvfolyamTipus.C_INTEZMENYID = tta.C_INTEZMENYID AND tanuloEvfolyamTipus.TOROLT = 'F'
  WHERE fh.TOROLT = 'F'
    AND tcs.C_BELEPESDATUM <= @datum 
    AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @datum)
    AND ocs.C_FELADATKATEGORIAID = 7555
    AND fh.C_TANEVID = @pTanevId
    AND fh.C_INTEZMENYID = @pIntezmenyid
END
GO

