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

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