kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20181129095923_OM_1561/sp_GetTanuloszerzodes.sql
2024-03-13 00:33:46 +01:00

173 lines
No EOL
6.9 KiB
Transact-SQL

IF OBJECT_ID('[dbo].[sp_GetTanuloszerzodes]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetTanuloszerzodes]
END
GO
CREATE PROCEDURE [dbo].[sp_GetTanuloszerzodes]
@pIntezmenyId INT,
@pTanevId INT,
@pTanuloIdXML XML
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Tanulok TABLE(Id int PRIMARY KEY)
INSERT INTO @Tanulok(Id)
SELECT Data FROM fnConvertXmlIntListToTable(@pTanuloIdXML, 'a', 'b')
/*TANULO*/
SELECT DISTINCT
t.ID tanuloId
,f.C_NYILVANTARTASISZAM AS torzslapSzam
,f.C_OKTATASIAZONOSITO AS oktAzon
,f.C_TAJSZAM AS tajSzam
,f.C_ANYJANEVE AS anyjaNeve
,f.C_SZULETESIHELY AS szulHely
,dbo.fnGetDokumentumDatumFormatum(f.C_SZULETESIDATUM) AS szulIdo
,tt.C_NEV AS kepzes
,f.C_NYOMTATASINEV AS tanuloNeve
,f.C_SZULETESINEV AS szuletesiNev
,d.C_NAME AS allampolgarsaga
,ISNULL(Cim.C_OSSZETETTCIM, '') AS tanuloCimText
,ISNULL(Email.C_EMAILCIM, '') AS tanuloEmailCim
,ISNULL(Telefon.C_TELEFONSZAM, '') AS tanuloTelefonszam
,IIF(t.C_SZAKKEPESITESSZAMA IS NOT NULL, 'van, '
+ 'OKJ száma: ............., megnevezése: ', 'nincs') AS okj
FROM T_TANULO_OSSZES t
INNER JOIN @Tanulok Tanulok ON t.ID = Tanulok.Id
LEFT JOIN T_CIM_OSSZES Cim ON
Cim.C_FELHASZNALOID = t.ID
AND Cim.C_INTEZMENYID = @pIntezmenyId
AND Cim.C_TANEVID = @pTanevId
AND Cim.TOROLT = 'F'
AND Cim.C_ALAPERTELMEZETT = 'T'
AND Cim.C_GONDVISELOID IS NULL
LEFT JOIN
T_EMAIL_OSSZES Email ON
Email.C_FELHASZNALOID = t.ID
AND Email.C_INTEZMENYID = @pIntezmenyId
AND Email.C_TANEVID = @pTanevId
AND Email.TOROLT = 'F'
AND Email.C_ALAPERTELMEZETT = 'T'
LEFT JOIN
T_TELEFON_OSSZES Telefon ON
Telefon.C_FELHASZNALOID = t.ID
AND Telefon.C_INTEZMENYID = @pIntezmenyId
AND Telefon.C_TANEVID = @pTanevId
AND Telefon.TOROLT = 'F'
AND Telefon.C_ALAPERTELMEZETT= 'T'
INNER JOIN T_TANTERV_OSSZES tt ON
tt.ID = t.C_TANTERVID
AND tt.TOROLT ='F'
INNER JOIN T_FELHASZNALO_OSSZES f ON
f.ID = t.ID
AND f.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON
d.id=f.C_ALLAMPOLGARSAGA
AND d.C_TANEVID = f.C_TANEVID
AND d.C_INTEZMENYID = f.C_INTEZMENYID
/*GONDVISELO*/
SELECT
Tanulok.Id tanuloId
,Gondviselo.C_NEV GondviseloNeve
,ISNULL(Email.C_EMAILCIM, '') gondviseloEmailCim
,ISNULL(Telefon.C_TELEFONSZAM, '') gondviseloTelefonszam
,ISNULL(Cim.C_OSSZETETTCIM, '') gondviseloCimText
FROM @Tanulok Tanulok
INNER JOIN T_GONDVISELO_OSSZES Gondviselo ON
Gondviselo.C_TANULOID = Tanulok.Id
AND Gondviselo.C_INTEZMENYID = @pIntezmenyId
AND Gondviselo.C_TANEVID = @pTanevId
AND Gondviselo.TOROLT = 'F'
AND Gondviselo.C_ISTORVENYESKEPVISELO = 'T'
AND Gondviselo.C_ISCSOKKENTETTGONDVISELO = 'F'
INNER JOIN T_FELHASZNALOBELEPES_OSSZES Felhasznalo ON
Felhasznalo.C_GONDVISELOID = Gondviselo.ID
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
AND Felhasznalo.C_TANEVID = @pTanevId
AND Felhasznalo.TOROLT = 'F'
LEFT JOIN T_EMAIL_OSSZES Email ON
Email.C_GONDVISELOID = Gondviselo.ID
AND Email.C_INTEZMENYID = @pIntezmenyId
AND Email.C_TANEVID = @pTanevId
AND Email.TOROLT = 'F'
LEFT JOIN T_TELEFON_OSSZES Telefon ON
Telefon.C_GONDVISELOID = Gondviselo.ID
AND Telefon.C_INTEZMENYID = @pIntezmenyId
AND Telefon.C_TANEVID = @pTanevId
AND Telefon.TOROLT = 'F'
LEFT JOIN T_CIM_OSSZES Cim ON
Cim.C_GONDVISELOID = Gondviselo.ID
AND Cim.C_INTEZMENYID = @pIntezmenyId
AND Cim.C_TANEVID = @pTanevId
AND Cim.TOROLT = 'F'
/*INTEZMENYADATOK*/
SELECT DISTINCT
INTEZMENY.C_INTEZMENYID intezmenyId
,INTEZMENY.C_NEV Nev
,INTEZMENY.C_IGAZGATONEVE IgazgatoNev
,dbo.fnGetDokumentumIntezmenyCime (@pTanevId) IntezmenyCim
,INTEZMENY.C_TELEFONSZAM IntezmenyTelefonszam
,INTEZMENY.C_EMAILCIM IntezmenyEmail
,INTEZMENY.C_OMKOD OktAzon
,TANEV.C_NEV
INTO #IntemenyAdatok
FROM T_TANEV_OSSZES TANEV
INNER JOIN T_INTEZMENYADATOK_OSSZES INTEZMENY ON TANEV.ID = INTEZMENY.C_TANEVID
WHERE
TANEV.ID = @pTanevId
AND INTEZMENY.C_INTEZMENYID = @pIntezmenyId
/*TAGINTEZMENYADATOK*/
SELECT DISTINCT
TAGINTEZMENY.C_INTEZMENYID intezmenyId
,TAGINTEZMENY.C_NEV AS TagintezmenyNev
,TAGINTEZMENY.C_IRANYITOSZAM + ' ' + TAGINTEZMENY.C_VAROS + ', '
+ TAGINTEZMENY.C_KOZTERULETNEV + ' ' + TAGINTEZMENY.C_HAZSZAM
+ ISNULL(', ' + TAGINTEZMENY.C_EMELET + '. EMELET', '')
+ ISNULL(', ' + TAGINTEZMENY.C_AJTO + '. AJTÓ', '') AS TagintezmenyCim
INTO #TagintezmenyAdatok
FROM T_TANEV_OSSZES TANEV
INNER JOIN T_INTEZMENY_OSSZES INTEZEMNY ON TANEV.C_INTEZMENYID = INTEZEMNY.ID
INNER JOIN T_MUKODESIHELY_OSSZES TAGINTEZMENY ON TAGINTEZMENY.C_INTEZMENYID = INTEZEMNY.ID
WHERE
TANEV.ID = @pTanevId
AND TAGINTEZMENY.C_INTEZMENYID = @pIntezmenyId
/*==============INTÉZMÉNY/TAGINTÉZMÉNY==================*/
SELECT DISTINCT
*
FROM #IntemenyAdatok intezmeny
INNER JOIN #TagintezmenyAdatok tagintezmeny ON intezmeny.intezmenyId = tagintezmeny.intezmenyId
/*BESOROLAS*/
SELECT DISTINCT /*TODO:Tobb Osztaly*//*OM-1608*/
TANCSOP.C_TANULOID tanuloId
,OKTATASINEVELESIFELADAT.C_NAME FeladatEllatasiHely
,MUNKAREND.C_NAME NappaliRend
,EVFOLYAM.C_NAME_1 Evfolyam
FROM T_TANULOCSOPORT_OSSZES TANCSOP
INNER JOIN @Tanulok Tanulok ON TANCSOP.C_TANULOID = Tanulok.Id
INNER JOIN T_OSZTALY_OSSZES OSZTALY ON OSZTALY.ID = TANCSOP.C_OSZTALYCSOPORTID
INNER JOIN T_OSZTALYCSOPORT_OSSZES OSZTALYCSOP ON OSZTALYCSOP.ID = OSZTALY.ID AND OSZTALYCSOP.C_FELADATKATEGORIAID = (select C_DEFAULTFELADATKATEGORIAID from T_TANEV_OSSZES where ID = OSZTALYCSOP.C_TANEVID)
INNER JOIN T_FELADATELLATASIHELY_OSSZES ON T_FELADATELLATASIHELY_OSSZES.ID = OSZTALYCSOP.C_FELADATELLATASIHELYID AND T_FELADATELLATASIHELY_OSSZES.C_TANEVID = OSZTALYCSOP.C_TANEVID AND T_FELADATELLATASIHELY_OSSZES.C_INTEZMENYID = @pIntezmenyId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES MUNKAREND ON OSZTALY.C_KEPZESIFORMA = MUNKAREND.ID AND MUNKAREND.C_TANEVID = OSZTALYCSOP.C_TANEVID AND MUNKAREND.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AS OKTATASINEVELESIFELADAT ON T_FELADATELLATASIHELY_OSSZES.C_OKTATASINEVELESIFELADATTIPUS = OKTATASINEVELESIFELADAT.ID AND OKTATASINEVELESIFELADAT.C_TANEVID = T_FELADATELLATASIHELY_OSSZES.C_TANEVID AND OKTATASINEVELESIFELADAT.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES EVFOLYAM ON EVFOLYAM.ID = OSZTALYCSOP.C_EVFOLYAMTIPUSA
WHERE
OSZTALYCSOP.C_TANEVID = @pTanevId
AND OSZTALYCSOP.C_INTEZMENYID = @pIntezmenyId
AND TANCSOP.TOROLT = 'F'
AND TANCSOP.C_TANEVID = @pTanevId
END