150 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			150 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
SET ANSI_NULLS ON
 | 
						|
GO
 | 
						|
SET QUOTED_IDENTIFIER ON
 | 
						|
GO
 | 
						|
 | 
						|
IF OBJECT_ID('[dbo].[sp_GetTanuloJegyeiMagatartasSzorgalomHaviBontasban]') IS NOT NULL 
 | 
						|
BEGIN
 | 
						|
  DROP PROCEDURE [dbo].[sp_GetTanuloJegyeiMagatartasSzorgalomHaviBontasban]
 | 
						|
END  
 | 
						|
GO
 | 
						|
 | 
						|
-- =============================================
 | 
						|
-- Description:	<Tanuló magatartás, szorgalom jegyei, adott hónapban>
 | 
						|
-- =============================================
 | 
						|
CREATE PROCEDURE [dbo].[sp_GetTanuloJegyeiMagatartasSzorgalomHaviBontasban]
 | 
						|
	@pTanuloId INT,
 | 
						|
	@pHonap INT,
 | 
						|
	@pNaptipus INT,
 | 
						|
	@pFelevi INT,
 | 
						|
	@pEvvegi INT,
 | 
						|
	@pTanarId INT
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
 | 
						|
	-- SET NOCOUNT ON added to prevent extra result sets from
 | 
						|
	-- interfering with SELECT statements.
 | 
						|
	SET NOCOUNT ON;
 | 
						|
 | 
						|
	DECLARE @felevVege DATETIME
 | 
						|
 | 
						|
	SELECT 
 | 
						|
		@felevVege = tanevRendje.C_DATUM 
 | 
						|
	FROM 
 | 
						|
		T_TANEVRENDJE_OSSZES tanevRendje
 | 
						|
			INNER JOIN T_TANEV_OSSZES tanev
 | 
						|
				ON tanev.ID = tanevRendje.C_TANEVID
 | 
						|
	WHERE 
 | 
						|
		tanevRendje.TOROLT = 'F' AND
 | 
						|
		tanevRendje.C_NAPTIPUSA = @pNaptipus AND
 | 
						|
		tanev.TOROLT = 'F' AND
 | 
						|
		tanev.C_AKTIV = 'T'
 | 
						|
 | 
						|
	IF @felevVege IS NULL
 | 
						|
		BEGIN
 | 
						|
			SELECT @felevVege = CAST(CAST(YEAR(GETDATE()) AS NVARCHAR) + '0115' AS DATETIME) 
 | 
						|
		END
 | 
						|
 | 
						|
	IF @pHonap = 1
 | 
						|
		BEGIN
 | 
						|
			SELECT
 | 
						|
				tanuloErtekeles.ID						ErtekelesId,
 | 
						|
				tanuloErtekeles.C_TANULOID				TanuloId,
 | 
						|
				tanuloErtekeles.C_ERTEKELESDATUM		Datum,
 | 
						|
				tanuloErtekeles.C_OSZTALYZAT			Osztalyzat,
 | 
						|
				tanuloErtekeles.C_ERTEKELESSZOVEG		ErtekelesSzoveg,
 | 
						|
				tanuloErtekeles.C_ERTEKELESTIPUSA		ErtekelesTipusa,
 | 
						|
				osztalyfonokiErtekeles.C_MAGATARTAS		Magatartas,
 | 
						|
				osztalyfonokiErtekeles.C_Szorgalom		Szorgalom,
 | 
						|
				felhasznalo.C_NYOMTATASINEV				ErtekeloNyomtatasiNev,
 | 
						|
				CASE
 | 
						|
					WHEN tanuloErtekeles.C_ERTEKELOID = @pTanarId
 | 
						|
						THEN 'T' 
 | 
						|
						ELSE 'F' 
 | 
						|
				END										Modosithato		
 | 
						|
			FROM 
 | 
						|
				T_TANULOERTEKELES_OSSZES tanuloErtekeles
 | 
						|
					LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES osztalyfonokiErtekeles
 | 
						|
						ON osztalyfonokiErtekeles.ID = tanuloErtekeles.ID
 | 
						|
					LEFT JOIN T_FELHASZNALO_OSSZES felhasznalo
 | 
						|
						ON  felhasznalo.ID = tanuloErtekeles.C_ERTEKELOID
 | 
						|
			WHERE
 | 
						|
				tanuloErtekeles.TOROLT = 'F' AND 
 | 
						|
				tanuloErtekeles.C_ERTEKELESTIPUSA <> @pFelevi AND tanuloErtekeles.C_ERTEKELESTIPUSA <> @pEvvegi AND
 | 
						|
				tanuloErtekeles.C_TANULOID = @pTanuloId AND
 | 
						|
				MONTH(tanuloErtekeles.C_ERTEKELESDATUM) = MONTH(@felevVege) AND
 | 
						|
				DAY(tanuloErtekeles.C_ERTEKELESDATUM) <= DAY(@felevVege) AND
 | 
						|
				osztalyfonokiErtekeles.TOROLT = 'F'
 | 
						|
			ORDER BY 
 | 
						|
				tanuloErtekeles.C_TANULOID, 
 | 
						|
				tanuloErtekeles.C_ERTEKELESDATUM
 | 
						|
		END
 | 
						|
	ELSE IF @pHonap = 13
 | 
						|
		BEGIN
 | 
						|
			SELECT
 | 
						|
				tanuloErtekeles.ID						ErtekelesId,
 | 
						|
				tanuloErtekeles.C_TANULOID				TanuloId,
 | 
						|
				tanuloErtekeles.C_ERTEKELESDATUM		Datum,
 | 
						|
				tanuloErtekeles.C_OSZTALYZAT			Osztalyzat,
 | 
						|
				tanuloErtekeles.C_ERTEKELESSZOVEG		ErtekelesSzoveg,
 | 
						|
				tanuloErtekeles.C_ERTEKELESTIPUSA		ErtekelesTipusa,
 | 
						|
				osztalyfonokiErtekeles.C_MAGATARTAS		Magatartas,
 | 
						|
				osztalyfonokiErtekeles.C_Szorgalom		Szorgalom,
 | 
						|
				felhasznalo.C_NYOMTATASINEV				ErtekeloNyomtatasiNev,
 | 
						|
				CASE
 | 
						|
					WHEN tanuloErtekeles.C_ERTEKELOID = @pTanarId
 | 
						|
						THEN 'T' 
 | 
						|
						ELSE 'F' 
 | 
						|
				END										Modosithato		
 | 
						|
			FROM 
 | 
						|
				T_TANULOERTEKELES_OSSZES tanuloErtekeles
 | 
						|
					LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES osztalyfonokiErtekeles
 | 
						|
						ON osztalyfonokiErtekeles.ID = tanuloErtekeles.ID
 | 
						|
					LEFT JOIN T_FELHASZNALO_OSSZES felhasznalo
 | 
						|
						ON  felhasznalo.ID = tanuloErtekeles.C_ERTEKELOID
 | 
						|
			WHERE
 | 
						|
				tanuloErtekeles.TOROLT = 'F' AND 
 | 
						|
				tanuloErtekeles.C_ERTEKELESTIPUSA <> @pFelevi AND tanuloErtekeles.C_ERTEKELESTIPUSA <> @pEvvegi AND
 | 
						|
				tanuloErtekeles.C_TANULOID = @pTanuloId AND
 | 
						|
				MONTH(tanuloErtekeles.C_ERTEKELESDATUM) = MONTH(@felevVege) AND
 | 
						|
				DAY(tanuloErtekeles.C_ERTEKELESDATUM) > DAY(@felevVege) AND
 | 
						|
				osztalyfonokiErtekeles.TOROLT = 'F'
 | 
						|
			ORDER BY 
 | 
						|
				tanuloErtekeles.C_TANULOID, 
 | 
						|
				tanuloErtekeles.C_ERTEKELESDATUM
 | 
						|
		END
 | 
						|
	ELSE
 | 
						|
		BEGIN
 | 
						|
			SELECT
 | 
						|
				tanuloErtekeles.ID						ErtekelesId,
 | 
						|
				tanuloErtekeles.C_TANULOID				TanuloId,
 | 
						|
				tanuloErtekeles.C_ERTEKELESDATUM		Datum,
 | 
						|
				tanuloErtekeles.C_OSZTALYZAT			Osztalyzat,
 | 
						|
				tanuloErtekeles.C_ERTEKELESSZOVEG		ErtekelesSzoveg,
 | 
						|
				tanuloErtekeles.C_ERTEKELESTIPUSA		ErtekelesTipusa,
 | 
						|
				osztalyfonokiErtekeles.C_MAGATARTAS		Magatartas,
 | 
						|
				osztalyfonokiErtekeles.C_Szorgalom		Szorgalom,
 | 
						|
				felhasznalo.C_NYOMTATASINEV				ErtekeloNyomtatasiNev,
 | 
						|
				CASE
 | 
						|
					WHEN tanuloErtekeles.C_ERTEKELOID = @pTanarId
 | 
						|
						THEN 'T' 
 | 
						|
						ELSE 'F' 
 | 
						|
				END										Modosithato		
 | 
						|
			FROM 
 | 
						|
				T_TANULOERTEKELES_OSSZES tanuloErtekeles
 | 
						|
					LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES osztalyfonokiErtekeles
 | 
						|
						ON osztalyfonokiErtekeles.ID = tanuloErtekeles.ID
 | 
						|
					LEFT JOIN T_FELHASZNALO_OSSZES felhasznalo
 | 
						|
						ON  felhasznalo.ID = tanuloErtekeles.C_ERTEKELOID
 | 
						|
			WHERE
 | 
						|
				tanuloErtekeles.TOROLT = 'F' AND 
 | 
						|
				tanuloErtekeles.C_ERTEKELESTIPUSA <> @pFelevi AND tanuloErtekeles.C_ERTEKELESTIPUSA <> @pEvvegi AND
 | 
						|
				tanuloErtekeles.C_TANULOID = @pTanuloId AND
 | 
						|
				MONTH(tanuloErtekeles.C_ERTEKELESDATUM) = @pHonap AND
 | 
						|
				osztalyfonokiErtekeles.TOROLT = 'F'
 | 
						|
			ORDER BY 
 | 
						|
				tanuloErtekeles.C_TANULOID, 
 | 
						|
				tanuloErtekeles.C_ERTEKELESDATUM
 | 
						|
		END
 | 
						|
 | 
						|
END |