This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
-- =============================================
-- Description: <Oszt<7A>lyok/csoportok <20>s egy<67>b oszt<7A>lyok/csoportok>
-- =============================================
DROP PROCEDURE IF EXISTS [dbo].[sp_GetAllOsztalyCsoport]
GO
CREATE PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
@pFeladatKategoriaId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END AS NumberOrder
,CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END AS NumberAndTextOrder
,osztalyCsoport.ID AS ID
,osztalyCsoport.C_NEV AS Nev
,'1' AS Tipus
,NULL AS CsoportTipusa
,osztalyCsoport.C_EVFOLYAMTIPUSA AS Evfolyam
,0 AS OsztalyCsoportOrder
,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
FROM
T_OSZTALY osztaly
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
ON osztaly.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely
ON osztalyCsoport.C_FELADATELLATASIHELYID = feladatellatasiHely.ID
WHERE
osztalyCsoport.TOROLT = 'F'
UNION ALL
SELECT
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END AS NumberOrder
,CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END AS NumberAndTextOrder
,osztalyCsoport.ID AS ID
,osztalyCsoport.C_NEV AS Nev
,'1' AS Tipus
,csoport.C_TIPUSA AS CsoportTipusa
,osztalyCsoport.C_EVFOLYAMTIPUSA AS Evfolyam
,1 AS OsztalyCsoportOrder
,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
FROM
T_CSOPORT csoport
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
ON csoport.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely
ON osztalyCsoport.C_FELADATELLATASIHELYID = feladatellatasiHely.ID
WHERE
osztalyCsoport.TOROLT = 'F'
ORDER BY
OsztalyCsoportOrder, NumberOrder ASC, NumberAndTextOrder ASC, osztalyCsoport.C_NEV ASC
END
GO

View File

@@ -0,0 +1,26 @@
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFelhasznaloErintettOsztalyai]
GO
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloErintettOsztalyai]
@felhasznaloId INT
,@feladatellatasihelyId INT = NULL
AS
BEGIN
SET NOCOUNT ON;
SELECT
ocs.ID AS ID
,ocs.C_NEV AS Nev
,'1' AS Tipus
,cs.C_TIPUSA AS CsoportTipusa
,ocs.C_EVFOLYAMTIPUSA AS Evfolyam
,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
FROM T_OSZTALYCSOPORT ocs
LEFT JOIN T_OSZTALY o ON o.ID=ocs.ID AND (o.C_OSZTALYFONOKID=@felhasznaloId OR o.C_OFOHELYETTESID = @felhasznaloId)
LEFT JOIN T_CSOPORT cs ON cs.ID=ocs.ID AND cs.C_CSOPORTVEZETOID=@felhasznaloId
INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely ON ocs.C_FELADATELLATASIHELYID = feladatellatasiHely.ID
WHERE ocs.TOROLT = 'F' AND (@feladatellatasihelyId IS NULL OR ocs.C_FELADATELLATASIHELYID=@feladatellatasihelyId)
AND NOT (o.ID IS NULL AND cs.ID IS NULL)
ORDER BY cs.C_TIPUSA, ocs.C_EVFOLYAMTIPUSA
END
GO

View File

@@ -0,0 +1,48 @@
-- =============================================
-- Description: <Felhasználóhoz köthető osztályok foglalkozások alapján az értékelések szűréséhez>
-- =============================================
DROP PROCEDURE IF EXISTS [dbo].[sp_GetFelhasznaloOsztalyaiByFoglalkozas]
GO
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloOsztalyaiByFoglalkozas]
@felhasznaloId INT
,@osztaly VARCHAR(32)
,@csoport VARCHAR(32)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT DISTINCT
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END AS NumberOrder
,CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END AS NumberAndTextOrder
,osztalyCsoport.ID AS ID
,osztalyCsoport.C_NEV AS Nev
,CASE WHEN Osztaly IS NOT NULL THEN @osztaly ELSE @csoport END AS Tipus
,osztalyCsoport.C_EVFOLYAMTIPUSA AS Evfolyam
,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
FROM
T_FOGLALKOZAS foglalkozas
LEFT JOIN T_OSZTALYCSOPORT osztalyCsoport
ON osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
LEFT JOIN T_TANTARGY tantargy
ON tantargy.ID = foglalkozas.C_TANTARGYID
LEFT JOIN T_FELHASZNALO felhasznalo
ON felhasznalo.ID = foglalkozas.C_TANARID
LEFT JOIN (SELECT ID, 'T' AS Osztaly FROM T_OSZTALY_OSSZES) AS o
ON o.ID = osztalyCsoport.ID
LEFT JOIN (SELECT ID, C_TIPUSA FROM T_CSOPORT_OSSZES WHERE TOROLT = 'F') AS cs
ON cs.ID = osztalyCsoport.ID
INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely
ON osztalyCsoport.C_FELADATELLATASIHELYID = feladatellatasiHely.ID
WHERE
foglalkozas.TOROLT = 'F' AND
foglalkozas.C_TANARID = @felhasznaloId
ORDER BY
NumberOrder ASC, NumberAndTextOrder ASC, osztalyCsoport.C_NEV ASC
END
GO

View File

@@ -0,0 +1,122 @@
DROP PROCEDURE IF EXISTS uspGetTanuloErtekelesDataSetByMagatartasSzorgalom
GO
CREATE PROCEDURE uspGetTanuloErtekelesDataSetByMagatartasSzorgalom
@pTanevId int
,@pTanarId int
,@pOsztalyCsoportId int
,@pDatum date = NULL
,@pAmiKategoriaId int
AS
BEGIN
SET NOCOUNT ON;
IF @pDatum IS NULL
SET @pDatum = CONVERT(date, GETDATE())
DECLARE @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId)
CREATE TABLE #TanuloOsztalyEvfolyamTipusIdList (
TanuloId int PRIMARY KEY
,EvfolyamTipusId int
)
IF @feladatKategoriaId <> @pAmiKategoriaId
BEGIN
INSERT INTO #TanuloOsztalyEvfolyamTipusIdList (
TanuloId
,EvfolyamTipusId
)
SELECT
tanuloOsztalyList.C_TANULOID AS TanuloId
,tanuloOsztalyList.C_EVFOLYAMTIPUSA AS EvfolyamTipusId
FROM fnGetOsztalyCsoportTanuloOsztalyList(@pTanevId, @pOsztalyCsoportId, @feladatKategoriaId, @pDatum) tanuloOsztalyList
END
SELECT
FelhasznaloTanulo.ID AS TanuloId
,NULL AS TantargyId
,FelhasznaloTanulo.C_NYOMTATASINEV AS TanuloNev
,IIF(FelhasznaloTanulo.C_NEVSORREND = 'T', FelhasznaloTanulo.C_UTONEV + ' ' + FelhasznaloTanulo.C_VEZETEKNEV, FelhasznaloTanulo.C_VEZETEKNEV + ' ' + FelhasznaloTanulo.C_UTONEV) AS TanuloNevElotagNelkul
,FelhasznaloTanulo.C_ANYJANEVE AS AnyjaNeve
,FelhasznaloTanulo.C_SZULETESIDATUM AS SzuletesiIdo
,OsztalyCsoport.C_FELADATKATEGORIAID AS FeladatKategoriaId
,OsztalyCsoport.C_NEV AS OsztalyNev
,FeladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
,TanuloErtekeles.ID AS ID
,TanuloErtekeles.C_DATUM AS Datum
,TanuloErtekeles.C_ROGZITESDATUM AS RogzitesDatum
,TanuloErtekeles.C_TIPUSID AS TipusId
,TanuloErtekeles.C_NYOMTATASINEV AS ErtekeloNyomtatasiNev
,IIF(TanuloErtekeles.C_ERTEKELOID = @pTanarId,'T','F') AS Modosithato
,TanuloErtekeles.C_ROGZITESDATUM AS Created
,TanuloErtekeles.C_ISMAGATARTASSZORGALOM AS IsMagatartasSzorgalom
,TanuloErtekeles.C_ISERTESITESELKULDVE AS IsErtesitesElkuldve
,TanuloErtekeles.C_MAGATARTASOSZTALYZATID AS MagatartasOsztalyzatId
,TanuloErtekeles.C_MAGATARTASSZOVEG AS MagatartasSzoveg
,TanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV AS MagatartasSzovegRovidNev
,TanuloErtekeles.C_MAGATARTASERTEKID AS MagatartasErtekId
,TanuloErtekeles.C_SZORGALOMOSZTALYZATID AS SzorgalomOsztalyzatId
,TanuloErtekeles.C_SZORGALOMSZOVEG AS SzorgalomSzoveg
,TanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV AS SzorgalomSzovegRovidNev
,TanuloErtekeles.C_SZORGALOMERTEKID AS SzorgalomErtekId
,NULL AS AmiFotargyId
,NULL AS AmiTagozatId
,NULL AS AmiTantargyKotelezosegId
,NULL AS EvfolyamId
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
INNER JOIN T_TANEV_OSSZES Tanev ON Tanev.ID = TanuloCsoport.C_TANEVID AND Tanev.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES FelhasznaloTanulo ON FelhasznaloTanulo.C_TANEVID = TanuloCsoport.C_TANEVID AND FelhasznaloTanulo.TOROLT = 'F'
AND FelhasznaloTanulo.ID = TanuloCsoport.C_TANULOID
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID AND OsztalyCsoport.TOROLT = 'F'
AND OsztalyCsoport.ID = TanuloCsoport.C_OSZTALYCSOPORTID
INNER JOIN T_FELADATELLATASIHELY FeladatellatasiHely ON OsztalyCsoport.C_FELADATELLATASIHELYID = FeladatellatasiHely.ID
LEFT JOIN (
SELECT
TanuloErtekeles.*
,FelhasznaloErtekelo.C_NYOMTATASINEV
FROM T_TANULOERTEKELES_OSSZES TanuloErtekeles
INNER JOIN T_OSZTALYCSOPORT_OSSZES Osztaly ON Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID AND Osztaly.TOROLT = 'F'
AND Osztaly.ID = TanuloErtekeles.C_OSZTALYCSOPORTID
AND Osztaly.C_FELADATKATEGORIAID = @feladatKategoriaId
INNER JOIN T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON FelhasznaloErtekelo.C_TANEVID = TanuloErtekeles.C_TANEVID AND FelhasznaloErtekelo.TOROLT = 'F'
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
WHERE TanuloErtekeles.C_TANEVID = @pTanevId
AND TanuloErtekeles.TOROLT = 'F'
AND TanuloErtekeles.C_TANTARGYID IS NULL
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NULL
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T'
UNION
SELECT
TanuloErtekeles.*
,FelhasznaloErtekelo.C_NYOMTATASINEV
FROM T_TANULOERTEKELES_OSSZES TanuloErtekeles
INNER JOIN T_OSZTALYCSOPORT_OSSZES Osztaly ON Osztaly.C_TANEVID = TanuloErtekeles.C_TANEVID AND Osztaly.TOROLT = 'F'
AND Osztaly.ID = TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID
AND Osztaly.C_FELADATKATEGORIAID = @feladatKategoriaId
INNER JOIN #TanuloOsztalyEvfolyamTipusIdList Evfolyam ON Evfolyam.TanuloId = TanuloErtekeles.C_TANULOID AND Evfolyam.EvfolyamTipusId = Osztaly.C_EVFOLYAMTIPUSA
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANEVID = TanuloErtekeles.C_TANEVID AND TanuloCsoport.TOROLT = 'F'
AND TanuloCsoport.C_OSZTALYCSOPORTID = Osztaly.ID
AND TanuloCsoport.C_TANULOID = TanuloErtekeles.C_TANULOID
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
INNER JOIN T_FELHASZNALO_OSSZES FelhasznaloErtekelo ON FelhasznaloErtekelo.C_TANEVID = TanuloErtekeles.C_TANEVID AND FelhasznaloErtekelo.TOROLT = 'F'
AND FelhasznaloErtekelo.ID = TanuloErtekeles.C_ERTEKELOID
WHERE TanuloErtekeles.C_TANEVID = @pTanevId
AND TanuloErtekeles.TOROLT = 'F'
AND TanuloErtekeles.C_TANTARGYID IS NULL
AND TanuloErtekeles.C_ROGZITESKORITANULOOSZTALYID IS NOT NULL
AND TanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T'
) AS TanuloErtekeles ON TanuloErtekeles.C_TANULOID = TanuloCsoport.C_TANULOID
WHERE TanuloCsoport.C_TANEVID = @pTanevId
AND TanuloCsoport.TOROLT = 'F'
AND TanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
AND (TanuloCsoport.C_KILEPESDATUM > @pDatum OR TanuloCsoport.C_KILEPESDATUM IS NULL)
END
GO