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

165 lines
No EOL
6.8 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
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
,Cim.C_IRANYITOSZAM + ', ' + --
Cim.C_VAROS + ', ' + --
Cim.C_KOZTERULET + ' ' + --
KozteruletJelleg.C_NAME + ' ' + --
ISNULL(Cim.C_HAZSZAM, '') AS CimText
,Email.C_EMAILCIM AS EmailCim
,Telefon.C_TELEFONSZAM AS Telefonszam
,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'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES KozteruletJelleg ON
KozteruletJelleg.ID = Cim.C_KOZTERULETJELLEGE
AND KozteruletJelleg.C_INTEZMENYID = @pIntezmenyId
AND KozteruletJelleg.C_TANEVID = @pTanevId
AND KozteruletJelleg.TOROLT = 'F'
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'
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'
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_TANULOCSOPORT_OSSZES cs ON cs.C_TANULOID = t.ID AND cs.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
WHERE
Cim.C_GONDVISELOID is null
/*GONDVISELO*/
SELECT
Gondviselo.C_NEV GondviseloNeve
,Email.C_EMAILCIM EmailCim
,Telefon.C_TELEFONSZAM Telefonszam
,Cim.C_IRANYITOSZAM + ', ' + --
Cim.C_VAROS + ', ' + --
Cim.C_KOZTERULET + ' ' + --
KozteruletJelleg.C_NAME + ' ' + --
ISNULL(Cim.C_HAZSZAM, '') CimText
FROM T_GONDVISELO_OSSZES Gondviselo
INNER JOIN @Tanulok Tanulok on Gondviselo.C_TANULOID = Tanulok.Id
LEFT 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'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES KozteruletJelleg ON
KozteruletJelleg.ID = Cim.C_KOZTERULETJELLEGE
AND KozteruletJelleg.C_INTEZMENYID = @pIntezmenyId
AND KozteruletJelleg.C_TANEVID = @pTanevId
AND KozteruletJelleg.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES CimTipus ON
CimTipus.ID = Cim.C_CIMTIPUSA
AND CimTipus.C_INTEZMENYID = @pIntezmenyId
AND CimTipus.C_TANEVID = @pTanevId
AND CimTipus.TOROLT = 'F'
WHERE
Gondviselo.C_ISTORVENYESKEPVISELO = 'T'
AND Gondviselo.C_INTEZMENYID = @pIntezmenyId
AND Gondviselo.C_TANEVID = @pTanevId
AND Gondviselo.TOROLT = 'F'
/*INTEZMENYADATOK*/
SELECT DISTINCT
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
FROM T_TANEV_osszes TANEV
INNER JOIN T_INTEZMENYADATOK_OSSZES INTEZMENY ON TANEV.ID = INTEZMENY.C_TANEVID
WHERE
TANEV.ID = @pTanevId
/*TAGINTEZMENYADATOK*/
SELECT DISTINCT
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
FROM T_TANEV TANEV
INNER JOIN T_INTEZMENY INTEZEMNY ON TANEV.C_INTEZMENYID = INTEZEMNY.ID
INNER JOIN T_MUKODESIHELY_OSSZES TAGINTEZMENY ON TAGINTEZMENY.C_INTEZMENYID = INTEZEMNY.ID
WHERE
TANEV.ID = @pTanevId
/*BESOROLAS*/
SELECT DISTINCT
OKTATASINEVELESIFELADAT.C_NAME FeladatEllatasiHely
,MUNKAREND.C_NAME NappaliRend
,EVFOLYAM.C_NAME Evfolyam
FROM T_TANULOCSOPORT TANCSOP
INNER JOIN @Tanulok Tanulok ON TANCSOP.C_TANULOID = Tanulok.Id
INNER JOIN T_OSZTALY OSZTALY ON OSZTALY.ID = TANCSOP.C_OSZTALYCSOPORTID
INNER JOIN T_OSZTALYCSOPORT OSZTALYCSOP ON OSZTALYCSOP.ID = OSZTALY.ID
INNER JOIN T_FELADATELLATASIHELY ON T_FELADATELLATASIHELY.ID = OSZTALYCSOP.C_FELADATELLATASIHELYID AND T_FELADATELLATASIHELY.C_TANEVID = OSZTALYCSOP.C_TANEVID AND T_FELADATELLATASIHELY.C_INTEZMENYID = @pIntezmenyId
INNER JOIN T_DICTIONARYITEMBASE MUNKAREND ON OSZTALY.C_KEPZESIFORMA = MUNKAREND.ID AND MUNKAREND.C_TANEVID = OSZTALYCSOP.C_TANEVID AND MUNKAREND.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE AS OKTATASINEVELESIFELADAT ON T_FELADATELLATASIHELY.C_OKTATASINEVELESIFELADATTIPUS = OKTATASINEVELESIFELADAT.ID AND OKTATASINEVELESIFELADAT.C_TANEVID = T_FELADATELLATASIHELY.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
END