init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,22 @@
|
|||
DROP FUNCTION IF EXISTS fnGetOsztalyfonokOsztalyanakTanuloi
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetOsztalyfonokOsztalyanakTanuloi(
|
||||
@pTanarId int
|
||||
,@pSzuperOsztalyfonok int
|
||||
,@pDatum date)
|
||||
RETURNS TABLE
|
||||
AS RETURN
|
||||
SELECT
|
||||
f.ID
|
||||
,f.C_NYOMTATASINEV AS Nev
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = o.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID
|
||||
WHERE (o.C_OSZTALYFONOKID = @pTanarId OR @pSzuperOsztalyfonok = 1)
|
||||
AND tcs.C_BELEPESDATUM <= @pDatum
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @pDatum)
|
||||
AND o.TOROLT = 'F'
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND f.TOROLT = 'F'
|
||||
GO
|
|
@ -0,0 +1,42 @@
|
|||
DROP FUNCTION IF EXISTS fnGetTanarAltalErtekelhetoCsoportokTantargyak
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetTanarAltalErtekelhetoCsoportokTantargyak(
|
||||
@pTanarId int
|
||||
,@pTanevId int
|
||||
,@OktNevKatTipus int
|
||||
,@pSzuperOsztalyfonok int
|
||||
,@pDatum date
|
||||
)
|
||||
RETURNS TABLE
|
||||
AS RETURN
|
||||
SELECT * FROM
|
||||
(SELECT
|
||||
ocs.ID AS OsztalyCsoportId
|
||||
,ocs.C_NEV AS Nev
|
||||
,f.C_TANTARGYID AS TantargyId
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
AND ocs.C_FELADATKATEGORIAID = @OktNevKatTipus
|
||||
AND ocs.C_TANEVID = f.C_TANEVID
|
||||
AND ocs.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
|
||||
AND tcs.TOROLT = 'F'
|
||||
WHERE f.TOROLT = 'F'
|
||||
AND @pDatum >= tcs.C_BELEPESDATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @pDatum)
|
||||
AND tcs.C_TANULOID IN (SELECT ID FROM fnGetOsztalyfonokOsztalyanakTanuloi(@pTanarId, @pSzuperOsztalyfonok, @pDatum))
|
||||
AND f.C_TANEVID = @pTanevId
|
||||
UNION
|
||||
SELECT
|
||||
ocs.ID AS OsztalyCsoportId
|
||||
,ocs.C_NEV AS Nev
|
||||
,f.C_TANTARGYID AS TantargyId
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
AND ocs.C_FELADATKATEGORIAID = @OktNevKatTipus
|
||||
AND ocs.TOROLT = 'F'
|
||||
WHERE f.TOROLT = 'F'
|
||||
AND (f.C_TANARID = @pTanarId OR @pSzuperOsztalyfonok = 1)
|
||||
AND ocs.C_TANEVID = @pTanevId) r
|
||||
GO
|
|
@ -0,0 +1,184 @@
|
|||
DROP PROCEDURE IF EXISTS [uspGetDolgozatErtekelesAtlag]
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [uspGetDolgozatErtekelesAtlag]
|
||||
@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
,@pOsztalyCsoportId int
|
||||
,@pTantargyId int
|
||||
,@pTanarId int
|
||||
,@pErtekelesTema nvarchar(255)
|
||||
,@pAtlagTol float
|
||||
,@pAtlagIg float
|
||||
,@pErdemjegy5Tol int
|
||||
,@pErdemjegy5Ig int
|
||||
,@pErdemjegy4Tol int
|
||||
,@pErdemjegy4Ig int
|
||||
,@pErdemjegy3Tol int
|
||||
,@pErdemjegy3Ig int
|
||||
,@pErdemjegy2Tol int
|
||||
,@pErdemjegy2Ig int
|
||||
,@pErdemjegy1Tol int
|
||||
,@pErdemjegy1Ig int
|
||||
,@pNemIrtDolgozatotTol int
|
||||
,@pNemIrtDolgozatotIg int
|
||||
,@pSzuperOsztalyfonok int
|
||||
,@pDatum datetime
|
||||
|
||||
AS BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @sql NVARCHAR(MAX)
|
||||
|
||||
SET @sql = N'
|
||||
CREATE TABLE #OsztalyCsoportokTantargyak (
|
||||
OsztalyCsoportId INT
|
||||
,TantargyId INT
|
||||
)
|
||||
|
||||
INSERT INTO
|
||||
#OsztalyCsoportokTantargyak (OsztalyCsoportId, TantargyId)
|
||||
SELECT
|
||||
OsztalyCsoportId
|
||||
,TantargyId
|
||||
FROM
|
||||
fnGetTanarAltalErtekelhetoCsoportokTantargyak (@pTanarId, @pTanevId, 7553, @pSzuperOsztalyfonok, @pDatum)
|
||||
|
||||
SELECT
|
||||
sub.Datum
|
||||
,sub.OsztalyCsoport
|
||||
,sub.OsztalyCsoportId
|
||||
,sub.ErtekelesTema
|
||||
,tgy.C_NEV AS TantargyNev
|
||||
,sub.TantargyId
|
||||
,sub.ErtekelesModId
|
||||
,sub.Erdemjegy1
|
||||
,sub.Erdemjegy2
|
||||
,sub.Erdemjegy3
|
||||
,sub.Erdemjegy4
|
||||
,sub.Erdemjegy5
|
||||
,sub.Cnt IrtakDolgozatot
|
||||
,(letszam.Letszam - sub.Cnt) NemIrtakDolgozatot
|
||||
,CONVERT(nvarchar(255), sub.Cnt) + ''/'' + CONVERT(nvarchar(255), letszam.Letszam) AS IrtakDolgozatotArany
|
||||
,ROUND(Total / CAST(Cnt AS Float), 2) AS Atlag
|
||||
,letszam.Letszam
|
||||
FROM (
|
||||
SELECT
|
||||
s.C_DATUM AS Datum
|
||||
,s.OsztalyCsoportNev AS OsztalyCsoport
|
||||
,s.C_OSZTALYCSOPORTID AS OsztalyCsoportId
|
||||
,s.C_ERTEKELESTEMA AS ErtekelesTema
|
||||
,s.C_TANTARGYID AS TantargyId
|
||||
,s.C_ERTEKELESMODID AS ErtekelesModId
|
||||
,s.[1501] AS Erdemjegy1
|
||||
,s.[1502] AS Erdemjegy2
|
||||
,s.[1503] AS Erdemjegy3
|
||||
,s.[1504] AS Erdemjegy4
|
||||
,s.[1505] AS Erdemjegy5
|
||||
,s.[1501] + s.[1502] + s.[1503] + s.[1504] + s.[1505] AS Cnt
|
||||
,s.[1501] + s.[1502] * 2 + s.[1503] * 3 + s.[1504] * 4 + s.[1505] * 5 AS Total
|
||||
FROM (
|
||||
SELECT
|
||||
er.C_DATUM
|
||||
,er.C_OSZTALYCSOPORTID
|
||||
,er.C_ERTEKELESTEMA
|
||||
,er.C_TANTARGYID
|
||||
,er.C_ERTEKELESOSZTALYZATID
|
||||
,er.C_ERTEKELESMODID
|
||||
,ocs.C_NEV AS OsztalyCsoportNev
|
||||
FROM T_TANULOERTEKELES_OSSZES er
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = er.C_OSZTALYCSOPORTID
|
||||
WHERE er.C_ERTEKELESMODID IN (1507, 1508)
|
||||
AND er.C_TANEVID = @pTanevId
|
||||
AND er.C_ISMAGATARTASSZORGALOM = ''F''
|
||||
AND er.TOROLT = ''F''
|
||||
AND er.C_ERTEKELESTEMA IS NOT NULL
|
||||
AND er.C_ERTEKELESOSZTALYZATID IS NOT NULL
|
||||
AND (EXISTS(SELECT 1 FROM #OsztalyCsoportokTantargyak ocst WHERE ocst.OsztalyCsoportId = er.C_OSZTALYCSOPORTID AND ocst.TantargyId = er.C_TANTARGYID))' + '
|
||||
' + IIF(@pTantargyId IS NULL, N'', N'AND er.C_TANTARGYID = @pTantargyId') + N'
|
||||
' + IIF(@pErtekelesTema IS NULL, N'', N'AND er.C_ERTEKELESTEMA = @pErtekelesTema') + N'
|
||||
' + IIF(@pOsztalyCsoportId IS NULL, N'', N'AND er.C_OSZTALYCSOPORTID = @pOsztalyCsoportId') + N'
|
||||
) x
|
||||
PIVOT (COUNT(C_ERTEKELESOSZTALYZATID) FOR C_ERTEKELESOSZTALYZATID IN ([1501], [1502], [1503], [1504], [1505])
|
||||
) s
|
||||
WHERE 1 = 1' + '
|
||||
' + IIF(@pErdemjegy5Tol IS NULL, N'', 'AND s.[1505] >= @pErdemjegy5Tol') + '
|
||||
' + IIF(@pErdemjegy5Ig IS NULL, N'', 'AND s.[1505] <= @pErdemjegy5Ig') + '
|
||||
' + IIF(@pErdemjegy4Tol IS NULL, N'', 'AND s.[1504] >= @pErdemjegy4Tol') + '
|
||||
' + IIF(@pErdemjegy4Ig IS NULL, N'', 'AND s.[1504] <= @pErdemjegy4Ig') + '
|
||||
' + IIF(@pErdemjegy3Tol IS NULL, N'', 'AND s.[1503] >= @pErdemjegy3Tol') + '
|
||||
' + IIF(@pErdemjegy3Ig IS NULL, N'', 'AND s.[1503] <= @pErdemjegy3Ig') + '
|
||||
' + IIF(@pErdemjegy2Tol IS NULL, N'', 'AND s.[1502] >= @pErdemjegy2Tol') + '
|
||||
' + IIF(@pErdemjegy2Ig IS NULL, N'', 'AND s.[1502] <= @pErdemjegy2Ig') + '
|
||||
' + IIF(@pErdemjegy1Tol IS NULL, N'', 'AND s.[1501] >= @pErdemjegy1Tol') + '
|
||||
' + IIF(@pErdemjegy1Ig IS NULL, N'', 'AND s.[1501] <= @pErdemjegy1Ig') + '
|
||||
) sub
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON sub.TantargyId = tgy.ID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dTantargy ON tgy.C_TARGYKATEGORIA = dTantargy.ID AND dTantargy.C_TANEVID = @pTanevId
|
||||
INNER JOIN (
|
||||
SELECT nn.C_NAPDATUMA, tcs.C_OSZTALYCSOPORTID, COUNT(1) AS Letszam
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_NAPTARINAP_OSSZES nn ON nn.C_NAPDATUMA >= tcs.C_BELEPESDATUM
|
||||
AND (nn.C_NAPDATUMA < tcs.C_KILEPESDATUM OR tcs.C_KILEPESDATUM IS NULL)
|
||||
WHERE nn.C_TANEVID = @pTanevId
|
||||
' + IIF(@pOsztalyCsoportId IS NULL, N'', N'AND tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId') + N'
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
GROUP BY nn.C_NAPDATUMA, tcs.C_OSZTALYCSOPORTID
|
||||
) letszam ON letszam.C_NAPDATUMA = sub.Datum
|
||||
AND letszam.C_OSZTALYCSOPORTID = OsztalyCsoportId' + '
|
||||
' + IIF(@pNemIrtDolgozatotTol IS NULL, N'', N'AND (letszam.Letszam - sub.Cnt) >= @pNemIrtDolgozatotTol') + '
|
||||
' + IIF(@pNemIrtDolgozatotIg IS NULL, N'', N'AND (letszam.Letszam - sub.Cnt) <= @pNemIrtDolgozatotIg') + '
|
||||
' + IIF(@pAtlagTol IS NULL, N'', N'AND ROUND(Total / CAST(Cnt AS Float), 2) >= @pAtlagTol') + '
|
||||
' + IIF(@pAtlagIg IS NULL, N'', N'AND ROUND(Total / CAST(Cnt AS Float), 2) <= @pAtlagIg') + '
|
||||
'
|
||||
|
||||
EXEC sp_executesql @sql, N'
|
||||
@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
,@pOsztalyCsoportId int
|
||||
,@pTantargyId int
|
||||
,@pTanarId int
|
||||
,@pErtekelesTema nvarchar(255)
|
||||
,@pAtlagTol float
|
||||
,@pAtlagIg float
|
||||
,@pErdemjegy5Tol int
|
||||
,@pErdemjegy5Ig int
|
||||
,@pErdemjegy4Tol int
|
||||
,@pErdemjegy4Ig int
|
||||
,@pErdemjegy3Tol int
|
||||
,@pErdemjegy3Ig int
|
||||
,@pErdemjegy2Tol int
|
||||
,@pErdemjegy2Ig int
|
||||
,@pErdemjegy1Tol int
|
||||
,@pErdemjegy1Ig int
|
||||
,@pNemIrtDolgozatotTol int
|
||||
,@pNemIrtDolgozatotIg int
|
||||
,@pSzuperOsztalyfonok int
|
||||
,@pDatum datetime'
|
||||
,@pIntezmenyId = @pIntezmenyId
|
||||
,@pTanevId = @pTanevId
|
||||
,@pOsztalyCsoportId = @pOsztalyCsoportId
|
||||
,@pTantargyId = @pTantargyId
|
||||
,@pTanarId = @pTanarId
|
||||
,@pErtekelesTema = @pErtekelesTema
|
||||
,@pAtlagTol = @pAtlagTol
|
||||
,@pAtlagIg = @pAtlagIg
|
||||
,@pErdemjegy5Tol = @pErdemjegy5Tol
|
||||
,@pErdemjegy5Ig = @pErdemjegy5Ig
|
||||
,@pErdemjegy4Tol = @pErdemjegy4Tol
|
||||
,@pErdemjegy4Ig = @pErdemjegy4Ig
|
||||
,@pErdemjegy3Tol = @pErdemjegy3Tol
|
||||
,@pErdemjegy3Ig = @pErdemjegy3Ig
|
||||
,@pErdemjegy2Tol = @pErdemjegy2Tol
|
||||
,@pErdemjegy2Ig = @pErdemjegy2Ig
|
||||
,@pErdemjegy1Tol = @pErdemjegy1Tol
|
||||
,@pErdemjegy1Ig = @pErdemjegy1Ig
|
||||
,@pNemIrtDolgozatotTol = @pNemIrtDolgozatotTol
|
||||
,@pNemIrtDolgozatotIg = @pNemIrtDolgozatotIg
|
||||
,@pSzuperOsztalyfonok = @pSzuperOsztalyfonok
|
||||
,@pDatum = @pDatum
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,39 @@
|
|||
DROP PROCEDURE IF EXISTS uspGetTanarAltalErtekelhetoCsoportok
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetTanarAltalErtekelhetoCsoportok
|
||||
@pTanarId int
|
||||
,@pTanevId int
|
||||
,@OktNevKatTipus int
|
||||
,@pSzuperOsztalyfonok int
|
||||
,@pDatum date
|
||||
AS BEGIN
|
||||
SET NOCOUNT ON
|
||||
SELECT DISTINCT
|
||||
ocs.Id AS OsztalyCsoportId
|
||||
,ocs.C_NEV AS Nev
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
AND ocs.C_FELADATKATEGORIAID = @OktNevKatTipus
|
||||
AND ocs.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
|
||||
AND tcs.TOROLT = 'F'
|
||||
WHERE f.TOROLT = 'F'
|
||||
AND @pDatum >= tcs.C_BELEPESDATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @pDatum)
|
||||
AND tcs.C_TANULOID IN (SELECT ID FROM fnGetOsztalyfonokOsztalyanakTanuloi(@pTanarId, @pSzuperOsztalyfonok, @pDatum))
|
||||
AND f.C_TANEVID = @pTanevId
|
||||
UNION
|
||||
SELECT
|
||||
ocs.ID AS OsztalyCsoportId
|
||||
,ocs.C_NEV AS Nev
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
AND ocs.C_FELADATKATEGORIAID = @OktNevKatTipus
|
||||
AND ocs.TOROLT = 'F'
|
||||
WHERE (f.C_TANARID = @pTanarId OR @pSzuperOsztalyfonok = 1)
|
||||
AND ocs.C_TANEVID = @pTanevId
|
||||
AND f.TOROLT = 'F'
|
||||
ORDER BY Nev
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,40 @@
|
|||
DROP PROCEDURE IF EXISTS uspGetTanarDolgozatTantargyak
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspGetTanarDolgozatTantargyak
|
||||
@pTanarId int
|
||||
,@pTanevId int
|
||||
,@OktNevKatTipus int
|
||||
,@pSzuperOsztalyfonok int
|
||||
,@pDatum date
|
||||
AS BEGIN
|
||||
SET NOCOUNT ON
|
||||
SELECT DISTINCT
|
||||
t.ID AS TantargyId
|
||||
,t.C_NEV AS TantargyNev
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
AND ocs.C_FELADATKATEGORIAID = @OktNevKatTipus
|
||||
AND ocs.C_TANEVID = f.C_TANEVID
|
||||
AND ocs.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
|
||||
WHERE f.TOROLT = 'F'
|
||||
AND @pDatum >= tcs.C_BELEPESDATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @pDatum)
|
||||
AND tcs.C_TANULOID IN (SELECT ID FROM fnGetOsztalyfonokOsztalyanakTanuloi(@pTanarId, @pSzuperOsztalyfonok, @pDatum))
|
||||
AND f.C_TANEVID = @pTanevId
|
||||
UNION
|
||||
SELECT
|
||||
t.ID AS TantargyId
|
||||
,t.C_NEV AS TantargyNev
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
AND ocs.C_FELADATKATEGORIAID = @OktNevKatTipus
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
|
||||
AND t.TOROLT = 'F'
|
||||
WHERE (f.C_TANARID = @pTanarId OR @pSzuperOsztalyfonok = 1)
|
||||
AND ocs.C_TANEVID = @pTanevId
|
||||
ORDER BY TantargyNev
|
||||
END
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue