118 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS uspGetKozossegiSzolgalatokExportData
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE uspGetKozossegiSzolgalatokExportData
 | 
						|
   @pIntezmenyId int
 | 
						|
  ,@pTanevId int 
 | 
						|
	,@pOsztalyCsoportId int
 | 
						|
  ,@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)
 | 
						|
 | 
						|
 | 
						|
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)
 | 
						|
        );
 | 
						|
 | 
						|
    INSERT INTO #OsszesitoTabla (ID,TanuloId, TanuloNev, TanuloNevElotagNelkul,AnyjaNeve,SzuletesiIdo,OsztalyNev,OsszesOraszam)
 | 
						|
    EXEC uspGetKozossegiSzolgalatokData
 | 
						|
       @pIntezmenyId = @pIntezmenyId
 | 
						|
	    ,@pOsztalyCsoportId = @pOsztalyCsoportId
 | 
						|
      ,@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
 | 
						|
    FROM #OsszesitoTabla tmpOsszesito
 | 
						|
    INNER JOIN T_TANULOKOZOSSEGISZOLGALAT_OSSZES KozossegiSzolgalat ON KozossegiSzolgalat.C_TANULOID = tmpOsszesito.TanuloId'
 | 
						|
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
 | 
						|
  ,@pTanevId int
 | 
						|
  ,@pIntervallumKezdete datetime = NULL
 | 
						|
  ,@pIntervallumVege datetime = NULL
 | 
						|
  ,@pTeljesitesHelye nvarchar (100) = NULL
 | 
						|
  ,@pOsszesOraszamKezdete int = NULL
 | 
						|
  ,@pOsszesOraszamVege int = NULL
 | 
						|
  ,@pOsztalyCsoportId int
 | 
						|
  ,@pKozossegiSzolgalatTipusa int = NULL
 | 
						|
  ,@pTanuloNev nvarchar (250) = NULL
 | 
						|
  ,@pAnyjaNeve nvarchar(250) = NULL
 | 
						|
  ,@pTanuloIds nvarchar(max) = NULL'
 | 
						|
  ,@pIntezmenyId = @pIntezmenyId
 | 
						|
  ,@pTanevId = @pTanevId
 | 
						|
  ,@pIntervallumKezdete = @pIntervallumKezdete
 | 
						|
  ,@pIntervallumVege = @pIntervallumVege
 | 
						|
  ,@pTeljesitesHelye = @pTeljesitesHelye
 | 
						|
  ,@pOsszesOraszamKezdete = @pOsszesOraszamKezdete
 | 
						|
  ,@pOsszesOraszamVege = @pOsszesOraszamVege
 | 
						|
  ,@pOsztalyCsoportId = @pOsztalyCsoportId
 | 
						|
  ,@pKozossegiSzolgalatTipusa = @pKozossegiSzolgalatTipusa
 | 
						|
  ,@pTanuloNev = @pTanuloNev
 | 
						|
  ,@pAnyjaNeve = @pAnyjaNeve
 | 
						|
  ,@pTanuloIds = @pTanuloIds
 | 
						|
END
 | 
						|
 | 
						|
 | 
						|
GO
 |