DROP PROCEDURE IF EXISTS uspGetSzamonkeresElorejelzesDetailDataSet GO CREATE PROCEDURE uspGetSzamonkeresElorejelzesDetailDataSet @IntezmenyId int ,@TanevId int ,@pDatum datetime ,@pOraGroupId int ,@pOsztalyCsoportId int ,@pOraszamSrc int = NULL ,@pIsKellKapcsolodoOsztalyok bit ,@pErtekelesModTypeId int = 45 AS BEGIN SET NOCOUNT ON; CREATE TABLE #OsztalyCsoport (Id int PRIMARY KEY) IF @pIsKellKapcsolodoOsztalyok = 1 BEGIN INSERT INTO #OsztalyCsoport (Id) SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportokByDate (@pOsztalyCsoportId, @pDatum, @pDatum) END ELSE BEGIN INSERT INTO #OsztalyCsoport (Id) VALUES(@pOsztalyCsoportId) END SELECT sze.ID AS ID ,oo.C_ORASZAM as Oraszam ,tgy.ID as TantargyId ,tgy.C_NEV as Tantargy ,ISNULL(helyettestanar.C_IDPEGYEDIAZONOSITO, tanar.C_IDPEGYEDIAZONOSITO) as TanarUid ,ISNULL(helyettestanar.C_NYOMTATASINEV, tanar.C_NYOMTATASINEV) as Tanar ,dib.C_NAME as SzamonkeresMod ,sze.C_SZAMONKERESMODID as SzamonkeresModId ,rogzito.C_NYOMTATASINEV as RogzitoTanar ,ocs.C_NEV as Osztaly ,sze.C_ROGZITESDATUMA as RogzitesDatum ,sze.C_SZAMONKERESMEGNEVEZES as SzamonkeresMegnevezes ,sze.C_SZAMONKERESDATUMA as SzamonkeresDatum ,CAST(x.ErintettTanulokSzama AS nvarchar(20)) + ' / '+ CAST(x.Letszam AS nvarchar(20)) + ' tanuló' as TanulokSzama ,IIF(@pOraGroupId = sze.C_ORARENDIORAGROUPID, 'T', 'F') as Torolheto FROM ( SELECT szk.ID AS SzamonkeresId ,oo.ID AS OrarendiOraId ,COUNT(1) AS Letszam ,COUNT(tcso.id) AS ErintettTanulokSzama FROM T_ORAREND orr INNER JOIN T_ORARENDIORA oo ON oo.ID = orr.C_ORARENDIORAID AND oo.TOROLT = 'F' INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID AND tcs.TOROLT = 'F' AND tcs.C_BELEPESDATUM <= @pDatum AND (tcs.C_KILEPESDATUM > @pDatum OR tcs.C_KILEPESDATUM IS NULL) INNER JOIN #OsztalyCsoport ocs ON ocs.Id = oo.C_OSZTALYCSOPORTID INNER JOIN T_SZAMONKERESELOREJELZES szk ON szk.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND szk.C_SZAMONKERESDATUMA = orr.C_DATUM AND szk.TOROLT = 'F' LEFT JOIN T_TANULOCSOPORT tcso ON tcso.C_TANULOID = tcs.C_TANULOID AND tcso.C_BELEPESDATUM <= @pDatum AND (tcso.C_KILEPESDATUM > @pDatum OR tcso.C_KILEPESDATUM IS NULL) AND tcso.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND tcso.TOROLT = 'F' WHERE orr.C_DATUM = @pDatum AND (@pOraszamSrc IS NULL OR oo.C_ORASZAM = @pOraszamSrc) AND orr.C_TANEVID = @TanevId GROUP BY szk.ID, oo.Id ) x INNER JOIN T_SZAMONKERESELOREJELZES sze ON sze.ID = x.SzamonkeresId AND sze.TOROLT = 'F' INNER JOIN T_ORARENDIORA oo ON oo.ID = x.OrarendiOraId AND oo.TOROLT = 'F' INNER JOIN T_TANTARGY tgy ON tgy.ID = oo.C_TANTARGYID AND tgy.TOROLT = 'F' INNER JOIN T_FELHASZNALO tanar ON tanar.ID = oo.C_TANARID AND tanar.TOROLT = 'F' INNER JOIN T_FELHASZNALO rogzito ON rogzito.ID = sze.C_ROGZITOID AND rogzito.TOROLT = 'F' INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = oo.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' INNER JOIN T_DICTIONARYITEMBASE dib ON dib.ID = sze.C_SZAMONKERESMODID AND dib.C_INTEZMENYID = sze.C_INTEZMENYID AND dib.C_TANEVID = sze.C_TANEVID AND dib.TOROLT = 'F' LEFT JOIN T_HELYETTESITESIIDOSZAK helyettes ON helyettes.C_HELYETTESITETTORARENDID = oo.ID AND helyettes.C_HELYETTESITESNAPJA = sze.C_SZAMONKERESDATUMA AND helyettes.TOROLT = 'F' LEFT JOIN T_FELHASZNALO helyettestanar ON helyettestanar.ID = helyettes.C_HELYETTESTANAROKID AND helyettestanar.TOROLT = 'F' END GO