GO
/****** Object:  StoredProcedure [KR_BEDO_Schema].[sp_GetMasodikNegyedeviErtesito]    Script Date: 2016.05.26. 11:22:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('[dbo].[sp_GetMasodikNegyedeviErtesito]') IS NOT NULL 
BEGIN
  DROP PROCEDURE [dbo].[sp_GetMasodikNegyedeviErtesito]
END 
GO
CREATE PROCEDURE [sp_GetMasodikNegyedeviErtesito]
	@osztalyId  int,
	@TanevId	int
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- fejléc
	SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
		   T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM IntezmenyIranyitoszam,
		   T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
		   T_INTEZMENYADATOK_OSSZES.C_CIME IntezmenyCime,
		   T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
		   T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
		   T_INTEZMENYADATOK_OSSZES.C_OMKOD IntezmenyOMKod,
		   (SELECT C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE ID=@osztalyId and TOROLT = 'F') PartnerID,
		   T_TANEV_OSSZES.C_NEV TANEV
	FROM T_INTEZMENYADATOK_OSSZES
			inner join T_TANEV_OSSZES 
			on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID and T_TANEV_OSSZES.TOROLT = 'F'
	WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
		  and T_TANEV_OSSZES.ID = @TanevId
	
	-- TANULÓK
	SELECT T_FELHASZNALO_OSSZES.ID TANULOID,
		   T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TANULONEV,
		   T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO OKTATASIAZONOSITO
	FROM T_FELHASZNALO_OSSZES
			JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
																						  and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
																						  and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT 
			ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID 
	WHERE T_FELHASZNALO_OSSZES.TOROLT='F'
		  and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
		  and T_FELHASZNALO_OSSZES.C_TANEVID = @TanevId
	ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV

	-- ÉRTÉKELÉSEK
	SELECT ERTEKELES.C_TANULOID TANULOID,
		   'MAGATARTAS' TARGYNEV,
		   OSZTALYZAT.MAGATARTAS NEGYEDEVIERTEKELES,
		   ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES
	FROM T_TANULOERTEKELES_OSSZES ERTEKELES
			JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
																						  and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
																						  and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
			ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
			LEFT JOIN (SELECT ID, C_MAGATARTAS MAGATARTAS  FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
			ON OSZTALYZAT.ID = ERTEKELES.ID
	WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
		  AND ERTEKELES.C_ERTEKELESTIPUSA = 1524
		  AND OSZTALYZAT.MAGATARTAS IS NOT NULL -- II.Negyedév
		  AND ERTEKELES.C_TANEVID = @TanevId
	UNION ALL
	SELECT ERTEKELES.C_TANULOID TANULOID,
		   'SZORGALOM' TARGYNEV,
		   OSZTALYZAT.SZORGALOM NEGYEDEVIERTEKELES,
		   ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES
	FROM T_TANULOERTEKELES_OSSZES ERTEKELES
			JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
																						  and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
																						  and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
			ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
			LEFT JOIN (SELECT ID,  C_SZORGALOM SZORGALOM FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
			ON OSZTALYZAT.ID = ERTEKELES.ID
	WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
		  AND ERTEKELES.C_ERTEKELESTIPUSA = 1524
		  AND OSZTALYZAT.SZORGALOM IS NOT NULL -- II.Negyedév
		  AND ERTEKELES.C_TANEVID = @TanevId
	UNION ALL
	SELECT ERTEKELES.C_TANULOID TANULOID,
		   TARGY.TARGYNEV TARGYNEV,
		   ERTEKELES.C_OSZTALYZAT NEGYEDEVIERTEKELES,
		   ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES
	FROM T_TANULOERTEKELES_OSSZES ERTEKELES
			JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
																						  and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
																						  and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
			ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID 
			JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY
			ON TARGY.ID = ERTEKELES.C_TANTARGYID
	WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
		  AND TARGY.KAT != 1248 --Osztályfőnöki nem jelenítődik meg
		  AND ERTEKELES.C_ERTEKELESTIPUSA = 1524 -- II.Negyedév
		  AND ERTEKELES.C_TANEVID = @TanevId
	ORDER BY TANULOID, TARGYNEV

	-- MULASZTÁSOK
	SELECT MULASZT.C_TANULOID TANULOID, 
		   CASE WHEN MULASZT.C_STATISZTIKATIPUS = 1656 THEN 'IGAZOLT' ELSE 'IGAZOLATLAN' END TIPUS,
		   MULASZT.C_MASODIKNEGYEDEV ORASZAM
	FROM T_TANULOMULASZTASSTATISZTIKA_OSSZES MULASZT
			JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
																						  and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
																						  and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
			ON TANCSOPORT.C_TANULOID = MULASZT.C_TANULOID 
	WHERE MULASZT.TOROLT ='F' 
		  AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
		  AND MULASZT.C_STATISZTIKATIPUS IN (1656,1662) -- IGAZOLT VAGY IGAZOLATLAN
		  AND MULASZT.C_TANEVID = @TanevId

	-- TANTÁRGYI MENTESSÉGEK
	SELECT MENTESSEG.C_TANULOID TANULOID,
		   TARGY.TARGYNEV,
		   MENTESSEG.C_MENTESSEGOKA MENTESSEGOKA
	FROM T_TANULOMENTESSEG_OSSZES MENTESSEG
			JOIN (SELECT ID, C_NEV TARGYNEV FROM T_TANTARGY_OSSZES WHERE TOROLT='F') TARGY
			ON TARGY.ID = MENTESSEG.C_TANTARGYID
			JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
																						  and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
																						  and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
			ON TANCSOPORT.C_TANULOID = MENTESSEG.C_TANULOID 
	WHERE MENTESSEG.TOROLT = 'F' 
		  AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
		  AND MENTESSEG.C_TANEVID = @TanevId
	ORDER BY MENTESSEG.C_TANULOID, TARGY.TARGYNEV

	-- BEJEGYZÉSEK
	SELECT T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID,
		   C_TARTALOM BEJEGYZES,
		   C_TIPUS TIPUS
	FROM T_TANULOESEMENY_OSSZES
			JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
																						  and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
																						  and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
			ON TANCSOPORT.C_TANULOID = T_TANULOESEMENY_OSSZES.C_TANULOID 
	WHERE T_TANULOESEMENY_OSSZES.TOROLT='F'
		  AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
		  AND T_TANULOESEMENY_OSSZES.C_TIPUS = 1550
		  AND T_TANULOESEMENY_OSSZES.C_TIPUS != 1534
		  AND T_TANULOESEMENY_OSSZES.C_TANEVID = @TanevId
	ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID

	--OSZTÁLY
	 SELECT 
		T_OSZTALYCSOPORT_OSSZES.C_NEV OSZTALYNEV,
		T_FELHASZNALO_OSSZES.C_NYOMTATASINEV OSZTALYFONOKNEV
	 FROM T_OSZTALY_OSSZES
			INNER JOIN T_FELHASZNALO_OSSZES ON T_OSZTALY_OSSZES.C_OSZTALYFONOKID = T_FELHASZNALO_OSSZES.ID and T_FELHASZNALO_OSSZES.TOROLT = 'F'
			INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID and T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
	 WHERE T_OSZTALYCSOPORT_OSSZES.TOROLT='F'
		   AND T_OSZTALYCSOPORT_OSSZES.ID=@osztalyId
		   AND T_OSZTALY_OSSZES.C_ALTANEVID = @TanevId

END
GO
