init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,191 @@
|
|||
DROP PROCEDURE IF EXISTS [uspGetDolgozatErtekelesAtlag]
|
||||
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 @preSql NVARCHAR(MAX), @mainSql NVARCHAR(MAX), @sql NVARCHAR(MAX)
|
||||
SET @pErtekelesTema = REPLACE(@pErtekelesTema, ' ', '')
|
||||
|
||||
SET @preSql = IIF(@pSzuperOsztalyfonok = 1, N'', N'
|
||||
CREATE TABLE #OsztalyCsoportokTantargyak (
|
||||
OsztalyCsoportId INT
|
||||
,OsztalyCsoportNev nvarchar(255)
|
||||
,TantargyId INT
|
||||
,PRIMARY KEY(OsztalyCsoportId,TantargyId)
|
||||
)
|
||||
|
||||
INSERT INTO #OsztalyCsoportokTantargyak (
|
||||
OsztalyCsoportId
|
||||
,OsztalyCsoportNev
|
||||
,TantargyId
|
||||
)
|
||||
EXEC uspGetTanarAltalErtekelhetoCsoportokTantargyak
|
||||
@pTanarId
|
||||
,@pTanevId
|
||||
,@pDatum
|
||||
')
|
||||
|
||||
SET @mainSql = N'
|
||||
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 AND ocs.TOROLT=''F''
|
||||
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
|
||||
' + IIF(@pSzuperOsztalyfonok = 1, N'', N'AND (EXISTS(SELECT 1 FROM #OsztalyCsoportokTantargyak ocst WHERE ocst.OsztalyCsoportId = er.C_OSZTALYCSOPORTID AND ocst.TantargyId = er.C_TANTARGYID))') + N'
|
||||
' + IIF(@pTantargyId IS NULL, N'', N'AND er.C_TANTARGYID = @pTantargyId') + N'
|
||||
' + IIF(@pErtekelesTema IS NULL, N'', N'AND REPLACE(er.C_ERTEKELESTEMA,'' '','''') LIKE ''%' + @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 AND tgy.TOROLT=''F''
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dTantargy ON tgy.C_TARGYKATEGORIA = dTantargy.ID AND dTantargy.C_TANEVID = @pTanevId AND dTantargy.TOROLT=''F''
|
||||
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)
|
||||
AND nn.TOROLT=''F''
|
||||
WHERE nn.C_TANEVID = @pTanevId
|
||||
' + IIF(@pOsztalyCsoportId IS NULL, N'', N'AND tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId') + N'
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.TOROLT=''F''
|
||||
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') + '
|
||||
'
|
||||
|
||||
SET @sql = CONCAT(@preSql, @mainSql)
|
||||
|
||||
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
|
Loading…
Add table
Add a link
Reference in a new issue