83 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
DROP PROCEDURE IF EXISTS [dbo].[uspGetOrarendExcelExportData]
 | 
						|
GO
 | 
						|
 | 
						|
CREATE PROCEDURE [dbo].[uspGetOrarendExcelExportData]
 | 
						|
     @pTanevId int
 | 
						|
    ,@pErvenyessegKezdete date
 | 
						|
    ,@pErvenyessegVege date
 | 
						|
    ,@pIsOraErvenyessegiIdovel bit
 | 
						|
    ,@pIsNapiredExport bit
 | 
						|
    ,@pIsIdoszakonKivuliElemekMegjelenitese bit
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
	-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
 | 
						|
  SET NOCOUNT ON;
 | 
						|
  DECLARE @sql nvarchar(max)
 | 
						|
	
 | 
						|
  SET @sql = N'
 | 
						|
    SELECT '
 | 
						|
  IF @pIsOraErvenyessegiIdovel = 1 BEGIN
 | 
						|
    SET @sql += N'
 | 
						|
        oo.C_ORAERVENYESSEGKEZDETE AS ''Óra érvényességének kezdete'',
 | 
						|
        oo.C_ORAERVENYESSEGVEGE AS ''Óra érvényességének vége'', '
 | 
						|
  END
 | 
						|
	
 | 
						|
  SET @sql += N'
 | 
						|
      hr.C_NAME As ''Hetirend'',
 | 
						|
      hn.C_NAME AS ''Nap'', '
 | 
						|
  IF @pIsNapiredExport = 0 BEGIN
 | 
						|
    SET @sql += N' oo.C_ORASZAM AS ''Óra (adott napon belül)'', '
 | 
						|
  END
 | 
						|
	ELSE BEGIN
 | 
						|
    SET @sql += N'
 | 
						|
          oo.C_ORAKEZDETE AS ''Foglalkozás kezdete'',
 | 
						|
          oo.C_ORAVEGE AS ''Foglalkozás vége'', '
 | 
						|
  END
 | 
						|
	SET @sql += N'
 | 
						|
			  IIF(o.ID IS NOT NULL,ocs.C_NEV,'''') AS ''Osztály'',
 | 
						|
			  IIF(cs.ID IS NOT NULL,ocs.C_NEV,'''') AS ''Csoport'',
 | 
						|
			  tgy.C_NEV as ''Tantárgy'',
 | 
						|
			  f.C_NYOMTATASINEV as ''Tanár'',
 | 
						|
			  t.C_NEV AS ''Helyiség'' '
 | 
						|
	
 | 
						|
  SET @sql += N'
 | 
						|
        FROM T_ORARENDIORA_OSSZES oo
 | 
						|
          INNER JOIN T_TEREM_OSSZES t ON t.ID = oo.C_TEREMID AND t.TOROLT = ''F''
 | 
						|
          INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = oo.C_TANTARGYID AND tgy.TOROLT = ''F''
 | 
						|
          INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = oo.C_TANARID AND f.TOROLT = ''F''
 | 
						|
          INNER JOIN T_DICTIONARYITEMBASE_OSSZES hr ON hr.ID = oo.C_HETIREND AND hr.TOROLT = ''F'' AND hr.C_TANEVID = @pTanevId
 | 
						|
          INNER JOIN T_DICTIONARYITEMBASE_OSSZES hn ON hn.ID = oo.C_HETNAPJA AND hn.TOROLT = ''F'' AND hn.C_TANEVID = @pTanevId
 | 
						|
          INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = oo.C_OSZTALYCSOPORTID AND ocs.TOROLT = ''F''
 | 
						|
          LEFT JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.TOROLT = ''F''
 | 
						|
          LEFT JOIN T_CSOPORT_OSSZES cs ON ocs.ID = cs.ID AND cs.TOROLT = ''F'''
 | 
						|
  IF @pIsIdoszakonKivuliElemekMegjelenitese = 0 BEGIN
 | 
						|
		SET @sql += N'
 | 
						|
          WHERE oo.TOROLT = ''F''
 | 
						|
            AND oo.C_ORAERVENYESSEGKEZDETE >= @pErvenyessegKezdete
 | 
						|
            AND (oo.C_ORAERVENYESSEGVEGE <= @pErvenyessegVege  OR oo.C_ORAERVENYESSEGVEGE IS NULL)
 | 
						|
            AND oo.C_TANEVID = @pTanevId '
 | 
						|
  END
 | 
						|
  ELSE BEGIN
 | 
						|
		SET @sql += N'
 | 
						|
        WHERE oo.TOROLT = ''F''
 | 
						|
          AND oo.C_TANEVID = @pTanevId 
 | 
						|
          AND (oo.C_ORAERVENYESSEGVEGE > @pErvenyessegKezdete  AND oo.C_ORAERVENYESSEGKEZDETE <= @pErvenyessegVege)'
 | 
						|
 | 
						|
	END
 | 
						|
	IF @pIsNapiredExport = 0 BEGIN
 | 
						|
    SET @sql += N' AND oo.C_TANORANKIVULIFOGLALKOZAS = ''F'' '
 | 
						|
  END
 | 
						|
	ELSE BEGIN
 | 
						|
    SET @sql += N' AND oo.C_TANORANKIVULIFOGLALKOZAS = ''T'' '
 | 
						|
	END
 | 
						|
	EXEC sp_executesql @sql, N'
 | 
						|
		 @pTanevId int
 | 
						|
		,@pErvenyessegKezdete date
 | 
						|
		,@pErvenyessegVege date'
 | 
						|
		,@pTanevId = @pTanevId
 | 
						|
		,@pErvenyessegKezdete = @pErvenyessegKezdete
 | 
						|
		,@pErvenyessegVege = @pErvenyessegVege
 | 
						|
		
 | 
						|
END
 | 
						|
GO
 |