init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,118 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumMulasztasokOsztalyonkentReszletes
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumMulasztasokOsztalyonkentReszletes (
|
||||
@tanevId int
|
||||
,@osztalyCsoportId int
|
||||
,@iskolaErdekuSzamit bit
|
||||
,@csakKivlasztottOsztalyCsoport bit = 0
|
||||
,@atsoroltTanuloMulasztas bit = 1
|
||||
,@idoszakEleje date = NULL
|
||||
,@idoszakVege date = NULL
|
||||
,@csakTanoraiCelu int = 1
|
||||
)
|
||||
RETURNS @result TABLE (
|
||||
TanuloId int
|
||||
,TanuloCsoportId int
|
||||
,OsztalyCsoportId int
|
||||
,OsztalyCsoportNev nvarchar (255)
|
||||
,Tipusa int
|
||||
,Igazolt char (1)
|
||||
,IgazolasTipusa int
|
||||
,KesesPercben int null
|
||||
,Datum datetime
|
||||
,Oraszam nvarchar (255)
|
||||
,OraszamWithOrakezdeteVege nvarchar (255)
|
||||
,TantargyId int
|
||||
,TantargyNev nvarchar (255)
|
||||
,HetSorszama int
|
||||
,Gyakorlati char(1)
|
||||
,Tanorai char(1)
|
||||
,RENDEZ1 int
|
||||
,RENDEZ2 nvarchar(255)
|
||||
,RENDEZ3 int
|
||||
,RENDEZ4 int
|
||||
,RENDEZ5 nvarchar(255)
|
||||
)
|
||||
AS BEGIN
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
|
||||
DECLARE @defaultCsengetesiRendId int
|
||||
|
||||
DECLARE @tanoraiCsoportok TABLE(
|
||||
OsztalyCsoportId int
|
||||
)
|
||||
|
||||
SELECT @defaultCsengetesiRendId = ID
|
||||
FROM T_CSENGETESIREND_OSSZES csr
|
||||
WHERE csr.TOROLT='F'
|
||||
AND csr.C_AKTIV = 'T'
|
||||
AND csr.C_TANEVID = @tanevId
|
||||
|
||||
INSERT INTO @tanoraiCsoportok(OsztalyCsoportId)
|
||||
SELECT
|
||||
ID
|
||||
FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId)
|
||||
|
||||
INSERT INTO @result
|
||||
SELECT
|
||||
tm.C_ORATANULOIID AS TanuloId
|
||||
,tcs.ID AS TanuloCsoportId
|
||||
,tao.C_OSZTALYCSOPORTID AS OsztalyCsoportId
|
||||
,ocs.C_NEV AS OsztalyCsoportNev
|
||||
,tm.C_TIPUS AS Tipusa
|
||||
,tm.C_IGAZOLT AS Igazolt
|
||||
,tm.C_IGAZOLASTIPUSA AS IgazolasTipusa
|
||||
,tm.C_KESESPERCBEN AS KesesPercben
|
||||
,tao.C_DATUM AS Datum
|
||||
,IIF(tao.C_CSENGETESIRENDORAID IS NULL,
|
||||
(SELECT
|
||||
ISNULL(MAX(csro.C_ORASZAM), 0)
|
||||
FROM T_CSENGETESIRENDORA_OSSZES csro
|
||||
WHERE csro.TOROLT = 'F'
|
||||
AND csro.C_CSENGETESIRENDID = @defaultCsengetesiRendId
|
||||
AND CONVERT(nvarchar(5), C_KEZDETE, 108) <= CONVERT(nvarchar(5), C_ORAKEZDETE, 108)
|
||||
),tao.C_ORASZAM) as Oraszam
|
||||
,IIF(tao.C_CSENGETESIRENDORAID IS NULL, CONCAT(CONVERT(nvarchar(5), tao.C_ORAKEZDETE, 108), '-',
|
||||
CONVERT(nvarchar(5), tao.C_ORAVEGE, 108)), CAST(tao.C_ORASZAM AS nvarchar(5))) AS OraszamWithOrakezdeteVege
|
||||
,tao.C_TANTARGYID AS TantargyId
|
||||
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS TantargyNev
|
||||
,tao.C_HETSORSZAMA AS HetSorszama
|
||||
,tgy.C_GYAKORLATI AS Gyakorlati
|
||||
,IIF(tanorai.OsztalyCsoportId IS NULL, 'F', 'T') AS Tanorai
|
||||
,IIF(tgy.C_FOTARGYID IS NULL,ISNULL(dibtgykat.C_ORDER, 10000),ISNULL(dibftgykat.C_ORDER, 10000)) AS RENDEZ1
|
||||
,COALESCE(ftgy.C_NEVNYOMTATVANYBAN, ftgy.C_NEV, tgy.C_NEV) AS RENDEZ2
|
||||
,ISNULL(tgy.C_FOTARGYID, tgy.ID) AS RENDEZ3
|
||||
,tgy.C_FOTARGYID AS RENDEZ4
|
||||
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS RENDEZ5
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.ID = tm.C_TANITASIORAKID
|
||||
AND tao.TOROLT='F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = tm.C_ORATANULOIID
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND tao.C_DATUM >= tcs.C_BELEPESDATUM
|
||||
AND tao.C_DATUM < ISNULL(tcs.C_KILEPESDATUM, GETDATE())
|
||||
AND tcs.C_OSZTALYCSOPORTID=@osztalyCsoportId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID
|
||||
AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = tao.C_TANTARGYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dibtgykat ON dibtgykat.Id = tgy.C_TARGYKATEGORIA
|
||||
AND dibtgykat.TOROLT = 'F'
|
||||
AND dibtgykat.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_TANTARGY_OSSZES ftgy ON tgy.C_FOTARGYID = ftgy.ID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dibftgykat ON dibftgykat.ID = ftgy.C_TARGYKATEGORIA
|
||||
AND dibftgykat.TOROLT = 'F'
|
||||
AND dibftgykat.C_TANEVID = ftgy.C_TANEVID
|
||||
LEFT JOIN @tanoraiCsoportok tanorai ON tanorai.OsztalyCsoportId = ocs.ID
|
||||
WHERE tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tm.TOROLT = 'F'
|
||||
AND (@csakTanoraiCelu = 0 OR tanorai.OsztalyCsoportId IS NOT NULL)
|
||||
AND (@iskolaErdekuSzamit = 1 OR (tm.C_IGAZOLASTIPUSA IS NULL OR tm.C_IGAZOLASTIPUSA <> 1533))
|
||||
AND (@atsoroltTanuloMulasztas = 1 OR (tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, @csakTanoraiCelu))))
|
||||
AND (@csakKivlasztottOsztalyCsoport = 0 OR tao.C_OSZTALYCSOPORTID = @osztalyCsoportId)
|
||||
AND (@idoszakEleje IS NULL OR tao.C_DATUM >= @idoszakEleje)
|
||||
AND (@idoszakVege IS NULL OR tao.C_DATUM <= @idoszakVege)
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,48 @@
|
|||
DROP INDEX IF EXISTS T_CSOPORTTIPUS.NCI_CsoportTipus_AlTanevId_AlIntezmenyId
|
||||
GO
|
||||
CREATE INDEX NCI_CsoportTipus_AlTanevId_AlIntezmenyId
|
||||
ON T_CSOPORTTIPUS (
|
||||
C_ALTANEVID
|
||||
,C_ALINTEZMENYID
|
||||
)
|
||||
WHERE C_ISTANORAICELU = 'T'
|
||||
WITH (FILLFACTOR = 80)
|
||||
-----------------------------
|
||||
DROP INDEX IF EXISTS T_FOGLALKOZAS.NCI_Foglalkozas_IntezmenyId_TanevId_TantargyId_OsztalyCsoportId
|
||||
GO
|
||||
CREATE INDEX NCI_Foglalkozas_IntezmenyId_TanevId_TantargyId_OsztalyCsoportId
|
||||
ON T_FOGLALKOZAS (
|
||||
C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,C_TANTARGYID
|
||||
,C_OSZTALYCSOPORTID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
WITH (FILLFACTOR = 80)
|
||||
-----------------------------
|
||||
DROP INDEX IF EXISTS T_TANEVRENDJE.NCI_TanevRendje_IntezmenyId_TanevId_NapTipusa
|
||||
GO
|
||||
CREATE INDEX NCI_TanevRendje_IntezmenyId_TanevId_NapTipusa
|
||||
ON T_TANEVRENDJE (
|
||||
C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,C_NAPTIPUSA
|
||||
)
|
||||
INCLUDE (C_DATUM)
|
||||
WHERE TOROLT='F'
|
||||
WITH (FILLFACTOR = 80)
|
||||
-----------------------------
|
||||
DROP INDEX IF EXISTS T_TANULOMULASZTAS.NCI_TanuloMulasztas_OraTanuloiId_Tipus_IntezmenyId_TanevId
|
||||
GO
|
||||
CREATE INDEX NCI_TanuloMulasztas_OraTanuloiId_Tipus_IntezmenyId_TanevId
|
||||
ON T_TANULOMULASZTAS (
|
||||
C_ORATANULOIID
|
||||
,C_TIPUS
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID)
|
||||
INCLUDE (C_TANITASIORAKID,C_IGAZOLASTIPUSA,C_IGAZOLT,C_KESESPERCBEN)
|
||||
WHERE TOROLT = 'F'
|
||||
WITH (FILLFACTOR = 80)
|
||||
|
||||
--dupla index
|
||||
DROP INDEX IF EXISTS T_TANEVRENDJE.NCI_TanevRendje_TanevId_IntezmenyId_Datum
|
|
@ -0,0 +1,483 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].sp_Nyomtatvany_Excel_IdoszakiOsztalyStatisztika
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Nyomtatvany_Excel_IdoszakiOsztalyStatisztika]
|
||||
@pTanevId int,
|
||||
@pOsztalyId int,
|
||||
@pIntezmenyId int,
|
||||
@pErtekelestipusaId int,
|
||||
@pLezaroNaptipusId int,
|
||||
@pMulasztasTipusIdKeses int = 1499,
|
||||
@pMulasztasTipusIdHianyzas int = 1500,
|
||||
@pTanevrendjeTanevKezdeteNaptipusId int = 1394, --Tanévrendje első nap típus
|
||||
@pTanoraiDicseretTipusId int = 1536, -- Tanórai dicséret
|
||||
@pFelszereleshianyTipusId int = 6324, -- Felszereléshiány
|
||||
@pHaziFeladatHianyTipusId int = 6325, -- Házi feladat hiány
|
||||
@pAtsoroltTanuloAdatok int = 1,
|
||||
@pElmeletgyakorlat bit = 0
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Const
|
||||
DECLARE
|
||||
@ElsoFelveVege int = 1400
|
||||
,@IneVege int = 1403
|
||||
,@IIIneVege int = 1404
|
||||
,@UtolsoTanitasiNap int = 1395
|
||||
,@VegzosUtolsoTanitasiNap int = 1402
|
||||
,@kesespercHianyzashoz int = 45
|
||||
,@kesespercGyakHianyzashoz int = 45
|
||||
,@iskolaErdekuParam int = 1683
|
||||
,@idoszakEleje date
|
||||
,@idoszakVege date
|
||||
--Iskolaerdeku tavollet szamit
|
||||
DECLARE
|
||||
@iskolaErdekuSzamit bit = [dbo].fnGetRendszerbeallitasEnumBool(@iskolaErdekuParam, @pIntezmenyId, @pTanevId)
|
||||
--Osztaly jellemzo
|
||||
,@keresztFeleves bit = (SELECT IIF(C_KERESZTFELEVES = 'T', 1, 0) FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId)
|
||||
,@vegzosEvfolyamu bit = (SELECT IIF(C_VEGZOSEVFOLYAM = 'T', 1, 0) FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyId)
|
||||
|
||||
--Osztalyjellemzok alapjan a lezaro naptipus csereje
|
||||
SET @pLezaroNaptipusId = (
|
||||
SELECT CASE
|
||||
WHEN @keresztFeleves = 0 AND @vegzosEvfolyamu = 1 AND @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @VegzosUtolsoTanitasiNap
|
||||
WHEN @keresztFeleves = 0 THEN @pLezaroNaptipusId
|
||||
WHEN @pLezaroNaptipusId = @ElsoFelveVege THEN @UtolsoTanitasiNap
|
||||
WHEN @pLezaroNaptipusId = @UtolsoTanitasiNap THEN @ElsoFelveVege
|
||||
WHEN @pLezaroNaptipusId = @IneVege THEN @IIIneVege
|
||||
WHEN @pLezaroNaptipusId = @IIIneVege THEN @IneVege
|
||||
END
|
||||
)
|
||||
|
||||
CREATE TABLE #aktualisOsztalyCsoportok (
|
||||
OSZTALYCSOPORTID int
|
||||
)
|
||||
CREATE TABLE #osztalyTanulok (
|
||||
TANULOID int PRIMARY KEY
|
||||
,BELEPESDATUM DATE
|
||||
,KILEPESDATUM DATE
|
||||
)
|
||||
CREATE TABLE #szurtErtekeles (
|
||||
T_TANULOERTEKELES_ID int PRIMARY KEY
|
||||
,C_TANULOID int
|
||||
,ERTEKELES nvarchar(max)
|
||||
,ERTEKELES_SZOVEG_MEGJEGYZES nvarchar(max)
|
||||
,C_ERTEKELESDATUM DATETIME
|
||||
,C_TANTARGYID int
|
||||
,TANTARGY_NEV nvarchar(255) COLLATE DATABASE_DEFAULT
|
||||
,TARGYKATEGORIA_NEV nvarchar(255) COLLATE DATABASE_DEFAULT
|
||||
,TARGYKATEGORIA_SORSZAM int
|
||||
,T_TANTARGY_C_FOTARGYE char(1) COLLATE DATABASE_DEFAULT
|
||||
,T_TANTARGY_C_ALTANTARGYKENTNYOMTATVANYBAN char(1) COLLATE DATABASE_DEFAULT
|
||||
,C_OSZTALYCSOPORTID int
|
||||
)
|
||||
CREATE TABLE #szurtMulasztas (
|
||||
TIPUS_CHAR char(1)
|
||||
,C_TIPUS int
|
||||
,C_IGAZOLT char(1) COLLATE DATABASE_DEFAULT
|
||||
,C_TANULOID int
|
||||
,C_GYAKORLATI char(1) COLLATE DATABASE_DEFAULT
|
||||
,KESESPERC int
|
||||
,MULASZTASOK_SZAMA int
|
||||
,HOZOTTIGAZOLTMULTASZTASOK_SZAMA int
|
||||
,HOZOTTIGAZOLATLANTMULTASZTASOK_SZAMA int
|
||||
)
|
||||
CREATE TABLE #Tanulok (
|
||||
TanuloId int
|
||||
)
|
||||
CREATE TABLE #Tipusok (
|
||||
Tipus_Char char(1)
|
||||
,Igazolt char(1)
|
||||
,Tipus int
|
||||
,Gyakorlati char(1)
|
||||
)
|
||||
|
||||
SELECT TOP 1 @idoszakEleje =
|
||||
ISNULL(tr.C_DATUM,te.C_KEZDONAP)
|
||||
FROM T_TANEV_OSSZES te
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_TANEVID = te.ID AND tr.TOROLT='F' AND tr.C_NAPTIPUSA = @pTanevrendjeTanevKezdeteNaptipusId
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON ocstr.C_TANEVRENDJEID = tr.ID
|
||||
AND (ocstr.C_OSZTALYCSOPORTID IS NULL OR ocstr.C_OSZTALYCSOPORTID = @pOsztalyId)
|
||||
WHERE te.ID = @pTanevId
|
||||
ORDER BY ocstr.C_OSZTALYCSOPORTID DESC
|
||||
|
||||
SELECT @idoszakVege= ISNULL(
|
||||
(
|
||||
SELECT TOP 1
|
||||
C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES tr
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
AND (ocstr.C_OSZTALYCSOPORTID IS NULL OR ocstr.C_OSZTALYCSOPORTID = @pOsztalyId)
|
||||
WHERE tr.C_TANEVID = @pTanevId AND tr.C_NAPTIPUSA = @pLezaroNaptipusId AND tr.TOROLT = 'F'
|
||||
ORDER BY ocstr.C_OSZTALYCSOPORTID DESC
|
||||
)
|
||||
,GETDATE()
|
||||
)
|
||||
|
||||
IF @pAtsoroltTanuloAdatok IN (0,1)
|
||||
BEGIN
|
||||
INSERT INTO #aktualisOsztalyCsoportok (OSZTALYCSOPORTID)
|
||||
SELECT ID
|
||||
FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@pOsztalyId, @pTanevId, DEFAULT)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO #aktualisOsztalyCsoportok (OSZTALYCSOPORTID)
|
||||
SELECT KapcsOszt.ID
|
||||
FROM fnGetKapcsolodoOsztalycsoportokByDate(@pOsztalyId, @idoszakEleje, @idoszakVege) KapcsOszt
|
||||
WHERE (ID IN (
|
||||
SELECT ID
|
||||
FROM T_OSZTALY_OSSZES
|
||||
UNION
|
||||
SELECT ID
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@pTanevId))
|
||||
)
|
||||
)
|
||||
END
|
||||
|
||||
-- TANULÓK insert
|
||||
INSERT INTO #osztalyTanulok (
|
||||
TANULOID
|
||||
,BELEPESDATUM
|
||||
,KILEPESDATUM
|
||||
)
|
||||
SELECT
|
||||
fh.ID
|
||||
,tcs.C_BELEPESDATUM
|
||||
,tcs.C_KILEPESDATUM
|
||||
FROM T_FELHASZNALO_OSSZES fh
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = fh.ID AND tcs.TOROLT='F'
|
||||
AND tcs.C_BELEPESDATUM < @idoszakVege
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= @idoszakVege) AND tcs.C_OSZTALYCSOPORTID = @pOsztalyId
|
||||
WHERE fh.TOROLT = 'F' AND fh.C_TANEVID = @pTanevId
|
||||
|
||||
-- ÉRTÉKELÉS insert
|
||||
INSERT INTO #szurtErtekeles (
|
||||
T_TANULOERTEKELES_ID
|
||||
,C_TANULOID
|
||||
,ERTEKELES
|
||||
,ERTEKELES_SZOVEG_MEGJEGYZES
|
||||
,C_ERTEKELESDATUM
|
||||
,C_TANTARGYID
|
||||
,TANTARGY_NEV
|
||||
,TARGYKATEGORIA_NEV
|
||||
,TARGYKATEGORIA_SORSZAM
|
||||
,T_TANTARGY_C_FOTARGYE
|
||||
,T_TANTARGY_C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
,C_OSZTALYCSOPORTID
|
||||
)
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY TanuloId)
|
||||
,TanuloId
|
||||
,COALESCE(CAST(ErtekelesOsztalyzatValue AS nvarchar(max)),
|
||||
IIF(ErtekelesSzoveg IS NOT NULL, CASE WHEN ErtekelesSzovegRovidNev IN ('1', '2', '3', '4', '5') THEN 'Sz' ELSE ErtekelesSzovegRovidNev END, NULL),
|
||||
ErtekelesSzazalek)
|
||||
,COALESCE(ErtekelesSzoveg, ErtekelesTema, '')
|
||||
,Datum
|
||||
,TantargyId
|
||||
,COALESCE(TantargyNevNyomtatvanyban, TantargyNev) AS TANTARGY_NEV
|
||||
,dib.C_NAME
|
||||
,dib.C_VALUE
|
||||
,FotargyE
|
||||
,Altantargy
|
||||
,OsztalyCsoportId
|
||||
FROM fnGetDokumentumErtekelesekOsztalyonkent (@pTanevId, @pOsztalyId, @pErtekelestipusaId, DEFAULT, DEFAULT, @pAtsoroltTanuloAdatok, DEFAULT) AS ERTEKELESEK
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib ON dib.ID = ERTEKELESEK.TargyKategoriaId AND dib.C_TANEVID = @pTanevId
|
||||
WHERE TantargyId IS NOT NULL AND (FotargyE = 'T' OR Altantargy = 'T')
|
||||
|
||||
--MULASZTÁS insert
|
||||
INSERT INTO #Tipusok (Tipus_Char,Igazolt,Tipus,Gyakorlati)VALUES
|
||||
('H','T',1500,'T'),('H','F',1500,'T'),('K','T',1499,'T'),('K','F',1499,'T'),
|
||||
('H','T',1500,'F'),('H','F',1500,'F'),('K','T',1499,'F'),('K','F',1499,'F')
|
||||
|
||||
INSERT INTO #Tanulok
|
||||
SELECT DISTINCT
|
||||
tcs.C_TANULOID
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId AND tcs.TOROLT = 'F' AND tcs.C_TANEVID = @pTanevId
|
||||
|
||||
INSERT INTO #szurtMulasztas (TIPUS_CHAR, C_TIPUS, C_IGAZOLT, C_TANULOID, C_GYAKORLATI,KESESPERC,MULASZTASOK_SZAMA, HOZOTTIGAZOLTMULTASZTASOK_SZAMA, HOZOTTIGAZOLATLANTMULTASZTASOK_SZAMA)
|
||||
SELECT Tipus_Char, Tipus,Igazolt,TanuloId, Gyakorlati,0,0,0,0
|
||||
FROM #Tanulok
|
||||
CROSS APPLY #Tipusok
|
||||
|
||||
UPDATE szm SET
|
||||
KESESPERC = m.KesesPercben
|
||||
,MULASZTASOK_SZAMA = m.MULASZTASOK_SZAMA
|
||||
,HOZOTTIGAZOLTMULTASZTASOK_SZAMA = ISNULL(IIF(szm.C_IGAZOLT = 'T',hianyzas.HOZOTTIGAZOLTHIANYZAS,0),0)
|
||||
,HOZOTTIGAZOLATLANTMULTASZTASOK_SZAMA = ISNULL(IIF(szm.C_IGAZOLT = 'F',hianyzas.HOZOTTIGAZOLATLANHIANYZAS,0),0)
|
||||
FROM #szurtMulasztas szm
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
m.Tipusa
|
||||
,m.Igazolt
|
||||
,m.TanuloId
|
||||
,m.Gyakorlati
|
||||
,SUM(ISNULL(KesesPercben,0)) as KesesPercben
|
||||
,ISNULL(COUNT(m.Tipusa),0) AS MULASZTASOK_SZAMA
|
||||
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @iskolaErdekuSzamit, 0, IIF(@pAtsoroltTanuloAdatok > 0, 1, 0), @idoszakEleje, @idoszakVege, DEFAULT) m
|
||||
WHERE m.Igazolt IS NOT NULL
|
||||
AND m.Tipusa BETWEEN @pMulasztasTipusIdKeses AND @pMulasztasTipusIdHianyzas
|
||||
GROUP BY m.Tipusa, m.Igazolt, m.TanuloId, m.Gyakorlati
|
||||
) m ON m.Gyakorlati = szm.C_GYAKORLATI
|
||||
AND m.Tipusa = szm.C_TIPUS
|
||||
AND m.Igazolt = szm.C_IGAZOLT
|
||||
AND m.TanuloId = szm.C_TANULOID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tcs.C_TANULOID
|
||||
,SUM(tta.C_HOZOTTIGAZOLTHIANYZAS) as HOZOTTIGAZOLTHIANYZAS
|
||||
,SUM(tta.C_HOZOTTIGAZOLATLANHIANYZAS) as HOZOTTIGAZOLATLANHIANYZAS
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID
|
||||
AND tta.C_TANEVID = @pTanevId AND tta.TOROLT = 'F'
|
||||
WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyId
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.C_BELEPESDATUM < @idoszakVege
|
||||
AND tcs.TOROLT = 'F'
|
||||
GROUP BY tcs.C_TANULOID
|
||||
) hianyzas on hianyzas.C_TANULOID = szm.C_TANULOID
|
||||
AND szm.TIPUS_CHAR = 'H'
|
||||
AND szm.C_GYAKORLATI = 'F'
|
||||
|
||||
--==================== SELECTEK ==========================
|
||||
-- OSZTÁLY
|
||||
SELECT
|
||||
o.ID
|
||||
,ocs.C_NEV
|
||||
,ocs.C_VEGZOSEVFOLYAM
|
||||
,fh.C_NYOMTATASINEV
|
||||
,o.C_OSZTALYNAPLOMEGNYITASA
|
||||
,o.C_OSZTALYNAPLOZARASA
|
||||
,o.C_OSZTALYFONOKID
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT='F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON o.C_OSZTALYFONOKID = fh.ID AND fh.TOROLT='F'
|
||||
INNER JOIN T_FELADATELLATASIHELY_OSSZES felh ON felh.ID = ocs.C_FELADATELLATASIHELYID AND felh.TOROLT='F'
|
||||
WHERE ocs.ID = @pOsztalyId
|
||||
--TANULÓK LISTA
|
||||
SELECT
|
||||
fh.ID as C_TANULOID
|
||||
,fh.C_NYOMTATASINEV as TANULONEV
|
||||
,fh.C_ANYJANEVE as ANYJANEVE
|
||||
,fh.C_OKTATASIAZONOSITO as OKTATASIAZONOSITO
|
||||
,BELEPESDATUM as BELEPESDATUM
|
||||
,KILEPESDATUM as KILEPESDATUM
|
||||
FROM T_FELHASZNALO_OSSZES fh
|
||||
INNER JOIN #osztalyTanulok AS ot ON ot.TANULOID = fh.ID
|
||||
WHERE fh.TOROLT='F'
|
||||
ORDER BY fh.C_NYOMTATASINEV;
|
||||
-- TANTÁRGYAK (TANTÁRGYFELOSZTÁS, ÉRTÉKELÉS)
|
||||
SELECT DISTINCT
|
||||
C_TANTARGYID
|
||||
,TANTARGY_NEV
|
||||
,TARGYKATEGORIA_NEV
|
||||
,TARGYKATEGORIA_SORSZAM
|
||||
,C_FOTARGYE
|
||||
,C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM (
|
||||
SELECT DISTINCT
|
||||
f.C_TANTARGYID
|
||||
,COALESCE(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) as TANTARGY_NEV
|
||||
,dib.C_NAME as TARGYKATEGORIA_NEV
|
||||
,dib.C_VALUE as TARGYKATEGORIA_SORSZAM
|
||||
,tgy.C_FOTARGYE
|
||||
,tgy.C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN #aktualisOsztalyCsoportok ocs ON ocs.OSZTALYCSOPORTID = f.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = f.C_TANTARGYID AND tgy.C_TANEVID = @pTanevId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib ON dib.ID = tgy.C_TARGYKATEGORIA AND dib.C_TANEVID = @pTanevId AND dib.C_DICTIONARYTYPEID = 36 AND dib.TOROLT='F'
|
||||
WHERE f.TOROLT = 'F' AND (tgy.C_FOTARGYE = 'T' OR tgy.C_ALTANTARGYKENTNYOMTATVANYBAN = 'T')
|
||||
UNION
|
||||
SELECT DISTINCT
|
||||
C_TANTARGYID
|
||||
,TANTARGY_NEV
|
||||
,TARGYKATEGORIA_NEV
|
||||
,TARGYKATEGORIA_SORSZAM
|
||||
,T_TANTARGY_C_FOTARGYE AS C_FOTARGYE
|
||||
,T_TANTARGY_C_ALTANTARGYKENTNYOMTATVANYBAN AS C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM #szurtErtekeles
|
||||
WHERE (@pAtsoroltTanuloAdatok = 2 OR C_OSZTALYCSOPORTID IN (SELECT OSZTALYCSOPORTID FROM #aktualisOsztalyCsoportok))
|
||||
) AS TANTARGYAK
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
-- ÉRTÉKELÉS lista
|
||||
SELECT *
|
||||
FROM #szurtErtekeles;
|
||||
--MAGATARTÁS-SZORGALOM
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY TanuloId) AS ID
|
||||
,TanuloId AS C_TANULOID
|
||||
,COALESCE(CAST(MagatartasOsztalyzatValue AS nvarchar(6)), CAST(MagatartasErtekOsztalyzatkent AS nvarchar(6)), MagatartasSzovegRovidNev) AS MagatartasOsztalyzat
|
||||
,MagatartasErtek
|
||||
,COALESCE(CAST(SzorgalomOsztalyzatValue AS nvarchar(6)), CAST(SzorgalomErtekOsztalyzatkent AS nvarchar(6)), SzorgalomSzovegRovidNev) AS SzorgalomOsztalyzat
|
||||
,SzorgalomErtek
|
||||
,ErtekelesSzoveg AS C_ERTEKELESSZOVEG
|
||||
,Datum AS C_ERTEKELESDATUM
|
||||
,'F' AS TOROLT -- y tho?
|
||||
FROM fnGetDokumentumErtekelesekOsztalyonkent (@pTanevId, @pOsztalyId, @pErtekelestipusaId, DEFAULT, DEFAULT, @pAtsoroltTanuloAdatok, DEFAULT) AS ERTEKELESEK
|
||||
WHERE TantargyId IS NULL AND (@pAtsoroltTanuloAdatok > 0 OR OsztalyCsoportId IN (SELECT OSZTALYCSOPORTID FROM #aktualisOsztalyCsoportok));
|
||||
--MULASZTÁS stat
|
||||
IF @pElmeletgyakorlat=0
|
||||
BEGIN
|
||||
SELECT
|
||||
szm.TIPUS_CHAR
|
||||
,szm.C_TIPUS
|
||||
,szm.C_IGAZOLT
|
||||
,szm.C_TANULOID
|
||||
,szm.KESESPERC
|
||||
,szm.KESESORA
|
||||
,ISNULL(szm.MULASZTASOK_SZAMA,0) +
|
||||
IIF(szm.TIPUS_CHAR = 'K',0,IIF(szm.C_IGAZOLT = 'T',szm.HOZOTTIGAZOLTMULTASZTASOK_SZAMA,szm.HOZOTTIGAZOLATLANTMULTASZTASOK_SZAMA))
|
||||
AS MULASZTASOK_SZAMA
|
||||
,IIF(szm.TIPUS_CHAR = 'K',0,IIF(szm.C_IGAZOLT = 'T',szm.HOZOTTIGAZOLTMULTASZTASOK_SZAMA,szm.HOZOTTIGAZOLATLANTMULTASZTASOK_SZAMA))
|
||||
AS HOZOTTMULASZTASOK_SZAMA
|
||||
FROM (
|
||||
SELECT
|
||||
TIPUS_CHAR
|
||||
,C_TIPUS
|
||||
,C_IGAZOLT
|
||||
,C_TANULOID
|
||||
,SUM(KESESPERC) AS KESESPERC
|
||||
,SUM(KESESPERC)/@kesespercHianyzashoz AS KESESORA
|
||||
,SUM(ISNULL(MULASZTASOK_SZAMA,0)) AS MULASZTASOK_SZAMA
|
||||
,SUM(HOZOTTIGAZOLTMULTASZTASOK_SZAMA) AS HOZOTTIGAZOLTMULTASZTASOK_SZAMA
|
||||
,SUM(HOZOTTIGAZOLATLANTMULTASZTASOK_SZAMA) AS HOZOTTIGAZOLATLANTMULTASZTASOK_SZAMA
|
||||
FROM #szurtMulasztas
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, C_TANULOID) AS szm
|
||||
ORDER BY szm.C_TANULOID, szm.C_TIPUS DESC, szm.C_IGAZOLT DESC
|
||||
|
||||
SELECT
|
||||
C_IGAZOLT
|
||||
,C_TANULOID
|
||||
,SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA
|
||||
FROM (
|
||||
SELECT
|
||||
TIPUS_CHAR
|
||||
,C_TIPUS
|
||||
,C_IGAZOLT
|
||||
,C_TANULOID
|
||||
,SUM(KESESPERC)/@kesespercHianyzashoz AS MULASZTASOK_SZAMA
|
||||
FROM #szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'K'
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, C_TANULOID
|
||||
UNION ALL
|
||||
SELECT
|
||||
TIPUS_CHAR
|
||||
,C_TIPUS
|
||||
,C_IGAZOLT
|
||||
,C_TANULOID
|
||||
,SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA
|
||||
FROM #szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'H'
|
||||
GROUP BY TIPUS_CHAR, C_TIPUS, C_IGAZOLT, C_TANULOID
|
||||
) AS KM
|
||||
GROUP BY C_IGAZOLT, C_TANULOID
|
||||
ORDER BY C_TANULOID, C_IGAZOLT DESC
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT
|
||||
szm.TIPUS_CHAR,
|
||||
szm.C_TIPUS,
|
||||
szm.C_IGAZOLT,
|
||||
szm.C_TANULOID,
|
||||
szm.KESESPERC,
|
||||
szm.KESESORA,
|
||||
ISNULL(szm.MULASZTASOK_SZAMA,0) +
|
||||
IIF(szm.TIPUS_CHAR = 'K' OR szm.C_GYAKORLATI = 'T',0,IIF( tcs.C_BELEPESDATUM < @idoszakVege,IIF(szm.C_IGAZOLT = 'T',tta.C_HOZOTTIGAZOLTHIANYZAS,tta.C_HOZOTTIGAZOLATLANHIANYZAS),0))
|
||||
AS MULASZTASOK_SZAMA,
|
||||
IIF(szm.TIPUS_CHAR = 'K',0,IIF( tcs.C_BELEPESDATUM < @idoszakVege,IIF(szm.C_IGAZOLT = 'T',tta.C_HOZOTTIGAZOLTHIANYZAS,tta.C_HOZOTTIGAZOLATLANHIANYZAS),0))
|
||||
AS HOZOTTMULASZTASOK_SZAMA,
|
||||
szm.C_GYAKORLATI
|
||||
FROM (
|
||||
SELECT
|
||||
TIPUS_CHAR,
|
||||
C_TIPUS,
|
||||
C_IGAZOLT,
|
||||
C_TANULOID,
|
||||
KESESPERC,
|
||||
KESESPERC/(CASE WHEN C_GYAKORLATI = 'T' THEN @kesespercGyakHianyzashoz ELSE @kesespercHianyzashoz END) AS KESESORA,
|
||||
MULASZTASOK_SZAMA,
|
||||
C_GYAKORLATI
|
||||
FROM #szurtMulasztas ) AS szm
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID = szm.C_TANULOID AND tcs.C_OSZTALYCSOPORTID = @pOsztalyId AND tcs.C_TANEVID = @pTanevId AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.C_TANEVID = @pTanevId AND tta.TOROLT = 'F'
|
||||
ORDER BY szm.C_TANULOID, szm.C_TIPUS DESC, szm.C_IGAZOLT DESC
|
||||
SELECT C_IGAZOLT, C_TANULOID, SUM(MULASZTASOK_SZAMA) AS MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM (
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, C_TANULOID, KESESPERC/(CASE WHEN C_GYAKORLATI = 'T' THEN @kesespercGyakHianyzashoz ELSE @kesespercHianyzashoz END) AS MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM #szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'K'
|
||||
UNION ALL
|
||||
SELECT TIPUS_CHAR, C_TIPUS, C_IGAZOLT, C_TANULOID, MULASZTASOK_SZAMA, C_GYAKORLATI
|
||||
FROM #szurtMulasztas
|
||||
WHERE TIPUS_CHAR = 'H'
|
||||
) AS KM
|
||||
GROUP BY C_IGAZOLT, C_TANULOID, C_GYAKORLATI
|
||||
ORDER BY C_TANULOID, C_IGAZOLT DESC;
|
||||
END
|
||||
--TANÓRAI FELJEGYZÉSEK
|
||||
SELECT
|
||||
C_TANULOID
|
||||
,SUM(IIF(C_TIPUS = @pTanoraiDicseretTipusId, 1, 0)) AS TanoraiDicseret
|
||||
,SUM(IIF(C_TIPUS = @pFelszereleshianyTipusId, 1, 0)) AS FelszerelesHiany
|
||||
,SUM(IIF(C_TIPUS = @pHaziFeladatHianyTipusId, 1, 0)) AS HaziFeladatHiany
|
||||
,'F' AS TOROLT
|
||||
FROM T_TANULOESEMENY_OSSZES AS TANULOESEMENY
|
||||
INNER JOIN T_TANITASIORA_OSSZES AS TANITASIORA ON TANITASIORA.ID = TANULOESEMENY.C_TANITASIORAID
|
||||
INNER JOIN T_TANULO_TANULOESEMENY AS TANULO_TANULOE ON TANULO_TANULOE.C_TANULOESEMENYID = TANULOESEMENY.ID
|
||||
INNER JOIN T_DICTIONARYITEMBASE AS TIPUS ON TIPUS.ID = TANULOESEMENY.C_TIPUS AND TIPUS.C_TANEVID = TANULOESEMENY.C_TANEVID
|
||||
INNER JOIN #osztalyTanulok AS OSZTALYTANULOK ON OSZTALYTANULOK.TANULOID = TANULO_TANULOE.C_TANULOID
|
||||
INNER JOIN #aktualisOsztalyCsoportok AS OSZTALYCSOPORT ON OSZTALYCSOPORT.OSZTALYCSOPORTID = TANITASIORA.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_CSOPORT_OSSZES AS CSOPORT ON CSOPORT.ID = OSZTALYCSOPORT.OSZTALYCSOPORTID
|
||||
LEFT JOIN T_OSZTALY_OSSZES AS OSZTALY ON OSZTALY.ID = OSZTALYCSOPORT.OSZTALYCSOPORTID
|
||||
WHERE TANULOESEMENY.TOROLT = 'F' AND TANITASIORA.TOROLT = 'F' AND TANULOESEMENY.C_TANEVID = @pTanevId AND C_TANITASIORAID IS NOT NULL
|
||||
AND TANITASIORA.C_DATUM BETWEEN @idoszakEleje AND @idoszakVege
|
||||
AND TANITASIORA.C_OSZTALYCSOPORTID IN (SELECT OSZTALYCSOPORTID FROM #aktualisOsztalyCsoportok)
|
||||
GROUP BY C_TANULOID
|
||||
-- Osztály adatok az iktatáshoz
|
||||
SELECT
|
||||
f.C_NYOMTATASINEV Osztalyfonok
|
||||
,f.ID OsztalyfonokId
|
||||
,ocs.C_NEV Osztalynev
|
||||
,@pOsztalyId OsztalyId
|
||||
,ocs.C_EVFOLYAMTIPUSA EvfolyamTipusa
|
||||
,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
|
||||
,o.C_TANTERVID TantervId
|
||||
,ocs.C_KEPZESIFORMA KepzesiForma
|
||||
,o.C_AGAZAT Agazat
|
||||
,o.C_SZAKMACSOPORT SzakmaCsoport
|
||||
,o.C_SZAKKEPESITES Szakkepesites
|
||||
,o.C_RESZSZAKKEPESITES Reszszakkepesites
|
||||
,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves
|
||||
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
|
||||
,o.C_TECHNIKAIOSZTALY OJTechnikaiOsztaly
|
||||
,o.C_NEMZETISEGI OJNemzetisegi
|
||||
,o.C_KETTANNYELVU OJKettannyelvu
|
||||
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
|
||||
,ocs.C_ISGYOGYPEDAGOGIAILOGOPEDIAI OJIsGyogypedagogiaiLogopediai
|
||||
,o.C_SPORT OJSportOsztaly
|
||||
,o.C_AJPROGRAM OJAranyJanosProgram
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.id
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = o.C_OSZTALYFONOKID
|
||||
WHERE ocs.ID = @pOsztalyId AND ocs.C_TANEVID = @pTanevId AND ocs.TOROLT = 'F';
|
||||
|
||||
SELECT
|
||||
C_TANULOID
|
||||
,[D] AS Dicseret
|
||||
,[K] AS Kituno
|
||||
FROM (
|
||||
SELECT
|
||||
C_TANULOID
|
||||
,T_TANULOERTEKELES_ID
|
||||
,LEFT(ERTEKELES_SZOVEG_MEGJEGYZES, 1) AS Szoveg
|
||||
FROM #szurtErtekeles
|
||||
WHERE ERTEKELES = '5'
|
||||
AND LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(ERTEKELES_SZOVEG_MEGJEGYZES,char(160),char(32)),char(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',char(32)))) IN ( 'Dicséret', 'Kitűnő' )
|
||||
) AS s
|
||||
PIVOT(COUNT(T_TANULOERTEKELES_ID) FOR Szoveg IN ([D], [K])) piv
|
||||
ORDER BY C_TANULOID
|
||||
END
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue