﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

DROP FUNCTION IF EXISTS [dbo].[fnGetTanuloTanugyiAdatai]
GO
CREATE FUNCTION [dbo].[fnGetTanuloTanugyiAdatai](
  @tanevId int
  ,@isDuplikalt bit = 0
  ,@tanuloId int = 0
)
RETURNS TABLE 
AS
RETURN 
(
  SELECT * FROM (
    SELECT 
      tanuloId
      ,IIF(Count(TanugyiAdatok.tanuloId)>1, '1' , '0') AS IsDuplikalt
      ,TanugyiAdatok.C_BEIRASINAPLOSORSZAM 
      ,TanugyiAdatok.C_BEJARO  
      ,TanugyiAdatok.C_DIAKSPORTKOROS   
      ,TanugyiAdatok.C_EGYEBORSZAGOSDONTO    
      ,TanugyiAdatok.C_EGYUTTMUKODESES   
      ,TanugyiAdatok.C_ELOZOINTEZMENY   
      ,TanugyiAdatok.C_EVISMETLO  
      ,TanugyiAdatok.C_FELVETELTANEVEID   
      ,TanugyiAdatok.C_HOZOTTIGAZOLATLANHIANYZAS    
      ,TanugyiAdatok.C_HOZOTTIGAZOLATLANKESESPERCBE  
      ,TanugyiAdatok.C_HOZOTTIGAZOLTHIANYZAS 
      ,TanugyiAdatok.C_HOZOTTIGAZOLTKESESPERCBEN    
      ,TanugyiAdatok.C_ISESL16EVESUTANBELEPETT  
      ,TanugyiAdatok.C_ISKOLAIKERETEKKOZOTT 
      ,TanugyiAdatok.C_JOGVISZONYATSZUNETELTETO    
      ,TanugyiAdatok.C_JOGVISZONYVARHATOBEFEJEZESE  
      ,TanugyiAdatok.C_MAGANTANULO     
      ,TanugyiAdatok.C_MAGANTANULOSAGANAKOKAID    
      ,TanugyiAdatok.C_MAGANTANULOSAGKEZDETE 
      ,TanugyiAdatok.C_NAPLOSORSZAM     
      ,TanugyiAdatok.C_NYILVANTARTASKEZDETE 
      ,TanugyiAdatok.C_OSZTV    
      ,TanugyiAdatok.C_POLGARISZERZODESES 
      ,TanugyiAdatok.C_SZAKMAIGYAKORLATON 
      ,TanugyiAdatok.C_SZETVAGAZAT     
      ,TanugyiAdatok.C_SZINTVIZSGA     
      ,TanugyiAdatok.C_SZKTV    
      ,TanugyiAdatok.C_TANDIJATFIZETO   
      ,TanugyiAdatok.C_TANKOTELEZETT     
      ,TanugyiAdatok.C_TANKOTELEZETTSEGVEGE 
      ,TanugyiAdatok.C_TANTERVID  
      ,TanugyiAdatok.C_TANULOEVFOLYAMTIPUSID 
      ,TanugyiAdatok.C_TANULOSZERZODESES   
      ,TanugyiAdatok.C_TECHNIKUSIEVFOLYAM 
      ,TanugyiAdatok.C_TERITESIDIJATFIZETO 
      ,TanugyiAdatok.C_TORZSLAPSZAM     
      ,TanugyiAdatok.C_VENDEG  
    FROM (
      SELECT 
        tanulo.ID  tanuloId
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_BEIRASINAPLOSORSZAM, tanugyiAdatok.C_BEIRASINAPLOSORSZAM) AS C_BEIRASINAPLOSORSZAM   
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_BEJARO, tanugyiAdatok.C_BEJARO) AS C_BEJARO    
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_DIAKSPORTKOROS, tanugyiAdatok.C_DIAKSPORTKOROS) AS C_DIAKSPORTKOROS     
        ,tanugyiAdatok.C_EGYEBORSZAGOSDONTO AS C_EGYEBORSZAGOSDONTO    
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_EGYUTTMUKODESES, tanugyiAdatok.C_EGYUTTMUKODESES) AS C_EGYUTTMUKODESES     
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_ELOZOINTEZMENY, tanugyiAdatok.C_ELOZOINTEZMENY) AS C_ELOZOINTEZMENY     
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_EVISMETLO, tanugyiAdatok.C_EVISMETLO) AS C_EVISMETLO  
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_FELVETELTANEVEID, tanugyiAdatok.C_FELVETELTANEVEID) AS C_FELVETELTANEVEID   
        ,tanugyiAdatok.C_HOZOTTIGAZOLATLANHIANYZAS AS C_HOZOTTIGAZOLATLANHIANYZAS    
        ,tanugyiAdatok.C_HOZOTTIGAZOLATLANKESESPERCBE AS C_HOZOTTIGAZOLATLANKESESPERCBE  
        ,tanugyiAdatok.C_HOZOTTIGAZOLTHIANYZAS AS C_HOZOTTIGAZOLTHIANYZAS 
        ,tanugyiAdatok.C_HOZOTTIGAZOLTKESESPERCBEN AS C_HOZOTTIGAZOLTKESESPERCBEN    
        ,tanugyiAdatok.C_ISESL16EVESUTANBELEPETT AS C_ISESL16EVESUTANBELEPETT  
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_ISKOLAIKERETEKKOZOTT, tanugyiAdatok.C_ISKOLAIKERETEKKOZOTT) AS C_ISKOLAIKERETEKKOZOTT 
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_JOGVISZONYATSZUNETELTETO, tanugyiAdatok.C_JOGVISZONYATSZUNETELTETO) AS C_JOGVISZONYATSZUNETELTETO    
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_JOGVISZONYVARHATOBEFEJEZESE, tanugyiAdatok.C_JOGVISZONYVARHATOBEFEJEZESE) AS C_JOGVISZONYVARHATOBEFEJEZESE    
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_MAGANTANULO, tanugyiAdatok.C_MAGANTANULO) AS C_MAGANTANULO  
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_MAGANTANULOSAGANAKOKA, tanugyiAdatok.C_MAGANTANULOSAGANAKOKAID) AS C_MAGANTANULOSAGANAKOKAID 
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_MAGANTANULOSAGKEZDETE, tanugyiAdatok.C_MAGANTANULOSAGKEZDETE) AS C_MAGANTANULOSAGKEZDETE 
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_NAPLOSORSZAM, tanugyiAdatok.C_NAPLOSORSZAM) AS C_NAPLOSORSZAM     
        ,IIF(tanugyiAdatok.ID IS NULL, felhasznalo.C_NYILVANTARTASKEZDETE, tanugyiAdatok.C_NYILVANTARTASKEZDETE) AS C_NYILVANTARTASKEZDETE 
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_OSZTV, tanugyiAdatok.C_OSZTV) AS C_OSZTV    
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_POLGARISZERZODESES, tanugyiAdatok.C_POLGARISZERZODESES) AS C_POLGARISZERZODESES   
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_SZAKMAIGYAKORLATON, tanugyiAdatok.C_SZAKMAIGYAKORLATON) AS C_SZAKMAIGYAKORLATON   
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_SZETVAGAZAT, tanugyiAdatok.C_SZETVAGAZAT) AS C_SZETVAGAZAT  
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_SZINTVIZSGA, tanugyiAdatok.C_SZINTVIZSGA) AS C_SZINTVIZSGA  
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_SZKTV, tanugyiAdatok.C_SZKTV) AS C_SZKTV    
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TANDIJATFIZETO, tanugyiAdatok.C_TANDIJATFIZETO) AS C_TANDIJATFIZETO     
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TANKOTELEZETT, tanugyiAdatok.C_TANKOTELEZETT) AS C_TANKOTELEZETT     
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TANKOTELEZETTSEGVEGE, tanugyiAdatok.C_TANKOTELEZETTSEGVEGE) AS C_TANKOTELEZETTSEGVEGE 
        ,tanugyiAdatok.C_TANTERVID AS C_TANTERVID
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TANULOEVFOLYAMTIPUS, tanugyiAdatok.C_TANULOEVFOLYAMTIPUSID) AS C_TANULOEVFOLYAMTIPUSID 
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TANULOSZERZODESES, tanugyiAdatok.C_TANULOSZERZODESES) AS C_TANULOSZERZODESES   
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TECHNIKUSIEVFOLYAM, tanugyiAdatok.C_TECHNIKUSIEVFOLYAM) AS C_TECHNIKUSIEVFOLYAM   
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TERITESIDIJATFIZETO, tanugyiAdatok.C_TERITESIDIJATFIZETO) AS C_TERITESIDIJATFIZETO   
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TORZSLAPSZAM, tanugyiAdatok.C_TORZSLAPSZAM) AS C_TORZSLAPSZAM     
        ,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_VENDEG, tanugyiAdatok.C_VENDEG) AS C_VENDEG         
      FROM T_TANULO_OSSZES  tanulo
        INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = tanulo.C_ALTANEVID AND tanev.Id = @tanevId  AND Tanev.TOROLT = 'F'
        LEFT JOIN T_TANULOCSOPORT_OSSZES  tanuloCsoport ON tanuloCsoport.C_TANULOID = tanulo.ID  
              AND tanuloCsoport.C_BELEPESDATUM <= GETDATE()
              AND ( C_KILEPESDATUM >= GETDATE() OR C_KILEPESDATUM IS NULL)
              AND tanulocsoport.C_BELEPESDATUM >= tanev.C_KEZDONAP
              AND tanulocsoport.C_BELEPESDATUM <= tanev.C_UTOLSONAP
              AND tanuloCsoport.C_KILEPESDATUM <= tanev.C_UTOLSONAP
              AND tanuloCsoport.C_KILEPESDATUM >= tanev.C_KEZDONAP
              AND tanuloCsoport.TOROLT = 'F'  
        LEFT JOIN T_OSZTALY_OSSZES  osztaly ON osztaly.ID = tanuloCsoport.C_OSZTALYCSOPORTID
        LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES  tanugyiAdatok ON tanugyiadatok.C_TANULOCSOPORTID = tanuloCsoport.ID
        INNER JOIN T_FELHASZNALO_OSSZES  felhasznalo ON felhasznalo.ID = tanulo.ID
      WHERE (tanulo.ID = @tanuloId OR @tanuloId = 0)
    ) TanugyiAdatok
    GROUP BY tanuloId
      ,C_BEIRASINAPLOSORSZAM 
      ,C_BEJARO    
      ,C_DIAKSPORTKOROS     
      ,C_EGYEBORSZAGOSDONTO     
      ,C_EGYUTTMUKODESES     
      ,C_ELOZOINTEZMENY     
      ,C_EVISMETLO  
      ,C_FELVETELTANEVEID     
      ,C_HOZOTTIGAZOLATLANHIANYZAS      
      ,C_HOZOTTIGAZOLATLANKESESPERCBE    
      ,C_HOZOTTIGAZOLTHIANYZAS        
      ,C_HOZOTTIGAZOLTKESESPERCBEN      
      ,C_ISESL16EVESUTANBELEPETT        
      ,C_ISKOLAIKERETEKKOZOTT   
      ,C_JOGVISZONYATSZUNETELTETO 
      ,C_JOGVISZONYVARHATOBEFEJEZESE    
      ,C_MAGANTANULO  
      ,C_MAGANTANULOSAGANAKOKAID 
      ,C_MAGANTANULOSAGKEZDETE 
      ,C_NAPLOSORSZAM  
      ,C_NYILVANTARTASKEZDETE  
      ,C_OSZTV    
      ,C_POLGARISZERZODESES   
      ,C_SZAKMAIGYAKORLATON   
      ,C_SZETVAGAZAT  
      ,C_SZINTVIZSGA  
      ,C_SZKTV    
      ,C_TANDIJATFIZETO     
      ,C_TANKOTELEZETT     
      ,C_TANKOTELEZETTSEGVEGE 
      ,C_TANTERVID  
      ,C_TANULOEVFOLYAMTIPUSID   
      ,C_TANULOSZERZODESES   
      ,C_TECHNIKUSIEVFOLYAM   
      ,C_TERITESIDIJATFIZETO 
      ,C_TORZSLAPSZAM     
      ,C_VENDEG    
  ) TanugyiAdatok WHERE IsDuplikalt <= @isDuplikalt 
)
GO
