kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Functions/fnGetTanuloTanugyiAdatai.sql
2024-03-13 00:33:46 +01:00

153 lines
8.3 KiB
Transact-SQL

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