119 lines
4.5 KiB
Transact-SQL
119 lines
4.5 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetKozossegiSzolgalatokExportData
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetKozossegiSzolgalatokExportData
|
|
@pIntezmenyId int
|
|
,@pOsztalyCsoportIdList nvarchar(max)
|
|
,@pTanuloIds nvarchar(max) = NULL
|
|
,@pIntervallumKezdete datetime = NULL
|
|
,@pIntervallumVege datetime = NULL
|
|
,@pTeljesitesHelye nvarchar(100) = NULL
|
|
,@pKozossegiSzolgalatTipusa int = NULL
|
|
,@pOsszesOraszamKezdete int = NULL
|
|
,@pOsszesOraszamVege int = NULL
|
|
,@pTanuloNev nvarchar(250) = NULL
|
|
,@pAnyjaNeve nvarchar(250) = NULL
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE
|
|
@sql nvarchar(max)
|
|
,@selectSql nvarchar(max)
|
|
,@whereSql nvarchar(max)
|
|
,@orderSql nvarchar(max)
|
|
,@OktatasiAzonosito nvarchar (20)
|
|
|
|
SET @selectSql = N'
|
|
DROP TABLE IF EXISTS #OsszesitoTabla
|
|
CREATE TABLE #OsszesitoTabla (
|
|
ID int
|
|
,TanuloId int
|
|
,TanuloNev nvarchar(500)
|
|
,TanuloNevElotagNelkul nvarchar(500)
|
|
,AnyjaNeve nvarchar(500)
|
|
,SzuletesiIdo datetime
|
|
,OsztalyNev nvarchar(200)
|
|
,OsszesOraszam decimal(18,2)
|
|
,OktatasiAzonosito nvarchar(20)
|
|
);
|
|
|
|
INSERT INTO #OsszesitoTabla (ID, TanuloId, TanuloNev, TanuloNevElotagNelkul, AnyjaNeve, SzuletesiIdo, OsztalyNev, OsszesOraszam, OktatasiAzonosito)
|
|
EXEC uspGetKozossegiSzolgalatokData
|
|
@pIntezmenyId = @pIntezmenyId
|
|
,@pOsztalyCsoportIdList = @pOsztalyCsoportIdList
|
|
,@pIdoszakKezdete = @pIntervallumKezdete
|
|
,@pIdoszakVege = @pIntervallumVege
|
|
,@pOsszesOraszamKezdete = @pOsszesOraszamKezdete
|
|
,@pOsszesOraszamVege = @pOsszesOraszamVege
|
|
,@pTanuloNeve = @pTanuloNev
|
|
,@pAnyjaNeve = @pAnyjaNeve
|
|
SELECT * FROM #OsszesitoTabla
|
|
|
|
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
|
|
,tmpOsszesito.TanuloId AS TanuloId
|
|
,tmpOsszesito.TanuloNev AS TanuloNev
|
|
,tmpOsszesito.OsztalyNev AS OsztalyNev
|
|
,KozossegiSzolgalat.C_UGYIRATSZAM AS Ugyiratszam
|
|
,tmpOsszesito.OktatasiAzonosito AS OktatasiAzonosito
|
|
FROM #OsszesitoTabla tmpOsszesito
|
|
INNER JOIN T_FELHASZNALO_OSSZES Tanulo ON Tanulo.C_OKTATASIAZONOSITO = tmpOsszesito.OktatasiAzonosito COLLATE Hungarian_CI_AI AND Tanulo.C_INTEZMENYID = @pIntezmenyId
|
|
INNER JOIN T_TANULOKOZOSSEGISZOLGALAT_OSSZES KozossegiSzolgalat ON KozossegiSzolgalat.C_TANULOID = Tanulo.ID AND KozossegiSzolgalat.C_INTEZMENYID = @pIntezmenyId'
|
|
|
|
SET @whereSql = N' WHERE KozossegiSzolgalat.TOROLT = ''F'' '
|
|
IF @pTanuloIds IS NOT NULL BEGIN
|
|
SET @whereSql += N' AND tmpOsszesito.TanuloId IN (' + @pTanuloIds + ') '
|
|
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 @pKozossegiSzolgalatTipusa IS NOT NULL BEGIN
|
|
SET @whereSql += N' AND KozossegiSzolgalat.C_KOZOSSEGISZOLGALATTIPUSA = @pKozossegiSzolgalatTipusa'
|
|
END
|
|
|
|
SET @orderSql = N' ORDER BY KozossegiSzolgalat.C_INTERVALLUMKEZDETE DESC'
|
|
|
|
SET @sql = @selectSql + @whereSql + @orderSql
|
|
EXEC sp_executesql @sql, N'
|
|
@pIntezmenyId int
|
|
,@pIntervallumKezdete datetime = NULL
|
|
,@pIntervallumVege datetime = NULL
|
|
,@pTeljesitesHelye nvarchar(100) = NULL
|
|
,@pOsszesOraszamKezdete int = NULL
|
|
,@pOsszesOraszamVege int = NULL
|
|
,@pOsztalyCsoportIdList nvarchar(max) = NULL
|
|
,@pKozossegiSzolgalatTipusa int = NULL
|
|
,@pTanuloNev nvarchar(250) = NULL
|
|
,@pAnyjaNeve nvarchar(250) = NULL
|
|
,@pTanuloIds nvarchar(max) = NULL'
|
|
,@pIntezmenyId = @pIntezmenyId
|
|
,@pIntervallumKezdete = @pIntervallumKezdete
|
|
,@pIntervallumVege = @pIntervallumVege
|
|
,@pTeljesitesHelye = @pTeljesitesHelye
|
|
,@pOsszesOraszamKezdete = @pOsszesOraszamKezdete
|
|
,@pOsszesOraszamVege = @pOsszesOraszamVege
|
|
,@pOsztalyCsoportIdList = @pOsztalyCsoportIdList
|
|
,@pKozossegiSzolgalatTipusa = @pKozossegiSzolgalatTipusa
|
|
,@pTanuloNev = @pTanuloNev
|
|
,@pAnyjaNeve = @pAnyjaNeve
|
|
,@pTanuloIds = @pTanuloIds
|
|
|
|
END
|
|
|
|
GO
|
|
|