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

35 lines
1.8 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspListTanariHaziFeladatIdByOraId
GO
CREATE PROCEDURE uspListTanariHaziFeladatIdByOraId
@pOrarendiOraItemsListString nvarchar(max) = NULL
,@pTanitasiOraIdsListString nvarchar(max) = NULL
AS
BEGIN
SET NOCOUNT ON;
DECLARE @sql nvarchar(max)
SET @sql = N'
SELECT
haziFeladat.ID HaziFeladatId
,tanitasiOra.ID TanitasiOraId
,orarendiOra.ID OrarendiOraId
,haziFeladat.C_DATUM OraDatuma
,haziFeladat.C_LATHATOSAGIDOPONT LathatosagIdopont
FROM T_DKT_FELADAT haziFeladat
LEFT JOIN T_TANITASIORA tanitasiOra ON tanitasiOra.ID = haziFeladat.C_TANITASIORAID AND tanitasiOra.TOROLT = ''F''
LEFT JOIN T_ORARENDIORA orarendiOra ON orarendiOra.C_ORARENDIORAGROUPID = haziFeladat.C_ORARENDIORAGROUPID AND
haziFeladat.C_DATUM >= orarendiOra.C_ORAERVENYESSEGKEZDETE AND
(haziFeladat.C_DATUM < orarendiOra.C_ORAERVENYESSEGVEGE OR (haziFeladat.C_DATUM = orarendiOra.C_ORAERVENYESSEGVEGE AND haziFeladat.C_DATUM = orarendiOra.C_ORAERVENYESSEGKEZDETE)) AND
orarendiOra.TOROLT = ''F''
WHERE haziFeladat.C_FELADATTIPUSID = 0 AND
haziFeladat.TOROLT = ''F'' AND' +
IIF(@pOrarendiOraItemsListString IS NOT NULL,
' (EXISTS (SELECT 1 FROM T_ORARENDIORA WHERE ' + @pOrarendiOraItemsListString + ') OR tanitasiOra.ID IN (SELECT value FROM STRING_SPLIT(@pTanitasiOraIdsListString, '','')))',
' tanitasiOra.ID IN (SELECT value FROM STRING_SPLIT(@pTanitasiOraIdsListString, '',''))')
EXEC sp_executesql @sql, N'
@pTanitasiOraIdsListString nvarchar(max) '
,@pTanitasiOraIdsListString = @pTanitasiOraIdsListString
END
GO