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

75 lines
3.3 KiB
Transact-SQL

-- =============================================
-- Description: <Ellenőrizzuk, hogy a megadott 4T alapján szerepel-e az adatbázisban>
-- =============================================
DROP PROCEDURE IF EXISTS [dbo].[sp_Check4TValidation]
GO
CREATE PROCEDURE [dbo].[sp_Check4TValidation]
@pCheckValidationType int,
@pElotag nvarchar(255),
@pVezeteknev nvarchar(255),
@pUtonev nvarchar(255),
@pAnyjaNeve nvarchar(255) = null,
@pAnyjaVezeteknev nvarchar(255) = null,
@pAnyjaUtonev nvarchar(255) = null,
@pSzuletesiHely nvarchar(255),
@pSzuletesiDatum datetime,
@pTanevId int = null,
@pUserId int = null,
@pFelvetelStatuszaFelveve int = null,
@pFelvetelStatuszaNemFelveve int = null
AS
BEGIN
SET NOCOUNT ON;
IF (@pCheckValidationType = 1) /* Tanuló */
BEGIN
IF (@pUserId IS NOT NULL)
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
JOIN T_TANULO_OSSZES t on t.ID = f.ID
WHERE
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 f.ID != @pUserId
AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
ELSE
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
JOIN T_TANULO_OSSZES t on t.ID = f.ID
WHERE
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 f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
END
ELSE IF (@pCheckValidationType = 2) /* Alkalmazott */
BEGIN
IF (@pUserId IS NOT NULL)
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
JOIN T_ALKALMAZOTT_OSSZES a on a.ID = f.ID
WHERE
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 f.ID != @pUserId
AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
ELSE
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
JOIN T_ALKALMAZOTT_OSSZES a on a.ID = f.ID
WHERE
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 f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
END
ELSE IF (@pCheckValidationType = 3) /* Nebuló */
BEGIN
IF EXISTS (SELECT 1 FROM T_NEBULO 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 (@pUserId IS NULL OR ID != @pUserId) AND (n.C_FELVETELSTATUSZA = @pFelvetelStatuszaFelveve OR n.C_FELVETELSTATUSZA = @pFelvetelStatuszaNemFelveve) AND n.TOROLT = 'F'
AND ISNULL(n.C_ELOTAG,'') = @pElotag
)
SELECT 1
ELSE
SELECT 0
END
END
GO