35 lines
1.8 KiB
Transact-SQL
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
|
|
|