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

62 lines
2.2 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS [dbo].[sp_GetTanuloiGondviseloAdatok]
GO
CREATE PROCEDURE [dbo].[sp_GetTanuloiGondviseloAdatok]
@pTanuloId INT
,@pTanevId INT
,@pIntezmenyId INT
AS
BEGIN
SET NOCOUNT ON;
--NOTE: 0. tábla - Gondviselo adatok
SELECT
g.ID AS GondviseloId
,g.C_NEV AS GondviseloNeve
,g.C_ISTORVENYESKEPVISELO TorvenyesKepviselo
,utolsoBelepes.UtolsoBelepes
,utolsoBelepes.UtolsoBelepesMobil
,e.C_EMAILCIM AS EmailCim
,t.C_TELEFONSZAM AS Telefonszam
FROM T_GONDVISELO_OSSZES g
LEFT JOIN T_EMAIL_OSSZES e ON e.C_GONDVISELOID = g.ID AND e.TOROLT = 'F' AND e.C_ALAPERTELMEZETT = 'T'
LEFT JOIN T_TELEFON_OSSZES t ON t.C_GONDVISELOID = g.ID AND t.TOROLT = 'F' AND t.C_ALAPERTELMEZETT = 'T'
OUTER APPLY (
SELECT
MAX(CASE WHEN C_IDP IN ('F', '_') THEN C_UTOLSOBELEPES END) AS UtolsoBelepes,
MAX(CASE WHEN C_IDP IN ('T', '_') THEN C_UTOLSOBELEPESMOBIL END) AS UtolsoBelepesMobil
FROM (
SELECT C_GONDVISELOID, C_FELHASZNALOID, C_TANEVID, '_' C_IDP, C_UTOLSOBELEPES, C_UTOLSOBELEPESMOBIL
FROM T_FELHASZNALOBELEPES_OSSZES
WHERE TOROLT = 'F'
AND C_BEJELENTKEZESINEV <> 'KRETA_TECHNICAL_FORI'
UNION ALL
SELECT C_GONDVISELOID, C_FELHASZNALOID, C_TANEVID, C_IDP, C_LASTACTIVITY, C_LASTACTIVITY
FROM T_FELHASZNALOBELEPESTORTENET_OSSZES
) b
WHERE b.C_GONDVISELOID = g.ID
AND b.C_FELHASZNALOID = g.C_TANULOID
AND b.C_TANEVID = g.C_TANEVID
) utolsoBelepes
WHERE g.C_TANULOID = @pTanuloId AND g.TOROLT = 'F'
--NOTE: 1. tábla - Gondviselo címek
SELECT
g.ID AS GondviseloId
,CONCAT(c.C_IRANYITOSZAM, ', ', c.C_VAROS, ', ', c.C_KOZTERULET, ' ', c.C_KOZTERULETJELLEGENEV, c.C_HAZSZAM) AS CimText
,dibCTip.C_NAME AS CimTipus
,c.C_CIMTIPUSA AS CimTipusId
FROM T_GONDVISELO_OSSZES g
LEFT JOIN T_CIM_OSSZES c ON c.C_GONDVISELOID = g.ID AND c.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dibCTip ON dibCTip.ID = c.C_CIMTIPUSA
AND dibCTip.C_TANEVID = @pTanevId
AND dibCTip.TOROLT = 'F'
AND dibCTip.C_INTEZMENYID=@pIntezmenyId
WHERE g.C_TANULOID = @pTanuloId
AND g.TOROLT = 'F'
END
GO