init
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumOsztalyTanuloinakMegtarthatoOrakTantargyankent') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumOsztalyTanuloinakMegtarthatoOrakTantargyankent
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumOsztalyTanuloinakMegtarthatoOrakTantargyankent (@tanevId INT, @osztalyCsoportId INT, @atsoroltTanuloOrak BIT = 1, @tanitasiHetekSzamaVegzos INT, @tanitasiHetekSzamaNemVegzos INT)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT Megtarthato.Oraszam AS Orakszama, Megtarthato.TanuloId, Megtarthato.TantargyId,
|
||||
ISNULL(TANTARGY.C_NEVNYOMTATVANYBAN, TANTARGY.C_NEV) AS TantargyNev, C_FOTARGYE AS Fotargye, C_ALTANTARGYKENTNYOMTATVANYBAN AS Altargye, C_GYAKORLATI AS Gyakorlati
|
||||
FROM fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet (@tanevId, @osztalyCsoportId, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos) AS Megtarthato
|
||||
INNER JOIN T_TANTARGY_OSSZES AS TANTARGY ON TANTARGY.ID = Megtarthato.TantargyId
|
||||
)
|
||||
|
||||
GO
|
@@ -0,0 +1,38 @@
|
||||
IF OBJECT_ID('fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet (@tanevId int, @osztalyId int, @tanitasiHetekSzamaVegzos int, @tanitasiHetekSzamaNemVegzos int)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
C_TANULOID TanuloId
|
||||
, ISNULL(t.C_FOTARGYID, t.ID) TantargyId
|
||||
, SUM(fog.C_ORASZAM) * IIF((SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId) = 'T', @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos) Oraszam
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES fog ON fog.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID AND fog.TOROLT = 'F'
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.ID = fog.C_TANTARGYID AND (t.C_FOTARGYE = 'T' OR t.C_ALTANTARGYKENTNYOMTATVANYBAN='T')
|
||||
WHERE
|
||||
tcs.C_TANULOID IN ( SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') )
|
||||
AND ((tcs.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES)) OR (tcs.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)))))
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND tcs.C_TANEVID = @tanevId
|
||||
AND ISNULL(tcs.C_KILEPESDATUM, IIF(
|
||||
(SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId) = 'T',
|
||||
(SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND TOROLT = 'F' AND C_NAPTIPUSA = 1402), --végzős
|
||||
(SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND TOROLT = 'F' AND C_NAPTIPUSA = 1395) --nem végzős
|
||||
)
|
||||
)
|
||||
>= IIF(
|
||||
(SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId) = 'T',
|
||||
(SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND TOROLT = 'F' AND C_NAPTIPUSA = 1402), --végzős
|
||||
(SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND TOROLT = 'F' AND C_NAPTIPUSA = 1395) --nem végzős
|
||||
)
|
||||
GROUP BY C_TANULOID, ISNULL(t.C_FOTARGYID, t.ID)
|
||||
)
|
@@ -0,0 +1,291 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('dbo.[sp_GetDokumentumErtekelesek]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE dbo.[sp_GetDokumentumErtekelesek]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.[sp_GetDokumentumErtekelesek]
|
||||
@osztalyId INT,
|
||||
@tanevId INT,
|
||||
@ertekelesTipus INT,
|
||||
@isBizonyitvany INT = 0,
|
||||
@isNemet BIT = 0,
|
||||
@isMuveszetOktatasi BIT = 0,
|
||||
@tanitasiHetekSzamaVegzos INT = 32,
|
||||
@tanitasiHetekSzamaNemVegzos INT = 36
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Osztályhoz tartozó tanulók
|
||||
DECLARE @TANULO TABLE (TanuloId INT, TanuloCsoportId INT, BelepesDatum DATE, KilepesDatum DATE)
|
||||
INSERT INTO @TANULO
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,BelepesDatum
|
||||
,KilepesDatum
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T')
|
||||
|
||||
--Osztályhoz tartozó értékelések
|
||||
CREATE TABLE #ErtekelesekTemp
|
||||
(
|
||||
ErtekelesId INT primary key NOT NULL,
|
||||
Datum DATE,
|
||||
TipusId INT,
|
||||
ErtekelesSzoveg NVARCHAR(MAX),
|
||||
ErtekelesSzovegRovidNev NVARCHAR(3),
|
||||
ErtekelesOsztalyzatId INT,
|
||||
ErtekelesOsztalyzatValue INT,
|
||||
ErtekelesOsztalyzatNev NVARCHAR(MAX),
|
||||
ErtekelesSzazalek NVARCHAR(MAX),
|
||||
MagatartasOsztalyzatId INT,
|
||||
MagatartasOsztalyzatValue INT,
|
||||
MagatartasOsztalyzatNev NVARCHAR(MAX),
|
||||
MagatartasSzoveg NVARCHAR(MAX),
|
||||
MagatartasSzovegRovidNev NVARCHAR(3),
|
||||
MagatartasErtekId INT,
|
||||
MagatartasErtek NVARCHAR(MAX),
|
||||
MagatartasErtekOsztalyzatkent INT,
|
||||
SzorgalomOsztalyzatId INT,
|
||||
SzorgalomOsztalyzatValue INT,
|
||||
SzorgalomOsztalyzatNev NVARCHAR(MAX),
|
||||
SzorgalomSzoveg NVARCHAR(MAX),
|
||||
SzorgalomSzovegRovidNev NVARCHAR(3),
|
||||
SzorgalomErtekId INT,
|
||||
SzorgalomErtek NVARCHAR(MAX),
|
||||
SzorgalomErtekOsztalyzatkent INT,
|
||||
TanuloId INT,
|
||||
OsztalyCsoportId INT,
|
||||
TantargyId INT,
|
||||
TantargyNevZarojellel NVARCHAR(MAX),
|
||||
TantargyNevNyomtatvanyban NVARCHAR(MAX),
|
||||
TantargyNev NVARCHAR(MAX),
|
||||
TargyKategoriaId INT,
|
||||
FotargyE CHAR(1),
|
||||
Altantargy CHAR(1),
|
||||
FotargyId INT,
|
||||
ErtekelesTema NVARCHAR(MAX),
|
||||
ErtekeloId INT,
|
||||
ErtekelesModjaId INT,
|
||||
IsMagatartasSzorgalom CHAR(1),
|
||||
Jeloles NVARCHAR(MAX),
|
||||
JelolesAndErtekelesTema NVARCHAR(MAX)
|
||||
)
|
||||
|
||||
IF (@isMuveszetOktatasi = 0)
|
||||
BEGIN
|
||||
INSERT INTO #ErtekelesekTemp
|
||||
SELECT
|
||||
ErtekelesId
|
||||
,Datum
|
||||
,TipusId
|
||||
,ErtekelesSzoveg
|
||||
,ErtekelesSzovegRovidNev
|
||||
,ErtekelesOsztalyzatId
|
||||
,ErtekelesOsztalyzatValue
|
||||
,ErtekelesOsztalyzatNev
|
||||
,ErtekelesSzazalek
|
||||
,MagatartasOsztalyzatId
|
||||
,MagatartasOsztalyzatValue
|
||||
,MagatartasOsztalyzatNev
|
||||
,MagatartasSzoveg
|
||||
,MagatartasSzovegRovidNev
|
||||
,MagatartasErtekId
|
||||
,MagatartasErtek
|
||||
,MagatartasErtekOsztalyzatkent
|
||||
,SzorgalomOsztalyzatId
|
||||
,SzorgalomOsztalyzatValue
|
||||
,SzorgalomOsztalyzatNev
|
||||
,SzorgalomSzoveg
|
||||
,SzorgalomSzovegRovidNev
|
||||
,SzorgalomErtekId
|
||||
,SzorgalomErtek
|
||||
,SzorgalomErtekOsztalyzatkent
|
||||
,TanuloId
|
||||
,OsztalyCsoportId
|
||||
,TantargyId
|
||||
,TantargyNevZarojellel
|
||||
,TantargyNevNyomtatvanyban
|
||||
,TantargyNev
|
||||
,TargyKategoriaId
|
||||
,FotargyE
|
||||
,Altantargy
|
||||
,FotargyId
|
||||
,ErtekelesTema
|
||||
,ErtekeloId
|
||||
,ErtekelesModjaId
|
||||
,IsMagatartasSzorgalom
|
||||
,Jeloles
|
||||
,JelolesAndErtekelesTema
|
||||
FROM fnGetDokumentumErtekelesekOsztalyonkent (@tanevId, @osztalyId, DEFAULT, DEFAULT, DEFAULT, DEFAULT)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO #ErtekelesekTemp
|
||||
SELECT
|
||||
ErtekelesId
|
||||
,Datum
|
||||
,TipusId
|
||||
,ErtekelesSzoveg
|
||||
,ErtekelesSzovegRovidNev
|
||||
,ErtekelesOsztalyzatId
|
||||
,ErtekelesOsztalyzatValue
|
||||
,ErtekelesOsztalyzatNev
|
||||
,ErtekelesSzazalek
|
||||
,MagatartasOsztalyzatId
|
||||
,MagatartasOsztalyzatValue
|
||||
,MagatartasOsztalyzatNev
|
||||
,MagatartasSzoveg
|
||||
,MagatartasSzovegRovidNev
|
||||
,MagatartasErtekId
|
||||
,MagatartasErtek
|
||||
,MagatartasErtekOsztalyzatkent
|
||||
,SzorgalomOsztalyzatId
|
||||
,SzorgalomOsztalyzatValue
|
||||
,SzorgalomOsztalyzatNev
|
||||
,SzorgalomSzoveg
|
||||
,SzorgalomSzovegRovidNev
|
||||
,SzorgalomErtekId
|
||||
,SzorgalomErtek
|
||||
,SzorgalomErtekOsztalyzatkent
|
||||
,TanuloId
|
||||
,OsztalyCsoportId
|
||||
,TantargyId
|
||||
,TantargyNevZarojellel
|
||||
,TantargyNevNyomtatvanyban
|
||||
,TantargyNev
|
||||
,TargyKategoriaId
|
||||
,FotargyE
|
||||
,Altantargy
|
||||
,FotargyId
|
||||
,ErtekelesTema
|
||||
,ErtekeloId
|
||||
,ErtekelesModjaId
|
||||
,IsMagatartasSzorgalom
|
||||
,Jeloles
|
||||
,JelolesAndErtekelesTema
|
||||
FROM fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent (@tanevId, @osztalyId, DEFAULT, 0, DEFAULT, 2)
|
||||
END
|
||||
|
||||
--Tanulóhoz kapcsolódó óraszámok
|
||||
DECLARE @Oraszamok TABLE (TanuloId int, Tantargy INT, Oraszam INT)
|
||||
|
||||
INSERT INTO @Oraszamok
|
||||
SELECT * FROM fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet(@tanevId, @osztalyId, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos)
|
||||
|
||||
--Értékelések
|
||||
CREATE TABLE #temp
|
||||
(
|
||||
TANULOID INT
|
||||
,TANULOCSOPORTID INT
|
||||
,TARGY NVARCHAR(MAX)
|
||||
,Jegyzet NVARCHAR(MAX)
|
||||
,Ertekeles NVARCHAR(MAX)
|
||||
,ErtekelesValue INT
|
||||
,ErtekelesJegyzettel NVARCHAR(MAX)
|
||||
,Oraszam INT
|
||||
,RENDEZ1 INT
|
||||
,RENDEZ2 NVARCHAR(MAX)
|
||||
,RENDEZ3 INT
|
||||
,RENDEZ4 INT
|
||||
,RENDEZ5 NVARCHAR(MAX)
|
||||
)
|
||||
|
||||
INSERT INTO #temp
|
||||
SELECT
|
||||
ErtekelesTemp.TanuloId TANULOID
|
||||
,TanuloTable.TanuloCsoportId TanuloCsoportId
|
||||
,IIF(@isNemet = 0, 'MAGATARTAS', 'Betragen') TARGY
|
||||
,NULL
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, MagatartasErtek, dbo.fnGetDokumentumNemet(MagatartasOsztalyzatId))), ISNULL(MagatartasSzoveg, IIF(@isNemet = 0, MagatartasOsztalyzatNev, dbo.fnGetDokumentumNemet(MagatartasOsztalyzatId))))
|
||||
,NULL
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, MagatartasErtek, dbo.fnGetDokumentumNemet(MagatartasOsztalyzatId))), ISNULL(MagatartasSzoveg, IIF(@isNemet = 0, MagatartasOsztalyzatNev, dbo.fnGetDokumentumNemet(MagatartasOsztalyzatId)))) ErtekelesJegyzettel
|
||||
,NULL Oraszam
|
||||
,-1 RENDEZ1
|
||||
,'aaa' RENDEZ2
|
||||
,-1 RENDEZ3
|
||||
,-1 RENDEZ4
|
||||
,'aaa' RENDEZ5
|
||||
FROM #ErtekelesekTemp ErtekelesTemp
|
||||
INNER JOIN @TANULO TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
WHERE
|
||||
(KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
||||
AND (MagatartasErtek IS NOT NULL OR MagatartasSzoveg IS NOT NULL OR MagatartasOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId = @ertekelesTipus --????
|
||||
|
||||
|
||||
INSERT INTO #TEMP
|
||||
SELECT
|
||||
ErtekelesTemp.TanuloId TANULOID
|
||||
,TanuloTable.TanuloCsoportId TanuloCsoportId
|
||||
,IIF(@isNemet = 0, 'SZORGALOM', 'Fleiss') TARGY
|
||||
,NULL
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, SzorgalomErtek, dbo.fnGetDokumentumNemet(SzorgalomOsztalyzatId))), ISNULL(SzorgalomSzoveg, IIF(@isNemet = 0, SzorgalomOsztalyzatNev, dbo.fnGetDokumentumNemet(SzorgalomOsztalyzatId))))
|
||||
,NULL
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, SzorgalomErtek, dbo.fnGetDokumentumNemet(SzorgalomOsztalyzatId))), ISNULL(SzorgalomSzoveg, IIF(@isNemet = 0, SzorgalomOsztalyzatNev, dbo.fnGetDokumentumNemet(SzorgalomOsztalyzatId)))) ErtekelesJegyzettel
|
||||
,NULL Oraszam
|
||||
,0 RENDEZ1
|
||||
,'aab' RENDEZ2
|
||||
,0 RENDEZ3
|
||||
,0 RENDEZ4
|
||||
,'aab' RENDEZ5
|
||||
FROM #ErtekelesekTemp ErtekelesTemp
|
||||
INNER JOIN @TANULO TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
WHERE
|
||||
(KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
||||
AND (SzorgalomErtek IS NOT NULL OR SzorgalomSzoveg IS NOT NULL OR SzorgalomOsztalyzatNev IS NOT NULL)
|
||||
AND TipusId = @ertekelesTipus --????
|
||||
|
||||
INSERT INTO #TEMP
|
||||
SELECT
|
||||
ErtekelesTemp.TanuloId TANULOID
|
||||
,TanuloTable.TanuloCsoportId TanuloCsoportId
|
||||
,ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev) TARGY
|
||||
,ErtekelesTemp.ErtekelesTema
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, ErtekelesTemp.ErtekelesOsztalyzatNev, dbo.fnGetDokumentumNemet(ErtekelesTemp.ErtekelesOsztalyzatId))), ISNULL(ErtekelesTemp.ErtekelesSzoveg, CONVERT(NVARCHAR(MAX),ErtekelesTemp.ErtekelesSzazalek)))
|
||||
,ErtekelesTemp.ErtekelesOsztalyzatValue
|
||||
,ISNULL(CONVERT(NVARCHAR(MAX), IIF(@isNemet = 0, ErtekelesTemp.ErtekelesOsztalyzatNev, dbo.fnGetDokumentumNemet(ErtekelesTemp.ErtekelesOsztalyzatId))), ISNULL(ErtekelesTemp.ErtekelesSzoveg, CONVERT(NVARCHAR(MAX),ErtekelesTemp.ErtekelesSzazalek))) + IIF(ErtekelesTemp.ErtekelesTema IS NULL, '', +' * ' + ErtekelesTemp.ErtekelesTema) ErtekelesJegyzettel
|
||||
,Oraszam Oraszam
|
||||
,CASE WHEN ErtekelesTemp.FotargyId IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END
|
||||
,ISNULL(ISNULL(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV), ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev))
|
||||
,ISNULL(ErtekelesTemp.FotargyId, ErtekelesTemp.TantargyId)
|
||||
,ErtekelesTemp.FotargyId
|
||||
,ISNULL(ErtekelesTemp.TantargyNevNyomtatvanyban, ErtekelesTemp.TantargyNev)
|
||||
FROM #ErtekelesekTemp ErtekelesTemp
|
||||
INNER JOIN @TANULO TanuloTable ON TanuloTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
LEFT JOIN @Oraszamok OraszamTable ON OraszamTable.Tantargy = ErtekelesTemp.TantargyId AND OraszamTable.TanuloId = ErtekelesTemp.TanuloId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = ErtekelesTemp.TargyKategoriaId AND TargyKategoriaDictionary.TOROLT = 'F' AND TargyKategoriaDictionary.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON Ertekelestemp.FotargyId = FotargyTable.ID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
|
||||
WHERE
|
||||
ErtekelesTemp.TipusId = @ertekelesTipus
|
||||
AND (ErtekelesTemp.FotargyE = 'T' OR ErtekelesTemp.Altantargy = 'T')
|
||||
AND (KilepesDatum IS NULL OR KilepesDatum >= ErtekelesTemp.Datum)
|
||||
AND ErtekelesTemp.TargyKategoriaId <> 1248
|
||||
AND ErtekelesTemp.isMagatartasSzorgalom = 'F'
|
||||
|
||||
SELECT
|
||||
TANULOID
|
||||
,TanuloCsoportId
|
||||
,TARGY
|
||||
,Jegyzet
|
||||
,Ertekeles
|
||||
,ErtekelesValue
|
||||
,ErtekelesJegyzettel
|
||||
,Oraszam
|
||||
,RENDEZ1
|
||||
,RENDEZ2
|
||||
,RENDEZ3
|
||||
,RENDEZ4
|
||||
,RENDEZ5
|
||||
FROM #temp
|
||||
ORDER BY RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,58 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetOsztalyokEvesOraszama') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOsztalyokEvesOraszama
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetOsztalyokEvesOraszama
|
||||
@tanevID int,
|
||||
@tanitasiHetekSzamaVegzos INT = 32,
|
||||
@tanitasiHetekSzamaNemVegzos INT = 36
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE kurzor CURSOR FOR
|
||||
SELECT OsztalyId FROM fnGetDokumentumOsztalyokTanevenkent(@tanevID)
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
COUNT(T_TANULOCSOPORT_OSSZES.C_TANULOID) tanuloCount,
|
||||
T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID
|
||||
FROM
|
||||
T_TANULOCSOPORT_OSSZES
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
||||
WHERE
|
||||
T_TANULOCSOPORT_OSSZES.TOROLT = 'F' AND
|
||||
T_TANULOCSOPORT_OSSZES.C_TANEVID = @tanevID
|
||||
GROUP BY T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID
|
||||
) tanuloSzam ON tanuloSzam.C_OSZTALYCSOPORTID = OsztalyId
|
||||
WHERE
|
||||
tanuloCount > 0
|
||||
|
||||
DECLARE @OsztalyId int
|
||||
|
||||
OPEN kurzor
|
||||
FETCH NEXT FROM kurzor INTO @OsztalyId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
|
||||
SELECT DISTINCT
|
||||
tanulo.C_NYOMTATASINEV TanuloNev
|
||||
,tantargy.C_NEV TantargyNev
|
||||
,oraszamok.Oraszam EvesOraszam
|
||||
,(SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @OsztalyId) OsztalyNev
|
||||
FROM fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet(@tanevID, @OsztalyId, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos) oraszamok
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tanulo ON tanulo.ID = oraszamok.TanuloId
|
||||
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = oraszamok.TantargyID
|
||||
|
||||
FETCH NEXT FROM kurzor INTO @OsztalyId
|
||||
END
|
||||
|
||||
CLOSE kurzor
|
||||
DEALLOCATE kurzor
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,343 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetTorzslap') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE sp_GetTorzslap
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetTorzslap
|
||||
@osztalyId INT,
|
||||
@tanevId INT,
|
||||
@ertekelesTipus INT,
|
||||
@kesesTipus INT,
|
||||
@elmeletiOraPercben INT = 45,
|
||||
@gyakorlatiOraPercben INT = 45,
|
||||
@iskolaErdekuSzamit BIT,
|
||||
@isNemet BIT ,
|
||||
@isKozossegiSzolgalat BIT,
|
||||
@tanitasiHetekSzamaVegzos INT,
|
||||
@tanitasiHetekSzamaNemVegzos INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
OsztalyTanuloi.TanuloId TanuloId
|
||||
,OsztalyTanuloi.NaploSorszam NaploSorszam
|
||||
,OsztalyTanuloi.TorzslapSzam TorzslapSzam
|
||||
,OsztalyTanuloi.TanuloCsoportId TanuloCsoportId
|
||||
,OsztalyTanuloi.BelepesDatum BelepesDatum
|
||||
,OsztalyTanuloi.KilepesDatum KilepesDatum
|
||||
,Agazat.C_NAME Agazat
|
||||
,Szakkep.C_NAME Szakkepesites
|
||||
,ReszSzakkep.C_NAME ReszSzakkepesites
|
||||
,SzakmaCsop.C_NAME SzakmaCsoport
|
||||
INTO #students
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Agazat ON Agazat.ID = OsztalyTanuloi.AgazatId AND Agazat.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Szakkep ON Szakkep.ID = OsztalyTanuloi.SzakkepesitesId AND Szakkep.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ReszSzakkep ON ReszSzakkep.ID = OsztalyTanuloi.ReszSzakkepeitesId AND ReszSzakkep.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES SzakmaCsop ON SzakmaCsop.ID = OsztalyTanuloi.SzakmaCsoportId AND SzakmaCsop.C_TANEVID = @tanevId
|
||||
|
||||
--Intézmény, tanév
|
||||
SELECT DISTINCT
|
||||
OsztalyCsoport.C_NEV OsztalyNev
|
||||
,Osztaly.C_OSZTALYNAPLOLEIRASA OsztalyMegjegyzes
|
||||
,Osztaly.C_OSZTALYFONOKID PartnerID
|
||||
,IIF(@isNemet = 0, ofo.C_NYOMTATASINEV, ofo.C_UTONEV + ' ' + ofo.C_VEZETEKNEV) Osztalyfonok
|
||||
,i.C_IGAZGATONEVE IntezmenyVezeto
|
||||
,i.C_NEV IntezmenyNeve
|
||||
,i.C_VAROS IntezmenyVaros
|
||||
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) IntezmenyCime
|
||||
,i.C_OMKOD IntezmenyOMKod
|
||||
,IIF(@isNemet = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOMEGNYITASA), FORMAT(Osztaly.C_OSZTALYNAPLOMEGNYITASA, 'dd. MM. yyyy')) NaploMegnyitasanakDatuma
|
||||
,IIF(@isNemet = 0, dbo.fnGetDokumentumDatumFormatum(Osztaly.C_OSZTALYNAPLOZARASA), FORMAT(Osztaly.C_OSZTALYNAPLOZARASA, 'dd. MM. yyyy')) NaploZarasanakDatuma
|
||||
,tanev.C_NEV Tanev
|
||||
,(SELECT COUNT(TanuloId) FROM #students) TanuloSzam
|
||||
,(SELECT MIN(NaploSorszam) FROM #students) MinNaploSorszam
|
||||
,(SELECT MAX(NaploSorszam) FROM #students) MaxNaploSorszam
|
||||
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
|
||||
INNER JOIN T_OSZTALY_OSSZES Osztaly ON OsztalyCsoport.ID = Osztaly.ID AND Osztaly.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = Osztaly.C_OSZTALYFONOKID
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID = OsztalyCsoport.C_INTEZMENYID AND i.C_TANEVID = @tanevId
|
||||
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = i.C_TANEVID and tanev.TOROLT = 'F'
|
||||
WHERE OsztalyCsoport.ID = @osztalyId
|
||||
|
||||
--Osztály, évfolyam
|
||||
SELECT
|
||||
OsztalyCsoport.C_NEV
|
||||
,EvfolyamTipusa.C_NAME C_EVFOLYAMTIPUSA_DNAME
|
||||
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES EvfolyamTipusa ON EvfolyamTipusa.Id = OsztalyCsoport.C_EVFOLYAMTIPUSA
|
||||
WHERE
|
||||
OsztalyCsoport.ID = @osztalyId
|
||||
AND EvfolyamTipusa.C_TANEVID = @tanevId
|
||||
|
||||
--Tanuló adatok
|
||||
SELECT
|
||||
felhasznalo.ID TanuloId
|
||||
,felhasznalo.Azonosito Azonosito
|
||||
,IIF(@isNemet = 0, felhasznalo.Nev, felhasznalo.Elotag + ' ' + felhasznalo.VezetekNev)
|
||||
Nev
|
||||
,IIF(@isNemet = 0, dbo.fnGetDokumentumDatumFormatum(felhasznalo.SzuletesiDatum), FORMAT(felhasznalo.SzuletesiDatum, 'dd. MM. yyyy'))
|
||||
SzuletesiDatum
|
||||
,felhasznalo.SzuletesiHely SzuletesiHely
|
||||
,IIF(@isNemet = 0, allampolgarsag.C_NAME, dbo.fnGetDokumentumNemet(felhasznalo.Allampolgarsag))
|
||||
Allampolgarsag
|
||||
,felhasznalo.Anyjaneve AnyjaNeve
|
||||
,IIF(@isNemet = 0, szorszag.C_NAME, dbo.fnGetDokumentumNemet(felhasznalo.SzuletesiOrszag))
|
||||
SzuletesiOrszag
|
||||
,OsztalyTanuloi.TorzslapSzam TorzslapSzam
|
||||
,gondviselo.Gondviselok GondviseloNeve
|
||||
,OsztalyTanuloi.NaploSorszam NaploSorszam
|
||||
,felhasznalo.Nev Nev2
|
||||
,Tanulo.C_SAJATOSNEVELESU SajatosNevelesu
|
||||
,OsztalyTanuloi.TanuloCsoportId TanuloCsoportId
|
||||
,OsztalyTanuloi.BelepesDatum BelepesDatum
|
||||
,OsztalyTanuloi.KilepesDatum KilepesDatum
|
||||
,OsztalyTanuloi.Agazat Agazat
|
||||
,OsztalyTanuloi.Szakkepesites Szakkepesites
|
||||
,OsztalyTanuloi.ReszSzakkepesites ReszSzakkepesites
|
||||
,OsztalyTanuloi.SzakmaCsoport SzakmaCsoport
|
||||
,IIF(Tanulo.C_SZAKKEPESITESSZAMA IS NOT NULL, 'OKJ szerinti szakképesítés, ' --
|
||||
+ 'azonosító száma: . . . . . . . . . . . . ., megnevezése: ', '') Okj
|
||||
,ISNULL(Tanulo.C_SNIKIALLITOINTEZMENY, '') SNIKiallitoIntezmeny
|
||||
,dbo.fnGetDokumentumDatumFormatum(ISNULL(Tanulo.C_SNIOKMANYERVENYESSEGKEZDETE,'')) SNIKezdete
|
||||
,dbo.fnGetDokumentumDatumFormatum(ISNULL(Tanulo.C_SNIKONTROLLIDOPONT, '')) SNIKontrolIdopont
|
||||
,ISNULL(Tanulo.C_ERTELMIFOGYATEKOSOKMANYSZAM + ' (Értelmi fogyatékos okmányszám)', '') ErtelmiFogyatekosOkmanyszam
|
||||
,ISNULL(Tanulo.C_LATASSERULTOKMANYSZAM + ' (Látássérült okmányszám)', '') LatasserultOkmanyszam
|
||||
,ISNULL(Tanulo.C_HALLASSERULTOKMANYSZAM + ' (Hallássérült okmányszám)', '') HallasSerultOkomanyszam
|
||||
,ISNULL(Tanulo.C_BESZEDFOGYATEKOSOKMANYSZAM + ' (Beszédfogyatékos okmányszám)', '') BeszedFogyatekosOkmanyszam
|
||||
,ISNULL(Tanulo.C_BEILLESZKEDESIPROBLEMAVALKUZ, '') BTM
|
||||
INTO #TanuloAdatok
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
ID ID
|
||||
,C_OKTATASIAZONOSITO Azonosito
|
||||
,C_NYOMTATASINEV Nev
|
||||
,C_VEZETEKNEV VezetekNev
|
||||
,C_UTONEV Elotag
|
||||
,C_SZULETESIDATUM SzuletesiDatum
|
||||
,C_SZULETESIHELY SzuletesiHely
|
||||
,C_SZULETESIORSZAG SzuletesiOrszag
|
||||
,C_ALLAMPOLGARSAGA Allampolgarsag
|
||||
,IIF(@isNemet = 0, C_ANYJANEVE, LTRIM(SUBSTRING(C_ANYJANEVE, C_ANYJANEVEELVALASZTO + 1 , LEN(C_ANYJANEVE) - C_ANYJANEVEELVALASZTO)) + ' ' + LTRIM(SUBSTRING(C_ANYJANEVE, 0, C_ANYJANEVEELVALASZTO + 1)))
|
||||
Anyjaneve
|
||||
FROM T_FELHASZNALO_OSSZES
|
||||
) felhasznalo
|
||||
INNER JOIN T_TANULO_OSSZES Tanulo ON Tanulo.Id = felhasznalo.Id
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES allampolgarsag ON allampolgarsag.ID = felhasznalo.Allampolgarsag AND allampolgarsag.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES szorszag ON szorszag.ID = felhasznalo.SzuletesiOrszag AND szorszag.C_TANEVID = @tanevId
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT DISTINCT
|
||||
g.C_TANULOID TanuloId
|
||||
,STUFF((SELECT C_NEV + IIF(@isNemet = 0, ' (' + d.C_NAME +')', '') + CHAR(13) + CHAR(10)
|
||||
FROM T_GONDVISELO_OSSZES bg
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.ID = bg.C_ROKONSAGFOKA AND d.C_TANEVID = bg.C_TANEVID
|
||||
WHERE
|
||||
bg.C_TANULOID=g.C_TANULOID
|
||||
AND bg.C_ISTORVENYESKEPVISELO = 'T'
|
||||
AND bg.TOROLT = 'F'
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,0,'') Gondviselok
|
||||
FROM T_GONDVISELO_OSSZES g
|
||||
) gondviselo on felhasznalo.ID = gondviselo.TanuloId
|
||||
INNER JOIN #students OsztalyTanuloi ON OsztalyTanuloi.TanuloId = felhasznalo.ID
|
||||
ORDER BY felhasznalo.Nev
|
||||
|
||||
SELECT
|
||||
TanuloId
|
||||
,Azonosito
|
||||
,Nev
|
||||
,SzuletesiDatum
|
||||
,SzuletesiHely
|
||||
,Allampolgarsag
|
||||
,Anyjaneve
|
||||
,SzuletesiOrszag
|
||||
,TorzslapSzam
|
||||
,GondviseloNeve
|
||||
,NaploSorszam
|
||||
,Nev2
|
||||
,SajatosNevelesu
|
||||
,TanuloCsoportId
|
||||
,BelepesDatum
|
||||
,KilepesDatum
|
||||
,Okj
|
||||
,SNIKiallitoIntezmeny
|
||||
,SNIKezdete
|
||||
,SNIKontrolIdopont
|
||||
,ErtelmiFogyatekosOkmanyszam
|
||||
,LatasserultOkmanyszam
|
||||
,HallasSerultOkomanyszam
|
||||
,BeszedFogyatekosOkmanyszam
|
||||
,BTM
|
||||
FROM #TanuloAdatok ORDER BY NaploSorszam
|
||||
|
||||
--Határozat
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,Bejegyzes
|
||||
FROM fnGetDokumentumTanuloZaradekai(@tanevId, @osztalyId)
|
||||
|
||||
--Egyéb bejegyzések
|
||||
SELECT
|
||||
Tanuloid
|
||||
,TanuloCsoportId
|
||||
,Bejegyzes
|
||||
,Tipus_DNAME
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
bejegyzes.TanuloId TanuloId
|
||||
,s.TanuloCsoportId
|
||||
,Tartalom Bejegyzes
|
||||
,C_NAME Tipus_DNAME
|
||||
,dbo.fnGetDokumentumDatumFormatum(bejegyzes.Datum) Datum
|
||||
FROM fnGetDokumentumTanulokFeljegyzesei(@tanevId, @osztalyId) bejegyzes
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = Tipusa AND C_TANEVID = @tanevId AND d.TOROLT = 'F'
|
||||
INNER JOIN #students s ON s.TanuloId = bejegyzes.TanuloId
|
||||
WHERE
|
||||
Tipusa IN (1539, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 5477, 5478, 5478, 5479, 5481, 5480)
|
||||
AND BelepesDatum <= Datum
|
||||
AND (KilepesDatum IS NULL OR KilepesDatum >= Datum)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,TantargyNev
|
||||
,MentessegOka
|
||||
,dbo.fnGetDokumentumDatumFormatum(Kezdete)
|
||||
FROM fnGetDokumentumTanuloMentessegei(@tanevId, @osztalyId)
|
||||
)a
|
||||
ORDER BY Datum
|
||||
|
||||
-- MULASZTÁSOK
|
||||
DECLARE @Mulasztasok TABLE (
|
||||
TanuloId INT
|
||||
,TanuloCsoportId INT
|
||||
,Igazolt INT
|
||||
,Igazolatlan INT
|
||||
,ElmeletIgazolt INT
|
||||
,ElmeletIgazolatlan INT
|
||||
,GyakorlatIgazolt INT
|
||||
,GyakorlatIgazolatlan INT
|
||||
,ElmeletOsszes INT
|
||||
,GyakorlatOsszes INT
|
||||
,Osszes INT
|
||||
)
|
||||
|
||||
INSERT INTO @Mulasztasok
|
||||
EXEC sp_GetDokumentumMulasztasok
|
||||
@osztalyId = @osztalyId,
|
||||
@tanevId = @tanevId,
|
||||
@elmeletGyakorlat = 0,
|
||||
@kesesTipus = @kesesTipus,
|
||||
@elmeletiOraPercben = @elmeletiOraPercben,
|
||||
@gyakorlatiOraPercben = @gyakorlatiOraPercben,
|
||||
@ertekelesTipus = @ertekelesTipus,
|
||||
@iskolaErdekuSzamit = @iskolaErdekuSzamit
|
||||
|
||||
SELECT
|
||||
TanuloTable.TanuloId
|
||||
,TanuloTable.TanuloCsoportId
|
||||
,Igazolt
|
||||
,Igazolatlan
|
||||
,ElmeletIgazolt
|
||||
,ElmeletIgazolatlan
|
||||
,GyakorlatIgazolt
|
||||
,GyakorlatIgazolatlan
|
||||
,ElmeletOsszes
|
||||
,GyakorlatOsszes
|
||||
,Osszes
|
||||
FROM @Mulasztasok mulasztasok
|
||||
INNER JOIN #students TanuloTable ON mulasztasok.TanuloId = TanuloTable.TanuloId AND TanuloTable.TanuloCsoportId = mulasztasok.TanuloCsoportId
|
||||
|
||||
-- ÉRTÉKELÉSEK
|
||||
DECLARE @Ertekelesek TABLE (
|
||||
TanuloId INT
|
||||
,TanuloCsoportId INT
|
||||
,Targy NVARCHAR(MAX)
|
||||
,Jegyzet NVARCHAR(MAX)
|
||||
,Ertekeles NVARCHAR(MAX)
|
||||
,ErtekelesValue INT
|
||||
,ErtekelesJegyzettel NVARCHAR(MAX)
|
||||
,Oraszam INT
|
||||
,RENDEZ1 INT
|
||||
,RENDEZ2 NVARCHAR(MAX)
|
||||
,RENDEZ3 INT
|
||||
,RENDEZ4 INT
|
||||
,RENDEZ5 NVARCHAR(MAX)
|
||||
)
|
||||
|
||||
INSERT INTO @Ertekelesek
|
||||
EXEC sp_GetDokumentumErtekelesek
|
||||
@osztalyId = @osztalyId,
|
||||
@tanevId = @tanevId,
|
||||
@ertekelesTipus =@ertekelesTipus,
|
||||
@isNemet = @isNemet,
|
||||
@tanitasiHetekSzamaVegzos = @tanitasiHetekSzamaVegzos,
|
||||
@tanitasiHetekSzamaNemVegzos = @tanitasiHetekSzamaNemVegzos
|
||||
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,Targy
|
||||
,Jegyzet
|
||||
,Ertekeles
|
||||
,ErtekelesJegyzettel
|
||||
,Oraszam
|
||||
,RENDEZ1 RENDEZ
|
||||
FROM @Ertekelesek
|
||||
ORDER BY RENDEZ1, RENDEZ2, RENDEZ3, RENDEZ4, RENDEZ5
|
||||
|
||||
--Tanuló lista
|
||||
SELECT
|
||||
Nev
|
||||
,NaploSorszam
|
||||
,TorzslapSzam
|
||||
,dbo.fnGetDokumentumDatumFormatum (KilepesDatum) KilepesDatum
|
||||
FROM #TanuloAdatok
|
||||
ORDER BY NaploSorszam
|
||||
|
||||
--Közösségi szolgálat
|
||||
SELECT DISTINCT
|
||||
OsztalyTanuloi.TanuloId
|
||||
,OsztalyTanuloi.TanuloCsoportId
|
||||
,dbo.fnGetDokumentumDatumFormatum(Datum) Datum
|
||||
,ISNULL(' - ' + Megjegyzes, '') Megjegyzes
|
||||
,Oraszam
|
||||
,TeljesitesHelye
|
||||
,FeljegyzoNeve
|
||||
,Tipus
|
||||
,KozossegiSzolgalatId
|
||||
FROM fnGetDokumentumKozossegiSzolgalatOsztalyonkent(@tanevId, @osztalyId) KozossegiSzolgalat
|
||||
INNER JOIN #students OsztalyTanuloi ON OsztalyTanuloi.TanuloId = KozossegiSzolgalat.TanuloId
|
||||
WHERE
|
||||
BelepesDatum <= Datum
|
||||
AND (OsztalyTanuloi.KilepesDatum IS NULL OR OsztalyTanuloi.KilepesDatum >= Datum)
|
||||
AND @isKozossegiSzolgalat = 1
|
||||
ORDER BY Datum
|
||||
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
FROM #TanuloAdatok
|
||||
WHERE
|
||||
SajatosNevelesu = 'T'
|
||||
AND (KilepesDatum IS NULL OR KilepesDatum >= GETDATE())
|
||||
|
||||
DROP TABLE #students
|
||||
DROP TABLE #TanuloAdatok
|
||||
END
|
||||
|
||||
GO
|
@@ -0,0 +1,115 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_Nyomtatvany_Excel_OsztalyTanuloinakGyakorlatiOraMulasztasiSzazalekStatisztika]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_Nyomtatvany_Excel_OsztalyTanuloinakGyakorlatiOraMulasztasiSzazalekStatisztika]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Nyomtatvany_Excel_OsztalyTanuloinakGyakorlatiOraMulasztasiSzazalekStatisztika]
|
||||
@pTanevId INT,
|
||||
@pOsztalyId INT,
|
||||
@pMulasztasTipusIdKeses INT = 1499,
|
||||
@pMulasztasTipusIdHianyzas INT = 1500,
|
||||
@pTanevrendjeTanevKezdeteNaptipusId INT = 1394, --Tanévrendje első nap típus
|
||||
@pMegtartottVagyMegtarthato INT = 1,
|
||||
@pAtsoroltTanuloAdatok INT = 1,
|
||||
@tanitasiHetekSzamaVegzos INT,
|
||||
@tanitasiHetekSzamaNemVegzos INT
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @iskolaErdekuParam INT = 1683;
|
||||
DECLARE @iskolaErdekuSzamit BIT = (SELECT LogikaiErtek FROM fnGetDokumentumRendszerbeallitasLogikaiErtek(@pTanevId, @iskolaErdekuParam));
|
||||
DECLARE @idoszakEleje DATE = (
|
||||
SELECT ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pTanevrendjeTanevKezdeteNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @pOsztalyId)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
(SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @pTanevId))
|
||||
);
|
||||
DECLARE @idoszakVege DATE = GETDATE();
|
||||
DECLARE @osztalyTanulok TABLE (TANULOID INT PRIMARY KEY, TANULONEV NVARCHAR(MAX), BELEPESDATUM DATE, KILEPESDATUM DATE);
|
||||
DECLARE @tantargyak TABLE(TANTARGYID INT, TANTARGY_NEV NVARCHAR(MAX), TARGYKATEGORIA_NEV NVARCHAR(MAX), TARGYKATEGORIA_SORSZAM INT, C_FOTARGYE CHAR(1), C_ALTANTARGYKENTNYOMTATVANYBAN CHAR(1));
|
||||
INSERT INTO @osztalyTanulok (TANULOID, TANULONEV, BELEPESDATUM, KILEPESDATUM)
|
||||
SELECT FELHASZNALO.ID AS TANULOID, C_NYOMTATASINEV, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_FELHASZNALO_OSSZES AS FELHASZNALO
|
||||
INNER JOIN (
|
||||
SELECT C_TANULOID, C_OSZTALYCSOPORTID, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_TANULOCSOPORT_OSSZES AS TANULOCSOPORT
|
||||
WHERE TANULOCSOPORT.TOROLT = 'F' AND TANULOCSOPORT.C_OSZTALYCSOPORTID = @pOsztalyId AND TANULOCSOPORT.C_BELEPESDATUM < @idoszakVege
|
||||
AND (TANULOCSOPORT.C_KILEPESDATUM IS NULL OR TANULOCSOPORT.C_KILEPESDATUM >= @idoszakVege)
|
||||
) AS TANCSOPORT ON TANCSOPORT.C_TANULOID = FELHASZNALO.ID
|
||||
WHERE FELHASZNALO.TOROLT = 'F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @pOsztalyId AND FELHASZNALO.C_TANEVID = @pTanevId;
|
||||
INSERT INTO @tantargyak (TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_NEV, TARGYKATEGORIA_SORSZAM, C_FOTARGYE, C_ALTANTARGYKENTNYOMTATVANYBAN)
|
||||
SELECT TANTARGYAK.ID AS TANTARGYID, COALESCE(TANTARGYAK.C_NEVNYOMTATVANYBAN, TANTARGYAK.C_NEV) AS TANTARGY_NEV, TARGYKATEG.C_NAME AS TARGYKATEGORIA_NEV, TARGYKATEG.C_VALUE AS TARGYKATEGORIA_SORSZAM, TANTARGYAK.C_FOTARGYE, TANTARGYAK.C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM T_TANTARGY_OSSZES AS TANTARGYAK
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TARGYKATEG ON TARGYKATEG.ID = TANTARGYAK.C_TARGYKATEGORIA AND TARGYKATEG.C_TANEVID = TANTARGYAK.C_TANEVID
|
||||
WHERE TANTARGYAK.TOROLT = 'F' AND TANTARGYAK.C_TANEVID = @pTanevId AND TANTARGYAK.C_GYAKORLATI = 'T'
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
SELECT DISTINCT TANULOID, TANULONEV
|
||||
FROM @osztalyTanulok
|
||||
ORDER BY TANULONEV;
|
||||
SELECT DISTINCT TANTARGYID, TANTARGY_NEV
|
||||
FROM @tantargyak;
|
||||
SELECT * INTO #tempMulasztas FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @iskolaErdekuSzamit, DEFAULT, @pAtsoroltTanuloAdatok, DEFAULT, DEFAULT) WHERE Tipusa IN (@pMulasztasTipusIdKeses, @pMulasztasTipusIdHianyzas)
|
||||
CREATE TABLE #tempTanorak (Orakszama INT, TanuloId INT, TantargyId INT, TantargyNev NVARCHAR(MAX) COLLATE Hungarian_CI_AI, Fotargye CHAR(1) COLLATE Hungarian_CI_AI, Altargye CHAR(1) COLLATE Hungarian_CI_AI, Gyakorlati CHAR(1) COLLATE Hungarian_CI_AI)
|
||||
IF @pMegtartottVagyMegtarthato = 1
|
||||
BEGIN
|
||||
INSERT INTO #tempTanorak
|
||||
SELECT Orakszama, TanuloId, TantargyId, TantargyNev, Fotargye, Altargye, Gyakorlati
|
||||
FROM fnGetDokumentumOsztalyTanuloinakMegtarthatoOrakTantargyankent (@pTanevId, @pOsztalyId, @pAtsoroltTanuloAdatok, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO #tempTanorak
|
||||
SELECT Orakszama, TanuloId, TantargyId, TantargyNev, Fotargye, Altargye, Gyakorlati
|
||||
FROM fnGetDokumentumOsztalyTanuloinakMegtartottOrakTantargyankent (@pTanevId, @pOsztalyId, @pAtsoroltTanuloAdatok)
|
||||
END
|
||||
SELECT MegtartottOrak.TanuloId, MegtartottOrak.TantargyId, MegtartottOrak.Gyakorlati,
|
||||
CAST(Mulasztasokszam AS float) / Orakszama AS MulasztasArany, CAST(Mulasztasokszam AS float) / Orakszama * 100 AS MulasztasSzazalek,
|
||||
CAST(Mulasztasokszam AS NVARCHAR) + '/' + CAST(Orakszama AS NVARCHAR) AS Info
|
||||
FROM (
|
||||
SELECT SUM(CAST(IIF(Tipusa = @pMulasztasTipusIdHianyzas, 1, IIF(Tipusa = @pMulasztasTipusIdKeses,CAST(KesesPercben AS FLOAT) / 45, 0)) AS FLOAT)) AS Mulasztasokszam, TanuloId, TantargyId, Gyakorlati
|
||||
FROM #tempMulasztas
|
||||
WHERE Gyakorlati = 'T'
|
||||
GROUP BY TanuloId, TantargyId, Gyakorlati
|
||||
) AS Mulasztasok
|
||||
INNER JOIN (
|
||||
SELECT Orakszama, Tanuloid, TantargyId, Gyakorlati, TantargyNev
|
||||
FROM #tempTanorak
|
||||
WHERE Gyakorlati = 'T'
|
||||
) AS MegtartottOrak
|
||||
ON MegtartottOrak.TantargyId = Mulasztasok.TantargyId
|
||||
AND MegtartottOrak.TanuloId = Mulasztasok.TanuloId
|
||||
AND MegtartottOrak.Gyakorlati = Mulasztasok.Gyakorlati
|
||||
ORDER BY TanuloId, TantargyId
|
||||
SELECT MegtartottOrak.TanuloId, MegtartottOrak.Gyakorlati,
|
||||
CAST(Mulasztasokszam AS float) / Orakszama AS MulasztasArany, CAST(Mulasztasokszam AS float) / Orakszama * 100 AS MulasztasSzazalek,
|
||||
CAST(Mulasztasokszam AS NVARCHAR) + '/' + CAST(Orakszama AS NVARCHAR) AS Info
|
||||
FROM (
|
||||
SELECT SUM(CAST(IIF(Tipusa = @pMulasztasTipusIdHianyzas, 1, IIF(Tipusa = @pMulasztasTipusIdKeses,CAST(KesesPercben AS FLOAT) / 45, 0)) AS FLOAT)) AS Mulasztasokszam, TanuloId, Gyakorlati
|
||||
FROM #tempMulasztas
|
||||
WHERE Gyakorlati = 'T'
|
||||
GROUP BY TanuloId, Gyakorlati
|
||||
) AS Mulasztasok
|
||||
INNER JOIN (
|
||||
SELECT Tanuloid, Gyakorlati, SUM(Orakszama) as Orakszama
|
||||
FROM #tempTanorak
|
||||
WHERE Gyakorlati = 'T'
|
||||
GROUP BY Tanuloid, Gyakorlati
|
||||
) AS MegtartottOrak
|
||||
ON
|
||||
MegtartottOrak.TanuloId = Mulasztasok.TanuloId
|
||||
AND MegtartottOrak.Gyakorlati = Mulasztasok.Gyakorlati
|
||||
ORDER BY TanuloId
|
||||
IF OBJECT_ID('tempdb..#tempTanorak') IS NOT NULL DROP TABLE #tempTanorak
|
||||
IF OBJECT_ID('tempdb..#tempMulasztas') IS NOT NULL DROP TABLE #tempMulasztas
|
||||
END;
|
||||
|
||||
|
||||
GO
|
@@ -0,0 +1,93 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_Nyomtatvany_Excel_OsztalyTanuloinakMulasztasiSzazalekStatisztika]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_Nyomtatvany_Excel_OsztalyTanuloinakMulasztasiSzazalekStatisztika]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Nyomtatvany_Excel_OsztalyTanuloinakMulasztasiSzazalekStatisztika]
|
||||
@pTanevId INT,
|
||||
@pOsztalyId INT,
|
||||
@pMulasztasTipusIdKeses INT = 1499,
|
||||
@pMulasztasTipusIdHianyzas INT = 1500,
|
||||
@pTanevrendjeTanevKezdeteNaptipusId INT = 1394, --Tanévrendje első nap típus
|
||||
@pMegtartottVagyMegtarthato INT = 1,
|
||||
@pAtsoroltTanuloAdatok INT = 1,
|
||||
@tanitasiHetekSzamaVegzos INT = 32,
|
||||
@tanitasiHetekSzamaNemVegzos INT = 36
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @iskolaErdekuParam INT = 1683;
|
||||
DECLARE @iskolaErdekuSzamit BIT = (SELECT LogikaiErtek FROM fnGetDokumentumRendszerbeallitasLogikaiErtek(@pTanevId, @iskolaErdekuParam));
|
||||
DECLARE @idoszakEleje DATE = (
|
||||
SELECT ISNULL(
|
||||
(SELECT TOP 1 C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE ON T_TANEVRENDJE_OSSZES.ID = T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID
|
||||
WHERE C_TANEVID = @pTanevId AND C_NAPTIPUSA = @pTanevrendjeTanevKezdeteNaptipusId AND TOROLT = 'F' AND (C_OSZTALYCSOPORTID IS NULL OR C_OSZTALYCSOPORTID = @pOsztalyId)
|
||||
ORDER BY C_OSZTALYCSOPORTID DESC),
|
||||
(SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @pTanevId))
|
||||
);
|
||||
DECLARE @idoszakVege DATE = GETDATE();
|
||||
DECLARE @osztalyTanulok TABLE (TANULOID INT PRIMARY KEY, TANULONEV NVARCHAR(MAX), BELEPESDATUM DATE, KILEPESDATUM DATE);
|
||||
DECLARE @tantargyak TABLE(TANTARGYID INT, TANTARGY_NEV NVARCHAR(MAX), TARGYKATEGORIA_NEV NVARCHAR(MAX), TARGYKATEGORIA_SORSZAM INT, C_FOTARGYE CHAR(1), C_ALTANTARGYKENTNYOMTATVANYBAN CHAR(1));
|
||||
INSERT INTO @osztalyTanulok (TANULOID, TANULONEV, BELEPESDATUM, KILEPESDATUM)
|
||||
SELECT FELHASZNALO.ID AS TANULOID, C_NYOMTATASINEV, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_FELHASZNALO_OSSZES AS FELHASZNALO
|
||||
INNER JOIN (
|
||||
SELECT C_TANULOID, C_OSZTALYCSOPORTID, C_BELEPESDATUM, C_KILEPESDATUM
|
||||
FROM T_TANULOCSOPORT_OSSZES AS TANULOCSOPORT
|
||||
WHERE TANULOCSOPORT.TOROLT = 'F' AND TANULOCSOPORT.C_OSZTALYCSOPORTID = @pOsztalyId AND TANULOCSOPORT.C_BELEPESDATUM < @idoszakVege
|
||||
AND (TANULOCSOPORT.C_KILEPESDATUM IS NULL OR TANULOCSOPORT.C_KILEPESDATUM >= @idoszakVege)
|
||||
) AS TANCSOPORT ON TANCSOPORT.C_TANULOID = FELHASZNALO.ID
|
||||
WHERE FELHASZNALO.TOROLT = 'F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @pOsztalyId AND FELHASZNALO.C_TANEVID = @pTanevId;
|
||||
INSERT INTO @tantargyak (TANTARGYID, TANTARGY_NEV, TARGYKATEGORIA_NEV, TARGYKATEGORIA_SORSZAM, C_FOTARGYE, C_ALTANTARGYKENTNYOMTATVANYBAN)
|
||||
SELECT TANTARGYAK.ID AS TANTARGYID, COALESCE(TANTARGYAK.C_NEVNYOMTATVANYBAN, TANTARGYAK.C_NEV) AS TANTARGY_NEV, TARGYKATEG.C_NAME AS TARGYKATEGORIA_NEV, TARGYKATEG.C_VALUE AS TARGYKATEGORIA_SORSZAM, TANTARGYAK.C_FOTARGYE, TANTARGYAK.C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM T_TANTARGY_OSSZES AS TANTARGYAK
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES AS TARGYKATEG ON TARGYKATEG.ID = TANTARGYAK.C_TARGYKATEGORIA AND TARGYKATEG.C_TANEVID = TANTARGYAK.C_TANEVID
|
||||
WHERE TANTARGYAK.TOROLT = 'F' AND TANTARGYAK.C_TANEVID = @pTanevId
|
||||
ORDER BY TARGYKATEGORIA_SORSZAM, TANTARGY_NEV;
|
||||
SELECT DISTINCT TANULOID, TANULONEV
|
||||
FROM @osztalyTanulok
|
||||
ORDER BY TANULONEV;
|
||||
SELECT DISTINCT TANTARGYID, TANTARGY_NEV
|
||||
FROM @tantargyak;
|
||||
SELECT * INTO #tempMulasztas FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes (@pTanevId, @pOsztalyId, @iskolaErdekuSzamit, DEFAULT, @pAtsoroltTanuloAdatok, DEFAULT, DEFAULT) WHERE Tipusa IN (@pMulasztasTipusIdKeses, @pMulasztasTipusIdHianyzas)
|
||||
CREATE TABLE #tempTanorak (Orakszama INT, TanuloId INT, TantargyId INT, TantargyNev NVARCHAR(MAX) COLLATE Hungarian_CI_AI, Fotargye CHAR(1) COLLATE Hungarian_CI_AI, Altargye CHAR(1) COLLATE Hungarian_CI_AI, Gyakorlati CHAR(1) COLLATE Hungarian_CI_AI)
|
||||
IF @pMegtartottVagyMegtarthato = 1
|
||||
BEGIN
|
||||
INSERT INTO #tempTanorak
|
||||
SELECT Orakszama, TanuloId, TantargyId, TantargyNev, Fotargye, Altargye, Gyakorlati
|
||||
FROM fnGetDokumentumOsztalyTanuloinakMegtarthatoOrakTantargyankent (@pTanevId, @pOsztalyId, @pAtsoroltTanuloAdatok, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO #tempTanorak
|
||||
SELECT Orakszama, TanuloId, TantargyId, TantargyNev, Fotargye, Altargye, Gyakorlati
|
||||
FROM fnGetDokumentumOsztalyTanuloinakMegtartottOrakTantargyankent (@pTanevId, @pOsztalyId, @pAtsoroltTanuloAdatok)
|
||||
END
|
||||
SELECT MegtartottOrak.TanuloId, MegtartottOrak.TantargyId, MegtartottOrak.Gyakorlati,
|
||||
CAST(Mulasztasokszam AS float) / Orakszama AS MulasztasArany, CAST(Mulasztasokszam AS float) / Orakszama * 100 AS MulasztasSzazalek,
|
||||
CAST(Mulasztasokszam AS NVARCHAR) + '/' + CAST(Orakszama AS NVARCHAR) AS Info
|
||||
FROM (
|
||||
SELECT SUM(CAST(IIF(Tipusa = @pMulasztasTipusIdHianyzas, 1, IIF(Tipusa = @pMulasztasTipusIdKeses,CAST(KesesPercben AS FLOAT) / 45, 0)) AS FLOAT)) AS Mulasztasokszam, TanuloId, TantargyId, Gyakorlati
|
||||
FROM #tempMulasztas
|
||||
GROUP BY TanuloId, TantargyId, Gyakorlati
|
||||
) AS Mulasztasok
|
||||
INNER JOIN (
|
||||
SELECT Orakszama, Tanuloid, TantargyId, Gyakorlati, TantargyNev
|
||||
FROM #tempTanorak
|
||||
) AS MegtartottOrak
|
||||
ON MegtartottOrak.TantargyId = Mulasztasok.TantargyId
|
||||
AND MegtartottOrak.TanuloId = Mulasztasok.TanuloId
|
||||
AND MegtartottOrak.Gyakorlati = Mulasztasok.Gyakorlati
|
||||
INNER JOIN T_FELHASZNALO ON T_FELHASZNALO.ID = MegtartottOrak.TanuloId
|
||||
IF OBJECT_ID('tempdb..#tempTanorak') IS NOT NULL DROP TABLE #tempTanorak
|
||||
IF OBJECT_ID('tempdb..#tempMulasztas') IS NOT NULL DROP TABLE #tempMulasztas
|
||||
END;
|
||||
|
||||
GO
|
Reference in New Issue
Block a user