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

89 lines
No EOL
3.3 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS dbo.uspGetAlkalmazottByVezetoiOraszamOk
GO
CREATE PROCEDURE [dbo].[uspGetAlkalmazottByVezetoiOraszamOk]
@pTanevId int
,@pNyomtatvanyNyelv int
AS
BEGIN
SET NOCOUNT ON;
SELECT
ROW_NUMBER() OVER (ORDER BY result.Nev, result.VezetoiOraszamOk) AS Id
,result.*
FROM
(
SELECT
f.C_NYOMTATASINEV AS Nev
,CASE @pNyomtatvanyNyelv
WHEN 2 THEN d.C_NAME_1
WHEN 1 THEN d.C_NAME_2
ELSE d.C_NAME
END AS VezetoiOraszamOk
,0 AS IsIntezmenyAdat
,IIF(LEN(C_ELOTAG) > 0, C_ELOTAG + ' ', '') + C_UTONEV + ' ' + C_VEZETEKNEV AS NevIdegenNyelven
,ISNULL(dny.C_NAME, d.C_NAME) AS VezetoiOraszamOkIdegenNyelven
FROM T_MUNKAUGYIADATOK_OSSZES ma
INNER JOIN T_FELHASZNALO_OSSZES f on f.ID = ma.C_ALKALMAZOTTID
AND f.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = ma.C_VEZETOIORASZAMOK
AND d.TOROLT = 'F'
AND d.C_TANEVID = ma.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES dny ON dny.C_DICTIONARYITEMBASEID = d.ID
AND dny.C_TANEVID = d.C_TANEVID
AND dny.C_NYELVID = @pNyomtatvanyNyelv
AND dny.TOROLT = 'F'
WHERE ma.TOROLT = 'F'
AND ma.C_TANEVID = @pTanevId
AND ma.C_VEZETOIORASZAMOK in (6572,6573,6574,7755,7757,7758)
UNION
SELECT
f.C_NYOMTATASINEV AS Nev
,CASE @pNyomtatvanyNyelv
WHEN 2 THEN d.C_NAME_1
WHEN 1 THEN d.C_NAME_2
ELSE d.C_NAME
END AS VezetoiOraszamOk
,0 AS IsIntezmenyAdat
,IIF(LEN(C_ELOTAG) > 0, C_ELOTAG + ' ', '') + C_UTONEV + ' ' + C_VEZETEKNEV AS NevIdegenNyelven
,ISNULL(dny.C_NAME, d.C_NAME) AS VezetoiOraszamOkIdegenNyelven
FROM T_TOVABBIMUNKAUGYIADATOK_OSSZES ma
INNER JOIN T_FELHASZNALO_OSSZES f on f.ID = ma.C_ALKALMAZOTTID
AND f.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = ma.C_VEZETOIORASZAMOK
AND d.TOROLT = 'F'
AND d.C_TANEVID = ma.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES dny ON dny.C_DICTIONARYITEMBASEID = d.ID
AND dny.C_TANEVID = d.C_TANEVID
AND dny.C_NYELVID = @pNyomtatvanyNyelv
AND dny.TOROLT = 'F'
WHERE ma.TOROLT = 'F'
AND ma.C_TANEVID = @pTanevId
AND ma.C_VEZETOIORASZAMOK in (6572,6573,6574,7755,7757,7758)
UNION
SELECT
ia.C_IGAZGATONEVE AS Nev
,CASE @pNyomtatvanyNyelv
WHEN 2 THEN d.C_NAME_1
WHEN 1 THEN d.C_NAME_2
ELSE d.C_NAME
END AS VezetoiOraszamOk
,1 AS IsIntezmenyAdat
,LTRIM(SUBSTRING(ia.C_IGAZGATONEVE, CHARINDEX(' ', ia.C_IGAZGATONEVE) + 1 , LEN(ia.C_IGAZGATONEVE) - CHARINDEX(' ', ia.C_IGAZGATONEVE)))
+ ' ' + LTRIM(SUBSTRING(ia.C_IGAZGATONEVE, 0, CHARINDEX(' ', ia.C_IGAZGATONEVE) + 1)) AS NevIdegenNyelven
,ISNULL(dny.C_NAME, d.C_NAME) AS VezetoiOraszamOkIdegenNyelven
FROM T_INTEZMENYADATOK_OSSZES ia
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = 7755
AND d.TOROLT = 'F'
AND d.C_TANEVID = ia.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES dny ON dny.C_DICTIONARYITEMBASEID = d.ID
AND dny.C_TANEVID = d.C_TANEVID
AND dny.C_NYELVID = @pNyomtatvanyNyelv
AND dny.TOROLT = 'F'
WHERE ia.TOROLT = 'F'
AND ia.C_TANEVID = @pTanevId
) result
END
GO