init
This commit is contained in:
@@ -0,0 +1,234 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanuloiErtesito]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanuloiErtesito]
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanuloiErtesito]
|
||||
@pIntezmenyId INT,
|
||||
@pTanevId INT,
|
||||
@pOsztalyId INT,
|
||||
@pTanuloId INT,
|
||||
@pIskolaErdekuSzamit BIT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@pTanevId AND TOROLT = 'F')
|
||||
|
||||
|
||||
DECLARE @NaploSorszam TABLE (
|
||||
TanuloId INT
|
||||
,Sorszam INT
|
||||
)
|
||||
INSERT INTO @NaploSorszam
|
||||
EXEC [sp_GetDokumentumTanuloNaploSorszam]
|
||||
@osztalyId = @pOsztalyId
|
||||
|
||||
CREATE TABLE #students (ID INT PRIMARY KEY, BelepesDatum DATE, KilepesDatum DATE, NaploSorszam INT)
|
||||
INSERT INTO #students
|
||||
SELECT
|
||||
t.TanuloId
|
||||
,BelepesDatum
|
||||
,ISNULL(KilepesDatum, GETDATE())
|
||||
,nsz.Sorszam
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'F') t
|
||||
INNER JOIN @NaploSorszam nsz ON nsz.TanuloId = t.TanuloId
|
||||
WHERE
|
||||
t.TanuloId = @pTanuloId
|
||||
|
||||
|
||||
/*FEJLEC*/
|
||||
SELECT DISTINCT
|
||||
osztalyCsop.C_NEV OsztalyNeve
|
||||
,ofo.C_NYOMTATASINEV Osztalyfonok
|
||||
,INTEZMENY.C_NEV IntezmenyNeve
|
||||
,INTEZMENY.C_IGAZGATONEVE IgazgatoNeve
|
||||
,dbo.fnGetDokumentumIntezmenyCime (@pTanevId) IntezmenyCime
|
||||
,INTEZMENY.C_TELEFONSZAM IntezmenyTelefonszam
|
||||
,INTEZMENY.C_EMAILCIM IntezmenyEmail
|
||||
,INTEZMENY.C_OMKOD IntezmenyOMKod
|
||||
,TANEV.C_NEV Tanev
|
||||
FROM T_TANEV_osszes TANEV
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsop ON TANEV.C_INTEZMENYID = osztalyCsop.C_INTEZMENYID
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON osztalyCsop.ID = o.ID AND o.torolt='F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES ofo ON ofo.ID = o.C_OSZTALYFONOKID
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES INTEZMENY on INTEZMENY.C_INTEZMENYID=osztalyCsop.C_INTEZMENYID AND INTEZMENY.C_TANEVID = osztalyCsop.C_TANEVID AND INTEZMENY.Torolt = 'F'
|
||||
WHERE osztalyCsop.ID = @pOsztalyId
|
||||
AND TANEV.ID = @pTanevId
|
||||
|
||||
|
||||
/*TANULÓ adatai*/
|
||||
SELECT DISTINCT
|
||||
tanuloID
|
||||
,sorszam
|
||||
,torzslapSzam
|
||||
,oktAzon
|
||||
,tajSzam
|
||||
,anyjaNeve
|
||||
,szulHely
|
||||
,dbo.fnGetDokumentumDatumFormatum(szulIdo) szulIdo
|
||||
,IIF(socAdat = '', '', LEFT(socAdat, len(socAdat)- 1)) socAdat
|
||||
,kepzes
|
||||
,tanuloNeve
|
||||
,allampolgarsaga
|
||||
,diakIgazolvanySzam
|
||||
,dbo.fnGetDokumentumDatumFormatum(kilepesDatum) kilepesDatum
|
||||
,beirasiNaploSorszam
|
||||
INTO #TanuloAlapAdatok
|
||||
FROM (
|
||||
SELECT
|
||||
t.ID tanuloID
|
||||
,naploSorszam.Sorszam sorszam
|
||||
,f.C_NYILVANTARTASISZAM torzslapSzam
|
||||
,f.C_OKTATASIAZONOSITO oktAzon
|
||||
,f.C_TAJSZAM tajSzam
|
||||
,f.C_ANYJANEVE anyjaNeve
|
||||
,f.C_SZULETESIHELY szulHely
|
||||
,f.C_SZULETESIDATUM szulIdo
|
||||
,IIF(t.C_MAGANTANULO = 'T', 'Magántanuló (eü. ok), ', '') +
|
||||
IIF(t.C_JOGVISZONYATSZUNETELTETO = 'T', 'Jogviszony szüneteltetve, ', '') +
|
||||
IIF(t.C_SZAKMAIGYAKORLATON = 'T', 'Szakmai gyakorlat, ', '') +
|
||||
IIF(t.C_SZOCIALISTAMOGATAS = 'T', 'Szociális támogatás, ', '') +
|
||||
IIF(t.C_SAJATOSNEVELESU = 'T', 'Sajátos nevelési igényű, ', '') +
|
||||
IIF(t.C_BEJARO = 'T', 'Bejáró, ', '')
|
||||
socAdat
|
||||
,tt.C_NEV kepzes
|
||||
,f.C_NYOMTATASINEV tanuloNeve
|
||||
,d.C_NAME allampolgarsaga
|
||||
,t.C_DIAKIGAZOLVANYSZAM diakIgazolvanySzam
|
||||
,MAX(cs.C_KILEPESDATUM) kilepesDatum
|
||||
,t.C_BEIRASINAPLOSORSZAM beirasiNaploSorszam
|
||||
FROM T_TANULO_OSSZES t
|
||||
INNER JOIN #students s ON s.ID = t.ID
|
||||
INNER JOIN @NaploSorszam naploSorszam on naploSorszam.TanuloId=s.ID
|
||||
INNER JOIN T_TANTERV_OSSZES tt ON tt.ID = t.C_TANTERVID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = t.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES cs ON s.ID = cs.C_TANULOID AND cs.C_OSZTALYCSOPORTID = @pOsztalyId AND cs.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=f.C_ALLAMPOLGARSAGA AND d.C_TANEVID = f.C_TANEVID AND d.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
GROUP BY
|
||||
s.ID, t.ID, naploSorszam.Sorszam, f.C_NYILVANTARTASISZAM, f.C_OKTATASIAZONOSITO, f.C_TAJSZAM, f.C_ANYJANEVE,
|
||||
f.C_SZULETESIHELY, f.C_SZULETESIDATUM, t.C_MAGANTANULO, t.C_JOGVISZONYATSZUNETELTETO, t.C_SZAKMAIGYAKORLATON, C_SAJATOSNEVELESU, t.C_BEJARO,
|
||||
t.C_SZOCIALISTAMOGATAS, tt.C_NEV, f.C_NYOMTATASINEV, d.C_NAME, t.C_DIAKIGAZOLVANYSZAM, t.C_BEIRASINAPLOSORSZAM
|
||||
) tbl
|
||||
|
||||
|
||||
SELECT * FROM #TanuloAlapAdatok ORDER BY sorszam
|
||||
|
||||
|
||||
/*TANULÓ elérhetőségei */
|
||||
SELECT
|
||||
tanulo.TanuloId tanuloID
|
||||
,Gondviselo.C_NEV + IIF(Gondviselo.C_ISTORVENYESKEPVISELO = 'T', ' (törvényes)', '') GondviseloNeve
|
||||
,C_IRANYITOSZAM + ' ' + C_VAROS + ', ' + C_KOZTERULET + ' ' + kozterulet.C_NAME + ' ' + C_HAZSZAM CimText
|
||||
FROM T_GONDVISELO_OSSZES Gondviselo
|
||||
INNER JOIN #students TanulokId ON Gondviselo.C_TANULOID = TanulokId.Id
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyId, 'F') tanulo ON tanulo.TanuloId = Gondviselo.C_TANULOID AND Gondviselo.TOROLT = 'F'
|
||||
INNER JOIN T_CIM_OSSZES cim ON cim.C_FELHASZNALOID = TanuloId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES kozterulet ON kozterulet.Id = C_KOZTERULETJELLEGE AND kozterulet.C_TANEVID = @pTanevId
|
||||
WHERE
|
||||
cim.TOROLT = 'F'
|
||||
AND cim.C_TANEVID = @pTanevId
|
||||
ORDER BY
|
||||
(SELECT 1)
|
||||
--AND Gondviselo.C_ISTORVENYESKEPVISELO = 'T'
|
||||
|
||||
|
||||
/*TANTARGY ERTEKELESEK*/
|
||||
SELECT DISTINCT
|
||||
tanulo.Id tanuloID
|
||||
,TARGY.C_NEV TargyNev
|
||||
,Tanar.C_NYOMTATASINEV TanarNev
|
||||
,JEGY.C_NAME Ertekeles
|
||||
FROM T_TANULOCSOPORT_OSSZES TANULOCSOPORT
|
||||
INNER JOIN T_TANULOERTEKELES_OSSZES ERTEKELES ON ERTEKELES.C_TANULOID = TANULOCSOPORT.C_TANULOID
|
||||
INNER JOIN #students tanulo ON ERTEKELES.C_TANULOID = tanulo.Id
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES JEGY ON ERTEKELES.C_OSZTALYZAT = JEGY.ID
|
||||
INNER JOIN T_TANTARGY_OSSZES TARGY ON ERTEKELES.C_TANTARGYID = TARGY.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Tanar ON Tanar.Id = ERTEKELES.C_ERTEKELOID
|
||||
WHERE ERTEKELES.C_ERTEKELESTIPUSA = 1519
|
||||
AND TANULOCSOPORT.C_OSZTALYCSOPORTID = @pOsztalyId
|
||||
|
||||
|
||||
/*MULASZTAS ÖSSZESEN*/
|
||||
SELECT
|
||||
DATEPART(MONTH, Datum) Honap
|
||||
,TantargyId Id
|
||||
,Igazolt IgazoltE
|
||||
,TanuloId TanuloId
|
||||
,IgazolasTipusa IgazolasTipus
|
||||
,Datum Datum
|
||||
,Tipusa Tipus
|
||||
,KesesPercben KesesPercben
|
||||
,HetSorszama HetSorszama
|
||||
,Oraszam Oraszam
|
||||
,CAST(DATEPART(MONTH, Datum) AS NVARCHAR(10)) + IIF(C_GYAKORLATI = 'T', 'G', 'E') ElmeletGyakorlat
|
||||
,C_GYAKORLATI isGyakorlat
|
||||
INTO #mulasztasTmp
|
||||
FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes(@pTanevId, @pOsztalyId, @pIskolaErdekuSzamit) TanulokMulasztasai
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON
|
||||
TanuloCsoport.C_OSZTALYCSOPORTID = TanulokMulasztasai.OsztalyCsoportId
|
||||
AND TanuloCsoport.C_TANULOID = TanulokMulasztasai.TanuloId
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= TanulokMulasztasai.Datum
|
||||
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= TanulokMulasztasai.Datum)
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
|
||||
SELECT
|
||||
[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E] OsszesenE
|
||||
,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G] OsszesenG
|
||||
FROM #students s
|
||||
LEFT JOIN (SELECT * FROM (SELECT Id, TanuloId, ElmeletGyakorlat FROM #mulasztasTmp WHERE Tipus = 1500) a
|
||||
PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv )ni on ni.TanuloId=s.Id
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId FROM #mulasztasTmp WHERE Tipus = 1500 AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId) felevG on felevG.TanuloId=s.id
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId FROM #mulasztasTmp WHERE Tipus = 1500 AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId) felevE on felevE.TanuloId=s.id
|
||||
|
||||
|
||||
/*IGAZOLATLAN MULASZTAS*/
|
||||
SELECT
|
||||
[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E] OsszesenE
|
||||
,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G] OsszesenG
|
||||
FROM #students s
|
||||
LEFT JOIN (SELECT * FROM (SELECT Id, ElmeletGyakorlat, TanuloId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'F' AND Tipus = 1500 )ni on ni.TanuloId=s.Id
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'F' AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId) felevG on felevG.TanuloId=s.id
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'F' AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId) felevE on felevE.TanuloId=s.id
|
||||
|
||||
/*TANULO FELMENTESEI*/
|
||||
SELECT
|
||||
ISNULL(mentesseg.tantargyNev, '-') Tantargy
|
||||
,ISNULL(mentesseg.mentessegOka, '') MentessegOka
|
||||
,ISNULL(IIF(mentesseg = '', ''
|
||||
,LEFT(mentesseg, LEN(mentesseg)- 1)),' ') Mentesseg
|
||||
FROM #students s
|
||||
LEFT JOIN (SELECT DISTINCT
|
||||
mentesseg.C_TANULOID tanuloId
|
||||
, IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV) tantargyNev
|
||||
, mentesseg.C_MENTESSEGOKA + ' ' + ISNULL('(' + dbo.fnGetDokumentumDatumFormatum(C_KEZDETE) + ' - ', '') + ISNULL(dbo.fnGetDokumentumDatumFormatum(C_VEGE) + ')', IIF(C_KEZDETE IS NULL, '', ')' )) mentessegOka
|
||||
, IIF(mentesseg.C_ERTEKELESMENTESITES = 'T', 'Értékelésmentesség, ', '') + IIF(mentesseg.C_ORAMENTESITES = 'T', 'Óramentesség, ', '') as mentesseg
|
||||
FROM T_TANULOMENTESSEG_OSSZES mentesseg
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.ID=mentesseg.C_TANTARGYID
|
||||
INNER JOIN #students s ON s.ID = mentesseg.C_TANULOID
|
||||
WHERE
|
||||
mentesseg.TOROLT='F'
|
||||
AND mentesseg.C_TANEVID=@pTanevId
|
||||
) mentesseg ON s.ID=mentesseg.TANULOID
|
||||
|
||||
/*TANTESTÜLET ZÁRADÉKA*/
|
||||
SELECT DISTINCT
|
||||
ISNULL(C_ZARADEK, '-') Feljegyzes
|
||||
FROM T_TANULOCSOPORT_OSSZES
|
||||
WHERE
|
||||
C_TANULOID = @pTanuloId
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
Reference in New Issue
Block a user