85 lines
3.7 KiB
Transact-SQL
85 lines
3.7 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[uspCheck4TFelhOktAzonValidation]
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[uspCheck4TFelhOktAzonValidation]
|
|
@pCheckValidationType int
|
|
,@pElotag nvarchar(255) = null
|
|
,@pVezeteknev nvarchar(255) = null
|
|
,@pUtonev nvarchar(255) = null
|
|
,@pAnyjaNeve nvarchar(255) = null
|
|
,@pAnyjaVezeteknev nvarchar(255) = null
|
|
,@pAnyjaUtonev nvarchar(255) = null
|
|
,@pSzuletesiHely nvarchar(255) = null
|
|
,@pSzuletesiDatum datetime = null
|
|
,@pTanevIds nvarchar(MAX) = null
|
|
,@pFelvetelStatuszaFelveve int = null
|
|
,@pFelvetelStatuszaNemFelveve int = null
|
|
,@pOktatasiAzonosito nvarchar(255) = null
|
|
,@pBejelentkezesiNev nvarchar(255) = null
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
DECLARE @sql nvarchar(max) = N'', @partialSql nvarchar(max) = N''
|
|
IF (@pCheckValidationType = 1 OR @pCheckValidationType = 2) /* 1 - Tanuló *//* 2 - Alkalmazott */
|
|
BEGIN
|
|
SET @sql = N'
|
|
SELECT
|
|
fb.C_BEJELENTKEZESINEV
|
|
,fb.C_GONDVISELOID
|
|
,' + CAST(@pCheckValidationType AS char(1)) + ' As ValidationType
|
|
,f.*
|
|
FROM T_FELHASZNALO_OSSZES f
|
|
LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb on fb.C_FELHASZNALOID = f.ID AND f.TOROLT = ''F'''+
|
|
IIF(@pCheckValidationType = 1 , ' LEFT JOIN T_TANULO_OSSZES t ON t.ID = f.ID AND t.TOROLT = ''F''','') +
|
|
IIF(@pCheckValidationType = 2 , ' LEFT JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = f.ID AND a.TOROLT = ''F''','') +
|
|
'WHERE f.TOROLT = ''F'''
|
|
IF(@pTanevIds IS NOT NULL) BEGIN SET @sql += ' AND f.C_TANEVID IN ('+ @pTanevIds + ')' END
|
|
IF(@pBejelentkezesiNev IS NOT NULL) BEGIN SET @partialSql += IIF(LEN(@partialSql) > 0,' OR ','')+' fb.C_BEJELENTKEZESINEV = @pBejelentkezesiNev ' END
|
|
IF(@pOktatasiAzonosito IS NOT NULL) BEGIN SET @partialSql += IIF(LEN(@partialSql) > 0,' OR ','')+' f.C_OKTATASIAZONOSITO = @pOktatasiAzonosito ' END
|
|
IF(@pVezeteknev IS NOT NULL AND @pUtonev IS NOT NULL AND @pAnyjaNeve IS NOT NULL AND @pSzuletesiHely IS NOT NULL AND @pSzuletesiDatum IS NOT NULL)
|
|
BEGIN
|
|
SET @partialSql += IIF(LEN(@partialSql) > 0, ' OR ','')+'(f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
|
|
AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum
|
|
AND ISNULL(f.C_ELOTAG,'''') = ISNULL(@pElotag,'''')) '
|
|
END
|
|
SET @sql += 'AND ( '+ @partialSql +' )'
|
|
|
|
EXEC sp_executesql
|
|
@sql,N'
|
|
@pElotag nvarchar(255) = null
|
|
,@pVezeteknev nvarchar(255) = null
|
|
,@pUtonev nvarchar(255) = null
|
|
,@pAnyjaNeve nvarchar(255) = null
|
|
,@pAnyjaVezeteknev nvarchar(255) = null
|
|
,@pAnyjaUtonev nvarchar(255) = null
|
|
,@pSzuletesiHely nvarchar(255) = null
|
|
,@pSzuletesiDatum datetime = null
|
|
,@pOktatasiAzonosito nvarchar(255) = null
|
|
,@pBejelentkezesiNev nvarchar(255) = null'
|
|
,@pElotag = @pElotag
|
|
,@pVezeteknev = @pVezeteknev
|
|
,@pUtonev = @pUtonev
|
|
,@pAnyjaNeve = @pAnyjaNeve
|
|
,@pAnyjaVezeteknev = @pAnyjaVezeteknev
|
|
,@pAnyjaUtonev = @pAnyjaUtonev
|
|
,@pSzuletesiHely = @pSzuletesiHely
|
|
,@pSzuletesiDatum = @pSzuletesiDatum
|
|
,@pOktatasiAzonosito = @pOktatasiAzonosito
|
|
,@pBejelentkezesiNev = @pBejelentkezesiNev
|
|
END
|
|
ELSE IF (@pCheckValidationType = 3) /* Nebuló */
|
|
BEGIN
|
|
SELECT
|
|
ID
|
|
,3 As ValidationType
|
|
FROM T_NEBULO_OSSZES n
|
|
WHERE
|
|
n.C_TANULOCSALADINEVE = @pVezeteknev AND n.C_TANULOUTONEVE = @pUtonev
|
|
AND n.C_EDESANYJASZULETESICSALADINEV = @pAnyjaVezeteknev AND n.C_EDESANYJASZULETESIUTONEVE = @pAnyjaUtonev
|
|
AND n.C_SZULETESIHELY = @pSzuletesiHely AND n.C_SZULETESIIDO = @pSzuletesiDatum
|
|
AND (n.C_FELVETELSTATUSZA = @pFelvetelStatuszaFelveve OR n.C_FELVETELSTATUSZA = @pFelvetelStatuszaNemFelveve) AND n.TOROLT = 'F'
|
|
AND ISNULL(n.C_ELOTAG,'') = @pElotag
|
|
END
|
|
|
|
END
|
|
GO
|