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

136 lines
5.6 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetFelhasznaloBelepesData
GO
CREATE PROCEDURE uspGetFelhasznaloBelepesData
@pTanevId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @kovTanev bit = (SELECT IIF(C_KOVETKEZO = 'T', 1, 0) FROM T_TANEV_OSSZES WHERE ID = @pTanevId AND TOROLT = 'F')
--NOTE: Alkalmazott
SELECT
fb.ID AS Id
,fb.C_BEJELENTKEZESINEV AS BejelentkezesiNev
,IIF(fb.C_JELSZO IS NULL, 'F', 'T') AS HasJelszo
,fb.C_IMPORTALT AS Importalt
,fh.ID AS FelhasznaloId
,fh.C_NEVSORREND AS FelhasznaloNevsorrend
,fh.C_ELOTAG AS FelhasznaloElotag
,fh.C_VEZETEKNEV AS FelhasznaloVezeteknev
,fh.C_UTONEV AS FelhasznaloKeresztnev
,fh.C_SZULETESIHELY AS FelhasznaloSzuletesiHely
,fh.C_SZULETESIDATUM AS FelhasznaloSzuletesiIdo
,fh.C_ANYJANEVESORREND AS AnyjaNeveNevsorrend
,fh.C_ANYJANEVEELOTAG AS AnyjaNeveElotag
,fh.C_ANYJAVEZETEKNEVE AS AnyjaVezetekneve
,fh.C_ANYJAUTONEVE AS AnyjaUtoneve
,fh.C_OKTATASIAZONOSITO AS FelhasznaloOktatasiAzonosito
,a.ID AS AlkalmazottId
,NULL AS TanuloId
,NULL AS GondviseloId
,NULL AS GondviseloNev
,NULL AS GondviseloRokonsagiFokId
,NULL AS Osztalynev
FROM T_ALKALMAZOTT_OSSZES a
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = a.ID AND fh.C_TANEVID = a.C_ALTANEVID AND fh.TOROLT = 'F'
LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb ON fb.C_FELHASZNALOID = fh.ID AND fb.C_GONDVISELOID IS NULL AND fb.C_TANEVID = a.C_ALTANEVID AND fb.TOROLT = 'F'
WHERE a.C_ALTANEVID = @pTanevId
AND a.TOROLT = 'F'
UNION
--NOTE: Tanuló
SELECT
fb.ID AS Id
,fb.C_BEJELENTKEZESINEV AS BejelentkezesiNev
,IIF(fb.C_JELSZO IS NULL, 'F', 'T') AS HasJelszo
,fb.C_IMPORTALT AS Importalt
,fh.ID AS FelhasznaloId
,fh.C_NEVSORREND AS FelhasznaloNevsorrend
,fh.C_ELOTAG AS FelhasznaloElotag
,fh.C_VEZETEKNEV AS FelhasznaloVezeteknev
,fh.C_UTONEV AS FelhasznaloKeresztnev
,fh.C_SZULETESIHELY AS FelhasznaloSzuletesiHely
,fh.C_SZULETESIDATUM AS FelhasznaloSzuletesiIdo
,fh.C_ANYJANEVESORREND AS AnyjaNeveNevsorrend
,fh.C_ANYJANEVEELOTAG AS AnyjaNeveElotag
,fh.C_ANYJAVEZETEKNEVE AS AnyjaVezetekneve
,fh.C_ANYJAUTONEVE AS AnyjaUtoneve
,fh.C_OKTATASIAZONOSITO AS FelhasznaloOktatasiAzonosito
,NULL AS AlkalmazottId
,dk.ID AS TanuloId
,NULL AS GondviseloId
,NULL AS GondviseloNev
,NULL AS GondviseloRokonsagiFokId
,NULL AS Osztalynev
FROM T_TANULO_OSSZES dk
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = dk.ID AND fh.C_TANEVID = dk.C_ALTANEVID AND fh.TOROLT = 'F'
LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb ON fb.C_FELHASZNALOID = fh.ID AND fb.C_GONDVISELOID IS NULL AND fb.C_TANEVID = dk.C_ALTANEVID AND fb.TOROLT = 'F'
WHERE dk.C_ALTANEVID = @pTanevId
AND dk.TOROLT = 'F'
UNION
--NOTE: Gondviselő
SELECT
fb.ID AS Id
,fb.C_BEJELENTKEZESINEV AS BejelentkezesiNev
,IIF(fb.C_JELSZO IS NULL, 'F', 'T') AS HasJelszo
,fb.C_IMPORTALT AS Importalt
,fh.ID AS FelhasznaloId
,fh.C_NEVSORREND AS FelhasznaloNevsorrend
,fh.C_ELOTAG AS FelhasznaloElotag
,fh.C_VEZETEKNEV AS FelhasznaloVezeteknev
,fh.C_UTONEV AS FelhasznaloKeresztnev
,fh.C_SZULETESIHELY AS FelhasznaloSzuletesiHely
,fh.C_SZULETESIDATUM AS FelhasznaloSzuletesiIdo
,fh.C_ANYJANEVESORREND AS AnyjaNeveNevsorrend
,fh.C_ANYJANEVEELOTAG AS AnyjaNeveElotag
,fh.C_ANYJAVEZETEKNEVE AS AnyjaVezetekneve
,fh.C_ANYJAUTONEVE AS AnyjaUtoneve
,fh.C_OKTATASIAZONOSITO AS FelhasznaloOktatasiAzonosito
,NULL AS AlkalmazottId
,dk.ID AS TanuloId
,g.ID AS GondviseloId
,g.C_NEV AS GondviseloNev
,g.C_ROKONSAGFOKA AS GondviseloRokonsagiFokId
,Osztaly.OsztalyNev AS Osztalynev
FROM T_GONDVISELO_OSSZES g
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = g.C_TANULOID AND fh.C_TANEVID = g.C_TANEVID AND fh.TOROLT = 'F'
INNER JOIN T_TANULO_OSSZES dk ON dk.ID = g.C_TANULOID AND dk.C_ALTANEVID = g.C_TANEVID AND dk.TOROLT = 'F'
LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb ON fb.C_FELHASZNALOID = fh.ID AND fb.C_GONDVISELOID = g.ID AND fb.C_TANEVID = g.C_TANEVID AND fb.TOROLT = 'F'
CROSS APPLY dbo.fnGetTanuloOsztalyString(g.C_TANULOID, NULL, NULL, 1, @kovTanev, NULL) AS osztaly
WHERE g.C_TANEVID = @pTanevId
AND g.TOROLT = 'F'
UNION
--NOTE: Egyéb(fenntartó, admin, stb...)
SELECT
fb.ID AS Id
,fb.C_BEJELENTKEZESINEV AS BejelentkezesiNev
,IIF(fb.C_JELSZO IS NULL, 'F', 'T') AS HasJelszo
,fb.C_IMPORTALT AS Importalt
,fh.ID AS FelhasznaloId
,fh.C_NEVSORREND AS FelhasznaloNevsorrend
,fh.C_ELOTAG AS FelhasznaloElotag
,fh.C_VEZETEKNEV AS FelhasznaloVezeteknev
,fh.C_UTONEV AS FelhasznaloKeresztnev
,fh.C_SZULETESIHELY AS FelhasznaloSzuletesiHely
,fh.C_SZULETESIDATUM AS FelhasznaloSzuletesiIdo
,fh.C_ANYJANEVESORREND AS AnyjaNeveNevsorrend
,fh.C_ANYJANEVEELOTAG AS AnyjaNeveElotag
,fh.C_ANYJAVEZETEKNEVE AS AnyjaVezetekneve
,fh.C_ANYJAUTONEVE AS AnyjaUtoneve
,fh.C_OKTATASIAZONOSITO AS FelhasznaloOktatasiAzonosito
,NULL AS AlkalmazottId
,NULL AS TanuloId
,NULL AS GondviseloId
,NULL AS GondviseloNev
,NULL AS GondviseloRokonsagiFokId
,NULL AS Osztalynev
FROM T_FELHASZNALO_OSSZES fh
LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb ON fb.C_FELHASZNALOID = fh.ID AND fb.C_GONDVISELOID IS NULL AND fb.C_TANEVID = fh.C_TANEVID AND fb.TOROLT = 'F'
WHERE NOT EXISTS (SELECT ID FROM T_TANULO_OSSZES dk WHERE dk.ID = fh.ID AND dk.C_ALTANEVID = fh.C_TANEVID AND dk.TOROLT = 'F')
AND NOT EXISTS (SELECT ID FROM T_ALKALMAZOTT_OSSZES a WHERE a.ID = fh.ID AND a.C_ALTANEVID = fh.C_TANEVID AND a.TOROLT = 'F')
AND fh.C_TANEVID = @pTanevId
AND fh.TOROLT = 'F'
END
GO