init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,26 @@
|
|||
IF OBJECT_ID('stage.fnGetDictionaryItemBase') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetDictionaryItemBase
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetDictionaryItemBase (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
s.C_DICTIONARYITEMBASEID AS dictionaryItemBaseId
|
||||
,i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_NAME AS name
|
||||
,s.C_TYPE AS type
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_DICTIONARYITEMBASE_STAGE s
|
||||
LEFT JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('DictionaryItemBase'), ROOT('DictionaryItemBaseItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
|
@ -0,0 +1,29 @@
|
|||
IF OBJECT_ID('stage.fnGetEslAdat') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetEslAdat
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetEslAdat (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.C_ESLADATID AS eslAdatId
|
||||
,s.C_DATUM AS datum
|
||||
,s.C_ERTEK AS ertek
|
||||
,s.C_TIPUS AS tipus
|
||||
,s.C_TIPUSNEV AS tipusNev
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_ESLADAT_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('EslAdat'), ROOT('EslAdatItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
IF OBJECT_ID('stage.fnGetFeladatellatasiHely') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetFeladatellatasiHely
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetFeladatellatasiHely (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.C_FELADATELLATASIHELYID AS feladatellatasiHelyId
|
||||
,s.C_FELADATELLATASIHELYNEV AS feladatellatasiHelyNev
|
||||
,s.C_OKTATASINEVELESIFELADATTIPUS AS oktatasiNevelesiFeladatTipus
|
||||
,s.C_MUKODESIHELYID AS mukodesihelyId
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_FELADATELLATASIHELY_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON s.C_INTEZMENYID = i.ID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('FeladatellatasiHely'), ROOT('FeladatellatasiHelyItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
IF OBJECT_ID('stage.fnGetFelhasznaloBelepes') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetFelhasznaloBelepes
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetFelhasznaloBelepes (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.C_FELHASZNALOBELEPESID AS felhasznaloBelepesId
|
||||
,s.C_UTOLSOBELEPES AS utolsoBelepes
|
||||
,s.C_FELHASZNALOID AS felhasznaloId
|
||||
,s.C_GONDVISELOID AS gondviseloId
|
||||
,s.C_NYOMTATASINEV AS nyomtatasiNev
|
||||
,s.C_ISADMIN AS isAdmin
|
||||
,s.C_ISGONDVISELO AS isGondviselo
|
||||
,s.C_ISALKALMAZOTT AS isAlkalmazott
|
||||
,s.C_ISTANULO AS isTanulo
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_FELHASZNALOBELEPES_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('FelhasznaloBelepes'), ROOT('FelhasznaloBelepesItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
IF OBJECT_ID('stage.fnGetFelhasznaloBelepesTortenet') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetFelhasznaloBelepesTortenet
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetFelhasznaloBelepesTortenet (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.C_FELHASZNALOBELEPESTORTENETID AS felhasznaloBelepesTortenetId
|
||||
,s.C_FELHASZNALOID AS felhasznaloId
|
||||
,s.C_LOGINDATE AS loginDate
|
||||
,s.C_LASTACTIVITY AS lastActivity
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_FELHASZNALOBELEPESTORTENET_S s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('FelhasznaloBelepesTortenet'), ROOT('FelhasznaloBelepesTortenetItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('stage.fnGetIntezmenyHasznalat') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION stage.fnGetIntezmenyHasznalat
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [stage].[fnGetIntezmenyHasznalat] (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_NEV AS intezmenyNev
|
||||
,s.C_KRETATIPUS AS kretaTipus
|
||||
,s.C_TANULOKSZAMA AS tanulokSzama
|
||||
,s.C_PEDAGOGUSOKSZAMA AS pedagogusokSzama
|
||||
,s.C_GONDVISELOKSZAMA AS gondviselokSzama
|
||||
,s.C_OSZTALYOKSZAMA AS osztalyokSzama
|
||||
,s.C_CSOPORTOKSZAMA AS csoportokSzama
|
||||
,s.C_TTFELEMEKSZAMA AS ttfElemekSzama
|
||||
,s.C_ERTEKELESEKSZAMA AS ertekelesekSzama
|
||||
,s.C_NAPLOZOTTTANORAKSZAMA AS naplozottTanorakSzama
|
||||
,s.C_FELJEGYZESEKSZAMA AS feljegyzesekSzama
|
||||
,s.C_UTOLSOADMINBEJELENTKEZESDATU AS utolsoAdminBejelentkezesDatuma
|
||||
,s.C_UTOLSOTANARIBEJELENTKEZESDAT AS utolsoTanariBejelentkezesDatuma
|
||||
,s.C_UTOLSOSZULOIBEJELENTKEZESDAT AS utolsoSzuloiBejelentkezesDatuma
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_INTEZMENYHASZNALAT_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('IntezmenyHasznalat'), ROOT('IntezmenyHasznalatItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
|
@ -0,0 +1,36 @@
|
|||
IF OBJECT_ID('stage.fnGetMukodesihely') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetMukodesihely
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetMukodesihely (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.C_MUKODESIHELYID AS mukodesihelyId
|
||||
,s.C_NEV AS nev
|
||||
,s.C_CIME AS cim
|
||||
,s.C_EMAILCIM AS emailCim
|
||||
,s.C_FAX AS fax
|
||||
,s.C_IRANYITOSZAM AS iranyitoszam
|
||||
,s.C_TELEFONSZAM AS telefonszam
|
||||
,s.C_VAROS AS varos
|
||||
,s.C_VEZETONEVE AS vezetoNeve
|
||||
,s.C_TAGINTEZMENY AS tagintezmeny
|
||||
,s.C_TAGINTEZMENYIKOD AS tagintezmenyiKod
|
||||
,s.C_SZEKHELY AS szekhely
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_MUKODESIHELY_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('Mukodesihely'), ROOT('MukodesihelyItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
IF OBJECT_ID('stage.fnGetNebulo') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetNebulo
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetNebulo (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.C_NEBULOID AS nebuloId
|
||||
,s.C_EDESANYJASZULETESICSALADINEV AS edesanyjaSzuletesiCsaladiNeve
|
||||
,s.C_EDESANYJASZULETESIUTONEVE AS edesanyjaSzuletesiUtoneve
|
||||
,s.C_ELOTAG AS elotag
|
||||
,s.C_ETIKAHITERKOLCSTAN AS etikaHitErkolcstan
|
||||
,s.C_FELVETELSTATUSZA AS felvetelStatusza
|
||||
,s.C_NEME AS neme
|
||||
,s.C_OKTATASIAZONOSITOSZAMA AS oktatasiAzonositoSzama
|
||||
,s.C_SZULETESICSALADINEVE AS szuletesiCsaladiNeve
|
||||
,s.C_SZULETESIHELY AS szuletesiHely
|
||||
,s.C_SZULETESIIDO AS szuletesiIdo
|
||||
,s.C_SZULETESIORSZAG AS szuletesiOrszag
|
||||
,s.C_SZULETESIUTONEVE AS szuletesiUtoneve
|
||||
,s.C_TAGOZAT AS tagozat
|
||||
,s.C_TANULOCSALADINEVE AS tanuloCsaladiNeve
|
||||
,s.C_TANULOUTONEVE AS tanuloUtoneve
|
||||
,s.C_AJTO AS ajto
|
||||
,s.C_EMELET AS emelet
|
||||
,s.C_HAZSZAM AS hazszam
|
||||
,s.C_HELYSEGNEV AS helysegNev
|
||||
,s.C_IRANYITOSZAM AS iranyitoszam
|
||||
,s.C_KOZTERULETJELLEGE AS kozteruletJellege
|
||||
,s.C_KOZTERULETNEV AS kozteruletnev
|
||||
,s.C_ELETVITELSZERUOTTLAKASKORZET AS EletvitelszeruOttLakaskorzet
|
||||
,s.C_FELADATELLATASIHELYID AS FeladatellatasiHelyId
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_NEBULO_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('Nebulo'), ROOT('NebuloItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
|
@ -0,0 +1,33 @@
|
|||
IF OBJECT_ID('stage.fnGetOsztalyCsoportLetszam') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetOsztalyCsoportLetszam
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetOsztalyCsoportLetszam (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
s.C_EVFOLYAMTIPUSA AS evfolyamTipusa
|
||||
,i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_OSZTALYBONTASID AS osztalybontasId
|
||||
,s.C_OSZTALYCSOPORTID AS osztalyCsoportId
|
||||
,s.C_OSZTALYCSOPORTLETSZAM AS osztalyCsoportLetszam
|
||||
,s.C_OSZTALYCSOPORTNEV AS osztalyCsoportNev
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.C_TERVEZETTLETSZAM AS tervezettLetszam
|
||||
,s.C_CSOPORTTIPUS AS csoporTipus
|
||||
,s.C_OSZTALYCSOPORTTIPUS AS osztalyCsoportTipus
|
||||
,s.C_FELADATELLATASIHELYID AS feladatellatasiHelyId
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_OSZTALYCSOPORTLETSZAM_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('OsztalyCsoportLetszam'), ROOT('OsztalyCsoportLetszamItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
IF OBJECT_ID('stage.fnGetStage') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetStage
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetStage (
|
||||
@lastLoad datetime
|
||||
)
|
||||
RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml = '<Kozponti/>'
|
||||
DECLARE @newXml xml;
|
||||
|
||||
SET @newXml = stage.fnGetOsztalyCsoportLetszam(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetTanarAdatok(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetTantargyfelosztas(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetDictionaryItemBase(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetTanuloAdatok(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetFeladatellatasiHely(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetTerem(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetTantargy(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetEslAdat(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetMukodesihely(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetFelhasznaloBelepes(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetFelhasznaloBelepesTortenet(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetIntezmenyHasznalat(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
SET @newXml = stage.fnGetNebulo(@lastLoad);
|
||||
SET @xml.modify('
|
||||
insert sql:variable("@newXml")
|
||||
into (/Kozponti)[1]
|
||||
')
|
||||
|
||||
RETURN @xml
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
IF OBJECT_ID('stage.fnGetTanarAdatok') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetTanarAdatok
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetTanarAdatok (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito,
|
||||
s.C_TANEVNEV AS tanevNev,
|
||||
s.C_TANARID AS tanarId,
|
||||
s.C_TANARNEV AS tanarNev,
|
||||
s.C_TANARSZULETESIHELY AS tanarSzuletesiHely,
|
||||
s.C_TANARSZULETESIDATUM AS tanarSzuletesiDatum,
|
||||
s.C_TANARSZULETESINEV AS tanarSzuletesiNev,
|
||||
s.C_TANARANYJANEVE AS tanarAnyjaNeve,
|
||||
s.C_TANAROMKOD AS tanarOMKod,
|
||||
s.C_KOTELEZOORASZAM AS kotelezoOraszam,
|
||||
s.C_TANARNEME AS tanarNeme,
|
||||
s.C_MUNKAKORTIPUSA AS munkakorTipusa,
|
||||
s.C_MUNKAVISZONYTIPUSA AS munkaviszonyTipusa,
|
||||
s.C_KEPESITES AS kepesites,
|
||||
s.C_BETOLTETLENALLASHELY AS betoltetlenAllashely,
|
||||
s.C_MUNKAIDOKEDVEZMENYORASZAM AS munkaidoKedvezmenyOraszam,
|
||||
s.C_NYUGDIJAS AS nyugdijas,
|
||||
s.C_TARTOSHELYETTESITES AS tartosHelyettesites,
|
||||
s.C_PEDAGOGUSSTATUSZA AS pedagogusStatusza,
|
||||
s.C_FELADATELLATASIHELYID AS feladatellatasiHelyId,
|
||||
s.C_TANARFOKOZAT AS tanarFokozat,
|
||||
s.C_ADOSZAM AS adoszam,
|
||||
s.C_MUNKAIDOKEDVEZMENYOKA AS munkaidoKedvezmenyOka,
|
||||
s.TOROLT AS torolt
|
||||
FROM stage.T_TANARADATOK_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('TanarAdatok'), ROOT('TanarAdatokItems')
|
||||
);
|
||||
RETURN @xml
|
||||
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
IF OBJECT_ID('stage.fnGetTantargy') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetTantargy
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetTantargy (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.C_TANTARGYID AS tantargyId
|
||||
,s.C_GYAKORLATI AS gyakorlati
|
||||
,s.C_NEV AS nev
|
||||
,s.C_ROVIDNEV AS rovidNev
|
||||
,s.C_TARGYKATEGORIA AS targyKategoria
|
||||
,s.C_FOTARGYE AS fotargye
|
||||
,s.C_FOTARGYID AS fotargyId
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_TANTARGY_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('Tantargy'), ROOT('TantargyItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
IF OBJECT_ID('stage.fnGetTantargyfelosztas') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetTantargyfelosztas
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetTantargyfelosztas (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito,
|
||||
s.C_TANEVNEV AS tanevNev,
|
||||
s.C_FOGLALKOZASID foglalkozasId,
|
||||
s.C_TANARID AS tanarId,
|
||||
s.C_OSZTALYCSOPORTID AS osztalyCsoportId,
|
||||
s.C_OSZTALYCSOPORTTIPUS AS osztalyCsoportTipus,
|
||||
s.C_TANTARGYID AS tantargyId,
|
||||
s.C_TANTARGYNEV AS tantargyNev,
|
||||
s.C_TANTARGYKATEGORIA AS tantargyKategoria,
|
||||
s.C_ORASZAM AS oraszam,
|
||||
s.TOROLT AS torolt
|
||||
FROM stage.T_TANTARGYFELOSZTAS_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('Tantargyfelosztas'), ROOT('TantargyfelosztasItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
|
@ -0,0 +1,32 @@
|
|||
IF OBJECT_ID('stage.fnGetTanuloAdatok') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetTanuloAdatok
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetTanuloAdatok (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito,
|
||||
s.C_TANEVNEV AS tanevNev,
|
||||
s.C_TANULOID AS tanuloId,
|
||||
s.C_TANULONEME AS neme,
|
||||
s.C_TANULOSZULETESIDATUM AS szuletesiDatum,
|
||||
s.C_SAJATOSNEVELESU AS sajatosNevelesu,
|
||||
s.C_BTMPROBLEMAS AS btmProblemas,
|
||||
s.C_SNILETSZAMSULY AS sniLetszamsuly,
|
||||
s.C_BTMLETSZAMSULY AS btmLetszamsuly,
|
||||
s.C_OKTATASIAZONOSITO AS oktatasiAzonosito,
|
||||
s.TOROLT AS torolt
|
||||
FROM stage.T_TANULOADATOK_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('TanuloAdatok'), ROOT('TanuloAdatokItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
IF OBJECT_ID('stage.fnGetTerem') IS NOT NULL BEGIN
|
||||
DROP FUNCTION stage.fnGetTerem
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION stage.fnGetTerem (
|
||||
@lastLoad datetime
|
||||
) RETURNS xml AS
|
||||
BEGIN
|
||||
DECLARE @xml xml
|
||||
SET @xml = (
|
||||
SELECT
|
||||
i.C_AZONOSITO AS intezmenyAzonosito
|
||||
,s.C_TANEVNEV AS tanevNev
|
||||
,s.C_TEREMID AS teremId
|
||||
,s.C_AKTIV AS aktiv
|
||||
,s.C_JELLEG AS jelleg
|
||||
,s.C_KAPACITAS AS kapacitas
|
||||
,s.C_NEV AS nev
|
||||
,s.C_TERULET AS terulet
|
||||
,s.C_TOBBORATLEHETTARTANI AS tobbOratLehetTartani
|
||||
,s.C_VIZSGAKAPACITAS AS vizsgakapacitas
|
||||
,s.C_MUKODESIHELYID AS mukodesiHelyId
|
||||
,s.C_TEREMFELELOSID AS teremfelelosId
|
||||
,s.TOROLT AS torolt
|
||||
FROM stage.T_TEREM_STAGE s
|
||||
INNER JOIN dbo.T_INTEZMENY i ON i.ID = s.C_INTEZMENYID
|
||||
WHERE s.LASTCHANGED > @lastLoad
|
||||
FOR XML RAW ('Terem'), ROOT('TeremItems')
|
||||
);
|
||||
RETURN @xml
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
-- Az óra éves sorszáma tantárgy, osztálycsoport és tanár alapján
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
IF OBJECT_ID('dbo.fnGetEvesOraszam') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetEvesOraszam
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetEvesOraszam (
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@datum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
)
|
||||
RETURNS int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@tanarSzamit bit
|
||||
,@osztalybontasEgybe bit
|
||||
,@osztalybontasCsoport bit
|
||||
,@cnt int
|
||||
|
||||
SET @tanarSzamit = dbo.fnGetRendszerbeallitasEnumBool(3075, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasEgybe = dbo.fnGetRendszerbeallitasEnumBool(3078, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasCsoport = 0
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT WHERE (ID = @osztalyCsoportId AND C_OSZTALYBONTASID IS NOT NULL) OR C_OSZTALYBONTASID = @osztalyCsoportId) BEGIN
|
||||
SET @osztalybontasCsoport = 1
|
||||
END
|
||||
|
||||
IF @osztalybontasEgybe = 0 OR @osztalybontasCsoport = 0 BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT @cnt = COUNT(1)
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
INNER JOIN T_ORAK_TANAROK_OSSZES o ON t.ID = o.C_ORAKID
|
||||
WHERE t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND o.C_TANAROKID = @tanarId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT @cnt = COUNT(1)
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT @cnt = COUNT(1)
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
INNER JOIN T_ORAK_TANAROK_OSSZES o ON t.ID = o.C_ORAKID
|
||||
WHERE t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID IN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND o.C_TANAROKID = @tanarId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT @cnt = COUNT(1)
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID IN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
END
|
||||
END
|
||||
RETURN @cnt
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
-- Visszaadja a T_TANITASIORA.ID-hoz tartozó éves sorszámot
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
IF OBJECT_ID('dbo.fnGetEvesOraszamByTanitasiOraId') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetEvesOraszamByTanitasiOraId
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetEvesOraszamByTanitasiOraId (
|
||||
@tanitasiOraId int
|
||||
)
|
||||
RETURNS int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@datum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
|
||||
SELECT
|
||||
@tantargyId = tn.C_TANTARGYID
|
||||
,@osztalycsoportId = tn.C_OSZTALYCSOPORTID
|
||||
,@tanarId = ot.C_TANAROKID
|
||||
,@datum = tn.C_ORAKEZDETE
|
||||
,@intezmenyId = tn.C_INTEZMENYID
|
||||
,@tanevId = tn.C_TANEVID
|
||||
FROM T_TANITASIORA tn
|
||||
INNER JOIN T_ORAK_TANAROK ot ON tn.ID = ot.C_ORAKID
|
||||
WHERE ID = @tanitasiOraId
|
||||
|
||||
RETURN dbo.fnGetEvesOraszam(@tantargyId, @osztalycsoportId, @tanarId, @datum, @intezmenyId, @tanevId)
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,134 @@
|
|||
-- Az óra éves sorszáma tantárgy, osztálycsoport és tanár alapján a megelőző órák listájával
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
|
||||
IF OBJECT_ID('dbo.fnGetEvesOraszamLista') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetEvesOraszamLista
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetEvesOraszamLista (
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@datum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
)
|
||||
RETURNS @retTable TABLE (
|
||||
Id int primary key
|
||||
,EvesSorszam int
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@tanarSzamit bit,
|
||||
@osztalybontasEgybe bit,
|
||||
@osztalybontasCsoport bit
|
||||
|
||||
SET @tanarSzamit = dbo.fnGetRendszerbeallitasEnumBool(3075, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasEgybe = dbo.fnGetRendszerbeallitasEnumBool(3078, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasCsoport = 0
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT WHERE (ID = @osztalyCsoportId AND C_OSZTALYBONTASID IS NOT NULL) OR C_OSZTALYBONTASID = @osztalyCsoportId) BEGIN
|
||||
SET @osztalybontasCsoport = 1
|
||||
END
|
||||
|
||||
IF @osztalybontasEgybe = 0 OR @osztalybontasCsoport = 0 BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
INSERT INTO @retTable (Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
INNER JOIN T_ORAK_TANAROK_OSSZES o ON t.ID = o.C_ORAKID
|
||||
WHERE t.C_TANEVID = @tanevId
|
||||
AND t.C_INTEZMENYID = @intezmenyId
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND o.C_TANAROKID = @tanarId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
END
|
||||
ELSE BEGIN
|
||||
INSERT INTO @retTable (Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_TANEVID = @tanevId
|
||||
AND t.C_INTEZMENYID = @intezmenyId
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
INSERT INTO @retTable (Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
INNER JOIN T_ORAK_TANAROK_OSSZES o ON t.ID = o.C_ORAKID
|
||||
WHERE t.C_TANEVID = @tanevId
|
||||
AND t.C_INTEZMENYID = @intezmenyId
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID IN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND o.C_TANAROKID = @tanarId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
END
|
||||
ELSE BEGIN
|
||||
INSERT INTO @retTable (Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,ROW_NUMBER() OVER (ORDER BY t.C_ORAKEZDETE) AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_TANEVID = @tanevId
|
||||
AND t.C_INTEZMENYID = @intezmenyId
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID IN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId)
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
END
|
||||
END
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
-- Visszaadja a T_TANITASIORA.ID-hoz tartozó összes megelőző T_TANITASIORA.ID-t és az éves sorszámukat
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
IF OBJECT_ID('dbo.fnGetEvesOraszamListaByTanitasiOraId') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetEvesOraszamListaByTanitasiOraId
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetEvesOraszamListaByTanitasiOraId (
|
||||
@tanitasiOraId int
|
||||
)
|
||||
RETURNS @retTable TABLE (
|
||||
Id int primary key
|
||||
,EvesSorszam int
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@datum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
|
||||
SELECT
|
||||
@tantargyId = tn.C_TANTARGYID
|
||||
,@osztalycsoportId = tn.C_OSZTALYCSOPORTID
|
||||
,@tanarId = ot.C_TANAROKID
|
||||
,@datum = tn.C_ORAKEZDETE
|
||||
,@intezmenyId = tn.C_INTEZMENYID
|
||||
,@tanevId = tn.C_TANEVID
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
INNER JOIN T_ORAK_TANAROK ot ON tn.ID = ot.C_ORAKID
|
||||
WHERE tn.ID = @tanitasiOraId
|
||||
|
||||
|
||||
INSERT INTO @retTable(Id, EvesSorszam)
|
||||
SELECT Id, EvesSorszam
|
||||
FROM fnGetEvesOraszamLista(@tantargyId, @osztalycsoportId, @tanarId, @datum, @intezmenyId, @tanevId)
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
IF OBJECT_ID('dbo.fnGetHetNapja') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetHetNapja
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetHetNapja (@date datetime)
|
||||
RETURNS int
|
||||
BEGIN
|
||||
DECLARE @value INT
|
||||
|
||||
SELECT @value = MIN(ID)
|
||||
FROM T_DICTIONARYITEMBASE d
|
||||
WHERE d.C_TYPE = 'HetNapjaTipus'
|
||||
AND d.C_VALUE = (DATEPART(dw, @date) + 1)
|
||||
|
||||
RETURN @value
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
Minden olyan esetben amikor egy osztályhoz tartozó csoportokat kell meghatározni,
|
||||
akkor az alábbi módon kell ezeket megadni:
|
||||
a. Egy osztályhoz tartozik minden olyan csoport, amelynek tagja az osztály bármelyik tanulója.
|
||||
Tehát ha egy osztályból akár egyetlen tanuló is tagja egy csoportnak, akkor az az osztályhoz is kapcsolódik.
|
||||
b. Továbbá egy osztályhoz mindig kapcsolódnak az osztálybontásosnak jelölt csoportjaik is,
|
||||
függetlenül attól, hogy abban van-e tanuló!
|
||||
*/
|
||||
|
||||
IF OBJECT_ID('fnGetKapcsolodoOsztalycsoportok') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetKapcsolodoOsztalycsoportok
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetKapcsolodoOsztalycsoportok (@osztalyCsoportId int)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT @osztalyCsoportId AS ID, 'OsztalycsoportOraja' AS OKA
|
||||
UNION
|
||||
SELECT ID, 'OsztalybontottOra' AS OKA FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT DISTINCT tcs.C_OSZTALYCSOPORTID, 'TanuloMasOra' AS OKA FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
WHERE tcs.C_TANULOID IN (
|
||||
SELECT x.C_TANULOID FROM T_TANULOCSOPORT_OSSZES x
|
||||
WHERE x.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND (x.C_BELEPESDATUM <= GETDATE() AND (x.C_KILEPESDATUM > GETDATE() OR x.C_KILEPESDATUM IS NULL))
|
||||
)
|
||||
AND tcs.C_BELEPESDATUM <= GETDATE() AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.C_OSZTALYCSOPORTID <> @osztalyCsoportId
|
||||
AND tcs.C_OSZTALYCSOPORTID NOT IN (
|
||||
SELECT ID FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
)
|
||||
AND tcs.C_OSZTALYCSOPORTID NOT IN (
|
||||
SELECT C_OSZTALYBONTASID AS ID FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId
|
||||
AND C_OSZTALYBONTASID IS NOT NULL
|
||||
)
|
||||
AND tcs.C_OSZTALYCSOPORTID NOT IN (
|
||||
SELECT ID
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID IN (
|
||||
SELECT C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId
|
||||
)
|
||||
)
|
||||
UNION
|
||||
SELECT C_OSZTALYBONTASID AS ID, 'OsztalybontottOra' AS OKA FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId
|
||||
AND C_OSZTALYBONTASID IS NOT NULL
|
||||
UNION
|
||||
SELECT ID, 'OsztalybontottOra' AS OKA FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID IN (
|
||||
SELECT C_OSZTALYBONTASID FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId
|
||||
)
|
||||
AND ID <> @osztalyCsoportId
|
||||
)
|
||||
GO
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
Minden olyan esetben amikor egy osztályhoz tartozó csoportokat kell meghatározni,
|
||||
akkor az alábbi módon kell ezeket megadni:
|
||||
a. Egy osztályhoz tartozik minden olyan csoport, amelynek tagja az osztály bármelyik tanulója.
|
||||
Tehát ha egy osztályból akár egyetlen tanuló is tagja egy csoportnak, akkor az az osztályhoz is kapcsolódik.
|
||||
b. Továbbá egy osztályhoz mindig kapcsolódnak az osztálybontásosnak jelölt csoportjaik is,
|
||||
függetlenül attól, hogy abban van-e tanuló!
|
||||
*/
|
||||
|
||||
IF OBJECT_ID('fnGetKapcsolodoOsztalycsoportokByDate') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetKapcsolodoOsztalycsoportokByDate
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetKapcsolodoOsztalycsoportokByDate (@osztalyCsoportId int, @start datetime, @end datetime)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT @osztalyCsoportId AS ID, 'OsztalycsoportOraja' AS OKA
|
||||
UNION
|
||||
SELECT ID, 'OsztalybontottOra' AS OKA FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
UNION
|
||||
SELECT DISTINCT tcs.C_OSZTALYCSOPORTID, 'TanuloMasOra' AS OKA FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
WHERE tcs.C_TANULOID IN (
|
||||
SELECT x.C_TANULOID FROM T_TANULOCSOPORT_OSSZES x
|
||||
WHERE x.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND (x.C_BELEPESDATUM <= @end AND x.C_KILEPESDATUM > @start OR x.C_KILEPESDATUM IS NULL)
|
||||
)
|
||||
AND (tcs.C_BELEPESDATUM <= @end AND tcs.C_KILEPESDATUM > @start OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.C_OSZTALYCSOPORTID <> @osztalyCsoportId
|
||||
AND tcs.C_OSZTALYCSOPORTID NOT IN (
|
||||
SELECT ID FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
)
|
||||
AND tcs.C_OSZTALYCSOPORTID NOT IN (
|
||||
SELECT C_OSZTALYBONTASID AS ID FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId
|
||||
AND C_OSZTALYBONTASID IS NOT NULL
|
||||
)
|
||||
AND tcs.C_OSZTALYCSOPORTID NOT IN (
|
||||
SELECT ID
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID IN (
|
||||
SELECT C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId
|
||||
)
|
||||
)
|
||||
UNION
|
||||
SELECT C_OSZTALYBONTASID AS ID, 'OsztalybontottOra' AS OKA FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId
|
||||
AND C_OSZTALYBONTASID IS NOT NULL
|
||||
UNION
|
||||
SELECT ID, 'OsztalybontottOra' AS OKA FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID IN (
|
||||
SELECT C_OSZTALYBONTASID FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId
|
||||
)
|
||||
AND ID <> @osztalyCsoportId
|
||||
)
|
||||
GO
|
|
@ -0,0 +1,38 @@
|
|||
IF OBJECT_ID('fnGetNapirendUtkozesByOsztalycsoport') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetNapirendUtkozesByOsztalycsoport
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetNapirendUtkozesByOsztalycsoport (
|
||||
@startTime datetime,
|
||||
@endTime datetime,
|
||||
@osztalyCsoportId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
) RETURNS INT
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = n.C_NAPDATUMA
|
||||
INNER JOIN T_ORARENDIORA_OSSZES o ON ISNULL(tr.C_HETIREND, n.C_HETIREND) = o.C_HETIREND
|
||||
AND ISNULL(tr.C_HETNAPJA, n.C_HETNAPJA) = o.C_HETNAPJA
|
||||
AND n.C_INTEZMENYID = o.C_INTEZMENYID
|
||||
AND n.C_TANEVID = o.C_TANEVID
|
||||
WHERE CAST(CAST(@startTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAKEZDETE AS TIME) AS DATETIME) <= @endTime
|
||||
AND CAST(CAST(@endTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAVEGE AS TIME) AS DATETIME) >= @startTime
|
||||
AND o.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@osztalyCsoportId))
|
||||
AND n.C_TANEVID = @tanevId AND n.C_INTEZMENYID = @intezmenyId
|
||||
AND n.C_NAPDATUMA BETWEEN CAST(@startTime AS DATE) AND CAST(@endTime AS DATE)
|
||||
UNION ALL
|
||||
SELECT 1 FROM T_TANITASIORA_OSSZES o
|
||||
WHERE o.C_ORAKEZDETE <= @endTime
|
||||
AND o.C_ORAVEGE >= @startTime
|
||||
AND o.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@osztalyCsoportId))
|
||||
)
|
||||
BEGIN
|
||||
RETURN 1
|
||||
END
|
||||
RETURN 0
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,41 @@
|
|||
IF OBJECT_ID('fnGetNapirendUtkozesByTanar') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetNapirendUtkozesByTanar
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetNapirendUtkozesByTanar (
|
||||
@startTime datetime,
|
||||
@endTime datetime,
|
||||
@tanarId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
) RETURNS INT
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = n.C_NAPDATUMA
|
||||
INNER JOIN T_ORARENDIORA_OSSZES o ON ISNULL(tr.C_HETIREND, n.C_HETIREND) = o.C_HETIREND
|
||||
AND ISNULL(tr.C_HETNAPJA, n.C_HETNAPJA) = o.C_HETNAPJA
|
||||
AND n.C_INTEZMENYID = o.C_INTEZMENYID
|
||||
AND n.C_TANEVID = o.C_TANEVID
|
||||
WHERE CAST(CAST(@startTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAKEZDETE AS TIME) AS DATETIME) <= @endTime
|
||||
AND CAST(CAST(@endTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAVEGE AS TIME) AS DATETIME) >= @startTime
|
||||
AND o.C_TANARID = @tanarId
|
||||
AND n.C_TANEVID = @tanevId AND n.C_INTEZMENYID = @intezmenyId
|
||||
AND n.C_NAPDATUMA BETWEEN CAST(@startTime AS DATE) AND CAST(@endTime AS DATE)
|
||||
UNION ALL
|
||||
SELECT 1 FROM T_TANITASIORA_OSSZES o
|
||||
WHERE o.C_ORAKEZDETE <= @endTime
|
||||
AND o.C_ORAVEGE >= @startTime
|
||||
AND ISNULL(o.C_HELYETTESITOTANARID, o.C_ORATULAJDONOSID) = @tanarId
|
||||
AND o.C_TANEVID = @tanarId
|
||||
AND o.C_INTEZMENYID = @intezmenyId
|
||||
)
|
||||
BEGIN
|
||||
RETURN 1
|
||||
END
|
||||
RETURN 0
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
IF OBJECT_ID('fnGetRendszerbeallitasEnumBool') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetRendszerbeallitasEnumBool
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetRendszerbeallitasEnumBool (@beallitasTipus int, @intezmenyId int, @tanevId int)
|
||||
RETURNS int
|
||||
BEGIN
|
||||
DECLARE @value INT
|
||||
SELECT @value =
|
||||
CASE
|
||||
WHEN C_ERTEKTIPUS = 1698
|
||||
THEN SUBSTRING(C_ERTEK, CHARINDEX('"Value"', C_ERTEK, CHARINDEX('"Selected":true', C_ERTEK)) + 9, CHARINDEX('"', C_ERTEK, CHARINDEX('"Value"', C_ERTEK, CHARINDEX('"Selected":true', C_ERTEK)) + 10) - (CHARINDEX('"Value"', C_ERTEK, CHARINDEX('"Selected":true', C_ERTEK)) + 9))
|
||||
WHEN C_ERTEKTIPUS = 1699
|
||||
THEN IIF(C_ERTEK LIKE '%"Value":true%', 1, 0)
|
||||
ELSE NULL
|
||||
END
|
||||
FROM T_RENDSZERBEALLITAS_OSSZES
|
||||
WHERE C_BEALLITASTIPUS = @beallitasTipus
|
||||
AND C_INTEZMENYID = @intezmenyId
|
||||
AND C_TANEVID = @tanevId
|
||||
RETURN @value
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
IF OBJECT_ID(N'fnGetTanuloTantargyMulasztasMegtartottOra') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetTanuloTantargyMulasztasMegtartottOra
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetTanuloTantargyMulasztasMegtartottOra (
|
||||
@magantanulo int, /*1 - Nem kell megjelennie, 2 - Csak gyakorlaton, 3 - Minden órán*/
|
||||
@iskolaErdekuTavolletSzamit bit,
|
||||
@parhuzamosOraSzamit bit,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
)
|
||||
RETURNS TABLE
|
||||
AS
|
||||
RETURN (
|
||||
SELECT xx.C_TANTARGYID, xx.C_OSZTALYCSOPORTID, xx.C_ORATANULOIID, xx.HIANYZAS, xx.KESES, s.MEGTARTOTT AS MEGTARTOTTORA FROM (
|
||||
SELECT x.C_TANTARGYID, x.C_OSZTALYCSOPORTID, x.C_ORATANULOIID, x.HIANYZAS, x.KESES,
|
||||
CASE
|
||||
WHEN TANORANKIVULIFOGLALKOZAS = 'T' THEN 100
|
||||
WHEN t.C_GYAKORLATI = 'F' THEN 45
|
||||
ELSE 60
|
||||
END AS OSZTANI
|
||||
FROM (
|
||||
SELECT o.C_TANTARGYID, o.C_OSZTALYCSOPORTID, m.C_ORATANULOIID,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN m.C_TIPUS = 1500 AND tm.ID IS NOT NULL AND o.C_ORAKEZDETE BETWEEN tm.C_KEZDETE AND DATEADD(d, 1, tm.C_VEGE) AND tm.C_ORAMENTESITES = 'T' THEN 0
|
||||
WHEN m.C_TIPUS = 1500 AND m.C_IGAZOLASTIPUSA = 1533 AND @iskolaErdekuTavolletSzamit = 0 THEN 0
|
||||
WHEN m.C_TIPUS = 1500 AND @parhuzamosOraSzamit = 1 THEN IIF(y.RN = 1, 1, 0)
|
||||
WHEN m.C_TIPUS = 1500 THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
) AS HIANYZAS,
|
||||
SUM(
|
||||
IIF(o.C_TANORANKIVULIFOGLALKOZAS = 'T',
|
||||
CAST((ISNULL(m.C_KESESPERCBEN, 0) / CAST(DATEDIFF(mi, o.C_ORAKEZDETE, o.C_ORAVEGE) AS float) * 100) AS int),
|
||||
ISNULL(m.C_KESESPERCBEN, 0))
|
||||
) AS KESES,
|
||||
MIN(o.C_TANORANKIVULIFOGLALKOZAS) TANORANKIVULIFOGLALKOZAS
|
||||
FROM T_TANULOMULASZTAS m
|
||||
INNER JOIN T_TANITASIORA_OSSZES o ON m.C_TANITASIORAKID = o.ID
|
||||
LEFT JOIN T_TANULOMENTESSEG_OSSZES tm ON tm.C_TANTARGYID = o.C_TANTARGYID AND tm.C_TANULOID = m.C_ORATANULOIID AND tm.C_TANEVID = 15 /*majd tanév is ide*/
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES f ON f.id = o.C_FOGLALKOZASID
|
||||
LEFT JOIN (
|
||||
SELECT sm.ID, ROW_NUMBER() OVER(PARTITION BY sm.C_ORATANULOIID, so.C_DATUM, so.C_ORASZAM ORDER BY so.C_TANORANKIVULIFOGLALKOZAS, so.C_TANTARGYID) RN
|
||||
FROM T_TANULOMULASZTAS_OSSZES sm
|
||||
INNER JOIN T_TANITASIORA_OSSZES so ON so.ID = sm.C_TANITASIORAKID
|
||||
WHERE sm.TOROLT = 'F' AND sm.C_TIPUS = 1500
|
||||
) y ON y.ID = m.ID
|
||||
INNER JOIN T_TANULO_OSSZES tn ON tn.ID = m.C_ORATANULOIID
|
||||
WHERE (f.C_MULASZTASKELL = 'T' OR f.C_MULASZTASKELL IS NULL)
|
||||
AND tn.C_MAGANTANULO = 'F'
|
||||
AND m.C_INTEZMENYID = @intezmenyId
|
||||
AND m.C_TANEVID = @tanevId
|
||||
GROUP BY o.C_OSZTALYCSOPORTID, o.C_TANTARGYID, m.C_ORATANULOIID
|
||||
) x
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON x.C_TANTARGYID = t.ID
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT x.C_TANTARGYID, x.C_OSZTALYCSOPORTID, x.C_ORATANULOIID, x.HIANYZAS, x.KESES,
|
||||
CASE
|
||||
WHEN TANORANKIVULIFOGLALKOZAS = 'T' THEN 100
|
||||
WHEN x.C_GYAKORLATI = 'F' THEN 45
|
||||
ELSE 60
|
||||
END AS OSZTANI
|
||||
FROM (
|
||||
SELECT o.C_TANTARGYID, o.C_OSZTALYCSOPORTID, m.C_ORATANULOIID, MIN(t.C_GYAKORLATI) C_GYAKORLATI,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN m.C_TIPUS = 1500 THEN
|
||||
CASE
|
||||
WHEN tm.ID IS NOT NULL AND o.C_ORAKEZDETE BETWEEN tm.C_KEZDETE AND DATEADD(d, 1, tm.C_VEGE) AND tm.C_ORAMENTESITES = 'T' THEN 0
|
||||
WHEN m.C_IGAZOLASTIPUSA = 1533 AND @iskolaErdekuTavolletSzamit = 0 THEN 0
|
||||
WHEN @magantanulo = 1 THEN 0
|
||||
WHEN @magantanulo = 2 AND t.C_GYAKORLATI = 'F' THEN 0
|
||||
WHEN @parhuzamosOraSzamit = 1 THEN IIF(y.RN = 1, 1, 0)
|
||||
ELSE 1
|
||||
END
|
||||
ELSE 0
|
||||
END
|
||||
) AS HIANYZAS,
|
||||
SUM(
|
||||
IIF(o.C_TANORANKIVULIFOGLALKOZAS = 'T',
|
||||
CAST((ISNULL(m.C_KESESPERCBEN, 0) / CAST(DATEDIFF(mi, o.C_ORAKEZDETE, o.C_ORAVEGE) AS float) * 100) AS int),
|
||||
ISNULL(m.C_KESESPERCBEN, 0))
|
||||
) AS KESES,
|
||||
MIN(o.C_TANORANKIVULIFOGLALKOZAS) TANORANKIVULIFOGLALKOZAS
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN T_TANITASIORA_OSSZES o ON m.C_TANITASIORAKID = o.ID
|
||||
LEFT JOIN T_TANULOMENTESSEG_OSSZES tm ON tm.C_TANTARGYID = o.C_TANTARGYID AND tm.C_TANULOID = m.C_ORATANULOIID AND tm.C_TANEVID = 15 /*majd tanév is ide*/
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES f ON f.id = o.C_FOGLALKOZASID
|
||||
LEFT JOIN (
|
||||
SELECT M.ID, ROW_NUMBER() OVER(PARTITION BY m.C_ORATANULOIID, o.C_DATUM, o.C_ORASZAM ORDER BY o.C_TANORANKIVULIFOGLALKOZAS, o.C_TANTARGYID) RN
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = m.C_TANITASIORAKID
|
||||
WHERE m.TOROLT = 'F' AND m.C_TIPUS = 1500
|
||||
) y ON y.ID = m.ID
|
||||
INNER JOIN T_TANULO_OSSZES tn ON tn.ID = m.C_ORATANULOIID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON o.C_TANTARGYID = t.ID
|
||||
WHERE (f.C_MULASZTASKELL = 'T' OR f.C_MULASZTASKELL IS NULL)
|
||||
AND tn.C_MAGANTANULO = 'T'
|
||||
AND m.C_INTEZMENYID = @intezmenyId
|
||||
AND m.C_TANEVID = @tanevId
|
||||
|
||||
GROUP BY o.C_OSZTALYCSOPORTID, o.C_TANTARGYID, m.C_ORATANULOIID
|
||||
) x
|
||||
) xx
|
||||
LEFT JOIN (
|
||||
SELECT C_TANTARGYID, C_OSZTALYCSOPORTID, COUNT(1) AS MEGTARTOTT
|
||||
FROM T_TANITASIORA_OSSZES
|
||||
WHERE C_SORSZAMOZANDO = 'T'
|
||||
GROUP BY C_TANTARGYID, C_OSZTALYCSOPORTID
|
||||
) s ON s.C_TANTARGYID = xx.C_TANTARGYID AND s.C_OSZTALYCSOPORTID = xx.C_OSZTALYCSOPORTID
|
||||
);
|
||||
GO
|
|
@ -0,0 +1,124 @@
|
|||
IF OBJECT_ID(N'fnGetTanuloTantargyMulasztasOsszesOra') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetTanuloTantargyMulasztasOsszesOra
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetTanuloTantargyMulasztasOsszesOra (
|
||||
@magantanulo int, /*1 - Nem kell megjelennie, 2 - Csak gyakorlaton, 3 - Minden órán*/
|
||||
@iskolaErdekuTavolletSzamit bit,
|
||||
@parhuzamosOraSzamit bit,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
)
|
||||
RETURNS TABLE
|
||||
AS
|
||||
RETURN (
|
||||
SELECT xx.*, s.MEGTARTOTT + j.JOVOBELI AS OSSZESORA FROM (
|
||||
SELECT x.C_TANTARGYID, x.C_OSZTALYCSOPORTID, x.C_ORATANULOIID, x.HIANYZAS, x.KESES,
|
||||
CASE
|
||||
WHEN TANORANKIVULIFOGLALKOZAS = 'T' THEN 100
|
||||
WHEN t.C_GYAKORLATI = 'F' THEN 45
|
||||
ELSE 60
|
||||
END AS OSZTANI
|
||||
FROM (
|
||||
SELECT o.C_TANTARGYID, o.C_OSZTALYCSOPORTID, m.C_ORATANULOIID,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN m.C_TIPUS = 1500 AND tm.ID IS NOT NULL AND o.C_ORAKEZDETE BETWEEN tm.C_KEZDETE AND DATEADD(d, 1, tm.C_VEGE) AND tm.C_ORAMENTESITES = 'T' THEN 0
|
||||
WHEN m.C_TIPUS = 1500 AND m.C_IGAZOLASTIPUSA = 1533 AND @iskolaErdekuTavolletSzamit = 0 THEN 0
|
||||
WHEN m.C_TIPUS = 1500 AND @parhuzamosOraSzamit = 1 THEN IIF(y.RN = 1, 1, 0)
|
||||
WHEN m.C_TIPUS = 1500 THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
) AS HIANYZAS,
|
||||
SUM(
|
||||
IIF(o.C_TANORANKIVULIFOGLALKOZAS = 'T',
|
||||
CAST((ISNULL(m.C_KESESPERCBEN, 0) / CAST(DATEDIFF(mi, o.C_ORAKEZDETE, o.C_ORAVEGE) AS float) * 100) AS int),
|
||||
ISNULL(m.C_KESESPERCBEN, 0))
|
||||
) AS KESES,
|
||||
MIN(o.C_TANORANKIVULIFOGLALKOZAS) TANORANKIVULIFOGLALKOZAS
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN T_TANITASIORA_OSSZES o ON m.C_TANITASIORAKID = o.ID
|
||||
LEFT JOIN T_TANULOMENTESSEG_OSSZES tm ON tm.C_TANTARGYID = o.C_TANTARGYID AND tm.C_TANULOID = m.C_ORATANULOIID AND tm.C_TANEVID = 15 /*majd tanév is ide*/
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES f ON f.id = o.C_FOGLALKOZASID
|
||||
LEFT JOIN (
|
||||
SELECT sm.ID, ROW_NUMBER() OVER(PARTITION BY sm.C_ORATANULOIID, so.C_DATUM, so.C_ORASZAM ORDER BY so.C_TANORANKIVULIFOGLALKOZAS, so.C_TANTARGYID) RN
|
||||
FROM T_TANULOMULASZTAS_OSSZES sm
|
||||
INNER JOIN T_TANITASIORA_OSSZES so ON so.ID = sm.C_TANITASIORAKID
|
||||
WHERE sm.TOROLT = 'F' AND sm.C_TIPUS = 1500
|
||||
) y ON y.ID = m.ID
|
||||
INNER JOIN T_TANULO_OSSZES tn ON tn.ID = m.C_ORATANULOIID
|
||||
WHERE (f.C_MULASZTASKELL = 'T' OR f.C_MULASZTASKELL IS NULL)
|
||||
AND tn.C_MAGANTANULO = 'F'
|
||||
AND m.C_INTEZMENYID = @intezmenyId
|
||||
AND m.C_TANEVID = @tanevId
|
||||
GROUP BY o.C_OSZTALYCSOPORTID, o.C_TANTARGYID, m.C_ORATANULOIID
|
||||
) x
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON x.C_TANTARGYID = t.ID
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT x.C_TANTARGYID, x.C_OSZTALYCSOPORTID, x.C_ORATANULOIID, x.HIANYZAS, x.KESES,
|
||||
CASE
|
||||
WHEN TANORANKIVULIFOGLALKOZAS = 'T' THEN 100
|
||||
WHEN x.C_GYAKORLATI = 'F' THEN 45
|
||||
ELSE 60
|
||||
END AS OSZTANI
|
||||
FROM (
|
||||
SELECT o.C_TANTARGYID, o.C_OSZTALYCSOPORTID, m.C_ORATANULOIID, MIN(t.C_GYAKORLATI) C_GYAKORLATI,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN m.C_TIPUS = 1500 THEN
|
||||
CASE
|
||||
WHEN tm.ID IS NOT NULL AND o.C_ORAKEZDETE BETWEEN tm.C_KEZDETE AND DATEADD(d, 1, tm.C_VEGE) AND tm.C_ORAMENTESITES = 'T' THEN 0
|
||||
WHEN m.C_IGAZOLASTIPUSA = 1533 AND @iskolaErdekuTavolletSzamit = 0 THEN 0
|
||||
WHEN @magantanulo = 1 THEN 0
|
||||
WHEN @magantanulo = 2 AND t.C_GYAKORLATI = 'F' THEN 0
|
||||
WHEN @parhuzamosOraSzamit = 1 THEN IIF(y.RN = 1, 1, 0)
|
||||
ELSE 1
|
||||
END
|
||||
ELSE 0
|
||||
END
|
||||
) AS HIANYZAS,
|
||||
SUM(
|
||||
IIF(o.C_TANORANKIVULIFOGLALKOZAS = 'T',
|
||||
CAST((ISNULL(m.C_KESESPERCBEN, 0) / CAST(DATEDIFF(mi, o.C_ORAKEZDETE, o.C_ORAVEGE) AS float) * 100) AS int),
|
||||
ISNULL(m.C_KESESPERCBEN, 0))
|
||||
) AS KESES,
|
||||
MIN(o.C_TANORANKIVULIFOGLALKOZAS) TANORANKIVULIFOGLALKOZAS
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN T_TANITASIORA_OSSZES o ON m.C_TANITASIORAKID = o.ID
|
||||
LEFT JOIN T_TANULOMENTESSEG_OSSZES tm ON tm.C_TANTARGYID = o.C_TANTARGYID AND tm.C_TANULOID = m.C_ORATANULOIID AND tm.C_TANEVID = 15 /*majd tanév is ide*/
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES f ON f.id = o.C_FOGLALKOZASID
|
||||
LEFT JOIN (
|
||||
SELECT M.ID, ROW_NUMBER() OVER(PARTITION BY m.C_ORATANULOIID, o.C_DATUM, o.C_ORASZAM ORDER BY o.C_TANORANKIVULIFOGLALKOZAS, o.C_TANTARGYID) RN
|
||||
FROM T_TANULOMULASZTAS_OSSZES m
|
||||
INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = m.C_TANITASIORAKID
|
||||
WHERE m.TOROLT = 'F' AND m.C_TIPUS = 1500
|
||||
) y ON y.ID = m.ID
|
||||
INNER JOIN T_TANULO_OSSZES tn ON tn.ID = m.C_ORATANULOIID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON o.C_TANTARGYID = t.ID
|
||||
WHERE (f.C_MULASZTASKELL = 'T' OR f.C_MULASZTASKELL IS NULL)
|
||||
AND tn.C_MAGANTANULO = 'T'
|
||||
AND m.C_INTEZMENYID = @intezmenyId
|
||||
AND m.C_TANEVID = @tanevId
|
||||
GROUP BY o.C_OSZTALYCSOPORTID, o.C_TANTARGYID, m.C_ORATANULOIID
|
||||
) x
|
||||
) xx
|
||||
LEFT JOIN (
|
||||
SELECT C_TANTARGYID, C_OSZTALYCSOPORTID, COUNT(1) AS MEGTARTOTT
|
||||
FROM T_TANITASIORA_OSSZES
|
||||
WHERE C_SORSZAMOZANDO = 'T'
|
||||
GROUP BY C_TANTARGYID, C_OSZTALYCSOPORTID
|
||||
) s ON s.C_TANTARGYID = xx.C_TANTARGYID AND s.C_OSZTALYCSOPORTID = xx.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN (
|
||||
SELECT f.C_TANTARGYID, f.C_OSZTALYCSOPORTID, COUNT(1) AS JOVOBELI
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
INNER JOIN T_ORARENDIORA_OSSZES r ON n.C_HETIREND = r.C_HETIREND AND n.C_HETNAPJA = r.C_HETNAPJA
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.ID = r.C_FOGLALKOZASID
|
||||
WHERE n.C_TANEVID = 13
|
||||
AND n.C_NAPDATUMA > (SELECT MAX(tora.C_DATUM) FROM T_TANITASIORA_OSSZES tora WHERE r.C_FOGLALKOZASID = tora.C_FOGLALKOZASID)
|
||||
GROUP BY f.C_TANTARGYID, f.C_OSZTALYCSOPORTID
|
||||
) j ON j.C_TANTARGYID = xx.C_TANTARGYID AND j.C_OSZTALYCSOPORTID = xx.C_OSZTALYCSOPORTID
|
||||
);
|
||||
GO
|
|
@ -0,0 +1,44 @@
|
|||
IF OBJECT_ID('fnGetUtkozesByOsztalycsoport') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetUtkozesByOsztalycsoport
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [fnGetUtkozesByOsztalycsoport] (
|
||||
@startTime datetime,
|
||||
@endTime datetime,
|
||||
@osztalyCsoportId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
) RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT o.ID AS OrarendiOraId, NULL AS TanitasioraId
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = n.C_NAPDATUMA
|
||||
INNER JOIN T_ORARENDIORA_OSSZES o ON (ISNULL(tr.C_HETIREND, n.C_HETIREND) = o.C_HETIREND OR o.C_HETIREND = 1554)
|
||||
AND ISNULL(tr.C_HETNAPJA, n.C_HETNAPJA) = o.C_HETNAPJA
|
||||
AND n.C_INTEZMENYID = o.C_INTEZMENYID
|
||||
AND n.C_TANEVID = o.C_TANEVID
|
||||
LEFT JOIN T_CSENGETESIRENDORA csro ON csro.ID = o.C_CSENGETESIRENDORAID
|
||||
AND o.C_ORASZAM = csro.C_ORASZAM
|
||||
WHERE CAST(CAST(@startTime AS DATE) AS DATETIME) + CAST(CAST(ISNULL(csro.C_KEZDETE, o.C_ORAKEZDETE) AS TIME) AS DATETIME) <= @endTime
|
||||
AND CAST(CAST(@endTime AS DATE) AS DATETIME) + CAST(CAST(ISNULL(csro.C_VEGE , o.C_ORAVEGE) AS TIME) AS DATETIME) >= @startTime
|
||||
AND o.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@osztalyCsoportId))
|
||||
AND n.C_TANEVID = @tanevId
|
||||
AND n.C_INTEZMENYID = @intezmenyId
|
||||
AND n.C_NAPDATUMA >= CAST(@startTime AS DATE) AND n.C_NAPDATUMA <= CAST(@endTime AS DATE)
|
||||
AND n.TOROLT = 'F' AND (tr.TOROLT = 'F' OR tr.TOROLT IS NULL) AND o.TOROLT = 'F' and o.C_PARHUZAMOSORA = 'F'
|
||||
AND o.C_ORAERVENYESSEGKEZDETE <= CAST(@endTime AS DATE) AND o.C_ORAERVENYESSEGVEGE >= CAST(@startTime AS DATE)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT o.ID AS OrarendiOraId, tn.ID AS TanitasioraId
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
LEFT JOIN T_ORARENDIORA o ON o.ID = tn.C_ORARENDIORAID
|
||||
WHERE tn.C_ORAKEZDETE <= @endTime
|
||||
AND tn.C_ORAVEGE >= @startTime
|
||||
AND tn.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@osztalyCsoportId))
|
||||
AND tn.C_TANEVID = @tanevId
|
||||
AND tn.C_INTEZMENYID = @intezmenyId
|
||||
AND tn.TOROLT = 'F' and tn.C_PARHUZAMOSORA = 'F'
|
||||
);
|
||||
GO
|
|
@ -0,0 +1,44 @@
|
|||
IF OBJECT_ID('fnGetUtkozesByTanar') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetUtkozesByTanar
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [fnGetUtkozesByTanar] (
|
||||
@startTime datetime,
|
||||
@endTime datetime,
|
||||
@tanarId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
) RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT o.ID AS OrarendiOraId, NULL AS TanitasiOraId
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = n.C_NAPDATUMA
|
||||
INNER JOIN T_ORARENDIORA_OSSZES o ON (ISNULL(tr.C_HETIREND, n.C_HETIREND) = o.C_HETIREND OR o.C_HETIREND = 1554)
|
||||
AND ISNULL(tr.C_HETNAPJA, n.C_HETNAPJA) = o.C_HETNAPJA
|
||||
AND n.C_INTEZMENYID = o.C_INTEZMENYID
|
||||
AND n.C_TANEVID = o.C_TANEVID
|
||||
LEFT JOIN T_CSENGETESIRENDORA csro ON csro.ID = o.C_CSENGETESIRENDORAID
|
||||
AND o.C_ORASZAM = csro.C_ORASZAM
|
||||
WHERE CAST(CAST(@startTime AS DATE) AS DATETIME) + CAST(CAST(ISNULL(csro.C_KEZDETE, o.C_ORAKEZDETE) AS TIME) AS DATETIME) <= @endTime
|
||||
AND CAST(CAST(@endTime AS DATE) AS DATETIME) + CAST(CAST(ISNULL(csro.C_VEGE , o.C_ORAVEGE) AS TIME) AS DATETIME) >= @startTime
|
||||
AND o.C_TANARID = @tanarId
|
||||
AND n.C_TANEVID = @tanevId
|
||||
AND n.C_INTEZMENYID = @intezmenyId
|
||||
AND n.C_NAPDATUMA >= CAST(@startTime AS DATE) AND n.C_NAPDATUMA <= CAST(@endTime AS DATE)
|
||||
AND n.TOROLT = 'F' AND (tr.TOROLT = 'F' OR tr.TOROLT IS NULL) AND o.TOROLT = 'F' and o.C_PARHUZAMOSORA = 'F'
|
||||
AND o.C_ORAERVENYESSEGKEZDETE <= CAST(@endTime AS DATE) AND o.C_ORAERVENYESSEGVEGE >= CAST(@startTime AS DATE)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT o.ID AS OrarendiOraId, tn.ID AS TanitasioraId
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
LEFT JOIN T_ORARENDIORA o ON o.ID = tn.C_ORARENDIORAID
|
||||
WHERE tn.C_ORAKEZDETE <= @endTime
|
||||
AND tn.C_ORAVEGE >= @startTime
|
||||
AND ISNULL(tn.C_HELYETTESITOTANARID, tn.C_ORATULAJDONOSID) = @tanarId
|
||||
AND tn.C_TANEVID = @tanevId
|
||||
AND tn.C_INTEZMENYID = @intezmenyId
|
||||
AND tn.TOROLT = 'F' and tn.C_PARHUZAMOSORA = 'F'
|
||||
);
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue