50 lines
2.1 KiB
Transact-SQL
50 lines
2.1 KiB
Transact-SQL
-- =============================================
|
|
-- Description: <Előszedjük a tanuló értékeléseket a megadott paraméterek alapján>
|
|
-- =============================================
|
|
DROP PROCEDURE IF EXISTS uspGetTanulokSzamonkeresElorejelzesei
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetTanulokSzamonkeresElorejelzesei
|
|
@IntezmenyId int
|
|
,@TanevId int
|
|
,@pDatum datetime
|
|
,@pOraGroupId int
|
|
,@pOsztalyCsoportId int
|
|
,@pNapiSzamonkeresLimit int
|
|
,@pErtekelesTipusokLimithez nvarchar(max)
|
|
|
|
AS
|
|
BEGIN
|
|
|
|
CREATE TABLE #OsztalyCsoport (Id int PRIMARY KEY)
|
|
|
|
INSERT INTO #OsztalyCsoport (Id)
|
|
SELECT ID
|
|
FROM dbo.fnGetKapcsolodoOsztalycsoportokByDate (@pOsztalyCsoportId, @pDatum, @pDatum)
|
|
|
|
CREATE TABLE #Tanulo (Id int PRIMARY KEY, Nev nvarchar(300))
|
|
|
|
INSERT INTO #Tanulo (Id,Nev)
|
|
SELECT fh.ID, fh.C_NYOMTATASINEV
|
|
FROM T_TANULOCSOPORT tcs
|
|
INNER JOIN T_FELHASZNALO fh ON fh.ID = tcs.C_TANULOID AND fh.TOROLT = 'F'
|
|
WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND (tcs.C_BELEPESDATUM <= @pDatum AND (tcs.C_KILEPESDATUM > @pDatum OR tcs.C_KILEPESDATUM IS NULL))
|
|
|
|
CREATE TABLE #TanuloSzamonkeresei (Id int PRIMARY KEY, Nev nvarchar(300), SzamonkeresekSzama int)
|
|
|
|
INSERT INTO #TanuloSzamonkeresei (Id,Nev,SzamonkeresekSzama)
|
|
SELECT t.id,t.Nev, COUNT(1) as SzamonkeresekSzama
|
|
FROM T_SZAMONKERESELOREJELZES szk
|
|
INNER JOIN T_ORARENDIORA oo ON oo.C_ORARENDIORAGROUPID = szk.C_ORARENDIORAGROUPID AND szk.C_SZAMONKERESDATUMA >= oo.C_ORAERVENYESSEGKEZDETE AND szk.C_SZAMONKERESDATUMA < oo.C_ORAERVENYESSEGVEGE AND oo.TOROLT = 'F'
|
|
INNER JOIN #OsztalyCsoport ocs ON ocs.Id = oo.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID
|
|
INNER JOIN #Tanulo t ON t.id = tcs.C_TANULOID
|
|
WHERE szk.C_SZAMONKERESDATUMA = @pDatum AND szk.C_SZAMONKERESTIPUSID IN (SELECT value FROM STRING_SPLIT(@pErtekelesTipusokLimithez ,','))
|
|
AND szk.C_INTEZMENYID = @IntezmenyId AND szk.C_TANEVID = @TanevId AND szk.TOROLT = 'F'
|
|
GROUP BY t.id, t.Nev
|
|
|
|
|
|
SELECT * FROM #TanuloSzamonkeresei WHERE SzamonkeresekSzama > @pNapiSzamonkeresLimit
|
|
|
|
END
|
|
GO
|