DROP PROCEDURE IF EXISTS uspGetCsoportTanuloinakMunkarendje
GO

CREATE PROCEDURE uspGetCsoportTanuloinakMunkarendje
   @pOsztalyCsoportId int
  ,@pIsAktivTanev bit

AS BEGIN
  SET NOCOUNT ON;
  DECLARE 
   @munkarenddelNemRendelkezo int
  ,@munkarenddelRendelkezo int

  SET @munkarenddelNemRendelkezo = (SELECT 
       COUNT(1)
    FROM T_TANULOCSOPORT_OSSZES csoportTanuloi
      INNER JOIN T_OSZTALYCSOPORT_OSSZES csoportDetails ON csoportDetails.ID = csoportTanuloi.C_OSZTALYCSOPORTID AND csoportDetails.TOROLT = 'F'
      INNER JOIN T_TANULOCSOPORT_OSSZES osztalyBesorolas ON osztalyBesorolas.C_TANULOID = csoportTanuloi.C_TANULOID AND osztalyBesorolas.TOROLT = 'F'
      INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyDetails ON osztalyDetails.ID = osztalyBesorolas.C_OSZTALYCSOPORTID AND osztalyDetails.TOROLT = 'F'
      INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = osztalyBesorolas.ID AND tta.TOROLT = 'F'
      INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = osztalyBesorolas.C_OSZTALYCSOPORTID AND osztaly.TOROLT = 'F'
    WHERE 
      csoportTanuloi.C_OSZTALYCSOPORTID = @pOsztalycsoportId
      AND csoportDetails.C_FELADATKATEGORIAID = osztalyDetails.C_FELADATKATEGORIAID
      AND csoportTanuloi.TOROLT = 'F'
      AND (@pIsAktivTanev = 0 OR csoportTanuloi.C_BELEPESDATUM <= GETDATE())
      AND (csoportTanuloi.C_KILEPESDATUM IS NULL OR csoportTanuloi.C_KILEPESDATUM > GETDATE())
      AND (@pIsAktivTanev = 0 OR osztalyBesorolas.C_BELEPESDATUM <= GETDATE())
      AND (osztalyBesorolas.C_KILEPESDATUM IS NULL OR osztalyBesorolas.C_KILEPESDATUM > GETDATE())
      AND osztalyBesorolas.C_TANULOID = csoportTanuloi.C_TANULOID
      AND tta.C_TANTERVIJELLEGID IS NULL)

  SET @munkarenddelRendelkezo = (SELECT 
       COUNT(1)
    FROM T_TANULOCSOPORT_OSSZES csoportTanuloi
      INNER JOIN T_OSZTALYCSOPORT_OSSZES csoportDetails ON csoportDetails.ID = csoportTanuloi.C_OSZTALYCSOPORTID AND csoportDetails.TOROLT = 'F'
      INNER JOIN T_TANULOCSOPORT_OSSZES osztalyBesorolas ON osztalyBesorolas.C_TANULOID = csoportTanuloi.C_TANULOID AND osztalyBesorolas.TOROLT = 'F'
      INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyDetails ON osztalyDetails.ID = osztalyBesorolas.C_OSZTALYCSOPORTID AND osztalyDetails.TOROLT = 'F'
      INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = osztalyBesorolas.ID AND tta.TOROLT = 'F'
      INNER JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = osztalyBesorolas.C_OSZTALYCSOPORTID AND osztaly.TOROLT = 'F'
    WHERE 
      csoportTanuloi.C_OSZTALYCSOPORTID = @pOsztalycsoportId
      AND csoportDetails.C_FELADATKATEGORIAID = osztalyDetails.C_FELADATKATEGORIAID
      AND csoportTanuloi.TOROLT = 'F'
      AND (@pIsAktivTanev = 0 OR csoportTanuloi.C_BELEPESDATUM <= GETDATE())
      AND (csoportTanuloi.C_KILEPESDATUM IS NULL OR csoportTanuloi.C_KILEPESDATUM > GETDATE())
      AND (@pIsAktivTanev = 0 OR osztalyBesorolas.C_BELEPESDATUM <= GETDATE())
      AND (osztalyBesorolas.C_KILEPESDATUM IS NULL OR osztalyBesorolas.C_KILEPESDATUM > GETDATE())
      AND osztalyBesorolas.C_TANULOID = csoportTanuloi.C_TANULOID
      AND tta.C_TANTERVIJELLEGID IS NOT NULL)

SELECT
   @munkarenddelNemRendelkezo munkarenddelNemRendelkezo
  ,@munkarenddelRendelkezo munkarenddelRendelkezo

END
GO
