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

87 lines
3.2 KiB
Transact-SQL

-- =============================================
-- Description: <Előszedjük a tanuló alap adatait>
-- =============================================
DROP PROCEDURE IF EXISTS [dbo].[uspGetTanuloiAlapadatok]
GO
CREATE PROCEDURE [dbo].[uspGetTanuloiAlapadatok]
@pTanuloId INT
,@pTanevId INT
,@pIntezmenyId INT
,@pOsztalyCsoportId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @OsztalyCsoport_Evfolyam int
SET @OsztalyCsoport_Evfolyam = (SELECT C_EVFOLYAMTIPUSA FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId);
--NOTE: 0. tábla - Alapadatok
SELECT
Felhasznalo.C_OKTATASIAZONOSITO AS OktatasiAzonosito
,Felhasznalo.C_ANYJANEVE AS AnyjaNeve
,ISNULL(tanugyiAdatok.C_TORZSLAPSZAM,'') AS Torzslapszam
,ISNULL(tanugyiAdatok.C_NAPLOSORSZAM,'') AS Naplosorszam
,Felhasznalo.C_SZULETESIHELY AS SzuletesiHely
,Felhasznalo.C_SZULETESIDATUM AS SzuletesiIdo
,ISNULL(tanugyiAdatok.C_BEIRASINAPLOSORSZAM,Tanulo.C_BEIRASINAPLOSORSZAM) AS BeirasiNaploSorszam
,IIF(@OsztalyCsoport_Evfolyam IS NOT NULL AND @OsztalyCsoport_Evfolyam <> 7366,@OsztalyCsoport_Evfolyam,ISNULL(tanugyiAdatok.C_TANULOEVFOLYAMTIPUSID, @OsztalyCsoport_Evfolyam)) AS Evfolyam
,tanugyiAdatok.ID as TanugyiAdatokID
FROM T_TANULO_OSSZES Tanulo
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulo.ID
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
AND Felhasznalo.C_TANEVID = @pTanevId
AND Felhasznalo.TOROLT = 'F'
LEFT JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = Tanulo.ID
AND TanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
AND TanuloCsoport.C_INTEZMENYID = @pIntezmenyId
AND TanuloCsoport.C_TANEVID = @pTanevId
AND TanuloCsoport.TOROLT = 'F'
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tanugyiAdatok ON tanugyiAdatok.C_TANULOCSOPORTID = tanuloCsoport.ID
AND tanugyiAdatok.TOROLT = 'F'
WHERE Tanulo.ID = @pTanuloId
AND Tanulo.TOROLT = 'F'
--NOTE: 1. tábla - Címek
SELECT
Cim.C_IRANYITOSZAM + ', ' +
Cim.C_VAROS + ', ' +
Cim.C_KOZTERULET + ' ' +
Cim.C_KOZTERULETJELLEGENEV + ' ' +
ISNULL(Cim.C_HAZSZAM, '') AS CimText
,CimTipus.C_NAME AS CimTipus
,Cim.C_CIMTIPUSA AS CimTipusId
FROM T_CIM_OSSZES Cim
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 Cim.C_FELHASZNALOID = @pTanuloId
AND Cim.C_GONDVISELOID IS NULL
AND Cim.C_INTEZMENYID = @pIntezmenyId
AND Cim.C_TANEVID = @pTanevId
AND Cim.TOROLT = 'F'
--NOTE: 2. tábla - Email címek
SELECT DISTINCT
Email.C_EMAILCIM AS EmailCim
FROM T_EMAIL_OSSZES Email
WHERE Email.C_FELHASZNALOID = @pTanuloId
AND Email.C_INTEZMENYID = @pIntezmenyId
AND Email.C_TANEVID = @pTanevId
AND Email.C_GONDVISELOID IS NULL
AND Email.TOROLT = 'F'
--NOTE: 3. tábla - Telefonszámok
SELECT DISTINCT
Telefon.C_TELEFONSZAM AS Telefonszam
FROM T_TELEFON_OSSZES Telefon
WHERE Telefon.C_FELHASZNALOID = @pTanuloId
AND Telefon.C_INTEZMENYID = @pIntezmenyId
AND Telefon.C_TANEVID = @pTanevId
AND Telefon.C_GONDVISELOID IS NULL
AND Telefon.TOROLT = 'F'
END
GO