136 lines
No EOL
4.3 KiB
Transact-SQL
136 lines
No EOL
4.3 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[sp_GetKozossegiSzolgalatokReszletek]
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Description: <Előszedjük a tanuló közösségi szolgálatait részletesen>
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[sp_GetKozossegiSzolgalatokReszletek]
|
|
@pIntezmenyId int
|
|
,@pTanevId int
|
|
,@pTanuloId int = NULL
|
|
,@pTanarId int = NULL
|
|
,@pToroltElemek char = 'F'
|
|
,@pIntervallumKezdete datetime = NULL
|
|
,@pIntervallumVege datetime = NULL
|
|
,@pTeljesitesHelye nvarchar(100) = NULL
|
|
,@pOraszam int = NULL
|
|
,@pTanuloNev nvarchar(100) = NULL
|
|
,@pOsztalyNev nvarchar(100) = NULL
|
|
,@pKozossegiSzolgalatTipusa int = NULL
|
|
AS BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE
|
|
@sql nvarchar(max)
|
|
,@selectSql nvarchar(max)
|
|
,@whereSql nvarchar(max)
|
|
,@orderSql nvarchar(max)
|
|
|
|
|
|
SET @selectSql = N'
|
|
SELECT
|
|
KozossegiSzolgalat.ID AS ID
|
|
,KozossegiSzolgalat.C_INTERVALLUMKEZDETE AS IntervallumKezdete
|
|
,KozossegiSzolgalat.C_INTERVALLUMVEGE AS IntervallumVege
|
|
,KozossegiSzolgalat.C_ROGZITESDATUM AS RogzitesDatuma
|
|
,KozossegiSzolgalat.C_TELJESITESIHELYE AS TeljesitesiHelye
|
|
,KozossegiSzolgalat.C_ORASZAM AS Oraszam
|
|
,KozossegiSzolgalat.C_KOZOSSEGISZOLGALATTIPUSA AS KozossegiSzolgalatTipusa
|
|
,KozossegiSzolgalat.C_MEGJEGYZES AS Megjegyzes
|
|
,KozossegiSzolgalat.TOROLT AS Torolt
|
|
,KozossegiSzolgalat.C_TANULOID AS TanuloId
|
|
,Tanulo.C_NYOMTATASINEV AS TanuloNev
|
|
,ocs.C_NEV AS OsztalyNev
|
|
,KozossegiSzolgalat.C_UGYIRATSZAM AS Ugyiratszam
|
|
,CASE
|
|
WHEN KozossegiSzolgalat.C_FELJEGYZOID = @pTanarId AND @pToroltElemek = ''T''
|
|
THEN ''T''
|
|
ELSE ''F''
|
|
END AS Modosithato
|
|
FROM T_TANULOKOZOSSEGISZOLGALAT_OSSZES KozossegiSzolgalat
|
|
INNER JOIN T_FELHASZNALO_OSSZES Tanulo ON KozossegiSzolgalat.C_TANULOID = Tanulo.ID AND Tanulo.TOROLT = ''F''
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = KozossegiSzolgalat.C_TANULOID AND tcs.TOROLT = ''F''
|
|
INNER JOIN T_OSZTALY_OSSZES o ON tcs.C_OSZTALYCSOPORTID = o.ID AND o.TOROLT = ''F''
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = ''F''
|
|
'
|
|
|
|
SET @whereSql = N'
|
|
WHERE KozossegiSzolgalat.C_INTEZMENYID = @pIntezmenyId
|
|
AND KozossegiSzolgalat.TOROLT = IIF(@pToroltElemek = ''T'', KozossegiSzolgalat.TOROLT, ''F'')'
|
|
|
|
IF @pTanuloId IS NOT NULL BEGIN
|
|
SET @whereSql += N'
|
|
AND KozossegiSzolgalat.C_TANULOID = @pTanuloId'
|
|
END
|
|
|
|
IF @pIntervallumKezdete IS NOT NULL BEGIN
|
|
SET @whereSql += N'
|
|
AND KozossegiSzolgalat.C_INTERVALLUMKEZDETE >= @pIntervallumKezdete'
|
|
END
|
|
|
|
IF @pIntervallumVege IS NOT NULL BEGIN
|
|
SET @whereSql += N'
|
|
AND KozossegiSzolgalat.C_INTERVALLUMVEGE <= @pIntervallumVege'
|
|
END
|
|
|
|
IF @pTeljesitesHelye IS NOT NULL BEGIN
|
|
SET @whereSql += N'
|
|
AND KozossegiSzolgalat.C_TELJESITESIHELYE = @pTeljesitesHelye'
|
|
END
|
|
|
|
IF @pOraszam IS NOT NULL BEGIN
|
|
SET @whereSql += N'
|
|
AND KozossegiSzolgalat.C_ORASZAM = @pOraszam'
|
|
END
|
|
|
|
IF @pKozossegiSzolgalatTipusa IS NOT NULL BEGIN
|
|
SET @whereSql += N'
|
|
AND KozossegiSzolgalat.C_KOZOSSEGISZOLGALATTIPUSA = @pKozossegiSzolgalatTipusa'
|
|
END
|
|
|
|
IF @pTanuloNev IS NOT NULL BEGIN
|
|
SET @whereSql += N'
|
|
AND Tanulo.C_NYOMTATASINEV = @pTanuloNev'
|
|
END
|
|
|
|
IF @pOsztalyNev IS NOT NULL BEGIN
|
|
SET @whereSql += N'
|
|
AND ocs.C_NEV = @pOsztalyNev'
|
|
END
|
|
|
|
|
|
SET @orderSql = N'
|
|
ORDER BY KozossegiSzolgalat.C_INTERVALLUMKEZDETE DESC'
|
|
|
|
|
|
SET @sql = @selectSql + @whereSql + @orderSql
|
|
|
|
|
|
EXEC sp_executesql @sql, N'
|
|
@pIntezmenyId int
|
|
,@pTanevId int
|
|
,@pTanuloId int = NULL
|
|
,@pTanarId int = NULL
|
|
,@pToroltElemek char
|
|
,@pIntervallumKezdete datetime = NULL
|
|
,@pIntervallumVege datetime = NULL
|
|
,@pTeljesitesHelye nvarchar(100) = NULL
|
|
,@pOraszam int = NULL
|
|
,@pTanuloNev nvarchar(100) = NULL
|
|
,@pOsztalyNev nvarchar(100) = NULL
|
|
,@pKozossegiSzolgalatTipusa int = NULL'
|
|
,@pIntezmenyId = @pIntezmenyId
|
|
,@pTanevId = @pTanevId
|
|
,@pTanuloId = @pTanuloId
|
|
,@pTanarId = @pTanarId
|
|
,@pToroltElemek = @pToroltElemek
|
|
,@pIntervallumKezdete = @pIntervallumKezdete
|
|
,@pIntervallumVege = @pIntervallumVege
|
|
,@pTeljesitesHelye = @pTeljesitesHelye
|
|
,@pOraszam = @pOraszam
|
|
,@pTanuloNev = @pTanuloNev
|
|
,@pOsztalyNev = @pOsztalyNev
|
|
,@pKozossegiSzolgalatTipusa = @pKozossegiSzolgalatTipusa
|
|
|
|
END
|
|
GO |