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

131 lines
5.6 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetGondviseloAdatokEugyintezes
GO
CREATE PROCEDURE uspGetGondviseloAdatokEugyintezes
@pFelhasznaloId INT
,@pSzerepkorTipusEnumNaplo INT
,@pOktNevKatTipusNevOkt INT
,@pTanevId INT
AS
BEGIN
SET NOCOUNT ON;
SELECT Gondviselo.ID AS KretaAzonosito
,Gondviselo.C_NEV AS GondviseloNev
,Email.C_EMAILCIM AS EmailCim
,Felhasznalo.C_NYOMTATASINEV AS TanuloNev
,Felhasznalo.C_OKTATASIAZONOSITO AS TanuloOktatasiAzonosito
,Felhasznalo.ID AS TanuloId
,RokonsagiFokDictionary.C_NAME AS RokonsagiFok
,IIF(Gondviselo.C_ISTORVENYESKEPVISELO = 'T', 1, 0) AS IsTorvenyesKepviselo
,(
SELECT Osztaly.ID
FROM T_OSZTALY_OSSZES Osztaly
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID
AND OsztalyCsoport.TOROLT = 'F'
AND OsztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipusNevOkt
WHERE Osztaly.C_SZMKKEPVISELOHELYETTESID = Gondviselo.ID
AND Osztaly.TOROLT = 'F'
) AS SZMKOsztalyHelyettesKretaAzonosito
,(
SELECT OsztalyCsoport.C_NEV
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = OsztalyCsoport.ID
AND Osztaly.TOROLT = 'F'
WHERE Osztaly.C_SZMKKEPVISELOHELYETTESID = Gondviselo.ID
AND OsztalyCsoport.TOROLT = 'F'
AND OsztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipusNevOkt
) AS SZMKOsztalyHelyettes
,(
SELECT Osztaly.ID
FROM T_OSZTALY_OSSZES Osztaly
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID
AND OsztalyCsoport.TOROLT = 'F'
AND OsztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipusNevOkt
WHERE Osztaly.C_SZMKKEPVISELOID = Gondviselo.ID
AND Osztaly.TOROLT = 'F'
) AS SZMKOsztalyKretaAzonosito
,(
SELECT OsztalyCsoport.C_NEV
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = OsztalyCsoport.ID
AND Osztaly.TOROLT = 'F'
WHERE Osztaly.C_SZMKKEPVISELOID = Gondviselo.ID
AND OsztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipusNevOkt
AND OsztalyCsoport.TOROLT = 'F'
) AS SZMKOsztaly
,(
SELECT TOP 1 OsztalyCsoport.ID
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID
AND Osztaly.C_ALTANEVID = TanuloCsoport.C_TANEVID
AND Osztaly.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID
AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
AND OsztalyCsoport.TOROLT = 'F'
WHERE TanuloCsoport.C_TANULOID = Gondviselo.C_TANULOID
AND TanuloCsoport.TOROLT = 'F'
) AS TanuloOsztalyKretaAzonosito
,(
SELECT TOP 1 OsztalyCsoport.C_NEV
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID
AND Osztaly.C_ALTANEVID = TanuloCsoport.C_TANEVID
AND Osztaly.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID
AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
AND OsztalyCsoport.TOROLT = 'F'
WHERE TanuloCsoport.C_TANULOID = Gondviselo.C_TANULOID
AND TanuloCsoport.TOROLT = 'F'
) AS TanuloOsztaly
,IIF((
SELECT Osztaly.ID
FROM T_OSZTALY_OSSZES Osztaly
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID
AND OsztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipusNevOkt
AND OsztalyCsoport.TOROLT = 'F'
WHERE Osztaly.C_SZMKKEPVISELOID = Gondviselo.ID
AND Osztaly.TOROLT = 'F'
) IS NOT NULL, 1, 0) AS IsSZMK
,IIF((
SELECT Osztaly.ID
FROM T_OSZTALY_OSSZES Osztaly
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID
AND OsztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipusNevOkt
AND OsztalyCsoport.TOROLT = 'F'
WHERE Osztaly.C_SZMKKEPVISELOHELYETTESID = Gondviselo.ID
AND Osztaly.TOROLT = 'F'
) IS NOT NULL, 1, 0) AS IsSZMKHelyettes
,Gondviselo.C_EGYEDIAZONOSITO AS EgyediAzonosito
,Gondviselo.C_IDPEGYEDIAZONOSITO AS IdpEgyediAzonosito
FROM T_GONDVISELO_OSSZES Gondviselo
LEFT JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON Gondviselo.C_TANULOID = TanuloCsoport.C_TANULOID
AND TanuloCsoport.TOROLT = 'F'
AND TanuloCsoport.C_BELEPESDATUM <= (
SELECT IIF(GETDATE() < C_ELSOTANITASINAP, C_ELSOTANITASINAP, GETDATE())
FROM T_TANEV_OSSZES
WHERE C_AKTIV = 'T'
AND TOROLT = 'F'
AND C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
)
AND (
TanuloCsoport.C_KILEPESDATUM IS NULL
OR TanuloCsoport.C_KILEPESDATUM > GETDATE()
)
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
AND OsztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipusNevOkt
AND OsztalyCsoport.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFokDictionary ON RokonsagiFokDictionary.ID = Gondviselo.C_ROKONSAGFOKA
AND RokonsagiFokDictionary.TOROLT = 'F'
LEFT JOIN T_EMAIL_OSSZES Email ON Email.C_GONDVISELOID = Gondviselo.ID
AND Email.TOROLT = 'F'
AND Email.C_ALAPERTELMEZETT = 'T'
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Gondviselo.C_TANULOID
AND Felhasznalo.TOROLT = 'F'
WHERE Gondviselo.TOROLT = 'F'
AND Gondviselo.ID = @pFelhasznaloId
AND RokonsagiFokDictionary.C_TANEVID = @pTanevId
--AND Gondviselo.C_TANEVID = @pTanevId
END
GO