kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190402093859_AL_762/uspGetTanulokSzamonkeresElorejelzesei.sql
2024-03-13 00:33:46 +01:00

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