SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('[dbo].[sp_GetTanuloJegyeiHaviBontasban]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[sp_GetTanuloJegyeiHaviBontasban] END GO -- ============================================= -- Description: -- ============================================= CREATE PROCEDURE [dbo].[sp_GetTanuloJegyeiHaviBontasban] @pTanuloId INT, @pTantargyId 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_TANTARGYID TantargyId, tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg, tanuloErtekeles.C_ERTEKELESDATUM Datum, tanuloErtekeles.C_OSZTALYZAT Osztalyzat, tanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa, osztalyzatErtekeles.C_ERTEKELESMODJA ErtekelesModja, osztalyzatErtekeles.C_SZAZALEK Szazalek, osztalyzatErtekeles.C_TEMA Tema, tanariAtlagSuly.C_SULY Suly, felhasznalo.C_NYOMTATASINEV ErtekeloNyomtatasiNev, CASE WHEN tanuloErtekeles.C_ERTEKELOID = @pTanarId THEN 'T' ELSE 'F' END Modosithato FROM T_TANULOERTEKELES_OSSZES tanuloErtekeles LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES osztalyzatErtekeles ON osztalyzatErtekeles.ID = tanuloErtekeles.ID LEFT JOIN T_TANARIATLAGSULY_OSSZES tanariAtlagSuly ON tanariAtlagSuly.C_ERTEKELESMODJA = osztalyzatErtekeles.C_ERTEKELESMODJA 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 tanuloErtekeles.C_TANTARGYID = @pTantargyId AND MONTH(tanuloErtekeles.C_ERTEKELESDATUM) = MONTH(@felevVege) AND DAY(tanuloErtekeles.C_ERTEKELESDATUM) <= DAY(@felevVege) AND osztalyzatErtekeles.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_TANTARGYID TantargyId, tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg, tanuloErtekeles.C_ERTEKELESDATUM Datum, tanuloErtekeles.C_OSZTALYZAT Osztalyzat, tanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa, osztalyzatErtekeles.C_ERTEKELESMODJA ErtekelesModja, osztalyzatErtekeles.C_SZAZALEK Szazalek, osztalyzatErtekeles.C_TEMA Tema, tanariAtlagSuly.C_SULY Suly, felhasznalo.C_NYOMTATASINEV ErtekeloNyomtatasiNev, CASE WHEN tanuloErtekeles.C_ERTEKELOID = @pTanarId THEN 'T' ELSE 'F' END Modosithato FROM T_TANULOERTEKELES_OSSZES tanuloErtekeles LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES osztalyzatErtekeles ON osztalyzatErtekeles.ID = tanuloErtekeles.ID LEFT JOIN T_TANARIATLAGSULY_OSSZES tanariAtlagSuly ON tanariAtlagSuly.C_ERTEKELESMODJA = osztalyzatErtekeles.C_ERTEKELESMODJA 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 tanuloErtekeles.C_TANTARGYID = @pTantargyId AND MONTH(tanuloErtekeles.C_ERTEKELESDATUM) = MONTH(@felevVege) AND DAY(tanuloErtekeles.C_ERTEKELESDATUM) > DAY(@felevVege) AND osztalyzatErtekeles.TOROLT = 'F' ORDER BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_ERTEKELESDATUM END ELSE BEGIN SELECT tanuloErtekeles.ID ErtekelesId, tanuloErtekeles.C_TANULOID TanuloId, tanuloErtekeles.C_TANTARGYID TantargyId, tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg, tanuloErtekeles.C_ERTEKELESDATUM Datum, tanuloErtekeles.C_OSZTALYZAT Osztalyzat, tanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa, osztalyzatErtekeles.C_ERTEKELESMODJA ErtekelesModja, osztalyzatErtekeles.C_SZAZALEK Szazalek, osztalyzatErtekeles.C_TEMA Tema, tanariAtlagSuly.C_SULY Suly, felhasznalo.C_NYOMTATASINEV ErtekeloNyomtatasiNev, CASE WHEN tanuloErtekeles.C_ERTEKELOID = @pTanarId THEN 'T' ELSE 'F' END Modosithato FROM T_TANULOERTEKELES_OSSZES tanuloErtekeles LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES osztalyzatErtekeles ON osztalyzatErtekeles.ID = tanuloErtekeles.ID LEFT JOIN T_TANARIATLAGSULY_OSSZES tanariAtlagSuly ON tanariAtlagSuly.C_ERTEKELESMODJA = osztalyzatErtekeles.C_ERTEKELESMODJA 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 tanuloErtekeles.C_TANTARGYID = @pTantargyId AND MONTH(tanuloErtekeles.C_ERTEKELESDATUM) = @pHonap AND osztalyzatErtekeles.TOROLT = 'F' ORDER BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_ERTEKELESDATUM END END