91 lines
No EOL
4 KiB
Transact-SQL
91 lines
No EOL
4 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspTanuloKeresesForSzervezet
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[uspTanuloKeresesForSzervezet]
|
|
@pDatum DATETIME = NULL
|
|
,@pIntezmenyId INT
|
|
,@pTanevId INT
|
|
,@pTanuloNeve NVARCHAR(255) = NULL
|
|
,@pSzuletesiIdoKezdet DATETIME = NULL
|
|
,@pSzuletesiIdoVeg DATETIME = NULL
|
|
,@pSzuletesiHely NVARCHAR(50) = NULL
|
|
,@pOktatasiAzonosito NVARCHAR(20) = NULL
|
|
,@pOsztalyCsoportId INT = NULL
|
|
,@pAnyjaNeve NVARCHAR(64) = NULL
|
|
,@pSzervezetId INT = NULL
|
|
,@pSzervezetNev NVARCHAR(250) = NULL
|
|
,@pSzervezetAzonosito NVARCHAR(250) = NULL
|
|
,@pSzervezetekHalmaza INT
|
|
|
|
AS BEGIN
|
|
SET NOCOUNT ON
|
|
DECLARE @sql nvarchar(max);
|
|
SET @sql = N'
|
|
SELECT
|
|
fh.ID AS TanuloId
|
|
,fh.C_NYOMTATASINEV AS TanuloNeve
|
|
,fh.C_SZULETESIHELY AS SzuletesiHely
|
|
,fh.C_SZULETESIDATUM AS SzuletesiIdo
|
|
,tcs.C_OSZTALYCSOPORTID AS OsztalyCsoportId
|
|
,sz.C_NEV AS SzervezetNev
|
|
,sz.C_AZONOSITO AS SzervezetAzonosito
|
|
,IIF(fh.C_NEVSORREND = ''T'',
|
|
fh.C_UTONEV + '' '' + fh.C_VEZETEKNEV,
|
|
fh.C_VEZETEKNEV + '' '' + fh.C_UTONEV) AS TanuloNeveElotagNelkul
|
|
,fh.c_anyjaneve AS AnyjaNeve
|
|
,fh.C_OKTATASIAZONOSITO AS OktatasiAzonosito
|
|
,STUFF((SELECT '','' + ocs2.C_NEV
|
|
FROM T_OSZTALYCSOPORT_OSSZES ocs2
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs2 ON tcs2.C_OSZTALYCSOPORTID=ocs2.ID AND tcs.C_TANULOID = tcs2.C_TANULOID AND tcs2.TOROLT = ''F''
|
|
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs2.ID AND cs.C_SZERVEZETID = tta.C_SZERVEZETID AND cs.TOROLT = ''F''
|
|
WHERE ocs2.TOROLT = ''F''' + IIF(@pOsztalyCsoportId IS NOT NULL , N' AND ocs2.ID = @pOsztalyCsoportId ', '') +
|
|
N' FOR XML PATH(''''), TYPE).value(''.'', ''varchar(max)''),1,1,'''') as Osztaly
|
|
FROM T_TANULOTANUGYIADATOK_OSSZES tta
|
|
INNER JOIN (
|
|
T_SZERVEZET_OSSZES sz
|
|
INNER JOIN (
|
|
SELECT ID FROM dbo.fnGetLathatoSzervezetek(@pIntezmenyId, @pTanevId, @pSzervezetId, @pSzervezetekHalmaza)
|
|
) AS lathato ON lathato.ID = sz.ID
|
|
) ON sz.ID = tta.C_SZERVEZETID AND sz.C_TANEVID = tta.C_TANEVID AND sz.TOROLT = ''F''
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tta.C_TANULOCSOPORTID = tcs.ID AND tcs.C_TANEVID = tta.C_TANEVID AND tcs.TOROLT = ''F''
|
|
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = tcs.C_TANULOID AND fh.C_TANEVID = tcs.C_TANEVID AND fh.TOROLT = ''F''
|
|
WHERE tta.C_TANEVID = @pTanevId AND tta.TOROLT = ''F'''
|
|
+ IIF(@pTanuloNeve <> '', ' AND fh.C_NYOMTATASINEV LIKE ''%'' + @pTanuloNeve + ''%'' ', '') +
|
|
+ IIF(@pSzuletesiIdoKezdet IS NOT NULL, ' AND fh.C_SZULETESIDATUM >= @pSzuletesiIdoKezdet ', '') +
|
|
+ IIF(@pSzuletesiIdoVeg IS NOT NULL, ' AND fh.C_SZULETESIDATUM <= @pSzuletesiIdoVeg ', '') +
|
|
+ IIF(@pSzervezetNev <> '', ' AND sz.C_NEV LIKE ''%'' + @pSzervezetNev + ''%'' ', '') +
|
|
+ IIF(@pSzervezetAzonosito <> '', ' AND sz.C_AZONOSITO LIKE ''%'' + @pSzervezetAzonosito + ''%'' ', '') +
|
|
+ IIF(@pAnyjaNeve <> '', ' AND fh.C_ANYJANEVE LIKE ''%'' + @pAnyjaNeve + ''%'' ', '') +
|
|
+ IIF(@pSzuletesiHely <> '', ' AND fh.C_SZULETESIHELY LIKE ''%'' + @pSzuletesiHely + ''%'' ', '') +
|
|
+ IIF(@pOktatasiAzonosito <> '',' AND fh.C_OKTATASIAZONOSITO LIKE ''%'' + @pOktatasiAzonosito + ''%'' ', '')
|
|
|
|
EXEC sp_executesql @sql, N'
|
|
@pTanevId INT
|
|
,@pTanuloNeve NVARCHAR(255) = NULL
|
|
,@pSzuletesiIdoKezdet DATETIME = NULL
|
|
,@pSzuletesiIdoVeg DATETIME = NULL
|
|
,@pSzuletesiHely NVARCHAR(50) = NULL
|
|
,@pOktatasiAzonosito NVARCHAR(20) = NULL
|
|
,@pOsztalyCsoportId INT = NULL
|
|
,@pAnyjaNeve NVARCHAR(64) = NULL
|
|
,@pSzervezetId INT = NULL
|
|
,@pSzervezetNev NVARCHAR(250) = NULL
|
|
,@pSzervezetAzonosito NVARCHAR(250) = NULL
|
|
,@pSzervezetekHalmaza INT
|
|
,@pIntezmenyId INT'
|
|
,@pTanevId = @pTanevId
|
|
,@pTanuloNeve = @pTanuloNeve
|
|
,@pSzuletesiIdoKezdet = @pSzuletesiIdoKezdet
|
|
,@pSzuletesiIdoVeg = @pSzuletesiIdoVeg
|
|
,@pSzuletesiHely = @pSzuletesiHely
|
|
,@pOktatasiAzonosito = @pOktatasiAzonosito
|
|
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
|
,@pAnyjaNeve = @pAnyjaNeve
|
|
,@pSzervezetId = @pSzervezetId
|
|
,@pSzervezetNev = @pSzervezetNev
|
|
,@pSzervezetAzonosito = @pSzervezetAzonosito
|
|
,@pSzervezetekHalmaza = @pSzervezetekHalmaza
|
|
,@pIntezmenyId = @pIntezmenyId
|
|
|
|
END
|
|
GO |