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,37 @@
/* ================================================================================ */
/* Description: Intézmény szintű lekérdezés adott pTanevId szerint a mulasztásokról */
/* ================================================================================ */
DROP PROCEDURE IF EXISTS uspGetMulasztasiOsszesitoStatisztika
GO
CREATE PROCEDURE [dbo].[uspGetMulasztasiOsszesitoStatisztika]
@pTanevId INT
AS BEGIN
SET NOCOUNT ON;
SELECT
i.C_AZONOSITO AS Intezmeny
,f.C_NYOMTATASINEV AS Tanulo
,f.C_OKTATASIAZONOSITO AS OktatasiAzonosito
,ocs.C_NEV AS 'Osztaly/Csoport'
,CAST(tn.C_DATUM AS date) AS Datum
,tn.C_ORASZAM AS Oraszam
,CASE mu.C_TIPUS WHEN 1500 THEN N'Hiányzás' WHEN 1499 THEN N'Késés' WHEN 1817 THEN N'Üres' END AS MulasztasTipus
,mu.C_KESESPERCBEN AS KesesPercben
,tgy.C_NEV AS Tantargy
,tn.C_ORAKEZDETE AS OraKezdete
,tn.C_ORAVEGE AS OraVege
FROM T_TANULOMULASZTAS_OSSZES mu
INNER JOIN T_INTEZMENY_OSSZES i ON i.ID = mu.C_INTEZMENYID AND i.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = mu.C_ORATANULOIID AND f.TOROLT = 'F'
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = mu.C_TANITASIORAKID AND tn.TOROLT = 'F'
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = tn.C_TANTARGYID AND tgy.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tn.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
WHERE
mu.TOROLT = 'F'
AND mu.C_TANEVID = @pTanevId
ORDER BY Intezmeny, Datum, OraKezdete, Tanulo
END
GO

View File

@@ -0,0 +1,93 @@
/* ==================================================================================== */
/* Description: Intézmény szintű lekérdezés adott pTanevId szerint a tanulók névsoráról */
/* ==================================================================================== */
DROP PROCEDURE IF EXISTS uspGetTanulokNevsoraOsszesitoStatisztika
GO
CREATE PROCEDURE [dbo].[uspGetTanulokNevsoraOsszesitoStatisztika]
@pTanevId int
AS BEGIN
SET NOCOUNT ON;
-- Tanév
SELECT
tv.C_NEV
FROM T_TANEV_OSSZES tv
WHERE tv.TOROLT = 'F' AND tv.ID = @pTanevId
-- Osztaly/Csoport -ok félévvége dátumai
DROP TABLE IF EXISTS #ocstr
CREATE TABLE #ocstr (
ocsId int
,FelevVegeDatum datetime
)
INSERT INTO #ocstr (
ocsId
,FelevVegeDatum
) SELECT
o.ID
--,ocs.C_NEV
,CASE WHEN otr.C_OSZTALYCSOPORTID IS NOT NULL AND ktr.ID IS NOT NULL THEN ktr.C_DATUM
WHEN otr.C_OSZTALYCSOPORTID IS NULL AND ktr0.ID IS NOT NULL THEN ktr0.C_DATUM
ELSE tr.C_DATUM
END AS FelevVegeDatum
FROM T_OSZTALY_OSSZES o
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_TANEVID = o.C_ALTANEVID AND tr.C_NAPTIPUSA = 1400 AND tr.TOROLT = 'F'
LEFT JOIN T_TANEVRENDJE_OSSZES ktr0 ON ktr0.C_TANEVID = o.C_ALTANEVID AND ktr0.C_NAPTIPUSA = 7605 AND ocs.C_KERESZTFELEVES = 'T' AND ktr0.C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND ktr0.TOROLT = 'F'
LEFT JOIN T_TANEVRENDJE_OSSZES ktr ON ktr.C_TANEVID = o.C_ALTANEVID AND ktr.C_NAPTIPUSA = 7605 AND ocs.C_KERESZTFELEVES = 'T' AND ktr.C_OSSZESCSOPORTRAVONATKOZIK = 'F' AND ktr.TOROLT = 'F'
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE otr ON otr.C_OSZTALYCSOPORTID = o.ID AND otr.C_TANEVRENDJEID = ktr.ID
WHERE o.TOROLT = 'F' AND o.C_ALTANEVID = @pTanevId
-- I. félév
SELECT
i.C_AZONOSITO AS Intezmeny
,fh.C_OKTATASIAZONOSITO AS OktatasiAzonosito
,C_NYOMTATASINEV AS Nev
,ocs.C_NEV AS Osztaly
,tcs.C_BELEPESDATUM AS BelepesDatuma
,tcs.C_KILEPESDATUM AS KilepesDatuma
,ocs.C_KERESZTFELEVES AS KeresztFeleves
FROM T_FELHASZNALO_OSSZES fh
INNER JOIN T_TANULO_OSSZES t ON t.ID = fh.ID AND t.TOROLT = 'F'
  INNER JOIN T_TANEV_OSSZES tv ON tv.ID = fh.C_TANEVID AND tv.TOROLT = 'F'
  INNER jOIN T_INTEZMENY_OSSZES i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F'
-- osztályok, illetve itt a LEFT miatt megjelennek azok, akiknek soha nem volt még osztálya
  LEFT JOIN T_TANULOCSOPORT_OSSZES tcs
  INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcs.C_OSZTALYCSOPORTID AND o.TOROLT = 'F'
  INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
INNER JOIN #ocstr tr ON tr.ocsId = ocs.ID -- félév
ON tcs.C_TANULOID = fh.ID AND tcs.TOROLT = 'F'
WHERE fh.TOROLT = 'F'
AND fh.C_TANEVID = @pTanevId
AND (tcs.ID IS NULL OR tcs.C_BELEPESDATUM <= tr.FelevVegeDatum)
ORDER BY Nev, Osztaly, BelepesDatuma
-- II. félév
SELECT
i.C_AZONOSITO AS Intezmeny
,fh.C_OKTATASIAZONOSITO AS OktatasiAzonosito
,C_NYOMTATASINEV AS Nev
,ocs.C_NEV AS Osztaly
,tcs.C_BELEPESDATUM AS BelepesDatuma
,tcs.C_KILEPESDATUM AS KilepesDatuma
,ocs.C_KERESZTFELEVES AS KeresztFeleves
FROM T_FELHASZNALO_OSSZES fh
INNER JOIN T_TANULO_OSSZES t ON t.ID = fh.ID AND t.TOROLT = 'F'
  INNER JOIN T_TANEV_OSSZES tv ON tv.ID = fh.C_TANEVID AND tv.TOROLT = 'F'
  INNER jOIN T_INTEZMENY_OSSZES i ON i.ID = fh.C_INTEZMENYID AND i.TOROLT = 'F'
-- osztályok
  INNER JOIN T_TANULOCSOPORT_OSSZES tcs
  INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcs.C_OSZTALYCSOPORTID AND o.TOROLT = 'F'
  INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
INNER JOIN #ocstr tr ON tr.ocsId = ocs.ID -- félév
ON tcs.C_TANULOID = fh.ID AND tcs.TOROLT = 'F'
WHERE fh.TOROLT = 'F' --AND GETDATE() >= tr.FelevVegeDatum
AND fh.C_TANEVID = @pTanevId
AND ((tcs.C_KILEPESDATUM > tr.FelevVegeDatum AND tcs.C_KILEPESDATUM <= tv.C_UTOLSONAP) OR tcs.C_KILEPESDATUM IS NULL)
ORDER BY Nev, Osztaly, BelepesDatuma
END
GO