This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,78 @@
IF OBJECT_ID('stage.sp_MrgDictionaryItemBase') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgDictionaryItemBase
END
GO
CREATE PROCEDURE stage.sp_MrgDictionaryItemBase
AS
BEGIN
MERGE stage.T_DICTIONARYITEMBASE_STAGE AS trg
USING (
SELECT
d.ID AS C_DICTIONARYITEMBASEID,
NULL AS C_INTEZMENYID,
MIN(d.C_NAME) AS C_NAME,
MIN(d.C_TYPE) AS C_TYPE,
te.C_NEV AS C_TANEVNEV,
d.TOROLT
FROM dbo.T_DICTIONARYITEMBASE d
INNER JOIN dbo.T_TANEV te ON te.ID = d.C_TANEVID
WHERE d.ID < 100000
AND d.TOROLT = 'F' AND te.TOROLT = 'F'
AND d.C_TYPE IN ('MunkaviszonyTipus', 'MunkakorTipus', 'Nem', 'MunkaviszonyTipus', 'Kepesites', 'TargyKategoriaTipus',
'EvfolyamTipus', 'CsoportTipus', 'EletpalyamodellFokozatTipus', 'MunkaidoKedvezmenyOka', 'OktatasiNevelesiFeladat', 'ESLAdatTipus', 'TeremTipus', 'OrszagTipus', 'KozteruletJelleg', 'FelvetelStatuszaTipus')
GROUP BY d.ID, te.C_NEV, d.TOROLT
UNION ALL
SELECT
d.ID AS C_DICTIONARYITEMBASEID,
d.C_INTEZMENYID AS C_INTEZMENYID,
d.C_NAME AS C_NAME,
d.C_TYPE AS C_TYPE,
te.C_NEV AS C_TANEVNEV,
d.TOROLT
FROM dbo.T_DICTIONARYITEMBASE d
INNER JOIN dbo.T_TANEV te ON te.ID = d.C_TANEVID AND te.TOROLT = 'F'
INNER JOIN dbo.T_INTEZMENY i ON i.ID = d.C_INTEZMENYID AND i.TOROLT = 'F'
WHERE d.ID >= 100000
AND d.TOROLT = 'F' AND te.TOROLT = 'F' AND i.TOROLT = 'F'
AND d.C_TYPE IN ('MunkaviszonyTipus', 'MunkakorTipus', 'Nem', 'MunkaviszonyTipus', 'Kepesites', 'TargyKategoriaTipus',
'EvfolyamTipus', 'CsoportTipus', 'EletpalyamodellFokozatTipus', 'MunkaidoKedvezmenyOka', 'OktatasiNevelesiFeladat', 'ESLAdatTipus', 'TeremTipus', 'OrszagTipus', 'KozteruletJelleg', 'FelvetelStatuszaTipus')
) src ON src.C_DICTIONARYITEMBASEID = trg.C_DICTIONARYITEMBASEID AND src.C_TANEVNEV = trg.C_TANEVNEV
WHEN MATCHED AND
(trg.C_NAME <> src.C_NAME OR (trg.C_NAME IS NULL AND src.C_NAME IS NOT NULL) OR (trg.C_NAME IS NOT NULL AND src.C_NAME IS NULL))
OR (trg.C_TYPE <> src.C_TYPE OR (trg.C_TYPE IS NULL AND src.C_TYPE IS NOT NULL) OR (trg.C_TYPE IS NOT NULL AND src.C_TYPE IS NULL))
THEN
UPDATE SET
trg.C_NAME = src.C_NAME
,trg.C_TYPE = src.C_TYPE
,trg.TOROLT = src.TOROLT
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_DICTIONARYITEMBASEID,
C_INTEZMENYID,
C_NAME,
C_TYPE,
C_TANEVNEV,
TOROLT,
SERIAL,
LASTCHANGED,
CREATED
) VALUES (
src.C_DICTIONARYITEMBASEID,
src.C_INTEZMENYID,
src.C_NAME,
src.C_TYPE,
src.C_TANEVNEV,
src.TOROLT,
0,
GETDATE(),
GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,65 @@
IF OBJECT_ID('stage.sp_MrgEslAdat') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgEslAdat
END
GO
CREATE PROCEDURE stage.sp_MrgEslAdat
AS
BEGIN
MERGE stage.T_ESLADAT_STAGE AS trg
USING (
SELECT
esl.C_INTEZMENYID AS C_INTEZMENYID
,t.C_NEV AS C_TANEVNEV
,esl.ID AS C_ESLADATID
,esl.C_DATUM
,esl.C_ERTEK
,esl.C_TIPUS
,d.C_NAME AS C_TIPUSNEV
FROM dbo.T_ESLADAT esl
INNER JOIN dbo.T_TANEV t ON t.ID = esl.C_TANEVID
INNER JOIN dbo.T_DICTIONARYITEMBASE d ON esl.C_TIPUS = d.ID AND esl.C_INTEZMENYID = d.C_INTEZMENYID AND esl.C_TANEVID = d.C_TANEVID
WHERE esl.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_ESLADATID = src.C_ESLADATID)
WHEN MATCHED AND
(trg.C_DATUM <> src.C_DATUM OR (trg.C_DATUM IS NULL AND src.C_DATUM IS NOT NULL) OR (trg.C_DATUM IS NOT NULL AND src.C_DATUM IS NULL))
OR (trg.C_ERTEK <> src.C_ERTEK OR (trg.C_ERTEK IS NULL AND src.C_ERTEK IS NOT NULL) OR (trg.C_ERTEK IS NOT NULL AND src.C_ERTEK IS NULL))
OR (trg.C_TIPUS <> src.C_TIPUS OR (trg.C_TIPUS IS NULL AND src.C_TIPUS IS NOT NULL) OR (trg.C_TIPUS IS NOT NULL AND src.C_TIPUS IS NULL))
OR (trg.C_TIPUSNEV <> src.C_TIPUSNEV OR (trg.C_TIPUSNEV IS NULL AND src.C_TIPUSNEV IS NOT NULL) OR (trg.C_TIPUSNEV IS NOT NULL AND src.C_TIPUSNEV IS NULL))
THEN
UPDATE SET
trg.C_DATUM = src.C_DATUM
,trg.C_ERTEK = src.C_ERTEK
,trg.C_TIPUS = src.C_TIPUS
,trg.C_TIPUSNEV = src.C_TIPUSNEV
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID
,C_TANEVNEV
,C_DATUM
,C_ERTEK
,C_TIPUS
,C_TIPUSNEV
,TOROLT
,LASTCHANGED
,CREATED
) VALUES (
src.C_INTEZMENYID
,src.C_TANEVNEV
,src.C_DATUM
,src.C_ERTEK
,src.C_TIPUS
,src.C_TIPUSNEV
,'F'
,GETDATE()
,GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,63 @@
IF OBJECT_ID('stage.sp_MrgFeladatellatasiHely') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgFeladatellatasiHely
END
GO
CREATE PROCEDURE stage.sp_MrgFeladatellatasiHely
AS
BEGIN
MERGE stage.T_FELADATELLATASIHELY_STAGE AS trg
USING (
SELECT
fh.C_INTEZMENYID AS C_INTEZMENYID
,fh.ID AS C_FELADATELLATASIHELYID
,fh.C_OKTATASINEVELESIFELADATTIPUS
,t.C_NEV AS C_TANEVNEV
,CONCAT(mh.C_NEV, ' - ', d.C_NAME) AS C_FELADATELLATASIHELYNEV
,mh.ID AS C_MUKODESIHELYID
FROM dbo.T_FELADATELLATASIHELY fh
INNER JOIN dbo.T_MUKODESIHELY mh ON mh.ID = fh.C_MUKODESIHELYID
INNER JOIN dbo.T_DICTIONARYITEMBASE d ON d.ID = fh.C_OKTATASINEVELESIFELADATTIPUS AND d.C_INTEZMENYID = fh.C_INTEZMENYID AND d.C_TANEVID = fh.C_TANEVID
INNER JOIN dbo.T_TANEV t ON t.ID = fh.C_TANEVID
WHERE fh.TOROLT = 'F' AND mh.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_FELADATELLATASIHELYID = src.C_FELADATELLATASIHELYID)
WHEN MATCHED AND
(trg.C_FELADATELLATASIHELYNEV <> src.C_FELADATELLATASIHELYNEV OR (trg.C_FELADATELLATASIHELYNEV IS NULL AND src.C_FELADATELLATASIHELYNEV IS NOT NULL) OR (trg.C_FELADATELLATASIHELYNEV IS NOT NULL AND src.C_FELADATELLATASIHELYNEV IS NULL))
OR (trg.C_OKTATASINEVELESIFELADATTIPUS <> src.C_OKTATASINEVELESIFELADATTIPUS OR (trg.C_OKTATASINEVELESIFELADATTIPUS IS NULL AND src.C_OKTATASINEVELESIFELADATTIPUS IS NOT NULL) OR (trg.C_OKTATASINEVELESIFELADATTIPUS IS NOT NULL AND src.C_OKTATASINEVELESIFELADATTIPUS IS NULL))
OR (trg.C_MUKODESIHELYID <> src.C_MUKODESIHELYID OR (trg.C_MUKODESIHELYID IS NULL AND src.C_MUKODESIHELYID IS NOT NULL) OR (trg.C_MUKODESIHELYID IS NOT NULL AND src.C_MUKODESIHELYID IS NULL))
THEN
UPDATE SET
trg.C_FELADATELLATASIHELYNEV = src.C_FELADATELLATASIHELYNEV
,trg.C_OKTATASINEVELESIFELADATTIPUS = src.C_OKTATASINEVELESIFELADATTIPUS
,trg.C_MUKODESIHELYID = src.C_MUKODESIHELYID
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID
,C_TANEVNEV
,C_FELADATELLATASIHELYID
,C_FELADATELLATASIHELYNEV
,C_OKTATASINEVELESIFELADATTIPUS
,C_MUKODESIHELYID
,TOROLT
,LASTCHANGED
,CREATED
) VALUES (
src.C_INTEZMENYID
,src.C_TANEVNEV
,src.C_FELADATELLATASIHELYID
,src.C_FELADATELLATASIHELYNEV
,src.C_OKTATASINEVELESIFELADATTIPUS
,src.C_MUKODESIHELYID
,'F'
,GETDATE()
,GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE()
,trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,95 @@
IF OBJECT_ID('stage.sp_MrgFelhasznaloBelepes') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgFelhasznaloBelepes
END
GO
CREATE PROCEDURE stage.sp_MrgFelhasznaloBelepes
AS
BEGIN
MERGE stage.T_FELHASZNALOBELEPES_STAGE AS trg
USING (
SELECT
fb.C_INTEZMENYID AS C_INTEZMENYID
,t.C_NEV AS C_TANEVNEV
,fb.ID AS C_FELHASZNALOBELEPESID
,fb.C_UTOLSOBELEPES
,fb.C_FELHASZNALOID
,fb.C_GONDVISELOID
,ISNULL(g.C_NEV, fh.C_NYOMTATASINEV) AS C_NYOMTATASINEV
,IIF(C_SZEREPKORTIPUS = 1758, 'T', 'F') C_ISADMIN
,IIF(fb.C_GONDVISELOID IS NULL, 'F', 'T') AS C_ISGONDVISELO
,IIF(a.ID IS NULL AND fb.C_GONDVISELOID IS NULL, 'F', 'T') AS C_ISALKALMAZOTT
,IIF(ta.ID IS NULL AND fb.C_GONDVISELOID IS NULL, 'F', 'T') AS C_ISTANULO
FROM dbo.T_FELHASZNALOBELEPES fb
INNER JOIN dbo.T_FELHASZNALO fh ON fh.ID = fb.C_FELHASZNALOID
LEFT JOIN dbo.T_ALKALMAZOTT a ON fb.C_FELHASZNALOID = a.ID
LEFT JOIN dbo.T_TANULO ta ON fb.C_FELHASZNALOID = ta.ID
LEFT JOIN dbo.T_GONDVISELO g ON g.ID = fb.C_GONDVISELOID
LEFT JOIN (
SELECT fsz.C_FELHASZNALOID, sz.C_SZEREPKORTIPUS
FROM dbo.T_FELHASZNALO_SZEREPKOR fsz
INNER JOIN dbo.T_SZEREPKOR sz ON fsz.C_SZEREPKORID = sz.ID
WHERE sz.C_SZEREPKORTIPUS = 1758) sz ON sz.C_FELHASZNALOID = fb.C_FELHASZNALOID
INNER JOIN dbo.T_TANEV t ON t.ID = fb.C_TANEVID
WHERE fb.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_FELHASZNALOBELEPESID = src.C_FELHASZNALOBELEPESID)
WHEN MATCHED AND
(trg.C_UTOLSOBELEPES <> src.C_UTOLSOBELEPES OR (trg.C_UTOLSOBELEPES IS NULL AND src.C_UTOLSOBELEPES IS NOT NULL) OR (trg.C_UTOLSOBELEPES IS NOT NULL AND src.C_UTOLSOBELEPES IS NULL))
OR (trg.C_FELHASZNALOID <> src.C_FELHASZNALOID OR (trg.C_FELHASZNALOID IS NULL AND src.C_FELHASZNALOID IS NOT NULL) OR (trg.C_FELHASZNALOID IS NOT NULL AND src.C_FELHASZNALOID IS NULL))
OR (trg.C_GONDVISELOID <> src.C_GONDVISELOID OR (trg.C_GONDVISELOID IS NULL AND src.C_GONDVISELOID IS NOT NULL) OR (trg.C_GONDVISELOID IS NOT NULL AND src.C_GONDVISELOID IS NULL))
OR (trg.C_NYOMTATASINEV <> src.C_NYOMTATASINEV OR (trg.C_NYOMTATASINEV IS NULL AND src.C_NYOMTATASINEV IS NOT NULL) OR (trg.C_NYOMTATASINEV IS NOT NULL AND src.C_NYOMTATASINEV IS NULL))
OR (trg.C_ISADMIN <> src.C_ISADMIN OR (trg.C_ISADMIN IS NULL AND src.C_ISADMIN IS NOT NULL) OR (trg.C_ISADMIN IS NOT NULL AND src.C_ISADMIN IS NULL))
OR (trg.C_ISGONDVISELO <> src.C_ISGONDVISELO OR (trg.C_ISGONDVISELO IS NULL AND src.C_ISGONDVISELO IS NOT NULL) OR (trg.C_ISGONDVISELO IS NOT NULL AND src.C_ISGONDVISELO IS NULL))
OR (trg.C_ISALKALMAZOTT <> src.C_ISALKALMAZOTT OR (trg.C_ISALKALMAZOTT IS NULL AND src.C_ISALKALMAZOTT IS NOT NULL) OR (trg.C_ISALKALMAZOTT IS NOT NULL AND src.C_ISALKALMAZOTT IS NULL))
OR (trg.C_ISTANULO <> src.C_ISTANULO OR (trg.C_ISTANULO IS NULL AND src.C_ISTANULO IS NOT NULL) OR (trg.C_ISTANULO IS NOT NULL AND src.C_ISTANULO IS NULL))
THEN
UPDATE SET
trg.C_UTOLSOBELEPES = src.C_UTOLSOBELEPES
,trg.C_FELHASZNALOID = src.C_FELHASZNALOID
,trg.C_GONDVISELOID = src.C_GONDVISELOID
,trg.C_NYOMTATASINEV = src.C_NYOMTATASINEV
,trg.C_ISADMIN = src.C_ISADMIN
,trg.C_ISGONDVISELO = src.C_ISGONDVISELO
,trg.C_ISALKALMAZOTT = src.C_ISALKALMAZOTT
,trg.C_ISTANULO = src.C_ISTANULO
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID
,C_TANEVNEV
,C_FELHASZNALOBELEPESID
,C_UTOLSOBELEPES
,C_FELHASZNALOID
,C_GONDVISELOID
,C_NYOMTATASINEV
,C_ISADMIN
,C_ISGONDVISELO
,C_ISALKALMAZOTT
,C_ISTANULO
,TOROLT
,LASTCHANGED
,CREATED
) VALUES (
src.C_INTEZMENYID
,src.C_TANEVNEV
,src.C_FELHASZNALOBELEPESID
,src.C_UTOLSOBELEPES
,src.C_FELHASZNALOID
,src.C_GONDVISELOID
,src.C_NYOMTATASINEV
,src.C_ISADMIN
,src.C_ISGONDVISELO
,src.C_ISALKALMAZOTT
,src.C_ISTANULO
,'F'
,GETDATE()
,GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,58 @@
IF OBJECT_ID('stage.sp_MrgFelhasznaloBelepesTortenet') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgFelhasznaloBelepesTortenet
END
GO
CREATE PROCEDURE stage.sp_MrgFelhasznaloBelepesTortenet
AS
BEGIN
MERGE stage.T_FELHASZNALOBELEPESTORTENET_S AS trg
USING (
SELECT
fh.C_INTEZMENYID AS C_INTEZMENYID
,t.C_NEV AS C_TANEVNEV
,fbt.ID AS C_FELHASZNALOBELEPESTORTENETID
,fbt.C_FELHASZNALOID
,fbt.C_LOGINDATE
,fbt.C_LASTACTIVITY
FROM dbo.T_FELHASZNALOBELEPESTORTENET fbt
INNER JOIN T_FELHASZNALO fh ON fh.ID = fbt.C_FELHASZNALOID
INNER JOIN dbo.T_TANEV t ON t.ID = fh.C_TANEVID
WHERE fbt.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_FELHASZNALOBELEPESTORTENETID = src.C_FELHASZNALOBELEPESTORTENETID)
WHEN MATCHED AND
(trg.C_LASTACTIVITY <> src.C_LASTACTIVITY OR (trg.C_LASTACTIVITY IS NULL AND src.C_LASTACTIVITY IS NOT NULL) OR (trg.C_LASTACTIVITY IS NOT NULL AND src.C_LASTACTIVITY IS NULL))
THEN
UPDATE SET
trg.C_LASTACTIVITY = src.C_LASTACTIVITY
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID
,C_TANEVNEV
,C_FELHASZNALOBELEPESTORTENETID
,C_FELHASZNALOID
,C_LOGINDATE
,C_LASTACTIVITY
,TOROLT
,LASTCHANGED
,CREATED
) VALUES (
src.C_INTEZMENYID
,src.C_TANEVNEV
,src.C_FELHASZNALOBELEPESTORTENETID
,src.C_FELHASZNALOID
,src.C_LOGINDATE
,src.C_LASTACTIVITY
,'F'
,GETDATE()
,GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,135 @@
IF OBJECT_ID('stage.sp_MrgIntezmenyHasznalat') IS NOT NULL
BEGIN
DROP PROCEDURE stage.sp_MrgIntezmenyHasznalat
END
GO
CREATE PROCEDURE stage.sp_MrgIntezmenyHasznalat
AS
BEGIN
MERGE stage.T_INTEZMENYHASZNALAT_STAGE AS trg
using (
SELECT
IntezmenyAdatok.C_INTEZMENYID AS intezmenyId,
IntezmenyAdatok.C_NEV AS intezmenyNev,
IntezmenyAdatok.C_KRETATIPUS AS kretaTipus, --3025 - Teljes KRÉTA; 3024 - Csak adatszolgáltatás
Tanev.C_NEV AS tanevNev,
(SELECT COUNT(1) FROM T_TANULO adat WHERE adat.TOROLT = 'F' AND adat.C_ALINTEZMENYID = Intezmeny.ID) AS tanulokSzama,
(SELECT COUNT(1) FROM T_ALKALMAZOTT adat WHERE adat.TOROLT = 'F' AND adat.C_ALINTEZMENYID = Intezmeny.ID) AS pedagogusokSzama,
(SELECT COUNT(1) FROM T_GONDVISELO adat WHERE adat.TOROLT = 'F' AND adat.C_INTEZMENYID = Intezmeny.ID) AS gondviselokSzama,
(SELECT COUNT(1) FROM T_OSZTALY adat WHERE adat.TOROLT = 'F' AND adat.C_ALINTEZMENYID = Intezmeny.ID) AS osztalyokSzama,
(SELECT COUNT(1) FROM T_CSOPORT adat WHERE adat.TOROLT = 'F' AND adat.C_ALINTEZMENYID = Intezmeny.ID) AS csoportokSzama,
(SELECT COUNT(1) FROM T_FOGLALKOZAS adat WHERE adat.TOROLT = 'F' AND adat.C_INTEZMENYID = Intezmeny.ID) AS ttfElemekSzama,
(SELECT COUNT(1) FROM T_TANULOERTEKELES adat WHERE adat.TOROLT = 'F' AND adat.C_INTEZMENYID = Intezmeny.ID) AS ertekelesekSzama,
(SELECT COUNT(1) FROM T_TANITASIORA adat WHERE adat.TOROLT = 'F' AND adat.C_INTEZMENYID = Intezmeny.ID) AS naplozottTanorakSzama,
--(SELECT COUNT(1) FROM T_ORARENDIORA adat WHERE adat.TOROLT = 'F' AND adat.C_INTEZMENYID = Intezmeny.ID) AS Órarendi órák száma',
(SELECT COUNT(1) FROM T_TANULOESEMENY adat WHERE adat.TOROLT = 'F' AND adat.C_INTEZMENYID = Intezmeny.ID) AS feljegyzesekSzama,
(SELECT MAX(FelhasznaloBelepes.C_UTOLSOBELEPES)
FROM T_FELHASZNALO adat
INNER JOIN T_FELHASZNALO_SZEREPKOR FelhasznaloSzerepkor ON FelhasznaloSzerepkor.C_FELHASZNALOID = adat.ID
LEFT JOIN T_SZEREPKOR Szerepkor ON Szerepkor.ID = FelhasznaloSzerepkor.C_SZEREPKORID
INNER JOIN T_FELHASZNALOBELEPES FelhasznaloBelepes ON FelhasznaloBelepes.C_FELHASZNALOID = adat.ID
WHERE
adat.TOROLT = 'F'
AND FelhasznaloBelepes.TOROLT = 'F'
AND Szerepkor.C_SZEREPKORTIPUS = 1758 -- Admin
AND adat.C_INTEZMENYID = Intezmeny.ID) AS utolsoAdminBejelentkezesDatuma,
(SELECT MAX(FelhasznaloBelepes.C_UTOLSOBELEPES)
FROM T_ALKALMAZOTT Alkalmazott
INNER JOIN T_FELHASZNALOBELEPES FelhasznaloBelepes ON FelhasznaloBelepes.C_FELHASZNALOID = Alkalmazott.ID
WHERE
Alkalmazott.TOROLT = 'F'
AND FelhasznaloBelepes.TOROLT = 'F'
AND Alkalmazott.C_ALINTEZMENYID = Intezmeny.ID) AS utolsoTanariBejelentkezesDatuma,
(SELECT MAX(FelhasznaloBelepes.C_UTOLSOBELEPES)
FROM T_FELHASZNALOBELEPES FelhasznaloBelepes
WHERE
FelhasznaloBelepes.C_GONDVISELOID IS NOT NULL
AND FelhasznaloBelepes.C_INTEZMENYID = Intezmeny.ID) AS utolsoSzuloiBejelentkezesDatuma
FROM T_INTEZMENYADATOK IntezmenyAdatok
INNER JOIN T_INTEZMENY Intezmeny ON Intezmeny.ID = IntezmenyAdatok.C_INTEZMENYID
INNER JOIN T_TANEV Tanev ON Tanev.ID = IntezmenyAdatok.C_TANEVID
WHERE
Intezmeny.TOROLT = 'F'
AND IntezmenyAdatok.TOROLT = 'F'
AND Intezmeny.C_FENNTARTOAZONOSITO <> 0
) src ON (trg.C_INTEZMENYID = src.IntezmenyId AND trg.C_TANEVNEV = src.tanevNev)
WHEN MATCHED
AND (trg.C_NEV <> src.intezmenyNev OR (trg.C_NEV IS NULL AND src.intezmenyNev IS NOT NULL) OR (trg.C_NEV IS NOT NULL AND src.intezmenyNev IS NULL))
OR (trg.C_KRETATIPUS <> src.kretaTipus OR (trg.C_KRETATIPUS IS NULL AND src.kretaTipus IS NOT NULL) OR (trg.C_KRETATIPUS IS NOT NULL AND src.kretaTipus IS NULL))
OR (trg.C_TANULOKSZAMA <> src.tanulokSzama OR (trg.C_TANULOKSZAMA IS NULL AND src.tanulokSzama IS NOT NULL) OR (trg.C_TANULOKSZAMA IS NOT NULL AND src.tanulokSzama IS NULL))
OR (trg.C_PEDAGOGUSOKSZAMA <> src.pedagogusokSzama OR (trg.C_PEDAGOGUSOKSZAMA IS NULL AND src.pedagogusokSzama IS NOT NULL) OR (trg.C_PEDAGOGUSOKSZAMA IS NOT NULL AND src.pedagogusokSzama IS NULL))
OR (trg.C_GONDVISELOKSZAMA <> src.gondviselokSzama OR (trg.C_GONDVISELOKSZAMA IS NULL AND src.gondviselokSzama IS NOT NULL) OR (trg.C_GONDVISELOKSZAMA IS NOT NULL AND src.gondviselokSzama IS NULL))
OR (trg.C_OSZTALYOKSZAMA <> src.osztalyokSzama OR (trg.C_OSZTALYOKSZAMA IS NULL AND src.osztalyokSzama IS NOT NULL) OR (trg.C_OSZTALYOKSZAMA IS NOT NULL AND src.osztalyokSzama IS NULL))
OR (trg.C_CSOPORTOKSZAMA <> src.csoportokSzama OR (trg.C_CSOPORTOKSZAMA IS NULL AND src.csoportokSzama IS NOT NULL) OR (trg.C_CSOPORTOKSZAMA IS NOT NULL AND src.csoportokSzama IS NULL))
OR (trg.C_TTFELEMEKSZAMA <> src.ttfElemekSzama OR (trg.C_TTFELEMEKSZAMA IS NULL AND src.ttfElemekSzama IS NOT NULL) OR (trg.C_TTFELEMEKSZAMA IS NOT NULL AND src.ttfElemekSzama IS NULL))
OR (trg.C_ERTEKELESEKSZAMA <> src.ertekelesekSzama OR (trg.C_ERTEKELESEKSZAMA IS NULL AND src.ertekelesekSzama IS NOT NULL) OR (trg.C_ERTEKELESEKSZAMA IS NOT NULL AND src.ertekelesekSzama IS NULL))
OR (trg.C_NAPLOZOTTTANORAKSZAMA <> src.naplozottTanorakSzama OR (trg.C_NAPLOZOTTTANORAKSZAMA IS NULL AND src.naplozottTanorakSzama IS NOT NULL) OR (trg.C_NAPLOZOTTTANORAKSZAMA IS NOT NULL AND src.naplozottTanorakSzama IS NULL))
OR (trg.C_FELJEGYZESEKSZAMA <> src.feljegyzesekSzama OR (trg.C_FELJEGYZESEKSZAMA IS NULL AND src.feljegyzesekSzama IS NOT NULL) OR (trg.C_FELJEGYZESEKSZAMA IS NOT NULL AND src.feljegyzesekSzama IS NULL))
OR (trg.C_UTOLSOADMINBEJELENTKEZESDATU <> src.utolsoAdminBejelentkezesDatuma OR (trg.C_UTOLSOADMINBEJELENTKEZESDATU IS NULL AND src.utolsoAdminBejelentkezesDatuma IS NOT NULL) OR (trg.C_UTOLSOADMINBEJELENTKEZESDATU IS NOT NULL AND src.utolsoAdminBejelentkezesDatuma IS NULL))
OR (trg.C_UTOLSOTANARIBEJELENTKEZESDAT <> src.utolsoTanariBejelentkezesDatuma OR (trg.C_UTOLSOTANARIBEJELENTKEZESDAT IS NULL AND src.utolsoTanariBejelentkezesDatuma IS NOT NULL) OR (trg.C_UTOLSOTANARIBEJELENTKEZESDAT IS NOT NULL AND src.utolsoTanariBejelentkezesDatuma IS NULL))
OR (trg.C_UTOLSOSZULOIBEJELENTKEZESDAT <> src.utolsoSzuloiBejelentkezesDatuma OR (trg.C_UTOLSOSZULOIBEJELENTKEZESDAT IS NULL AND src.utolsoSzuloiBejelentkezesDatuma IS NOT NULL) OR (trg.C_UTOLSOSZULOIBEJELENTKEZESDAT IS NOT NULL AND src.utolsoSzuloiBejelentkezesDatuma IS NULL))
THEN
UPDATE SET
trg.C_NEV = src.intezmenyNev,
trg.C_KRETATIPUS = src.kretaTipus,
trg.C_TANULOKSZAMA = src.tanulokSzama,
trg.C_PEDAGOGUSOKSZAMA = src.pedagogusokSzama,
trg.C_GONDVISELOKSZAMA = src.gondviselokSzama,
trg.C_OSZTALYOKSZAMA = src.osztalyokSzama,
trg.C_CSOPORTOKSZAMA = src.csoportokSzama,
trg.C_TTFELEMEKSZAMA = src.ttfElemekSzama,
trg.C_ERTEKELESEKSZAMA = src.ertekelesekSzama,
trg.C_NAPLOZOTTTANORAKSZAMA = src.naplozottTanorakSzama,
trg.C_FELJEGYZESEKSZAMA = src.feljegyzesekSzama,
trg.C_UTOLSOADMINBEJELENTKEZESDATU = src.utolsoAdminBejelentkezesDatuma,
trg.C_UTOLSOTANARIBEJELENTKEZESDAT = src.utolsoTanariBejelentkezesDatuma,
trg.C_UTOLSOSZULOIBEJELENTKEZESDAT = src.utolsoSzuloiBejelentkezesDatuma,
trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID,
C_NEV,
C_KRETATIPUS,
C_TANEVNEV,
C_TANULOKSZAMA,
C_PEDAGOGUSOKSZAMA,
C_GONDVISELOKSZAMA,
C_OSZTALYOKSZAMA,
C_CSOPORTOKSZAMA,
C_TTFELEMEKSZAMA,
C_ERTEKELESEKSZAMA,
C_NAPLOZOTTTANORAKSZAMA,
C_FELJEGYZESEKSZAMA,
C_UTOLSOADMINBEJELENTKEZESDATU,
C_UTOLSOTANARIBEJELENTKEZESDAT,
C_UTOLSOSZULOIBEJELENTKEZESDAT,
TOROLT,
LASTCHANGED,
CREATED)
VALUES (
src.intezmenyId,
src.intezmenyNev,
src.kretaTipus,
src.tanevNev,
src.tanulokSzama,
src.pedagogusokSzama,
src.gondviselokSzama,
src.osztalyokSzama,
src.csoportokSzama,
src.ttfElemekSzama,
src.ertekelesekSzama,
src.naplozottTanorakSzama,
src.feljegyzesekSzama,
src.utolsoAdminBejelentkezesDatuma,
src.utolsoTanariBejelentkezesDatuma,
src.utolsoSzuloiBejelentkezesDatuma,
'F',
GETDATE(),
GETDATE())
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T';
END
GO

View file

@ -0,0 +1,101 @@
IF OBJECT_ID('stage.sp_MrgMukodesihely') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgMukodesihely
END
GO
CREATE PROCEDURE stage.sp_MrgMukodesihely
AS
BEGIN
MERGE stage.T_MUKODESIHELY_STAGE AS trg
USING (
SELECT
m.C_INTEZMENYID AS C_INTEZMENYID
,t.C_NEV AS C_TANEVNEV
,m.ID AS C_MUKODESIHELYID
,m.C_NEV
,m.C_CIME
,m.C_EMAILCIM
,m.C_FAX
,m.C_IRANYITOSZAM
,m.C_TELEFONSZAM
,m.C_VAROS
,m.C_VEZETONEVE
,m.C_TAGINTEZMENY
,m.C_TAGINTEZMENYIKOD
,m.C_SZEKHELY
FROM dbo.T_MUKODESIHELY m
INNER JOIN dbo.T_TANEV t ON t.ID = m.C_TANEVID
WHERE m.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_MUKODESIHELYID = src.C_MUKODESIHELYID)
WHEN MATCHED AND
(trg.C_NEV <> src.C_NEV OR (trg.C_NEV IS NULL AND src.C_NEV IS NOT NULL) OR (trg.C_NEV IS NOT NULL AND src.C_NEV IS NULL))
OR (trg.C_CIME <> src.C_CIME OR (trg.C_CIME IS NULL AND src.C_CIME IS NOT NULL) OR (trg.C_CIME IS NOT NULL AND src.C_CIME IS NULL))
OR (trg.C_EMAILCIM <> src.C_EMAILCIM OR (trg.C_EMAILCIM IS NULL AND src.C_EMAILCIM IS NOT NULL) OR (trg.C_EMAILCIM IS NOT NULL AND src.C_EMAILCIM IS NULL))
OR (trg.C_FAX <> src.C_FAX OR (trg.C_FAX IS NULL AND src.C_FAX IS NOT NULL) OR (trg.C_FAX IS NOT NULL AND src.C_FAX IS NULL))
OR (trg.C_IRANYITOSZAM <> src.C_IRANYITOSZAM OR (trg.C_IRANYITOSZAM IS NULL AND src.C_IRANYITOSZAM IS NOT NULL) OR (trg.C_IRANYITOSZAM IS NOT NULL AND src.C_IRANYITOSZAM IS NULL))
OR (trg.C_TELEFONSZAM <> src.C_TELEFONSZAM OR (trg.C_TELEFONSZAM IS NULL AND src.C_TELEFONSZAM IS NOT NULL) OR (trg.C_TELEFONSZAM IS NOT NULL AND src.C_TELEFONSZAM IS NULL))
OR (trg.C_VAROS <> src.C_VAROS OR (trg.C_VAROS IS NULL AND src.C_VAROS IS NOT NULL) OR (trg.C_VAROS IS NOT NULL AND src.C_VAROS IS NULL))
OR (trg.C_VEZETONEVE <> src.C_VEZETONEVE OR (trg.C_VEZETONEVE IS NULL AND src.C_VEZETONEVE IS NOT NULL) OR (trg.C_VEZETONEVE IS NOT NULL AND src.C_VEZETONEVE IS NULL))
OR (trg.C_TAGINTEZMENY <> src.C_TAGINTEZMENY OR (trg.C_TAGINTEZMENY IS NULL AND src.C_TAGINTEZMENY IS NOT NULL) OR (trg.C_TAGINTEZMENY IS NOT NULL AND src.C_TAGINTEZMENY IS NULL))
OR (trg.C_TAGINTEZMENYIKOD <> src.C_TAGINTEZMENYIKOD OR (trg.C_TAGINTEZMENYIKOD IS NULL AND src.C_TAGINTEZMENYIKOD IS NOT NULL) OR (trg.C_TAGINTEZMENYIKOD IS NOT NULL AND src.C_TAGINTEZMENYIKOD IS NULL))
OR (trg.C_SZEKHELY <> src.C_SZEKHELY OR (trg.C_SZEKHELY IS NULL AND src.C_SZEKHELY IS NOT NULL) OR (trg.C_SZEKHELY IS NOT NULL AND src.C_SZEKHELY IS NULL))
THEN
UPDATE SET
trg.C_NEV = src.C_NEV
,trg.C_CIME = src.C_CIME
,trg.C_EMAILCIM = src.C_EMAILCIM
,trg.C_FAX = src.C_FAX
,trg.C_IRANYITOSZAM = src.C_IRANYITOSZAM
,trg.C_TELEFONSZAM = src.C_TELEFONSZAM
,trg.C_VAROS = src.C_VAROS
,trg.C_VEZETONEVE = src.C_VEZETONEVE
,trg.C_TAGINTEZMENY = src.C_TAGINTEZMENY
,trg.C_TAGINTEZMENYIKOD = src.C_TAGINTEZMENYIKOD
,trg.C_SZEKHELY = src.C_SZEKHELY
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID
,C_TANEVNEV
,C_MUKODESIHELYID
,C_NEV
,C_CIME
,C_EMAILCIM
,C_FAX
,C_IRANYITOSZAM
,C_TELEFONSZAM
,C_VAROS
,C_VEZETONEVE
,C_TAGINTEZMENY
,C_TAGINTEZMENYIKOD
,C_SZEKHELY
,TOROLT
,LASTCHANGED
,CREATED
) VALUES (
src.C_INTEZMENYID
,src.C_TANEVNEV
,src.C_MUKODESIHELYID
,src.C_NEV
,src.C_CIME
,src.C_EMAILCIM
,src.C_FAX
,src.C_IRANYITOSZAM
,src.C_TELEFONSZAM
,src.C_VAROS
,src.C_VEZETONEVE
,src.C_TAGINTEZMENY
,src.C_TAGINTEZMENYIKOD
,src.C_SZEKHELY
,'F'
,GETDATE()
,GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,165 @@
IF OBJECT_ID('stage.sp_MrgNebulo') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgNebulo
END
GO
CREATE PROCEDURE stage.sp_MrgNebulo
AS
BEGIN
MERGE stage.T_NEBULO_STAGE AS trg
USING (
SELECT
nebulo.C_INTEZMENYID AS C_INTEZMENYID
,tanev.C_NEV AS C_TANEVNEV
,nebulo.ID AS C_NEBULOID
,nebulo.C_AJTO AS C_AJTO
,nebulo.C_EDESANYJASZULETESICSALADINEV AS C_EDESANYJASZULETESICSALADINEV
,nebulo.C_EDESANYJASZULETESIUTONEVE AS C_EDESANYJASZULETESIUTONEVE
,nebulo.C_ELOTAG AS C_ELOTAG
,nebulo.C_EMELET AS C_EMELET
,nebulo.C_ETIKAHITERKOLCSTAN AS C_ETIKAHITERKOLCSTAN
,nebulo.C_FELVETELSTATUSZA AS C_FELVETELSTATUSZA
,nebulo.C_HAZSZAM AS C_HAZSZAM
,nebulo.C_HELYSEGNEV AS C_HELYSEGNEV
,nebulo.C_IRANYITOSZAM AS C_IRANYITOSZAM
,nebulo.C_KOZTERULETJELLEGE AS C_KOZTERULETJELLEGE
,nebulo.C_KOZTERULETNEV AS C_KOZTERULETNEV
,nebulo.C_NEME AS C_NEME
,nebulo.C_OKTATASIAZONOSITOSZAMA AS C_OKTATASIAZONOSITOSZAMA
,nebulo.C_SZULETESICSALADINEVE AS C_SZULETESICSALADINEVE
,nebulo.C_SZULETESIHELY AS C_SZULETESIHELY
,nebulo.C_SZULETESIIDO AS C_SZULETESIIDO
,nebulo.C_SZULETESIORSZAG AS C_SZULETESIORSZAG
,nebulo.C_SZULETESIUTONEVE AS C_SZULETESIUTONEVE
,nebulo.C_TAGOZAT AS C_TAGOZAT
,nebulo.C_TANULOCSALADINEVE AS C_TANULOCSALADINEVE
,nebulo.C_TANULOUTONEVE AS C_TANULOUTONEVE
,nebulo.C_ELETVITELSZERUOTTLAKASKORZET AS C_ELETVITELSZERUOTTLAKASKORZET
,nebulo.C_FELADATELLATASIHELYID AS C_FELADATELLATASIHELYID
FROM dbo.T_NEBULO nebulo
INNER JOIN dbo.T_TANEV tanev ON tanev.ID = nebulo.C_TANEVID
WHERE nebulo.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.ID = src.C_NEBULOID)
WHEN MATCHED AND
(trg.C_AJTO <> src.C_AJTO OR (trg.C_AJTO IS NULL AND src.C_AJTO IS NOT NULL) OR (trg.C_AJTO IS NOT NULL AND src.C_AJTO IS NULL))
OR (trg.C_EDESANYJASZULETESICSALADINEV <> src.C_EDESANYJASZULETESICSALADINEV OR (trg.C_EDESANYJASZULETESICSALADINEV IS NULL AND src.C_EDESANYJASZULETESICSALADINEV IS NOT NULL) OR (trg.C_EDESANYJASZULETESICSALADINEV IS NOT NULL AND src.C_EDESANYJASZULETESICSALADINEV IS NULL))
OR (trg.C_EDESANYJASZULETESIUTONEVE <> src.C_EDESANYJASZULETESIUTONEVE OR (trg.C_EDESANYJASZULETESIUTONEVE IS NULL AND src.C_EDESANYJASZULETESIUTONEVE IS NOT NULL) OR (trg.C_EDESANYJASZULETESIUTONEVE IS NOT NULL AND src.C_EDESANYJASZULETESIUTONEVE IS NULL))
OR (trg.C_ELOTAG <> src.C_ELOTAG OR (trg.C_ELOTAG IS NULL AND src.C_ELOTAG IS NOT NULL) OR (trg.C_ELOTAG IS NOT NULL AND src.C_ELOTAG IS NULL))
OR (trg.C_EMELET <> src.C_EMELET OR (trg.C_EMELET IS NULL AND src.C_EMELET IS NOT NULL) OR (trg.C_EMELET IS NOT NULL AND src.C_EMELET IS NULL))
OR (trg.C_ETIKAHITERKOLCSTAN <> src.C_ETIKAHITERKOLCSTAN OR (trg.C_ETIKAHITERKOLCSTAN IS NULL AND src.C_ETIKAHITERKOLCSTAN IS NOT NULL) OR (trg.C_ETIKAHITERKOLCSTAN IS NOT NULL AND src.C_ETIKAHITERKOLCSTAN IS NULL))
OR (trg.C_FELVETELSTATUSZA <> src.C_FELVETELSTATUSZA OR (trg.C_FELVETELSTATUSZA IS NULL AND src.C_FELVETELSTATUSZA IS NOT NULL) OR (trg.C_FELVETELSTATUSZA IS NOT NULL AND src.C_FELVETELSTATUSZA IS NULL))
OR (trg.C_HAZSZAM <> src.C_HAZSZAM OR (trg.C_HAZSZAM IS NULL AND src.C_HAZSZAM IS NOT NULL) OR (trg.C_HAZSZAM IS NOT NULL AND src.C_HAZSZAM IS NULL))
OR (trg.C_HELYSEGNEV <> src.C_HELYSEGNEV OR (trg.C_HELYSEGNEV IS NULL AND src.C_HELYSEGNEV IS NOT NULL) OR (trg.C_HELYSEGNEV IS NOT NULL AND src.C_HELYSEGNEV IS NULL))
OR (trg.C_IRANYITOSZAM <> src.C_IRANYITOSZAM OR (trg.C_IRANYITOSZAM IS NULL AND src.C_IRANYITOSZAM IS NOT NULL) OR (trg.C_IRANYITOSZAM IS NOT NULL AND src.C_IRANYITOSZAM IS NULL))
OR (trg.C_KOZTERULETJELLEGE <> src.C_KOZTERULETJELLEGE OR (trg.C_KOZTERULETJELLEGE IS NULL AND src.C_KOZTERULETJELLEGE IS NOT NULL) OR (trg.C_KOZTERULETJELLEGE IS NOT NULL AND src.C_KOZTERULETJELLEGE IS NULL))
OR (trg.C_KOZTERULETNEV <> src.C_KOZTERULETNEV OR (trg.C_KOZTERULETNEV IS NULL AND src.C_KOZTERULETNEV IS NOT NULL) OR (trg.C_KOZTERULETNEV IS NOT NULL AND src.C_KOZTERULETNEV IS NULL))
OR (trg.C_NEME <> src.C_NEME OR (trg.C_NEME IS NULL AND src.C_NEME IS NOT NULL) OR (trg.C_NEME IS NOT NULL AND src.C_NEME IS NULL))
OR (trg.C_OKTATASIAZONOSITOSZAMA <> src.C_OKTATASIAZONOSITOSZAMA OR (trg.C_OKTATASIAZONOSITOSZAMA IS NULL AND src.C_OKTATASIAZONOSITOSZAMA IS NOT NULL) OR (trg.C_OKTATASIAZONOSITOSZAMA IS NOT NULL AND src.C_OKTATASIAZONOSITOSZAMA IS NULL))
OR (trg.C_SZULETESICSALADINEVE <> src.C_SZULETESICSALADINEVE OR (trg.C_SZULETESICSALADINEVE IS NULL AND src.C_SZULETESICSALADINEVE IS NOT NULL) OR (trg.C_SZULETESICSALADINEVE IS NOT NULL AND src.C_SZULETESICSALADINEVE IS NULL))
OR (trg.C_SZULETESIHELY <> src.C_SZULETESIHELY OR (trg.C_SZULETESIHELY IS NULL AND src.C_SZULETESIHELY IS NOT NULL) OR (trg.C_SZULETESIHELY IS NOT NULL AND src.C_SZULETESIHELY IS NULL))
OR (trg.C_SZULETESIIDO <> src.C_SZULETESIIDO OR (trg.C_SZULETESIIDO IS NULL AND src.C_SZULETESIIDO IS NOT NULL) OR (trg.C_SZULETESIIDO IS NOT NULL AND src.C_SZULETESIIDO IS NULL))
OR (trg.C_SZULETESIORSZAG <> src.C_SZULETESIORSZAG OR (trg.C_SZULETESIORSZAG IS NULL AND src.C_SZULETESIORSZAG IS NOT NULL) OR (trg.C_SZULETESIORSZAG IS NOT NULL AND src.C_SZULETESIORSZAG IS NULL))
OR (trg.C_SZULETESIUTONEVE <> src.C_SZULETESIUTONEVE OR (trg.C_SZULETESIUTONEVE IS NULL AND src.C_SZULETESIUTONEVE IS NOT NULL) OR (trg.C_SZULETESIUTONEVE IS NOT NULL AND src.C_SZULETESIUTONEVE IS NULL))
OR (trg.C_TAGOZAT <> src.C_TAGOZAT OR (trg.C_TAGOZAT IS NULL AND src.C_TAGOZAT IS NOT NULL) OR (trg.C_TAGOZAT IS NOT NULL AND src.C_TAGOZAT IS NULL))
OR (trg.C_TANULOCSALADINEVE <> src.C_TANULOCSALADINEVE OR (trg.C_TANULOCSALADINEVE IS NULL AND src.C_TANULOCSALADINEVE IS NOT NULL) OR (trg.C_TANULOCSALADINEVE IS NOT NULL AND src.C_TANULOCSALADINEVE IS NULL))
OR (trg.C_TANULOUTONEVE <> src.C_TANULOUTONEVE OR (trg.C_TANULOUTONEVE IS NULL AND src.C_TANULOUTONEVE IS NOT NULL) OR (trg.C_TANULOUTONEVE IS NOT NULL AND src.C_TANULOUTONEVE IS NULL))
OR (trg.C_FELVETELSTATUSZA <> src.C_FELVETELSTATUSZA OR (trg.C_FELVETELSTATUSZA IS NULL AND src.C_FELVETELSTATUSZA IS NOT NULL) OR (trg.C_FELVETELSTATUSZA IS NOT NULL AND src.C_FELVETELSTATUSZA IS NULL))
OR (trg.C_ELETVITELSZERUOTTLAKASKORZET <> src.C_ELETVITELSZERUOTTLAKASKORZET OR (trg.C_ELETVITELSZERUOTTLAKASKORZET IS NULL AND src.C_ELETVITELSZERUOTTLAKASKORZET IS NOT NULL) OR (trg.C_ELETVITELSZERUOTTLAKASKORZET IS NOT NULL AND src.C_ELETVITELSZERUOTTLAKASKORZET IS NULL))
OR (trg.C_FELADATELLATASIHELYID <> src.C_FELADATELLATASIHELYID OR (trg.C_FELADATELLATASIHELYID IS NULL AND src.C_FELADATELLATASIHELYID IS NOT NULL) OR (trg.C_FELADATELLATASIHELYID IS NOT NULL AND src.C_FELADATELLATASIHELYID IS NULL))
THEN
UPDATE SET
trg.C_AJTO = src.C_AJTO
,trg.C_EDESANYJASZULETESICSALADINEV = src.C_EDESANYJASZULETESICSALADINEV
,trg.C_EDESANYJASZULETESIUTONEVE = src.C_EDESANYJASZULETESIUTONEVE
,trg.C_ELOTAG = src.C_ELOTAG
,trg.C_EMELET = src.C_EMELET
,trg.C_ETIKAHITERKOLCSTAN = src.C_ETIKAHITERKOLCSTAN
,trg.C_FELVETELSTATUSZA = src.C_FELVETELSTATUSZA
,trg.C_HAZSZAM = src.C_HAZSZAM
,trg.C_HELYSEGNEV = src.C_HELYSEGNEV
,trg.C_IRANYITOSZAM = src.C_IRANYITOSZAM
,trg.C_KOZTERULETJELLEGE = src.C_KOZTERULETJELLEGE
,trg.C_KOZTERULETNEV = src.C_KOZTERULETNEV
,trg.C_NEME = src.C_NEME
,trg.C_OKTATASIAZONOSITOSZAMA = src.C_OKTATASIAZONOSITOSZAMA
,trg.C_SZULETESICSALADINEVE = src.C_SZULETESICSALADINEVE
,trg.C_SZULETESIHELY = src.C_SZULETESIHELY
,trg.C_SZULETESIIDO = src.C_SZULETESIIDO
,trg.C_SZULETESIORSZAG = src.C_SZULETESIORSZAG
,trg.C_SZULETESIUTONEVE = src.C_SZULETESIUTONEVE
,trg.C_TAGOZAT = src.C_TAGOZAT
,trg.C_TANULOCSALADINEVE = src.C_TANULOCSALADINEVE
,trg.C_TANULOUTONEVE = src.C_TANULOUTONEVE
,trg.C_ELETVITELSZERUOTTLAKASKORZET = src.C_ELETVITELSZERUOTTLAKASKORZET
,trg.C_FELADATELLATASIHELYID = src.C_FELADATELLATASIHELYID
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID
,C_TANEVNEV
,C_NEBULOID
,C_AJTO
,C_EDESANYJASZULETESICSALADINEV
,C_EDESANYJASZULETESIUTONEVE
,C_ELOTAG
,C_EMELET
,C_ETIKAHITERKOLCSTAN
,C_FELVETELSTATUSZA
,C_HAZSZAM
,C_HELYSEGNEV
,C_IRANYITOSZAM
,C_KOZTERULETJELLEGE
,C_KOZTERULETNEV
,C_NEME
,C_OKTATASIAZONOSITOSZAMA
,C_SZULETESICSALADINEVE
,C_SZULETESIHELY
,C_SZULETESIIDO
,C_SZULETESIORSZAG
,C_SZULETESIUTONEVE
,C_TAGOZAT
,C_TANULOCSALADINEVE
,C_TANULOUTONEVE
,C_ELETVITELSZERUOTTLAKASKORZET
,C_FELADATELLATASIHELYID
,TOROLT
,LASTCHANGED
,CREATED
) VALUES (
src.C_INTEZMENYID
,src.C_TANEVNEV
,src.C_NEBULOID
,src.C_AJTO
,src.C_EDESANYJASZULETESICSALADINEV
,src.C_EDESANYJASZULETESIUTONEVE
,src.C_ELOTAG
,src.C_EMELET
,src.C_ETIKAHITERKOLCSTAN
,src.C_FELVETELSTATUSZA
,src.C_HAZSZAM
,src.C_HELYSEGNEV
,src.C_IRANYITOSZAM
,src.C_KOZTERULETJELLEGE
,src.C_KOZTERULETNEV
,src.C_NEME
,src.C_OKTATASIAZONOSITOSZAMA
,src.C_SZULETESICSALADINEVE
,src.C_SZULETESIHELY
,src.C_SZULETESIIDO
,src.C_SZULETESIORSZAG
,src.C_SZULETESIUTONEVE
,src.C_TAGOZAT
,src.C_TANULOCSALADINEVE
,src.C_TANULOUTONEVE
,src.C_ELETVITELSZERUOTTLAKASKORZET
,src.C_FELADATELLATASIHELYID
,'F'
,GETDATE()
,GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T';
END
GO

View file

@ -0,0 +1,90 @@
IF OBJECT_ID('stage.sp_MrgOsztalyCsoportLetszam') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgOsztalyCsoportLetszam
END
GO
CREATE PROCEDURE stage.sp_MrgOsztalyCsoportLetszam
AS
BEGIN
MERGE stage.T_OSZTALYCSOPORTLETSZAM_STAGE AS trg
USING (
SELECT
ocs.C_INTEZMENYID AS C_INTEZMENYID,
ocs.ID AS C_OSZTALYCSOPORTID,
MAX(cs.C_OSZTALYBONTASID) C_OSZTALYBONTASID,
MAX(ocs.C_EVFOLYAMTIPUSA) as C_EVFOLYAMTIPUSA,
SUM(IIF(tcs.ID IS NOT NULL, 1, 0)) AS C_OSZTALYCSOPORTLETSZAM,
MAX(te.C_NEV) AS C_TANEVNEV,
MAX(ocs.C_NEV) AS C_OSZTALYCSOPORTNEV,
MAX(cs.C_TIPUSA) AS C_CSOPORTTIPUS,
MAX(ocs.C_TERVEZETTLETSZAM) AS C_TERVEZETTLETSZAM,
MAX(IIF(cs.ID IS NULL, 'O', 'CS')) AS C_OSZTALYCSOPORTTIPUS,
MAX(ocs.C_FELADATELLATASIHELYID) AS C_FELADATELLATASIHELYID
FROM dbo.T_OSZTALYCSOPORT ocs
LEFT JOIN dbo.T_TANULOCSOPORT tcs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
LEFT JOIN dbo.T_CSOPORT cs ON cs.ID = ocs.ID
INNER JOIN dbo.T_INTEZMENY i ON i.ID = ocs.C_INTEZMENYID AND i.TOROLT = 'F'
INNER JOIN dbo.T_TANEV te ON te.ID = ocs.C_TANEVID AND te.TOROLT = 'F' -- AND te.C_AKTIV = 'T'
WHERE ocs.TOROLT = 'F' AND i.TOROLT = 'F' AND te.TOROLT = 'F' AND tcs.TOROLT = 'F'
AND (cs.ID IS NULL OR (cs.ID IS NOT NULL AND cs.C_OSZTALYBONTASID IS NOT NULL))
AND tcs.ID IS NULL OR (tcs.C_BELEPESDATUM <= GETDATE() AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL))
GROUP BY ocs.ID, ocs.C_INTEZMENYID, ocs.C_TANEVID--, ia.C_ROVIDNEV, ia.C_OMKOD, te.C_NEV
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_OSZTALYCSOPORTID = src.C_OSZTALYCSOPORTID)
WHEN MATCHED AND
(trg.C_EVFOLYAMTIPUSA <> src.C_EVFOLYAMTIPUSA OR (trg.C_EVFOLYAMTIPUSA IS NULL AND src.C_EVFOLYAMTIPUSA IS NOT NULL) OR (trg.C_EVFOLYAMTIPUSA IS NOT NULL AND src.C_EVFOLYAMTIPUSA IS NULL))
OR (trg.C_OSZTALYCSOPORTLETSZAM <> src.C_OSZTALYCSOPORTLETSZAM OR (trg.C_OSZTALYCSOPORTLETSZAM IS NULL AND src.C_OSZTALYCSOPORTLETSZAM IS NOT NULL) OR (trg.C_OSZTALYCSOPORTLETSZAM IS NOT NULL AND src.C_OSZTALYCSOPORTLETSZAM IS NULL))
OR (trg.C_OSZTALYCSOPORTNEV <> src.C_OSZTALYCSOPORTNEV OR (trg.C_OSZTALYCSOPORTNEV IS NULL AND src.C_OSZTALYCSOPORTNEV IS NOT NULL) OR (trg.C_OSZTALYCSOPORTNEV IS NOT NULL AND src.C_OSZTALYCSOPORTNEV IS NULL))
OR (trg.C_OSZTALYBONTASID <> src.C_OSZTALYBONTASID OR (trg.C_OSZTALYBONTASID IS NULL AND src.C_OSZTALYBONTASID IS NOT NULL) OR (trg.C_OSZTALYBONTASID IS NOT NULL AND src.C_OSZTALYBONTASID IS NULL))
OR (trg.C_TERVEZETTLETSZAM <> src.C_TERVEZETTLETSZAM OR (trg.C_TERVEZETTLETSZAM IS NULL AND src.C_TERVEZETTLETSZAM IS NOT NULL) OR (trg.C_TERVEZETTLETSZAM IS NOT NULL AND src.C_TERVEZETTLETSZAM IS NULL))
OR (trg.C_CSOPORTTIPUS <> src.C_CSOPORTTIPUS OR (trg.C_CSOPORTTIPUS IS NULL AND src.C_CSOPORTTIPUS IS NOT NULL) OR (trg.C_CSOPORTTIPUS IS NOT NULL AND src.C_CSOPORTTIPUS IS NULL))
OR (trg.C_FELADATELLATASIHELYID <> src.C_FELADATELLATASIHELYID OR (trg.C_FELADATELLATASIHELYID IS NULL AND src.C_FELADATELLATASIHELYID IS NOT NULL) OR (trg.C_FELADATELLATASIHELYID IS NOT NULL AND src.C_FELADATELLATASIHELYID IS NULL))
THEN
UPDATE SET
trg.C_EVFOLYAMTIPUSA = src.C_EVFOLYAMTIPUSA,
trg.C_OSZTALYCSOPORTLETSZAM = src.C_OSZTALYCSOPORTLETSZAM,
trg.C_OSZTALYCSOPORTNEV = src.C_OSZTALYCSOPORTNEV,
trg.C_OSZTALYBONTASID = src.C_OSZTALYBONTASID,
trg.C_TERVEZETTLETSZAM = src.C_TERVEZETTLETSZAM,
trg.C_CSOPORTTIPUS = src.C_CSOPORTTIPUS,
trg.C_FELADATELLATASIHELYID = src.C_FELADATELLATASIHELYID,
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'F'
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID,
C_OSZTALYCSOPORTID,
C_OSZTALYBONTASID,
C_EVFOLYAMTIPUSA,
C_OSZTALYCSOPORTLETSZAM,
C_OSZTALYCSOPORTNEV,
C_TERVEZETTLETSZAM,
C_CSOPORTTIPUS,
C_OSZTALYCSOPORTTIPUS,
C_TANEVNEV,
C_FELADATELLATASIHELYID,
LASTCHANGED,
TOROLT,
CREATED
) VALUES (
src.C_INTEZMENYID,
src.C_OSZTALYCSOPORTID,
src.C_OSZTALYBONTASID,
src.C_EVFOLYAMTIPUSA,
src.C_OSZTALYCSOPORTLETSZAM,
src.C_OSZTALYCSOPORTNEV,
src.C_TERVEZETTLETSZAM,
src.C_CSOPORTTIPUS,
src.C_OSZTALYCSOPORTTIPUS,
src.C_TANEVNEV,
src.C_FELADATELLATASIHELYID,
GETDATE(),
'F',
GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,27 @@
IF OBJECT_ID('stage.sp_MrgStage') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgStage
END
GO
CREATE PROCEDURE stage.sp_MrgStage
AS
BEGIN
EXEC stage.sp_MrgOsztalyCsoportLetszam;
EXEC stage.sp_MrgTanarAdatok;
EXEC stage.sp_MrgTantargyfelosztas;
EXEC stage.sp_MrgDictionaryItemBase;
EXEC stage.sp_MrgTanuloAdatok;
EXEC stage.sp_MrgFeladatellatasiHely;
EXEC stage.sp_MrgTerem;
EXEC stage.sp_MrgTantargy;
EXEC stage.sp_MrgMukodesihely;
EXEC stage.sp_MrgEslAdat;
EXEC stage.sp_MrgFelhasznaloBelepes;
EXEC stage.sp_MrgFelhasznaloBelepesTortenet;
EXEC stage.sp_MrgIntezmenyHasznalat;
EXEC stage.sp_MrgNebulo;
END;
GO

View file

@ -0,0 +1,151 @@
IF OBJECT_ID('stage.sp_MrgTanarAdatok') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgTanarAdatok
END
GO
CREATE PROCEDURE stage.sp_MrgTanarAdatok
AS
BEGIN
MERGE stage.T_TANARADATOK_STAGE AS trg
USING (
SELECT
i.ID AS C_INTEZMENYID,
t.C_NEV AS C_TANEVNEV,
f.ID AS C_TANARID,
f.C_NYOMTATASINEV AS C_TANARNEV,
f.C_SZULETESIHELY AS C_TANARSZULETESIHELY,
f.C_SZULETESIDATUM AS C_TANARSZULETESIDATUM,
f.C_SZULETESINEV AS C_TANARSZULETESINEV,
f.C_ANYJANEVE AS C_TANARANYJANEVE,
m.C_KOTELEZOORASZAM AS C_KOTELEZOORASZAM,
f.C_NEME AS C_TANARNEME,
m.C_MUNKAKORTIPUSA AS C_MUNKAKORTIPUSA,
m.C_MUNKAVISZONYTIPUSA AS C_MUNKAVISZONYTIPUSA,
m.C_KEPESITES AS C_KEPESITES,
m.C_BETOLTETLENALLASHELY AS C_BETOLTETLENALLASHELY,
m.C_MUNKAIDOKEDVEZMENYORASZAM AS C_MUNKAIDOKEDVEZMENYORASZAM,
m.C_NYUGDIJAS AS C_NYUGDIJAS,
m.C_TARTOSHELYETTESITES AS C_TARTOSHELYETTESITES,
m.C_PEDAGOGUSSTATUSZA AS C_PEDAGOGUSSTATUSZA,
f.C_OKTATASIAZONOSITO AS C_TANAROMKOD,
m.C_FELADATELLATASIHELYID AS C_FELADATELLATASIHELYID,
(SELECT TOP(1) p.C_FOKOZAT FROM T_PEDAGOGUSELETPALYAMODELL p WHERE p.C_TANARID = f.ID ORDER BY p.C_MINOSITESDATUM DESC) AS C_TANARFOKOZAT,
f.C_ADOSZAM AS C_ADOSZAM,
m.C_MUNKAIDOKEDVEZMENYOKA AS C_MUNKAIDOKEDVEZMENYOKA,
f.TOROLT AS TOROLT
FROM T_FELHASZNALO f
INNER JOIN T_ALKALMAZOTT a ON a.ID = f.ID
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID
INNER JOIN T_TANEV t ON t.ID = f.C_TANEVID
INNER JOIN T_MUNKAUGYIADATOK m ON m.C_ALKALMAZOTTID = a.ID
WHERE f.TOROLT = 'F' AND m.TOROLT = 'F' AND t.TOROLT = 'F' AND i.TOROLT = 'F' AND a.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_TANARID = src.C_TANARID)
WHEN MATCHED AND
(trg.C_TANARNEV <> src.C_TANARNEV OR (trg.C_TANARNEV IS NULL AND src.C_TANARNEV IS NOT NULL) OR (trg.C_TANARNEV IS NOT NULL AND src.C_TANARNEV IS NULL))
OR (trg.C_TANARSZULETESIHELY <> src.C_TANARSZULETESIHELY OR (trg.C_TANARSZULETESIHELY IS NULL AND src.C_TANARSZULETESIHELY IS NOT NULL) OR (trg.C_TANARSZULETESIHELY IS NOT NULL AND src.C_TANARSZULETESIHELY IS NULL))
OR (trg.C_TANARSZULETESIDATUM <> src.C_TANARSZULETESIDATUM OR (trg.C_TANARSZULETESIDATUM IS NULL AND src.C_TANARSZULETESIDATUM IS NOT NULL) OR (trg.C_TANARSZULETESIDATUM IS NOT NULL AND src.C_TANARSZULETESIDATUM IS NULL))
OR (trg.C_TANARANYJANEVE <> src.C_TANARANYJANEVE OR (trg.C_TANARANYJANEVE IS NULL AND src.C_TANARANYJANEVE IS NOT NULL) OR (trg.C_TANARANYJANEVE IS NOT NULL AND src.C_TANARANYJANEVE IS NULL))
OR (trg.C_TANARSZULETESINEV <> src.C_TANARSZULETESINEV OR (trg.C_TANARSZULETESINEV IS NULL AND src.C_TANARSZULETESINEV IS NOT NULL) OR (trg.C_TANARSZULETESINEV IS NOT NULL AND src.C_TANARSZULETESINEV IS NULL))
OR (trg.C_KOTELEZOORASZAM <> src.C_KOTELEZOORASZAM OR (trg.C_KOTELEZOORASZAM IS NULL AND src.C_KOTELEZOORASZAM IS NOT NULL) OR (trg.C_KOTELEZOORASZAM IS NOT NULL AND src.C_KOTELEZOORASZAM IS NULL))
OR (trg.C_TANARNEME <> src.C_TANARNEME OR (trg.C_TANARNEME IS NULL AND src.C_TANARNEME IS NOT NULL) OR (trg.C_TANARNEME IS NOT NULL AND src.C_TANARNEME IS NULL))
OR (trg.C_MUNKAKORTIPUSA <> src.C_MUNKAKORTIPUSA OR (trg.C_MUNKAKORTIPUSA IS NULL AND src.C_MUNKAKORTIPUSA IS NOT NULL) OR (trg.C_MUNKAKORTIPUSA IS NOT NULL AND src.C_MUNKAKORTIPUSA IS NULL))
OR (trg.C_MUNKAVISZONYTIPUSA <> src.C_MUNKAVISZONYTIPUSA OR (trg.C_MUNKAVISZONYTIPUSA IS NULL AND src.C_MUNKAVISZONYTIPUSA IS NOT NULL) OR (trg.C_MUNKAVISZONYTIPUSA IS NOT NULL AND src.C_MUNKAVISZONYTIPUSA IS NULL))
OR (trg.C_KEPESITES <> src.C_KEPESITES OR (trg.C_KEPESITES IS NULL AND src.C_KEPESITES IS NOT NULL) OR (trg.C_KEPESITES IS NOT NULL AND src.C_KEPESITES IS NULL))
OR (trg.C_BETOLTETLENALLASHELY <> src.C_BETOLTETLENALLASHELY OR (trg.C_BETOLTETLENALLASHELY IS NULL AND src.C_BETOLTETLENALLASHELY IS NOT NULL) OR (trg.C_BETOLTETLENALLASHELY IS NOT NULL AND src.C_BETOLTETLENALLASHELY IS NULL))
OR (trg.C_TANAROMKOD <> src.C_TANAROMKOD OR (trg.C_TANAROMKOD IS NULL AND src.C_TANAROMKOD IS NOT NULL) OR (trg.C_TANAROMKOD IS NOT NULL AND src.C_TANAROMKOD IS NULL))
OR (trg.C_MUNKAIDOKEDVEZMENYORASZAM <> src.C_MUNKAIDOKEDVEZMENYORASZAM OR (trg.C_MUNKAIDOKEDVEZMENYORASZAM IS NULL AND src.C_MUNKAIDOKEDVEZMENYORASZAM IS NOT NULL) OR (trg.C_MUNKAIDOKEDVEZMENYORASZAM IS NOT NULL AND src.C_MUNKAIDOKEDVEZMENYORASZAM IS NULL))
OR (trg.C_NYUGDIJAS <> src.C_NYUGDIJAS OR (trg.C_NYUGDIJAS IS NULL AND src.C_NYUGDIJAS IS NOT NULL) OR (trg.C_NYUGDIJAS IS NOT NULL AND src.C_NYUGDIJAS IS NULL))
OR (trg.C_TARTOSHELYETTESITES <> src.C_TARTOSHELYETTESITES OR (trg.C_TARTOSHELYETTESITES IS NULL AND src.C_TARTOSHELYETTESITES IS NOT NULL) OR (trg.C_TARTOSHELYETTESITES IS NOT NULL AND src.C_TARTOSHELYETTESITES IS NULL))
OR (trg.C_PEDAGOGUSSTATUSZA <> src.C_PEDAGOGUSSTATUSZA OR (trg.C_PEDAGOGUSSTATUSZA IS NULL AND src.C_PEDAGOGUSSTATUSZA IS NOT NULL) OR (trg.C_PEDAGOGUSSTATUSZA IS NOT NULL AND src.C_PEDAGOGUSSTATUSZA IS NULL))
OR (trg.C_FELADATELLATASIHELYID <> src.C_FELADATELLATASIHELYID OR (trg.C_FELADATELLATASIHELYID IS NULL AND src.C_FELADATELLATASIHELYID IS NOT NULL) OR (trg.C_FELADATELLATASIHELYID IS NOT NULL AND src.C_FELADATELLATASIHELYID IS NULL))
OR (trg.C_TANARFOKOZAT <> src.C_TANARFOKOZAT OR (trg.C_TANARFOKOZAT IS NULL AND src.C_TANARFOKOZAT IS NOT NULL) OR (trg.C_TANARFOKOZAT IS NOT NULL AND src.C_TANARFOKOZAT IS NULL))
OR (trg.C_ADOSZAM <> src.C_ADOSZAM OR (trg.C_ADOSZAM IS NULL AND src.C_ADOSZAM IS NOT NULL) OR (trg.C_ADOSZAM IS NOT NULL AND src.C_ADOSZAM IS NULL))
OR (trg.C_MUNKAIDOKEDVEZMENYOKA <> src.C_MUNKAIDOKEDVEZMENYOKA OR (trg.C_MUNKAIDOKEDVEZMENYOKA IS NULL AND src.C_MUNKAIDOKEDVEZMENYOKA IS NOT NULL) OR (trg.C_MUNKAIDOKEDVEZMENYOKA IS NOT NULL AND src.C_MUNKAIDOKEDVEZMENYOKA IS NULL))
THEN
UPDATE SET
trg.C_TANARNEV = src.C_TANARNEV
,trg.C_TANARSZULETESIHELY = src.C_TANARSZULETESIHELY
,trg.C_TANARSZULETESIDATUM = src.C_TANARSZULETESIDATUM
,trg.C_TANARSZULETESINEV = src.C_TANARSZULETESINEV
,trg.C_TANARANYJANEVE = src.C_TANARANYJANEVE
,trg.C_KOTELEZOORASZAM = src.C_KOTELEZOORASZAM
,trg.C_TANARNEME = src.C_TANARNEME
,trg.C_MUNKAKORTIPUSA = src.C_MUNKAKORTIPUSA
,trg.C_MUNKAVISZONYTIPUSA = src.C_MUNKAVISZONYTIPUSA
,trg.C_KEPESITES = src.C_KEPESITES
,trg.C_BETOLTETLENALLASHELY = src.C_BETOLTETLENALLASHELY
,trg.C_TANAROMKOD = src.C_TANAROMKOD
,trg.C_MUNKAIDOKEDVEZMENYORASZAM = src.C_MUNKAIDOKEDVEZMENYORASZAM
,trg.C_NYUGDIJAS = src.C_NYUGDIJAS
,trg.C_TARTOSHELYETTESITES = src.C_TARTOSHELYETTESITES
,trg.C_PEDAGOGUSSTATUSZA = src.C_PEDAGOGUSSTATUSZA
,trg.C_FELADATELLATASIHELYID = src.C_FELADATELLATASIHELYID
,trg.C_TANARFOKOZAT = src.C_TANARFOKOZAT
,trg.C_ADOSZAM = src.C_ADOSZAM
,trg.C_MUNKAIDOKEDVEZMENYOKA = src.C_MUNKAIDOKEDVEZMENYOKA
,trg.TOROLT = src.TOROLT
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID,
C_TANEVNEV,
C_TANARID,
C_TANARNEV,
C_TANARSZULETESIHELY,
C_TANARSZULETESIDATUM,
C_TANARSZULETESINEV,
C_TANARANYJANEVE,
C_TANAROMKOD,
C_KOTELEZOORASZAM,
C_TANARNEME,
C_MUNKAKORTIPUSA,
C_MUNKAVISZONYTIPUSA,
C_KEPESITES,
C_BETOLTETLENALLASHELY,
C_MUNKAIDOKEDVEZMENYORASZAM,
C_NYUGDIJAS,
C_TARTOSHELYETTESITES,
C_PEDAGOGUSSTATUSZA,
C_FELADATELLATASIHELYID,
C_TANARFOKOZAT,
C_ADOSZAM,
C_MUNKAIDOKEDVEZMENYOKA,
TOROLT,
LASTCHANGED,
CREATED
) VALUES (
src.C_INTEZMENYID,
src.C_TANEVNEV,
src.C_TANARID,
src.C_TANARNEV,
src.C_TANARSZULETESIHELY,
src.C_TANARSZULETESIDATUM,
src.C_TANARSZULETESINEV,
src.C_TANARANYJANEVE,
src.C_TANAROMKOD,
src.C_KOTELEZOORASZAM,
src.C_TANARNEME,
src.C_MUNKAKORTIPUSA,
src.C_MUNKAVISZONYTIPUSA,
src.C_KEPESITES,
src.C_BETOLTETLENALLASHELY,
src.C_MUNKAIDOKEDVEZMENYORASZAM,
src.C_NYUGDIJAS,
src.C_TARTOSHELYETTESITES,
src.C_PEDAGOGUSSTATUSZA,
src.C_FELADATELLATASIHELYID,
src.C_TANARFOKOZAT,
src.C_ADOSZAM,
src.C_MUNKAIDOKEDVEZMENYOKA,
'F',
GETDATE(),
GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,76 @@
IF OBJECT_ID('stage.sp_MrgTantargy') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgTantargy
END
GO
CREATE PROCEDURE stage.sp_MrgTantargy
AS
BEGIN
MERGE stage.T_TANTARGY_STAGE AS trg
USING (
SELECT
tt.C_INTEZMENYID AS C_INTEZMENYID
,t.C_NEV AS C_TANEVNEV
,tt.ID AS C_TANTARGYID
,tt.C_GYAKORLATI
,tt.C_NEV
,tt.C_ROVIDNEV
,tt.C_TARGYKATEGORIA
,tt.C_FOTARGYE
,tt.C_FOTARGYID
FROM dbo.T_TANTARGY tt
INNER JOIN dbo.T_TANEV t ON t.ID = tt.C_TANEVID
WHERE tt.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_TANTARGYID = src.C_TANTARGYID)
WHEN MATCHED AND
(trg.C_GYAKORLATI <> src.C_GYAKORLATI OR (trg.C_GYAKORLATI IS NULL AND src.C_GYAKORLATI IS NOT NULL) OR (trg.C_GYAKORLATI IS NOT NULL AND src.C_GYAKORLATI IS NULL))
OR (trg.C_NEV <> src.C_NEV OR (trg.C_NEV IS NULL AND src.C_NEV IS NOT NULL) OR (trg.C_NEV IS NOT NULL AND src.C_NEV IS NULL))
OR (trg.C_ROVIDNEV <> src.C_ROVIDNEV OR (trg.C_ROVIDNEV IS NULL AND src.C_ROVIDNEV IS NOT NULL) OR (trg.C_ROVIDNEV IS NOT NULL AND src.C_ROVIDNEV IS NULL))
OR (trg.C_TARGYKATEGORIA <> src.C_TARGYKATEGORIA OR (trg.C_TARGYKATEGORIA IS NULL AND src.C_TARGYKATEGORIA IS NOT NULL) OR (trg.C_TARGYKATEGORIA IS NOT NULL AND src.C_TARGYKATEGORIA IS NULL))
OR (trg.C_FOTARGYE <> src.C_FOTARGYE OR (trg.C_FOTARGYE IS NULL AND src.C_FOTARGYE IS NOT NULL) OR (trg.C_FOTARGYE IS NOT NULL AND src.C_FOTARGYE IS NULL))
OR (trg.C_FOTARGYID <> src.C_FOTARGYID OR (trg.C_FOTARGYID IS NULL AND src.C_FOTARGYID IS NOT NULL) OR (trg.C_FOTARGYID IS NOT NULL AND src.C_FOTARGYID IS NULL))
THEN
UPDATE SET
trg.C_GYAKORLATI = src.C_GYAKORLATI
,trg.C_NEV = src.C_NEV
,trg.C_ROVIDNEV = src.C_ROVIDNEV
,trg.C_TARGYKATEGORIA = src.C_TARGYKATEGORIA
,trg.C_FOTARGYE = src.C_FOTARGYE
,trg.C_FOTARGYID = src.C_FOTARGYID
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID
,C_TANEVNEV
,C_TANTARGYID
,C_GYAKORLATI
,C_NEV
,C_ROVIDNEV
,C_TARGYKATEGORIA
,C_FOTARGYE
,C_FOTARGYID
,TOROLT
,LASTCHANGED
,CREATED
) VALUES (
src.C_INTEZMENYID
,src.C_TANEVNEV
,src.C_TANTARGYID
,src.C_GYAKORLATI
,src.C_NEV
,src.C_ROVIDNEV
,src.C_TARGYKATEGORIA
,src.C_FOTARGYE
,src.C_FOTARGYID
,'F'
,GETDATE()
,GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,85 @@
IF OBJECT_ID('stage.sp_MrgTantargyfelosztas') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgTantargyfelosztas
END
GO
CREATE PROCEDURE stage.sp_MrgTantargyfelosztas
AS
BEGIN
MERGE stage.T_TANTARGYFELOSZTAS_STAGE AS trg
USING (
SELECT
i.ID AS C_INTEZMENYID,
t.C_NEV AS C_TANEVNEV,
f.ID AS C_FOGLALKOZASID,
ft.C_TANAROKID AS C_TANARID,
f.C_OSZTALYCSOPORTID AS C_OSZTALYCSOPORTID,
IIF(o.ID IS NOT NULL, 'O', 'CS') AS C_OSZTALYCSOPORTTIPUS,
f.C_TANTARGYID AS C_TANTARGYID,
tt.C_NEV AS C_TANTARGYNEV,
tt.C_TARGYKATEGORIA AS C_TANTARGYKATEGORIA,
f.C_ORASZAM AS C_ORASZAM
FROM T_FOGLALKOZAS f
INNER JOIN T_INTEZMENY i ON i.ID = f.C_INTEZMENYID
INNER JOIN T_TANEV t ON t.ID = f.C_TANEVID
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.C_FOGLALKOZASOKID = f.ID
INNER JOIN T_TANTARGY tt ON tt.ID = f.C_TANTARGYID
LEFT JOIN T_OSZTALY o ON o.ID = f.C_OSZTALYCSOPORTID
LEFT JOIN T_CSOPORT cs ON cs.ID = f.C_OSZTALYCSOPORTID
WHERE f.TOROLT = 'F' AND i.TOROLT = 'F' AND t.TOROLT = 'F' AND tt.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_FOGLALKOZASID = src.C_FOGLALKOZASID)
WHEN MATCHED AND
(trg.C_OSZTALYCSOPORTID <> src.C_OSZTALYCSOPORTID OR (trg.C_OSZTALYCSOPORTID IS NULL AND src.C_OSZTALYCSOPORTID IS NOT NULL) OR (trg.C_OSZTALYCSOPORTID IS NOT NULL AND src.C_OSZTALYCSOPORTID IS NULL))
OR (trg.C_OSZTALYCSOPORTTIPUS <> src.C_OSZTALYCSOPORTTIPUS OR (trg.C_OSZTALYCSOPORTTIPUS IS NULL AND src.C_OSZTALYCSOPORTTIPUS IS NOT NULL) OR (trg.C_OSZTALYCSOPORTTIPUS IS NOT NULL AND src.C_OSZTALYCSOPORTTIPUS IS NULL))
OR (trg.C_TANTARGYID <> src.C_TANTARGYID OR (trg.C_TANTARGYID IS NULL AND src.C_TANTARGYID IS NOT NULL) OR (trg.C_TANTARGYID IS NOT NULL AND src.C_TANTARGYID IS NULL))
OR (trg.C_TANTARGYNEV <> src.C_TANTARGYNEV OR (trg.C_TANTARGYNEV IS NULL AND src.C_TANTARGYNEV IS NOT NULL) OR (trg.C_TANTARGYNEV IS NOT NULL AND src.C_TANTARGYNEV IS NULL))
OR (trg.C_TANTARGYKATEGORIA <> src.C_TANTARGYKATEGORIA OR (trg.C_TANTARGYKATEGORIA IS NULL AND src.C_TANTARGYKATEGORIA IS NOT NULL) OR (trg.C_TANTARGYKATEGORIA IS NOT NULL AND src.C_TANTARGYKATEGORIA IS NULL))
OR (trg.C_ORASZAM <> src.C_ORASZAM OR (trg.C_ORASZAM IS NULL AND src.C_ORASZAM IS NOT NULL) OR (trg.C_ORASZAM IS NOT NULL AND src.C_ORASZAM IS NULL))
THEN
UPDATE SET
trg.C_TANARID = src.C_TANARID
,trg.C_OSZTALYCSOPORTID = src.C_OSZTALYCSOPORTID
,trg.C_OSZTALYCSOPORTTIPUS = src.C_OSZTALYCSOPORTTIPUS
,trg.C_TANTARGYID = src.C_TANTARGYID
,trg.C_TANTARGYNEV = src.C_TANTARGYNEV
,trg.C_TANTARGYKATEGORIA = src.C_TANTARGYKATEGORIA
,trg.C_ORASZAM = src.C_ORASZAM
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID,
C_TANEVNEV,
C_FOGLALKOZASID,
C_TANARID,
C_OSZTALYCSOPORTID,
C_OSZTALYCSOPORTTIPUS,
C_TANTARGYID,
C_TANTARGYNEV,
C_TANTARGYKATEGORIA,
C_ORASZAM,
TOROLT,
LASTCHANGED,
CREATED
) VALUES (
src.C_INTEZMENYID,
src.C_TANEVNEV,
src.C_FOGLALKOZASID,
src.C_TANARID,
src.C_OSZTALYCSOPORTID,
src.C_OSZTALYCSOPORTTIPUS,
src.C_TANTARGYID,
src.C_TANTARGYNEV,
src.C_TANTARGYKATEGORIA,
src.C_ORASZAM,
'F',
GETDATE(),
GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,88 @@
IF OBJECT_ID('stage.sp_MrgTanuloAdatok') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgTanuloAdatok
END
GO
CREATE PROCEDURE stage.sp_MrgTanuloAdatok
AS
BEGIN
MERGE stage.T_TANULOADATOK_STAGE AS trg
USING (
SELECT
i.ID AS C_INTEZMENYID,
t.C_NEV AS C_TANEVNEV,
f.ID AS C_TANULOID,
f.C_NEME AS C_TANULONEME,
f.C_SZULETESIDATUM AS C_TANULOSZULETESIDATUM,
f.C_OKTATASIAZONOSITO AS C_OKTATASIAZONOSITO,
tn.C_SAJATOSNEVELESU AS C_SAJATOSNEVELESU,
tn.C_BTMPROBLEMAS AS C_BTMPROBLEMAS,
tn.C_SNILETSZAMSULY AS C_SNILETSZAMSULY,
tn.C_BTMLETSZAMSULY AS C_BTMLETSZAMSULY,
f.TOROLT AS TOROLT
FROM dbo.T_FELHASZNALO f
INNER JOIN dbo.T_TANULO tn ON tn.ID = f.ID
INNER JOIN dbo.T_INTEZMENY i ON i.ID = f.C_INTEZMENYID
INNER JOIN dbo.T_TANEV t ON t.ID = f.C_TANEVID
INNER JOIN dbo.T_TANULOCSOPORT tcs ON tcs.C_TANULOID = tn.ID
INNER JOIN dbo.T_OSZTALY o ON o.ID = tcs.C_OSZTALYCSOPORTID
INNER JOIN dbo.T_OSZTALYCSOPORT ocs ON ocs.ID = o.ID
WHERE f.TOROLT = 'F' AND i.TOROLT = 'F' AND t.TOROLT = 'F' AND tcs.TOROLT = 'F' AND o.TOROLT = 'F' AND ocs.TOROLT = 'F'
AND tcs.C_BELEPESDATUM <= GETDATE() AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_TANULOID = src.C_TANULOID)
WHEN MATCHED AND
(trg.C_TANULONEME <> src.C_TANULONEME OR (trg.C_TANULONEME IS NULL AND src.C_TANULONEME IS NOT NULL) OR (trg.C_TANULONEME IS NOT NULL AND src.C_TANULONEME IS NULL))
OR (trg.C_TANULOSZULETESIDATUM <> src.C_TANULOSZULETESIDATUM OR (trg.C_TANULOSZULETESIDATUM IS NULL AND src.C_TANULOSZULETESIDATUM IS NOT NULL) OR (trg.C_TANULOSZULETESIDATUM IS NOT NULL AND src.C_TANULOSZULETESIDATUM IS NULL))
OR (trg.C_SAJATOSNEVELESU <> src.C_SAJATOSNEVELESU OR (trg.C_SAJATOSNEVELESU IS NULL AND src.C_SAJATOSNEVELESU IS NOT NULL) OR (trg.C_SAJATOSNEVELESU IS NOT NULL AND src.C_SAJATOSNEVELESU IS NULL))
OR (trg.C_BTMPROBLEMAS <> src.C_BTMPROBLEMAS OR (trg.C_BTMPROBLEMAS IS NULL AND src.C_BTMPROBLEMAS IS NOT NULL) OR (trg.C_BTMPROBLEMAS IS NOT NULL AND src.C_BTMPROBLEMAS IS NULL))
OR (trg.C_SNILETSZAMSULY <> src.C_SNILETSZAMSULY OR (trg.C_SNILETSZAMSULY IS NULL AND src.C_SNILETSZAMSULY IS NOT NULL) OR (trg.C_SNILETSZAMSULY IS NOT NULL AND src.C_SNILETSZAMSULY IS NULL))
OR (trg.C_BTMLETSZAMSULY <> src.C_BTMLETSZAMSULY OR (trg.C_BTMLETSZAMSULY IS NULL AND src.C_BTMLETSZAMSULY IS NOT NULL) OR (trg.C_BTMLETSZAMSULY IS NOT NULL AND src.C_BTMLETSZAMSULY IS NULL))
OR (trg.C_OKTATASIAZONOSITO <> src.C_OKTATASIAZONOSITO OR (trg.C_OKTATASIAZONOSITO IS NULL AND src.C_OKTATASIAZONOSITO IS NOT NULL) OR (trg.C_OKTATASIAZONOSITO IS NOT NULL AND src.C_OKTATASIAZONOSITO IS NULL))
THEN
UPDATE SET
trg.C_TANULONEME = src.C_TANULONEME
,trg.C_TANULOSZULETESIDATUM = src.C_TANULOSZULETESIDATUM
,trg.C_SAJATOSNEVELESU = src.C_SAJATOSNEVELESU
,trg.C_BTMPROBLEMAS = src.C_BTMPROBLEMAS
,trg.C_SNILETSZAMSULY = src.C_SNILETSZAMSULY
,trg.C_BTMLETSZAMSULY = src.C_BTMLETSZAMSULY
,trg.C_OKTATASIAZONOSITO = src.C_OKTATASIAZONOSITO
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID,
C_TANEVNEV,
C_TANULOID,
C_TANULONEME,
C_TANULOSZULETESIDATUM,
C_SAJATOSNEVELESU,
C_BTMPROBLEMAS,
C_SNILETSZAMSULY,
C_BTMLETSZAMSULY,
C_OKTATASIAZONOSITO,
TOROLT,
LASTCHANGED,
CREATED
) VALUES (
src.C_INTEZMENYID,
src.C_TANEVNEV,
src.C_TANULOID,
src.C_TANULONEME,
src.C_TANULOSZULETESIDATUM,
src.C_SAJATOSNEVELESU,
src.C_BTMPROBLEMAS,
src.C_SNILETSZAMSULY,
src.C_BTMLETSZAMSULY,
src.C_OKTATASIAZONOSITO,
'F',
GETDATE(),
GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,91 @@
IF OBJECT_ID('stage.sp_MrgTerem') IS NOT NULL BEGIN
DROP PROCEDURE stage.sp_MrgTerem
END
GO
CREATE PROCEDURE stage.sp_MrgTerem
AS
BEGIN
MERGE stage.T_TEREM_STAGE AS trg
USING (
SELECT
tm.C_INTEZMENYID AS C_INTEZMENYID
,t.C_NEV AS C_TANEVNEV
,tm.ID AS C_TEREMID
,tm.C_AKTIV AS C_AKTIV
,tm.C_JELLEG AS C_JELLEG
,tm.C_KAPACITAS AS C_KAPACITAS
,tm.C_NEV AS C_NEV
,tm.C_TERULET AS C_TERULET
,tm.C_TOBBORATLEHETTARTANI AS C_TOBBORATLEHETTARTANI
,tm.C_VIZSGAKAPACITAS AS C_VIZSGAKAPACITAS
,tm.C_MUKODESIHELYID AS C_MUKODESIHELYID
,tm.C_TEREMFELELOSID AS C_TEREMFELELOSID
FROM dbo.T_TEREM tm
INNER JOIN dbo.T_TANEV t ON t.ID = tm.C_TANEVID
WHERE tm.TOROLT = 'F'
) src ON (trg.C_INTEZMENYID = src.C_INTEZMENYID AND trg.C_TEREMID = src.C_TEREMID)
WHEN MATCHED AND
(trg.C_AKTIV <> src.C_AKTIV OR (trg.C_AKTIV IS NULL AND src.C_AKTIV IS NOT NULL) OR (trg.C_AKTIV IS NOT NULL AND src.C_AKTIV IS NULL))
OR (trg.C_JELLEG <> src.C_JELLEG OR (trg.C_JELLEG IS NULL AND src.C_JELLEG IS NOT NULL) OR (trg.C_JELLEG IS NOT NULL AND src.C_JELLEG IS NULL))
OR (trg.C_KAPACITAS <> src.C_KAPACITAS OR (trg.C_KAPACITAS IS NULL AND src.C_KAPACITAS IS NOT NULL) OR (trg.C_KAPACITAS IS NOT NULL AND src.C_KAPACITAS IS NULL))
OR (trg.C_NEV <> src.C_NEV OR (trg.C_NEV IS NULL AND src.C_NEV IS NOT NULL) OR (trg.C_NEV IS NOT NULL AND src.C_NEV IS NULL))
OR (trg.C_TERULET <> src.C_TERULET OR (trg.C_TERULET IS NULL AND src.C_TERULET IS NOT NULL) OR (trg.C_TERULET IS NOT NULL AND src.C_TERULET IS NULL))
OR (trg.C_TOBBORATLEHETTARTANI <> src.C_TOBBORATLEHETTARTANI OR (trg.C_TOBBORATLEHETTARTANI IS NULL AND src.C_TOBBORATLEHETTARTANI IS NOT NULL) OR (trg.C_TOBBORATLEHETTARTANI IS NOT NULL AND src.C_TOBBORATLEHETTARTANI IS NULL))
OR (trg.C_VIZSGAKAPACITAS <> src.C_VIZSGAKAPACITAS OR (trg.C_VIZSGAKAPACITAS IS NULL AND src.C_VIZSGAKAPACITAS IS NOT NULL) OR (trg.C_VIZSGAKAPACITAS IS NOT NULL AND src.C_VIZSGAKAPACITAS IS NULL))
OR (trg.C_MUKODESIHELYID <> src.C_MUKODESIHELYID OR (trg.C_MUKODESIHELYID IS NULL AND src.C_MUKODESIHELYID IS NOT NULL) OR (trg.C_MUKODESIHELYID IS NOT NULL AND src.C_MUKODESIHELYID IS NULL))
OR (trg.C_TEREMFELELOSID <> src.C_TEREMFELELOSID OR (trg.C_TEREMFELELOSID IS NULL AND src.C_TEREMFELELOSID IS NOT NULL) OR (trg.C_TEREMFELELOSID IS NOT NULL AND src.C_TEREMFELELOSID IS NULL))
THEN
UPDATE SET
trg.C_AKTIV = src.C_AKTIV
,trg.C_JELLEG = src.C_JELLEG
,trg.C_KAPACITAS = src.C_KAPACITAS
,trg.C_NEV = src.C_NEV
,trg.C_TERULET = src.C_TERULET
,trg.C_TOBBORATLEHETTARTANI = src.C_TOBBORATLEHETTARTANI
,trg.C_VIZSGAKAPACITAS = src.C_VIZSGAKAPACITAS
,trg.C_MUKODESIHELYID = src.C_MUKODESIHELYID
,trg.C_TEREMFELELOSID = src.C_TEREMFELELOSID
,trg.LASTCHANGED = GETDATE()
WHEN NOT MATCHED BY TARGET THEN
INSERT (
C_INTEZMENYID
,C_TANEVNEV
,C_TEREMID
,C_AKTIV
,C_JELLEG
,C_KAPACITAS
,C_NEV
,C_TERULET
,C_TOBBORATLEHETTARTANI
,C_VIZSGAKAPACITAS
,C_MUKODESIHELYID
,C_TEREMFELELOSID
,TOROLT
,LASTCHANGED
,CREATED
) VALUES (
src.C_INTEZMENYID
,src.C_TANEVNEV
,src.C_TEREMID
,src.C_AKTIV
,src.C_JELLEG
,src.C_KAPACITAS
,src.C_NEV
,src.C_TERULET
,src.C_TOBBORATLEHETTARTANI
,src.C_VIZSGAKAPACITAS
,src.C_MUKODESIHELYID
,src.C_TEREMFELELOSID
,'F'
,GETDATE()
,GETDATE()
)
WHEN NOT MATCHED BY SOURCE AND trg.TOROLT = 'F' THEN
UPDATE SET
trg.LASTCHANGED = GETDATE(),
trg.TOROLT = 'T'
;
END
GO

View file

@ -0,0 +1,67 @@
GO
/****** Object: StoredProcedure [dbo].[sp_AscValidateOsztalyCsoportTantargy] Script Date: 2016.11.04. 9:39:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Badó Gábor
-- Create date: 2016.11.03.
-- Description: Az xml ből kapott tantargyakat, osztalyokat, csoportokat ellenörzi
-- =============================================
CREATE PROCEDURE [dbo].[sp_AscValidateOsztalyCsoportTantargy]
-- Add the parameters for the stored procedure here
@XML as XML
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @TEMPTANTARGYAK TABLE ( TANTARGYNEV NVARCHAR(255))
DECLARE @TEMPOSZTALYOK TABLE ( OSZTALYNEV NVARCHAR(255))
DECLARE @TEMPCSOPORTOK TABLE ( CSOPORTNEV NVARCHAR(255))
INSERT INTO @TEMPTANTARGYAK
SELECT DISTINCT TANTARGYNEV = Tantargy.value('(.)[1]', 'NVARCHAR(255)')
FROM @XML.nodes('/AscValidator/Tantargyak/string') as TANTARGYAK(Tantargy)
INSERT INTO @TEMPOSZTALYOK
SELECT DISTINCT OSZTALYNEV = Osztaly.value('(.)[1]', 'NVARCHAR(255)')
FROM @XML.nodes('/AscValidator/Osztalyok/string') as OSZTALYOK(Osztaly)
INSERT INTO @TEMPCSOPORTOK
SELECT DISTINCT CSOPORTNEV = Csoport.value('(.)[1]', 'NVARCHAR(255)')
FROM @XML.nodes('/AscValidator/Csoportok/string') as CSOPORTOK(Csoport)
Select TANTARGYAK.TANTARGYNEV ,COUNT(Tantargy.ID) TANTARGYAKSZAMA
from @TEMPTANTARGYAK TANTARGYAK
left join T_TANTARGY Tantargy on Tantargy.c_nev = ( RTRIM(LTRIM(TANTARGYAK.TANTARGYNEV)))
Group by TANTARGYAK.TANTARGYNEV,Tantargy.ID
Having (COUNT(Tantargy.ID) != 1)
Order by TANTARGYAK.TANTARGYNEV,Tantargy.ID
Select TEMPOSZTALYOK.OSZTALYNEV ,COUNT(OSZTALYOK.id) OSZTALYOKSZAMA
from @TEMPOSZTALYOK TEMPOSZTALYOK
left join T_OSZTALYCSOPORT OCS on OCS.C_NEV = ( RTRIM(LTRIM(TEMPOSZTALYOK.OSZTALYNEV)))
left join T_OSZTALY OSZTALYOK on OSZTALYOK.id = OCS.id
group by TEMPOSZTALYOK.OSZTALYNEV,OSZTALYOK.id
Having(COUNT(OSZTALYOK.id) != 1)
Order by TEMPOSZTALYOK.OSZTALYNEV,OSZTALYOK.id
Select TEMPCSOPORTOK.CSOPORTNEV ,COUNT(Cs.ID) CSOPORTOKSZAMA
from @TEMPCSOPORTOK TEMPCSOPORTOK
left join T_OSZTALYCSOPORT OCS on OCS.C_NEV = ( RTRIM(LTRIM(TEMPCSOPORTOK.CSOPORTNEV)))
left join T_Csoport Cs on Cs.id = OCS.id
group by TEMPCSOPORTOK.CSOPORTNEV,Cs.id
Having(COUNT(Cs.id) != 1)
Order by TEMPCSOPORTOK.CSOPORTNEV,Cs.id
END
GO

View file

@ -0,0 +1,45 @@
-- =============================================
-- Description: <Ellenőrizzuk, hogy a felhasználóhoz tartozik-e a paraméterben megadott szerepkor>
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_CheckFelhasznaloHasSzerepkor]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_CheckFelhasznaloHasSzerepkor]
END
GO
CREATE PROCEDURE [dbo].[sp_CheckFelhasznaloHasSzerepkor]
@pFelhasznaloId AS INT,
@pSzerepkorTipusId AS INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
IF EXISTS(
SELECT 1
FROM
T_FELHASZNALO felhasznalo
LEFT JOIN
T_FELHASZNALO_SZEREPKOR felhasznaloSzerepkor ON
felhasznaloSzerepkor.C_FELHASZNALOID = felhasznalo.ID
LEFT JOIN
T_SZEREPKOR szerepkor ON
szerepkor.ID = felhasznaloSzerepkor.C_SZEREPKORID
WHERE
felhasznalo.TOROLT = 'F' AND
felhasznalo.ID = @pFelhasznaloId AND
szerepkor.TOROLT = 'F' AND
szerepkor.C_SZEREPKORTIPUS = @pSzerepkorTipusId
)
SELECT 1
ELSE
SELECT 0
END

View file

@ -0,0 +1,46 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_CheckOktatasiAzonositoUtkozesValidation]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_CheckOktatasiAzonositoUtkozesValidation]
END
GO
-- =============================================
-- Description: <Ellenőrizzuk, hogy a megadott oktatási azonosító szerepel e már valamelyik tanulónál vagy nebulónál>
-- =============================================
CREATE PROCEDURE [dbo].sp_CheckOktatasiAzonositoUtkozesValidation
@pNebuloId AS INT = NULL,
@pOktatasiAzonosito NVARCHAR(20)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
IF
EXISTS (SELECT 1
FROM
T_NEBULO
WHERE
T_NEBULO.TOROLT = 'F'
AND T_NEBULO.C_OKTATASIAZONOSITOSZAMA = @pOktatasiAzonosito
AND (@pNebuloId IS NULL OR T_NEBULO.ID != @pNebuloId)
) OR
EXISTS (SELECT 1
FROM
T_FELHASZNALO
WHERE
T_FELHASZNALO.TOROLT = 'F'
AND T_FELHASZNALO.C_OKTATASIAZONOSITO = @pOktatasiAzonosito
)
SELECT 1
ELSE
SELECT 0
END

View file

@ -0,0 +1,53 @@
GO
/****** Object: StoredProcedure [dbo].[sp_CheckTanarOra] Script Date: 2016.09.05. 16:45:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_CheckTanarOra]
@tanarId int,
@start datetime,
@end datetime,
@IntezmenyId int,
@TanevId int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @startDate datetime;
set @startDate = CAST(@start AS DATE)
declare @csengetesiRendId int;
set @csengetesiRendId = (select C_AKTIVCSENGETESIRENDID from T_NAPTARINAP nn where nn.C_NAPDATUMA = @startDate and nn.C_INTEZMENYID = @IntezmenyId and nn.C_TANEVID = @TanevId and nn.TOROLT = 'F')
declare @hetNapId int;
set @hetNapId = (select C_HETNAPJA from T_NAPTARINAP nn where nn.C_NAPDATUMA = @startDate and nn.C_INTEZMENYID = @IntezmenyId and nn.C_TANEVID = @TanevId and nn.TOROLT = 'F')
if(@csengetesiRendId is null) set @csengetesiRendId = (select ID from T_CSENGETESIREND where C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and C_AKTIV = 'T' and TOROLT = 'F')
declare @csengetesiRendOraId int;
set @csengetesiRendOraId = (select ID from T_CSENGETESIRENDORA where C_CSENGETESIRENDID = @csengetesiRendId and CAST(C_KEZDETE as TIME) = CAST(@start AS Time) and CAST(C_VEGE as TIME) = CAST(@end AS Time) and C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and TOROLT = 'F')
if ((select count(*) from T_ORARENDIORA where C_TANARID = @tanarId and C_CSENGETESIRENDORAID = @csengetesiRendOraId and C_HETNAPJA = @hetNapId and C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and TOROLT = 'F' and CAST(@start as date) >= C_ORAERVENYESSEGKEZDETE and CAST(@start as date) <= C_ORAERVENYESSEGVEGE and CAST(@end as date) >= C_ORAERVENYESSEGKEZDETE and CAST(@end as date) <= C_ORAERVENYESSEGVEGE) = 1)
begin
declare @orarendiOraId int;
set @orarendiOraId = (select ID from T_ORARENDIORA where C_TANARID = @tanarId and C_CSENGETESIRENDORAID = @csengetesiRendOraId and C_HETNAPJA = @hetNapId and C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and TOROLT = 'F' and CAST(@start as date) >= C_ORAERVENYESSEGKEZDETE and CAST(@start as date) <= C_ORAERVENYESSEGVEGE and CAST(@end as date) >= C_ORAERVENYESSEGKEZDETE and CAST(@end as date) <= C_ORAERVENYESSEGVEGE)
declare @tanitasiOraId int;
set @tanitasiOraId = (select ID from T_TANITASIORA where C_ORARENDIORAID = @orarendiOraId and C_ORAKEZDETE = @start and C_ORAVEGE = @end and C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and TOROLT = 'F')
if(@tanitasiOraId is null)
select C_FOGLALKOZASID, C_TEREMID, C_TANTARGYID, C_OSZTALYCSOPORTID, ID as C_ORARENDIORAID from T_ORARENDIORA where Id = @orarendiOraId and C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and TOROLT = 'F'
else
select C_FOGLALKOZASID, C_TEREMID, C_TANTARGYID, C_OSZTALYCSOPORTID, ID as C_ORARENDIORAID from T_ORARENDIORA where Id = -1
end
else
begin
select C_FOGLALKOZASID, C_TEREMID, C_TANTARGYID, C_OSZTALYCSOPORTID, ID as C_ORARENDIORAID from T_ORARENDIORA where Id = -1
end
END

View file

@ -0,0 +1,60 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('dbo.[sp_CheckTanuloEgyszerAdhatoErtekelesValidation]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].sp_CheckTanuloEgyszerAdhatoErtekelesValidation
END
GO
-- =============================================
-- Author: <Szikora Zoltán>
-- Create date: <2016. 09. 01.>
-- Description: <Ellenőrizzuk, hogy a tanuló van-e már egyszer adható jegye, ha nincs akkor true, ha van akkor false>
-- =============================================
CREATE PROCEDURE [dbo].sp_CheckTanuloEgyszerAdhatoErtekelesValidation
@pErtekelesId AS INT,
@pErtekelesTipusId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @TanuloId AS INT
DECLARE @TantargyId AS INT
SELECT
@TanuloId = T_TANULOERTEKELES_OSSZES.C_TANULOID,
@TantargyId = T_TANULOERTEKELES_OSSZES.C_TANTARGYID
FROM
T_TANULOERTEKELES_OSSZES
WHERE
T_TANULOERTEKELES_OSSZES.ID = @pErtekelesId
SET @TanuloId = (SELECT
T_TANULOERTEKELES_OSSZES.C_TANULOID
FROM
T_TANULOERTEKELES_OSSZES
WHERE
T_TANULOERTEKELES_OSSZES.ID = @pErtekelesId)
IF EXISTS (SELECT 1
FROM
T_TANULOERTEKELES_OSSZES
WHERE
T_TANULOERTEKELES_OSSZES.TOROLT = 'F'
AND T_TANULOERTEKELES_OSSZES.C_ERTEKELESTIPUSA = @pErtekelesTipusId
AND T_TANULOERTEKELES_OSSZES.C_TANULOID = @TanuloId
AND T_TANULOERTEKELES_OSSZES.C_TANTARGYID = @TantargyId
AND T_TANULOERTEKELES_OSSZES.ID != @pErtekelesId
)
SELECT 1
ELSE
SELECT 0
END

View file

@ -0,0 +1,43 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('dbo.[sp_CheckTanuloListEgyszerAdhatoErtekelesMagatartasSzorgalomValidation]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_CheckTanuloListEgyszerAdhatoErtekelesMagatartasSzorgalomValidation]
END
GO
-- =============================================
-- Author: <Szikora Zoltán>
-- Create date: <2016. 09. 01.>
-- Description: <Ellenőrizzuk, hogy a tanulóknak van-e egyszer adható magatartás, szorgalom jegye, ha nincs akkor true, ha van akkor false>
-- =============================================
CREATE PROCEDURE [dbo].[sp_CheckTanuloListEgyszerAdhatoErtekelesMagatartasSzorgalomValidation]
@pTanuloIdList AS XML,
@pErtekelesTipusId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @tempTanuloIdList TABLE (tanuloId INT)
INSERT INTO @tempTanuloIdList
SELECT DISTINCT tanuloId = tanuloId.value('(.)[1]', 'INT')
FROM @pTanuloIdList.nodes('tanuloIdList/tanuloId') as tanuloIdList(tanuloId)
IF EXISTS ( SELECT 1
FROM T_TANULOERTEKELES_OSSZES
WHERE T_TANULOERTEKELES_OSSZES.TOROLT = 'F'
AND T_TANULOERTEKELES_OSSZES.C_ERTEKELESTIPUSA = @pErtekelesTipusId
AND T_TANULOERTEKELES_OSSZES.C_TANULOID IN (SELECT tanuloId FROM @tempTanuloIdList)
AND T_TANULOERTEKELES_OSSZES.C_TANTARGYID IS NULL)
SELECT 1
ELSE
SELECT 0
END

View file

@ -0,0 +1,44 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('dbo.[sp_CheckTanuloListEgyszerAdhatoErtekelesValidation]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_CheckTanuloListEgyszerAdhatoErtekelesValidation]
END
GO
-- =============================================
-- Author: <Szikora Zoltán>
-- Create date: <2016. 09. 01.>
-- Description: <Ellenőrizzuk, hogy a tanulóknak van-e egyszer adható jegye, ha nincs akkor true, ha van akkor false>
-- =============================================
CREATE PROCEDURE [dbo].[sp_CheckTanuloListEgyszerAdhatoErtekelesValidation]
@pTanuloIdList AS XML,
@pTantargyId INT = NULL,
@pErtekelesTipusId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @tempTanuloIdList TABLE (tanuloId INT)
INSERT INTO @tempTanuloIdList
SELECT DISTINCT tanuloId = tanuloId.value('(.)[1]', 'INT')
FROM @pTanuloIdList.nodes('tanuloIdList/tanuloId') as tanuloIdList(tanuloId)
IF EXISTS ( SELECT 1
FROM T_TANULOERTEKELES_OSSZES
WHERE T_TANULOERTEKELES_OSSZES.TOROLT = 'F'
AND T_TANULOERTEKELES_OSSZES.C_ERTEKELESTIPUSA = @pErtekelesTipusId
AND T_TANULOERTEKELES_OSSZES.C_TANULOID IN (SELECT tanuloId FROM @tempTanuloIdList)
AND T_TANULOERTEKELES_OSSZES.C_TANTARGYID = @pTantargyId)
SELECT 1
ELSE
SELECT 0
END

View file

@ -0,0 +1,99 @@
-- ==========================================================================================
-- Author: Telek Ákos
-- Create date: 2016.05.31.
-- Description: Törli az alkalmazottakat (akiknél csak az alapadatok vannak kitöltve)
-- ==========================================================================================
IF OBJECT_ID('sp_DeleteAlkalmazottak') IS NOT NULL BEGIN
DROP PROCEDURE sp_DeleteAlkalmazottak
END
GO
CREATE PROCEDURE sp_DeleteAlkalmazottak
@xml xml
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
DECLARE @alkalmazottId TABLE (id int);
DECLARE @torlendoId TABLE (id int);
DECLARE @inputId TABLE (id int);
INSERT INTO @inputId
SELECT
sor.value('.', 'int') AS id
FROM @xml.nodes('/Alkalmazottak/IdLista/Id') as sorok(sor)
INSERT INTO @alkalmazottId (id)
SELECT a.ID
FROM T_ALKALMAZOTT a
WHERE EXISTS (SELECT 1 FROM @inputId WHERE id = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_CSOPORT WHERE C_CSOPORTVEZETOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_ESZKOZ WHERE C_FELELOSID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_FALIUJSAGBEJEGYZES WHERE C_BEJEGYZOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZASOK_TANAROK WHERE C_TANAROKID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_HELYETTESITESIIDOSZAK WHERE C_HELYETTESTANAROKID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_IGAZOLAS WHERE C_ROGZITOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_JOGYAKORLAT WHERE C_JOGYAKORLATTULAJDONOSID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_NAPLOELLENORZES WHERE C_ELLENORZOSZEMELYID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_ORAK_TANAROK WHERE C_TANAROKID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_ORALATOGATAS WHERE C_ERTEKELOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_OSZTALY WHERE C_OFOHELYETTESID = a.ID OR C_OSZTALYFONOKID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANARITANTARGY WHERE C_ALKALMAZOTTID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANARTARGYATLAG WHERE C_TANARIATLAGOKID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA WHERE C_HELYETTESITOTANARID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA WHERE C_ORATULAJDONOSID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANMENET WHERE C_FELTOLTOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES WHERE C_ERTEKELOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOESEMENY WHERE C_FELJEGYZOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOKOZOSSEGISZOLGALAT WHERE C_FELJEGYZOID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TEREM WHERE C_TEREMFELELOSID = a.ID)
AND NOT EXISTS (SELECT 1 FROM T_TEVEKENYSEG WHERE C_ESEMENYTULAJDONOSID = a.ID)
INSERT INTO @torlendoId (id)
SELECT ID
FROM T_FELHASZNALO f
WHERE EXISTS (SELECT 1 FROM @alkalmazottId WHERE id = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_CIMTARCSOPORT WHERE C_TULAJDONOSID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_CIMZETT_FALIUJSAGBEJEGYZES WHERE C_CIMZETTID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_CSATOLTFELHASZNALOK_CSATOLTJ WHERE C_CSATOLTFELHASZNALOKID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_DIGESTMESSAGEQUEUE WHERE C_RECIPIENTID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_EMAILADATOK WHERE C_EMAILCIMZETTID = f.ID OR C_KULDOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPESTORTENET WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOERTESITES WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_FELHASZNALOERTESITESBEALLITA WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_IKTATOTTDOKUMENTUMOK WHERE C_DOKUMENTUMPARTNEREID = f.ID OR C_FELTOLTOFELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_IMPOSITION WHERE C_BEFIZETESREKOTELEZETTFELHASZ = f.ID OR C_LETREHOZOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_JOGOSULTFELHASZNALOK_HOZZARE WHERE C_JOGOSULTFELHASZNALOKID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_JOGOSULTSAG_FELHASZNALO WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_MESSAGE WHERE C_SENDERID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_OLDALLATOGATOTTSAG WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_ONLINEUSER WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_PEDAGOGUSELETPALYAMODELL WHERE C_TANARID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_PERSONMESSAGE WHERE C_RECIPIENTID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_RESZTVEVOK_TEVEKENYSEGEK WHERE C_RESZTVEVOKID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_SMS WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_TRANSACTION WHERE C_BEFIZETOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_USERNOTIFICATION WHERE C_FELHASZNALOID = f.ID)
AND NOT EXISTS (SELECT 1 FROM T_USERPROFILE WHERE C_FELHASZNALOID = f.ID)
BEGIN TRY
BEGIN TRANSACTION
DELETE FROM T_FELHASZNALO_SZEREPKOR WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_FELHASZNALOBELEPES WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_EMAIL WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_CIM WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_TELEFON WHERE C_FELHASZNALOID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_MUNKAUGYIADATOK WHERE C_ALKALMAZOTTID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_CIMTAR WHERE C_TAGOKID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_ALKALMAZOTT WHERE ID IN (SELECT ID FROM @torlendoId)
DELETE FROM T_FELHASZNALO WHERE ID IN (SELECT ID FROM @torlendoId)
select count(1) from @torlendoId
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
ROLLBACK TRAN;
THROW --RETHROW the ERROR
END CATCH
END
GO

View file

@ -0,0 +1,125 @@
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
IF OBJECT_ID('sp_DeleteAllTTF', 'P') IS NOT NULL BEGIN
DROP PROCEDURE sp_DeleteAllTTF
END
GO
CREATE PROCEDURE [sp_DeleteAllTTF]
@feladatellatasiHely int = null,
@tanevID int
AS
BEGIN
SET NOCOUNT ON;
IF @feladatellatasiHely IS NULL BEGIN
DELETE FROM T_FOGLALKOZASOK_TANAROK
WHERE C_FOGLALKOZASOKID IN (
SELECT ID FROM T_FOGLALKOZAS_OSSZES f
WHERE NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TEREM_FOGLALKOZAS_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOTARGYMULASZTASSTATISZT_OSSZES WHERE f.ID = C_TARGYMULASZTASSTATISZTIKAIID)
AND f.C_IMPORTALT = 'T'
AND f.C_TANEVID = @tanevID
)
DELETE FROM T_FOGLALKOZAS
WHERE ID IN (
SELECT ID FROM T_FOGLALKOZAS_OSSZES f
WHERE NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TEREM_FOGLALKOZAS_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOTARGYMULASZTASSTATISZT_OSSZES WHERE f.ID = C_TARGYMULASZTASSTATISZTIKAIID)
AND f.C_IMPORTALT = 'T'
AND f.C_TANEVID = @tanevID
)
END
ELSE BEGIN -- Csak a megadott feladatellátási helyen töröl
DELETE FROM T_FOGLALKOZASOK_TANAROK
WHERE C_FOGLALKOZASOKID IN (
SELECT ID FROM T_FOGLALKOZAS_OSSZES f
WHERE NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TEREM_FOGLALKOZAS_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOTARGYMULASZTASSTATISZT_OSSZES WHERE f.ID = C_TARGYMULASZTASSTATISZTIKAIID)
AND f.C_IMPORTALT = 'T'
AND f.C_OSZTALYCSOPORTID IN (
SELECT ID FROM T_OSZTALYCSOPORT_OSSZES WHERE C_FELADATELLATASIHELYID = @feladatellatasiHely and C_TANEVID = @tanevID
)
AND f.C_TANEVID = @tanevID
)
DELETE FROM T_FOGLALKOZAS
WHERE ID IN (
SELECT ID FROM T_FOGLALKOZAS_OSSZES f
WHERE NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TEREM_FOGLALKOZAS_OSSZES WHERE f.ID = C_FOGLALKOZASID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOTARGYMULASZTASSTATISZT_OSSZES WHERE f.ID = C_TARGYMULASZTASSTATISZTIKAIID)
AND f.C_IMPORTALT = 'T'
AND f.C_OSZTALYCSOPORTID IN (
SELECT ID FROM T_OSZTALYCSOPORT_OSSZES WHERE C_FELADATELLATASIHELYID = @feladatellatasiHely and C_TANEVID = @tanevID
)
AND f.C_TANEVID = @tanevID
)
END -- ENDIF
/*
* Innentől nem kell figyelni a feladatellátási helyet,
* mert a NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS szerepel mindenütt
*/
DELETE t
FROM T_TANTARGY t
WHERE NOT EXISTS (SELECT 1 FROM T_ORATERVTARGY_OSSZES WHERE C_TANTARGYID = t.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANARITANTARGY_OSSZES WHERE C_TANTARGYID = t.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE C_TANTARGYID = t.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE C_TANTARGYID = t.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE C_TANTARGYID = t.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOESEMENY_OSSZES WHERE C_TANTARGYID = t.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOMENTESSEG_OSSZES WHERE C_TANTARGYID = t.ID)
AND NOT EXISTS (SELECT 1 FROM T_TANTARGY_OSSZES WHERE C_FOTARGYID = t.ID)
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_TANTARGYID = t.ID)
AND C_IMPORTALT = 'T'
AND C_TANEVID = @tanevID
DELETE cso
FROM T_CSOPORTOK_OSZTALYOK cso
WHERE (EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_OSSZES ocs WHERE C_IMPORTALT = 'T' AND cso.C_CSOPORTOKID = ocs.ID AND ocs.TOROLT='F' )
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = cso.C_CSOPORTOKID))
OR
(EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_OSSZES ocs WHERE C_IMPORTALT = 'T' AND cso.C_OSZTALYOKID = ocs.ID AND ocs.TOROLT='F' )
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = cso.C_OSZTALYOKID))
DELETE cs
FROM T_CSOPORT cs
WHERE EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_OSSZES WHERE C_IMPORTALT = 'T' AND cs.ID = ID)
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = cs.ID)
AND NOT EXISTS (SELECT 1 FROM T_CSOPORTOK_OSZTALYOK WHERE C_CSOPORTOKID = cs.ID)
DELETE o
FROM T_OSZTALY o
WHERE NOT EXISTS (SELECT 1 FROM T_NAPLOELLENORZES_OSSZES WHERE o.ID = C_OSZTALYID)
AND EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_OSSZES WHERE C_IMPORTALT = 'T' AND o.ID = ID)
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = o.ID)
AND NOT EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE C_OSZTALYBONTASID = o.ID)
AND NOT EXISTS (SELECT 1 FROM T_CSOPORTOK_OSZTALYOK WHERE C_OSZTALYOKID = o.ID)
AND C_ALTANEVID = @tanevID
DELETE ocs
FROM T_OSZTALYCSOPORT ocs
WHERE NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_FALIUJSAGBEJE_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
AND NOT EXISTS (SELECT 1 FROM T_OSZTALY_OSSZES WHERE ID = ocs.ID)
AND NOT EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = ocs.ID)
AND C_IMPORTALT = 'T'
AND C_TANEVID = @tanevID
END

View file

@ -0,0 +1,230 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_ESLAdatgyujtes]
@tanevId int,
@intezmenyId int
AS
BEGIN
SET NOCOUNT ON;
--Tanulók száma
select count(distinct tcs.c_tanuloid) as TanulokSzama from t_tanulocsoport tcs
where tcs.torolt='F' and tcs.c_intezmenyid=@intezmenyid and tcs.c_tanevid=@tanevid
--Tanév kezdete óta távozott tanulók száma
declare @tanevkezdet date=(select c_datum from t_tanevrendje tr where c_naptipusa=1394 and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
select count(distinct tcs.c_tanuloid) TanevKezdeteOtaTavozottTanulokSzama from t_tanulocsoport tcs
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid and o.torolt='F'
where tcs.c_kilepesdatum >=@tanevkezdet and tcs.torolt='F' and tcs.c_intezmenyid=@intezmenyid and tcs.c_tanevid=@tanevid
--Tantárgyi átlag miatt veszélyeztetett tanulók száma
select count(distinct Tanulo) TantargyiAtlagMiattVeszelyeztetettTanulokSzama from
(select te.c_tanuloid Tanulo, te.c_tantargyid Tantargy, avg(convert(float, d.c_value)) as Atlag from t_tanuloertekeles te
inner join (select distinct d.id, d.c_value from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.torolt='F' and te.c_ertekelestipusa=1518 and te.c_intezmenyid=@intezmenyid and te.c_tanevid=@tanevid
group by te.c_tanuloid, te.c_tantargyid) atlag
where atlag.Atlag<3
--Félévi jegyek miatt veszélyeztetett tanulók száma
declare @feleviVeszelyeztetett table (Tanulo int, Tantargy int)
insert into @feleviVeszelyeztetett
select distinct te.c_tanuloid as Tanulo, te.c_tantargyid as Tantargy
from t_tanuloertekeles te
inner join (select distinct d.id, d.c_value, d.c_name from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.c_ertekelestipusa=1519 and d.c_value=1 and te.torolt='F' and te.c_intezmenyid=@intezmenyid and te.c_tanevid=@tanevid
select count(Tanulo) FeleviJegyekMiattVeszelyeztetettTanulokSzama, Tantargy from
(SELECT distinct Tanulo, STUFF((SELECT ', ' + CAST(t.c_nev AS VARCHAR(10)) [text()]
FROM @feleviVeszelyeztetett
inner join t_tantargy t on t.id=Tantargy
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,2,' ') Tantargy
FROM @feleviVeszelyeztetett fv
GROUP BY Tanulo) felevi
group by Tantargy
--Év végi jegyek miatt veszélyeztetett tanulók száma
declare @evvegiVeszelyeztetett table (Tanulo int, Tantargy int)
insert into @evvegiVeszelyeztetett
select distinct te.c_tanuloid as Tanulo, te.c_tantargyid as Tantargy
from t_tanuloertekeles te
inner join (select d.id, d.c_value, d.c_name from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.c_ertekelestipusa=1520 and d.c_value=1 and te.torolt='F' and te.c_intezmenyid=@intezmenyid and te.c_tanevid=@tanevid
select count(Tanulo) EvVegiJegyekMiattVeszelyeztetettTanulokSzama, Tantargy from (SELECT distinct Tanulo, STUFF((SELECT ', ' + CAST(t.c_nev AS VARCHAR(10)) [text()]
FROM @evvegiVeszelyeztetett
inner join t_tantargy t on t.id=Tantargy
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,2,' ') Tantargy
FROM @evvegiVeszelyeztetett ev
GROUP BY Tanulo) evvegi
group by Tantargy
--Év végi romlás miatt veszélyeztetett tanulók száma
declare @feleviatlag table (Tanulo int, Atlag float)
insert into @feleviatlag
select te.c_tanuloid as Tanulo, avg(convert(float, d.c_value)) Atlag from t_tanuloertekeles te
inner join (select distinct d.id, d.c_value, d.c_name from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.c_ertekelestipusa=1519 and te.torolt='F' and te.c_intezmenyid=@intezmenyid and te.c_tanevid=@tanevid
group by te.c_tanuloid
declare @evvegiatlag table (Tanulo int, Atlag float)
insert into @evvegiatlag
select te.c_tanuloid as Tanulo, avg(convert(float, d.c_value)) Atlag from t_tanuloertekeles te
inner join (select distinct d.id, d.c_value, d.c_name from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.c_ertekelestipusa=1520 and te.torolt='F' and te.c_intezmenyid=@intezmenyid and te.c_tanevid=@tanevid
group by te.c_tanuloid
select count(f.Tanulo) EvVegiRomlasMiattVeszelyeztetettTanulokSzama from @feleviatlag f
inner join @evvegiatlag e on f.Tanulo=e.Tanulo
where f.atlag-e.atlag>1.1
--Mulasztások miatt veszélyeztetett tanulók száma
select Tanulo as MulasztasokMiattVeszelyeztetettTanulokSzama from
(select tm.c_oratanuloiid Tanulo, count(tm.id) Mulasztas from t_tanulomulasztas tm
where tm.torolt='F' and tm.c_intezmenyid=@intezmenyid and tm.c_tanevid=@tanevid
group by tm.c_oratanuloiid)mul
where Mulasztas>=100
--Tantárgyi mulasztások miatt veszélyeztetett tanulók száma
declare @tanmulvesz table(Tanulo int, Foglalkozas int, Szamlalo float)
insert into @tanmulvesz
select tm.c_oratanuloiid as Tanulo, fog.id as Foglalkozas, count(tm.id)*fog.c_oraszam as Szamlalo from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid and tao.torolt='F' and tao.c_intezmenyid=@intezmenyid and tao.c_tanevid=@tanevid
inner join t_foglalkozas fog on fog.id=tao.c_foglalkozasid and fog.c_intezmenyid=@intezmenyid and fog.c_tanevid=@tanevid
inner join t_tanulo t on t.id=tm.c_oratanuloiid and t.c_magantanulo='F'
where tm.torolt='F' and tm.c_intezmenyid=@intezmenyid and tm.c_tanevid=@tanevid
group by tm.c_oratanuloiid, fog.id, fog.c_oraszam
select count(distinct Tanulo) TantargyiMulasztasokMiattVeszelyeztetettTanulokSzama from
(select tmv.Tanulo, tmv.foglalkozas, Szamlalo Oraszam from @tanmulvesz tmv
inner join t_foglalkozas fog on fog.id=tmv.Foglalkozas and fog.torolt='F')tmVeszelyeztetett
where Oraszam>0.3*36*Oraszam
--Tantárgyi mulasztások miatt előreláthatóan veszélyeztetett tanulók száma
declare @foglalkozasok table (Id int, AktOraszam float, OsszOraszam float)
insert into @foglalkozasok
select tao.c_foglalkozasid Foglalkozas, sum(fog.c_oraszam) AktOraszam, fog.c_oraszam*36 from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid and tao.torolt='F' and tao.c_intezmenyid=@intezmenyid and tao.c_tanevid=@tanevid
inner join t_foglalkozas fog on fog.id=tao.c_foglalkozasid and fog.torolt='F' and fog.c_intezmenyid=@intezmenyid and fog.c_tanevid=@tanevid
where tm.torolt='F' and tm.c_intezmenyid=@intezmenyid and tm.c_tanevid=@tanevid
group by tao.c_foglalkozasid, fog.c_oraszam
select count(tmv.Tanulo) TantargyiMulasztasokMiattElorelathatoanVeszelyeztetettTanulokSzama from @tanmulvesz tmv
inner join @foglalkozasok fog on fog.Id=tmv.Foglalkozas
where tmv.Szamlalo>fog.AktOraszam*0.3
--Igazolatlan mulasztások miatt veszélyeztetett tanulók száma
select count(Tanulo) IgazolatlanMulasztasokMiattVeszelyeztetettTanulokSzama from
(select tm.c_oratanuloiid Tanulo, count(tm.id) Igazolatlan from t_tanulomulasztas tm
inner join t_tanulo t on tm.c_oratanuloiid=t.id and t.c_magantanulo='F'
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_intezmenyid=@intezmenyid and tm.c_tanevid=@tanevid
group by tm.c_oratanuloiid) igazolatlan
where Igazolatlan>50
--Igazolatlan mulasztások miatt előreláthatóan veszélyeztetett tanulók száma
declare @hanyados float=(select convert(float, count(nn.id))/181 from t_naptarinap nn
where nn.c_napdatuma<getdate() and nn.c_orarendinap='T' and nn.torolt='F' and nn.c_intezmenyid=@intezmenyid and nn.c_tanevid=@tanevid)
select Tanulo IgazolatlanMulasztasokMiattElorelathatoanVeszelyeztetettTanulokSzama from
(select tm.c_oratanuloiid Tanulo, sum(fog.c_oraszam)/@hanyados Osszes from t_tanulomulasztas tm
inner join t_tanulo t on tm.c_oratanuloiid=t.id and t.c_magantanulo='F'
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid and tao.c_intezmenyid=@intezmenyid and tao.c_tanevid=@tanevid and tao.torolt='F'
inner join t_foglalkozas fog on fog.id=tao.c_foglalkozasid and fog.c_intezmenyid=@intezmenyid and fog.c_tanevid=@tanevid and fog.torolt='F'
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_intezmenyid=@intezmenyid and tm.c_tanevid=@tanevid
group by tm.c_oratanuloiid) Osszes
where Osszes.Osszes>50
--Alacsony magatartásértékelésű tanulók száma
select count(distinct te.c_tanuloid) AlacsonyMagatartasertekelesuTanulokSzama from t_osztalyfonokiertekeles oe
inner join t_tanuloertekeles te on te.id=oe.id and te.c_intezmenyid=@intezmenyid and te.c_tanevid=@tanevid and te.torolt='F'
where oe.c_magatartas=1558
--Alacsony szorgalomértékelésű tanulók száma
select count(distinct te.c_tanuloid) AlacsonySzorgalomertekelesuTanulokSzama from t_osztalyfonokiertekeles oe
inner join t_tanuloertekeles te on te.id=oe.id and te.torolt='F' and te.c_intezmenyid=@intezmenyid and te.c_tanevid=@tanevid
where oe.c_szorgalom=1558 and oe.torolt='F'
--TANULÓK
declare @tanulok table(Id int, Evismetlo nvarchar(1), MaganTanulo nvarchar(1), MaganTanulosagKezdete date, MenedekJoggalRendelkezo nvarchar(1), JogVSzunetelteto nvarchar(1), Allamigondozott nvarchar(1),
Veszelyeztetett nvarchar(1), SajatosNevelesu nvarchar(1), BeilleszkedesiProblema nvarchar(1), MagatartasProblema nvarchar(1), TanulasiProblema nvarchar(1), HalmozottanFogyatekos nvarchar(1), RendszeresGyVK nvarchar(max),
MaganTanulosagOka int, HatranyosH int )
insert into @tanulok
select t.id as Id, t.c_evismetlo, t.c_magantanulo, t.c_magantanulosagkezdete, t.c_menedekjoggalrendelkezo,
t.c_jogviszonyatszunetelteto, t.c_allamigondozott, t.c_veszelyeztetett, t.c_sajatosnevelesu,
t.c_beilleszkedesiproblemavalkuz, t.c_magatartasiproblemavalkuzd, t.c_tanulasiproblemavalkuzd,
c_halmozottanfogyatekos, t.c_rendszeresgyermekvedelmikedv, t.c_magantanulosaganakoka, c_hatranyoshelyzetu
from t_tanulo t where t.torolt='F' and t.c_alintezmenyid=@intezmenyid
--Évismétlő tanulók száma !!!
select count(Id) EvismetloTanulokSzama from @tanulok where Evismetlo='T'
--Magántanulók száma
select count(Id) MagantanulokSzama from @tanulok where MaganTanulo='T'
--Magántanulóvá vált tanulók száma
declare @tanevKezdete date=(select distinct c_datum from t_tanevrendje tr where tr.c_naptipusa=1394)
select count(Id) MagantanulovaValtTanulokSzama from @tanulok t where MaganTanulo='T' and MaganTanulosagKezdete>@tanevKezdete
--Magántanulóvá vált tanulók száma saját döntés alapján
select count(Id) MagantanulovaValtTanulokSzamaSajatDontesAlapjan from @tanulok t where MaganTanulo='T' and MaganTanulosagKezdete>@tanevKezdete and MaganTanulosagOka in (658,663,664)
--Menedékjoggal rendelkező tanulók száma
select count(Id) MenedekjoggalRendelkezoTanulokSzama from @tanulok t where MenedekJoggalRendelkezo='T'
--Jogviszonyt szüneteltető tanulók száma
select count(Id) JogviszonytSzuneteltetoTanulokSzama from @tanulok t where JogVSzunetelteto='T'
--Intézeti, állami nevelt tanulók száma
select count(Id) IntezetiAllamiNeveltTanulokSzama from @tanulok t where AllamiGondozott='T'
--Veszélyeztetett tanulók száma
select count(Id) VeszelyeztetettTanulokSzama from @tanulok t where Veszelyeztetett='T'
--Sajátos nevelési igényű (SNI) tanulók száma
select count(Id) SajatosNevelesiIgenyuSniTanulokSzama from @tanulok t where SajatosNevelesu='T'
--Beilleszkedési nehézségekkel rendelkező tanulók száma
select count(Id) BeilleszkedesiNehezsegekkelRendelkezoTanulokSzama from @tanulok t where BeilleszkedesiProblema='T'
--Magatartási problémával küzdő tanulók száma
select count(Id) MagatartasiProblemavalKuzdoTanulokSzama from @tanulok t where MagatartasProblema='T'
--Tanulási problémával küzdő tanulók száma
select count(Id) TanulasiProblemavalKuzdoTanulokSzama from @tanulok t where TanulasiProblema='T'
--Hátrányos helyzetű tanulók száma
select count(Id) HatranyosHelyzetuTanulokSzama from @tanulok t where HatranyosH=1122
--Halmozottan hátrányos helyzetű tanulók száma
select count(Id) HalmozottanHatranyosHelyzetuTanulokSzama from @tanulok t where HalmozottanFogyatekos='T'
--Rendszeres gyermekvédelmi kedvezményben részesülő tanulók száma
select count(Id) RendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama from @tanulok t where RendszeresGyVK is not null
--Alapfokú oktatásban résztvevő, tizenhatodik életévét betöltött tanulók száma
select count(distinct tcs.c_tanuloid) AlapfokuOktatasbanResztvevoTizenhatodikEletevetBetoltottTanulokSzama from t_tanulocsoport tcs
inner join t_osztalycsoport ocs on tcs.c_osztalycsoportid=ocs.id
inner join t_osztaly o on o.id=ocs.id
inner join t_feladatellatasihely fh on fh.id=ocs.c_feladatellatasihelyid and fh.c_oktatasinevelesifeladattipus=1158
inner join (select t.id Id, DATEDIFF(yy, f.c_szuletesidatum, @tanevKezdete) Eletkor from t_tanulo t
inner join t_felhasznalo f on f.id=t.id) tanulo on tanulo.Id=tcs.c_tanuloid
where tanulo.Eletkor>=16 and tcs.torolt='F' and tcs.c_intezmenyid=@intezmenyid and tcs.c_tanevid=@tanevid
--A középfokú oktatásba tizenhatodik életévük betöltését követően belépett tanulók száma
select count(distinct tcs.c_tanuloid) AKozepfokuOktatasbaTizenhatodikEletevukBetoltesetKovetoenBelepettTanulokSzama from t_tanulocsoport tcs
inner join t_osztalycsoport ocs on tcs.c_osztalycsoportid=ocs.id
inner join t_osztaly o on o.id=ocs.id
inner join t_feladatellatasihely fh on fh.id=ocs.c_feladatellatasihelyid and fh.c_oktatasinevelesifeladattipus=1158
inner join (select t.id Id, DATEDIFF(yy, f.c_szuletesidatum, @tanevKezdete) Eletkor from t_tanulo t
inner join t_felhasznalo f on f.id=t.id) tanulo on tanulo.Id=tcs.c_tanuloid
where tanulo.Eletkor>=16 and tcs.torolt='F' and tcs.c_intezmenyid=@intezmenyid and tcs.c_tanevid=@tanevid
End
go

View file

@ -0,0 +1,92 @@
IF OBJECT_ID('sp_FoglalkozasArchiv') IS NOT NULL BEGIN
DROP PROCEDURE sp_FoglalkozasArchiv
END;
GO
CREATE PROCEDURE sp_FoglalkozasArchiv
@intezmenyId int,
@tanevId int
AS
BEGIN
INSERT INTO T_FOGLALKOZASARCHIV (
[C_ALKALMAZOTTID] -- INT NULL,
,[C_ELFOGADASDATUMA] -- DATETIME NULL,
,[C_FELADATELLATASIHELYID] -- INT NULL,
,[C_FELADATELLATASIHELYNEVE] -- NVARCHAR (255) NULL,
,[C_ORASZAM] -- NUMERIC (10, 2) NULL,
,[C_OSZTALYCSOPORTID] -- INT NULL,
,[C_OSZTALYCSOPORTNEVE] -- NVARCHAR (255) NULL,
,[C_TANARKOTELEZOORASZAMA] -- NUMERIC (10, 2) NULL,
,[C_TANARMUNKAIDOKEDVEZMENYE] -- INT NULL,
,[C_TANARMUNKAIDOKEDVEZMENYOKA] -- NVARCHAR (255) NULL,
,[C_TANARMUNKAIDOKEDVEZMENYOKAID]-- INT NULL,
,[C_TANARMUNKAKORE] -- NVARCHAR (255) NULL,
,[C_TANARMUNKAKOREID] -- INT NULL,
,[C_TANARNEVE] -- NVARCHAR (255) NULL,
,[C_TANARPEDAGOGIAIKEPESITESE] -- NVARCHAR (255) NULL,
,[C_TANARPEDAGOGIAIKEPESITESEID]-- INT NULL,
,[C_TANEVNEVE] -- NVARCHAR (255) NULL,
,[C_TANTARGYID] -- INT NULL,
,[C_TANTARGYNEVE] -- NVARCHAR (255) NULL,
,[C_INTEZMENYID] -- INT NOT NULL,
,[C_TANEVID] -- INT NOT NULL,
,[TOROLT] -- CHAR (1) NULL,
,[SERIAL] -- INT NULL,
,[LASTCHANGED] -- DATETIME NULL,
,[CREATED] -- DATETIME NULL,
,[MODIFIER] -- INT NULL,
,[CREATOR] -- INT NULL,
) SELECT
u.ID AS [C_ALKALMAZOTTID] -- INT NULL,
,GETDATE() AS [C_ELFOGADASDATUMA] -- DATETIME NULL,
,fh.ID AS [C_FELADATELLATASIHELYID] -- INT NULL,
,'' AS [C_FELADATELLATASIHELYNEVE] -- NVARCHAR (255) NULL,
,f.C_ORASZAM AS [C_ORASZAM] -- NUMERIC (10, 2) NULL,
,ocs.ID AS [C_OSZTALYCSOPORTID] -- INT NULL,
,ocs.C_NEV AS [C_OSZTALYCSOPORTNEVE] -- NVARCHAR (255) NULL,
,m.C_KOTELEZOORASZAM AS [C_TANARKOTELEZOORASZAMA] -- NUMERIC (10, 2) NULL,
,m.C_MUNKAIDOKEDVEZMENYORASZAM AS [C_TANARMUNKAIDOKEDVEZMENYE] -- INT NULL,
,mk.C_NAME AS [C_TANARMUNKAIDOKEDVEZMENYOKA] -- NVARCHAR (255) NULL,
,m.C_MUNKAIDOKEDVEZMENYOKA AS [C_TANARMUNKAIDOKEDVEZMENYOKAID]-- INT NULL,
,k.C_NAME AS [C_TANARMUNKAKORE] -- NVARCHAR (255) NULL,
,m.C_MUNKAKORTIPUSA AS [C_TANARMUNKAKOREID] -- INT NULL,
,u.C_NYOMTATASINEV AS [C_TANARNEVE] -- NVARCHAR (255) NULL,
,kp.C_NAME AS [C_TANARPEDAGOGIAIKEPESITESE] -- NVARCHAR (255) NULL,
,m.C_KEPESITES AS [C_TANARPEDAGOGIAIKEPESITESEID]-- INT NULL,
,te.C_NEV AS [C_TANEVNEVE] -- NVARCHAR (255) NULL,
,t.ID AS [C_TANTARGYID] -- INT NULL,
,t.C_NEV AS [C_TANTARGYNEVE] -- NVARCHAR (255) NULL,
,f.C_INTEZMENYID AS [C_INTEZMENYID] -- INT NOT NULL,
,f.C_TANEVID AS [C_TANEVID] -- INT NOT NULL,
,'F' AS [TOROLT] -- CHAR (1) NULL,
,0 AS [SERIAL] -- INT NULL,
,NULL AS [LASTCHANGED] -- DATETIME NULL,
,GETDATE() AS [CREATED] -- DATETIME NULL,
,NULL AS [MODIFIER] -- INT NULL,
,NULL AS [CREATOR] -- INT NULL,
-- select count(1)
FROM T_FOGLALKOZAS f
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.C_FOGLALKOZASOKID = f.ID
INNER JOIN T_FELHASZNALO u ON u.ID = ft.C_TANAROKID
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
INNER JOIN T_ALKALMAZOTT a ON a.ID = u.ID
INNER JOIN T_MUNKAUGYIADATOK m ON m.C_ALKALMAZOTTID = a.ID
INNER JOIN T_TANTARGY t ON f.C_TANTARGYID = t.ID
INNER JOIN T_TANEV te ON te.ID = f.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE mk ON mk.ID = m.C_MUNKAIDOKEDVEZMENYOKA AND mk.C_TANEVID = f.C_TANEVID AND mk.C_INTEZMENYID = f.C_INTEZMENYID
LEFT JOIN T_DICTIONARYITEMBASE k ON k.ID = m.C_MUNKAKORTIPUSA AND k.C_TANEVID = f.C_TANEVID AND k.C_INTEZMENYID = f.C_INTEZMENYID
LEFT JOIN T_DICTIONARYITEMBASE kp ON kp.ID = m.C_KEPESITES AND kp.C_TANEVID = f.C_TANEVID AND kp.C_INTEZMENYID = f.C_INTEZMENYID
INNER JOIN T_FELADATELLATASIHELY fh ON fh.ID = m.C_FELADATELLATASIHELYID
WHERE f.TOROLT = 'F'
/*AND f.C_INTEZMENYID IN (
SELECT DISTINCT e.C_INTEZMENYID FROM T_ENTITYHISTORY e
INNER JOIN T_ENTITYATTRIBUTEHISTORY a ON a.C_ENTITYHISTORYID = e.ID
INNER JOIN T_INTEZMENYADATSZOLGALTATAS i ON i.C_INTEZMENYID = e.C_INTEZMENYID
WHERE e.C_ENTITYNAME IN ('T_INTEZMENYADATSZOLGALTATAS', 'INTEZMENYADATSZOLGALTATAS')
AND a.C_PROPERTYNAME = 'C_VEGLEGESTTF'
AND a.C_CURRENTVALUE = 'T'
AND i.C_VEGLEGESTTF = 'T'
)*/
AND f.C_INTEZMENYID = @intezmenyId AND f.C_TANEVID = @tanevId
END
GO

View file

@ -0,0 +1,209 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GenerateErtekelesekMagatartasSzorgalomTempTabla]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GenerateErtekelesekMagatartasSzorgalomTempTabla]
END
GO
-- =============================================
-- Description: <Elõszedi a magatartas szorgalom értékeléseket, havi bontásban osztálycsoport alapján>
-- NOTE: EZT A HÁROM TÁROLT ELJÁRÁST EGYBEN KELL KEZELNI, HA MÓDOSÍTJUK!!!
-- - sp_GenerateErtekelesekTempTabla
-- - sp_GenerateErtekelesekTempTablaByFoglalkozas
-- - sp_GenerateErtekelesekMagatartasSzorgalomTempTabla
-- =============================================
CREATE PROCEDURE [dbo].[sp_GenerateErtekelesekMagatartasSzorgalomTempTabla]
-- Add the parameters for the stored procedure here
@pOsztalyId INT,
@pFelevVege DATE,
@pEvkozi INT,
@pFelevi INT,
@pEvvegi INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @TempErtekeles TABLE (
ID INT,
ErtekelesDatuma NVARCHAR(255),
ErtekelesTipusa INT,
ErtekelesSzoveg NVARCHAR(MAX),
Honap NVARCHAR(2),
TanuloId INT,
Nev NVARCHAR(255),
Osztalyzat INT,
Magatartas INT,
Szorgalom INT
)
INSERT INTO @TempErtekeles
SELECT *
FROM (
SELECT
tanuloErtekeles.ID ID,
tanuloErtekeles.C_ERTEKELESDATUM ErtekelesDatuma,
tanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa,
tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg,
CASE WHEN tanuloErtekeles.C_ERTEKELESTIPUSA = @pFelevi
THEN 'I'
WHEN tanuloErtekeles.C_ERTEKELESTIPUSA = @pEvvegi
THEN 'II'
ELSE
CASE
WHEN CAST(tanuloErtekeles.C_ERTEKELESDATUM AS DATE) > @pFelevVege
THEN CAST(MONTH(tanuloErtekeles.C_ERTEKELESDATUM) + 1 AS NVARCHAR(2))
ELSE CAST(MONTH(tanuloErtekeles.C_ERTEKELESDATUM) AS NVARCHAR(2))
END
END Honap,
tanuloCsoport.C_TANULOID TanuloId,
felhasznalo.C_NYOMTATASINEV Nev,
osztalyzat.C_VALUE Osztalyzat,
magatartas.C_Value Magatartas,
szorgalom.C_Value Szorgalom
FROM (
SELECT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F' AND
[C_BELEPESDATUM] < GETDATE() AND
([C_KILEPESDATUM] IS NULL OR [C_KILEPESDATUM] >= GETDATE()) AND
[C_OSZTALYCSOPORTID] = @pOsztalyId
) AS tanuloCsoport
INNER JOIN (
SELECT
[ID],
[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
) AS felhasznalo
ON felhasznalo.ID = tanuloCsoport.C_TANULOID
LEFT JOIN (
SELECT
[ID],
[C_ERTEKELESDATUM],
[C_ERTEKELESTIPUSA],
[C_OSZTALYZAT],
[C_ERTEKELESSZOVEG],
[C_TANULOID]
FROM
[T_TANULOERTEKELES]
WHERE
[TOROLT] = 'F' AND
[C_TANTARGYID] IS NULL
) AS tanuloErtekeles
ON tanuloErtekeles.C_TANULOID = tanuloCsoport.C_TANULOID
LEFT JOIN (
SELECT
[ID],
[C_MAGATARTAS],
[C_SZORGALOM]
FROM
[T_OSZTALYFONOKIERTEKELES]
WHERE
[TOROLT] = 'F'
) AS osztalyfonokiErtekeles
ON osztalyfonokiErtekeles.ID = tanuloErtekeles.ID
LEFT JOIN (
SELECT
[ID],
[C_VALUE]
FROM
[T_DICTIONARYITEMBASE]
WHERE
[TOROLT] = 'F'
) AS osztalyzat
ON osztalyzat.ID = tanuloErtekeles.C_OSZTALYZAT
LEFT JOIN (
SELECT
[ID],
[C_VALUE]
FROM
[T_DICTIONARYITEMBASE]
WHERE
[TOROLT] = 'F'
) AS magatartas
ON magatartas.ID = osztalyfonokiErtekeles.C_MAGATARTAS
LEFT JOIN (
SELECT
[ID],
[C_VALUE]
FROM
[T_DICTIONARYITEMBASE]
WHERE
[TOROLT] = 'F'
) AS szorgalom
ON szorgalom.ID = osztalyfonokiErtekeles.C_SZORGALOM
) AS temp
SELECT *
FROM (
SELECT
pivotErtekelesek.TanuloId ID,
Nev Nev,
[9] [09],
[10] [10],
[11] [11],
[12] [12],
[1] [01I],
[2] [01II],
[3] [02],
[4] [03],
[5] [04],
[6] [05],
[7] [06],
[I] [I],
[II] [II],
'' Ertekeles,
'' ErtekelesSzoveg,
'' Magatartas,
'' Szorgalom
FROM (
SELECT DISTINCT
tempErtekeles1.Nev,
STUFF (
(SELECT
',' +
ISNULL(CAST(tempErtekeles2.Osztalyzat AS VARCHAR(1)), '') +
ISNULL(CAST(tempErtekeles2.Magatartas AS varchar(15)), '') + ',' + ISNULL(CAST(tempErtekeles2.Szorgalom AS varchar(15)), '') +
ISNULL(CAST(
CASE
WHEN tempErtekeles2.ErtekelesSzoveg IS NULL OR LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(tempErtekeles2.ErtekelesSzoveg, CHAR(9), ''), CHAR(10), ''), CHAR(13), ''))) = ''
THEN NULL
ELSE
'sz'
END AS VARCHAR(2)), '')
FROM
@TempErtekeles tempErtekeles2
WHERE
tempErtekeles1.TanuloId = tempErtekeles2.TanuloId AND
tempErtekeles1.Honap = tempErtekeles2.Honap
FOR XML PATH ('')
), 1, 1, ''
) Ertekelesek,
tempErtekeles1.Honap,
tempErtekeles1.TanuloId
FROM
@TempErtekeles tempErtekeles1
) AS erdemjegyek
PIVOT (
MAX(Ertekelesek)
FOR Honap
IN ([I], [II], [9] ,[10] ,[11] ,[12] ,[1] ,[2] ,[3] ,[4] ,[5] ,[6], [7])
) AS pivotErtekelesek
) AS result
IF OBJECT_ID('tempdb..#TempErtekeles') IS NOT NULL DROP TABLE #TempErtekeles
END

View file

@ -0,0 +1,240 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GenerateErtekelesekTempTabla]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GenerateErtekelesekTempTabla]
END
GO
-- =============================================
-- Description: <Elõszedi az értékeléseket, havi bontásban tantárgy és osztálycsoport alapján>
-- NOTE: EZT A HÁROM TÁROLT ELJÁRÁST EGYBEN KELL KEZELNI, HA MÓDOSÍTJUK!!!
-- - sp_GenerateErtekelesekTempTabla
-- - sp_GenerateErtekelesekTempTablaByFoglalkozas
-- - sp_GenerateErtekelesekMagatartasSzorgalomTempTabla
-- =============================================
CREATE PROCEDURE [dbo].[sp_GenerateErtekelesekTempTabla]
-- Add the parameters for the stored procedure here
@pTantargyId INT,
@pOsztalyId INT,
@pFelevVege DATE,
@pEvkozi INT,
@pFelevi INT,
@pEvvegi INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @TempErtekeles TABLE (
ID INT,
ErtekelesDatuma NVARCHAR(255),
ErtekelesTipusa INT,
ErtekelesSzoveg NVARCHAR(MAX),
Honap NVARCHAR(2),
TanuloId INT,
Nev NVARCHAR(255),
Osztalyzat INT,
Szazalek INT,
Suly INT
)
INSERT INTO @TempErtekeles
SELECT *
FROM (
SELECT
tanuloErtekeles.ID ID,
tanuloErtekeles.C_ERTEKELESDATUM ErtekelesDatuma,
tanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa,
tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg,
CASE WHEN tanuloErtekeles.C_ERTEKELESTIPUSA = @pFelevi
THEN 'I'
WHEN tanuloErtekeles.C_ERTEKELESTIPUSA = @pEvvegi
THEN 'II'
ELSE
CASE
WHEN CAST(tanuloErtekeles.C_ERTEKELESDATUM AS DATE) > @pFelevVege
THEN CAST(MONTH(tanuloErtekeles.C_ERTEKELESDATUM) + 1 AS NVARCHAR(2))
ELSE CAST(MONTH(tanuloErtekeles.C_ERTEKELESDATUM) AS NVARCHAR(2))
END
END Honap,
tanuloCsoport.C_TANULOID TanuloId,
felhasznalo.C_NYOMTATASINEV Nev,
osztalyzat.C_VALUE Osztalyzat,
osztalyzatErtekeles.C_SZAZALEK Szazalek,
tanariAtlagSuly.C_SULY Suly
FROM (
SELECT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F' AND
[C_BELEPESDATUM] < GETDATE() AND
([C_KILEPESDATUM] IS NULL OR [C_KILEPESDATUM] >= GETDATE()) AND
[C_OSZTALYCSOPORTID] = @pOsztalyId
) AS tanuloCsoport
INNER JOIN (
SELECT
[ID],
[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
) AS felhasznalo
ON felhasznalo.ID = tanuloCsoport.C_TANULOID
LEFT JOIN (
SELECT
[ID],
[C_ERTEKELESDATUM],
[C_ERTEKELESTIPUSA],
[C_OSZTALYZAT],
[C_ERTEKELESSZOVEG],
[C_TANULOID]
FROM
[T_TANULOERTEKELES]
WHERE
[TOROLT] = 'F' AND
[C_TANTARGYID] = @pTantargyId
) AS tanuloErtekeles
ON tanuloErtekeles.C_TANULOID = tanuloCsoport.C_TANULOID
LEFT JOIN (
SELECT
[ID],
[C_SZAZALEK],
[C_ERTEKELESMODJA]
FROM
[T_OSZTALYZATERTEKELES]
WHERE
[TOROLT] = 'F'
) AS osztalyzatErtekeles
ON osztalyzatErtekeles.ID = tanuloErtekeles.ID
LEFT JOIN (
SELECT
[ID],
[C_VALUE]
FROM
[T_DICTIONARYITEMBASE]
WHERE
[TOROLT] = 'F'
) AS osztalyzat
ON osztalyzat.ID = tanuloErtekeles.C_OSZTALYZAT
LEFT JOIN T_TANARIATLAGSULY_OSSZES tanariAtlagSuly
ON tanariAtlagSuly.C_ERTEKELESMODJA = osztalyzatErtekeles.C_ERTEKELESMODJA AND
tanuloErtekeles.C_OSZTALYZAT IS NOT NULL AND
tanariAtlagSuly.TOROLT = 'F'
) AS temp
SELECT
result.*
,result2.ErtkelesMentesseg
,result2.SzovegesenErtekelheto
FROM (
SELECT
pivotErtekelesek.TanuloId ID,
Nev Nev,
[9] [09],
[10] [10],
[11] [11],
[12] [12],
[1] [01I],
[2] [01II],
[3] [02],
[4] [03],
[5] [04],
[6] [05],
[7] [06],
[I] [I],
[II] [II],
atlag.Jegy Atlag,
'' Ertekeles,
'' ErtekelesSzoveg,
'' Szazalekos,
@pTantargyId TantargyId
FROM (
SELECT DISTINCT
tempErtekeles1.Nev,
STUFF (
(SELECT
',' +
ISNULL(CAST(tempErtekeles2.Osztalyzat AS VARCHAR(1)), '') +
ISNULL(CAST(tempErtekeles2.Szazalek AS VARCHAR(2)), '') +
ISNULL(CAST(
CASE
WHEN tempErtekeles2.ErtekelesSzoveg IS NULL OR LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(tempErtekeles2.ErtekelesSzoveg, CHAR(9), ''), CHAR(10), ''), CHAR(13), ''))) = ''
THEN NULL
ELSE
'sz'
END AS VARCHAR(2)), '')
FROM
@TempErtekeles tempErtekeles2
WHERE
tempErtekeles1.TanuloId = tempErtekeles2.TanuloId AND
tempErtekeles1.Honap = tempErtekeles2.Honap
FOR XML PATH ('')
), 1, 1, ''
) Ertekelesek,
tempErtekeles1.Honap,
tempErtekeles1.TanuloId
FROM
@TempErtekeles tempErtekeles1
) AS erdemjegyek
PIVOT (
MAX(Ertekelesek)
FOR Honap
IN ([I], [II], [9] ,[10] ,[11] ,[12] ,[1] ,[2] ,[3] ,[4] ,[5] ,[6], [7])
) AS pivotErtekelesek
LEFT JOIN (
SELECT
TanuloId TanuloId,
ROUND(
SUM(CAST(Osztalyzat AS FLOAT) * CAST(ISNULL(Suly, 100) AS FLOAT) / 100) / SUM(CAST(ISNULL(Suly, 100) AS FLOAT) / 100)
, 2) Jegy
FROM
@TempErtekeles
WHERE
ErtekelesTipusa = @pEvkozi AND
Osztalyzat IS NOT NULL
GROUP BY
TanuloId
) AS atlag
ON pivotErtekelesek.TanuloId = atlag.TanuloId
) AS result
JOIN (
SELECT
felhasznalo.ID ID,
tanuloMentesseg.C_ERTEKELESMENTESITES ErtkelesMentesseg,
tanuloMentesseg.C_SZOVEGESENERTEKELHETO SzovegesenErtekelheto
FROM
T_TANULOCSOPORT AS tanuloCsoport
INNER JOIN T_FELHASZNALO felhasznalo ON
felhasznalo.ID = tanuloCsoport.C_TANULOID
LEFT JOIN T_TARGYTANULOATLAG targyTanuloAtlag ON
targyTanuloAtlag.C_TANTARGYID = @pTantargyId AND
targyTanuloAtlag.C_TANULOID = felhasznalo.ID
LEFT JOIN T_TANULOMENTESSEG tanuloMentesseg ON
tanuloMentesseg.C_TANULOID = felhasznalo.ID AND
tanuloMentesseg.TOROLT = 'F' AND
tanuloMentesseg.C_TANTARGYID = @pTantargyId AND
tanuloMentesseg.C_KEZDETE IS NULL AND
tanuloMentesseg.C_VEGE IS NULL
WHERE
tanuloCsoport.TOROLT = 'F' AND
tanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyId AND
tanuloCsoport.C_BELEPESDATUM < GETDATE() AND
(tanuloCsoport.C_KILEPESDATUM IS NULL OR tanuloCsoport.C_KILEPESDATUM >= GETDATE())
) AS result2
ON result2.ID = result.ID
IF OBJECT_ID('tempdb..#TempErtekeles') IS NOT NULL DROP TABLE #TempErtekeles
END
GO

View file

@ -0,0 +1,250 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GenerateErtekelesekTempTablaByFoglalkozas]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GenerateErtekelesekTempTablaByFoglalkozas]
END
GO
-- =============================================
-- Description: <Előszedi az értékeléseket, havi bontásban foglalkozás alapján>
-- NOTE: EZT A HÁROM TÁROLT ELJÁRÁST EGYBEN KELL KEZELNI, HA MÓDOSÍTJUK!!!
-- - sp_GenerateErtekelesekTempTabla
-- - sp_GenerateErtekelesekTempTablaByFoglalkozas
-- - sp_GenerateErtekelesekMagatartasSzorgalomTempTabla
-- =============================================
CREATE PROCEDURE [dbo].[sp_GenerateErtekelesekTempTablaByFoglalkozas]
-- Add the parameters for the stored procedure here
@pFoglalkozasId INT,
@pFelevVege DATE,
@pEvkozi INT,
@pFelevi INT,
@pEvvegi INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @OsztalyId INT;
DECLARE @TantargyId INT;
SELECT
@OsztalyId = foglalkozas.C_OSZTALYCSOPORTID,
@TantargyId = foglalkozas.C_TANTARGYID
FROM
T_FOGLALKOZAS foglalkozas
WHERE
foglalkozas.ID = @pFoglalkozasId
DECLARE @TempErtekeles TABLE (
ID INT,
ErtekelesDatuma NVARCHAR(255),
ErtekelesTipusa INT,
ErtekelesSzoveg NVARCHAR(MAX),
Honap NVARCHAR(2),
TanuloId INT,
Nev NVARCHAR(255),
Osztalyzat INT,
Szazalek INT,
Suly INT
)
INSERT INTO @TempErtekeles
SELECT *
FROM (
SELECT
tanuloErtekeles.ID ID,
tanuloErtekeles.C_ERTEKELESDATUM ErtekelesDatuma,
tanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa,
tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg,
CASE WHEN tanuloErtekeles.C_ERTEKELESTIPUSA = @pFelevi
THEN 'I'
WHEN tanuloErtekeles.C_ERTEKELESTIPUSA = @pEvvegi
THEN 'II'
ELSE
CASE
WHEN CAST(tanuloErtekeles.C_ERTEKELESDATUM AS DATE) > @pFelevVege
THEN CAST(MONTH(tanuloErtekeles.C_ERTEKELESDATUM) + 1 AS NVARCHAR(2))
ELSE CAST(MONTH(tanuloErtekeles.C_ERTEKELESDATUM) AS NVARCHAR(2))
END
END Honap,
tanuloCsoport.C_TANULOID TanuloId,
felhasznalo.C_NYOMTATASINEV Nev,
osztalyzat.C_VALUE Osztalyzat,
osztalyzatErtekeles.C_SZAZALEK Szazalek,
tanariAtlagSuly.C_SULY Suly
FROM (
SELECT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F' AND
[C_BELEPESDATUM] < GETDATE() AND
([C_KILEPESDATUM] IS NULL OR [C_KILEPESDATUM] >= GETDATE()) AND
[C_OSZTALYCSOPORTID] = @OsztalyId
) AS tanuloCsoport
INNER JOIN (
SELECT
[ID],
[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
) AS felhasznalo
ON felhasznalo.ID = tanuloCsoport.C_TANULOID
LEFT JOIN (
SELECT
[ID],
[C_ERTEKELESDATUM],
[C_ERTEKELESTIPUSA],
[C_OSZTALYZAT],
[C_ERTEKELESSZOVEG],
[C_TANULOID]
FROM
[T_TANULOERTEKELES]
WHERE
[TOROLT] = 'F' AND
[C_TANTARGYID] = @TantargyId
) AS tanuloErtekeles
ON tanuloErtekeles.C_TANULOID = tanuloCsoport.C_TANULOID
LEFT JOIN (
SELECT
[ID],
[C_SZAZALEK],
[C_ERTEKELESMODJA]
FROM
[T_OSZTALYZATERTEKELES]
WHERE
[TOROLT] = 'F'
) AS osztalyzatErtekeles
ON osztalyzatErtekeles.ID = tanuloErtekeles.ID
LEFT JOIN (
SELECT
[ID],
[C_VALUE]
FROM
[T_DICTIONARYITEMBASE]
WHERE
[TOROLT] = 'F'
) AS osztalyzat
ON osztalyzat.ID = tanuloErtekeles.C_OSZTALYZAT
LEFT JOIN T_TANARIATLAGSULY_OSSZES tanariAtlagSuly
ON tanariAtlagSuly.C_ERTEKELESMODJA = osztalyzatErtekeles.C_ERTEKELESMODJA AND
tanuloErtekeles.C_OSZTALYZAT IS NOT NULL AND
tanariAtlagSuly.TOROLT = 'F'
) AS temp
SELECT
result.*
,result2.ErtkelesMentesseg
,result2.SzovegesenErtekelheto
FROM (
SELECT
pivotErtekelesek.TanuloId ID,
Nev Nev,
[9] [09],
[10] [10],
[11] [11],
[12] [12],
[1] [01I],
[2] [01II],
[3] [02],
[4] [03],
[5] [04],
[6] [05],
[7] [06],
[I] [I],
[II] [II],
atlag.Jegy Atlag,
'' Ertekeles,
'' ErtekelesSzoveg,
'' Szazalekos,
@TantargyId TantargyId
FROM (
SELECT DISTINCT
tempErtekeles1.Nev,
STUFF (
(SELECT
',' +
ISNULL(CAST(tempErtekeles2.Osztalyzat AS VARCHAR(1)), '') +
ISNULL(CAST(tempErtekeles2.Szazalek AS VARCHAR(2)), '') +
ISNULL(CAST(
CASE
WHEN tempErtekeles2.ErtekelesSzoveg IS NULL OR LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(tempErtekeles2.ErtekelesSzoveg, CHAR(9), ''), CHAR(10), ''), CHAR(13), ''))) = ''
THEN NULL
ELSE
'sz'
END AS VARCHAR(2)), '')
FROM
@TempErtekeles tempErtekeles2
WHERE
tempErtekeles1.TanuloId = tempErtekeles2.TanuloId AND
tempErtekeles1.Honap = tempErtekeles2.Honap
FOR XML PATH ('')
), 1, 1, ''
) Ertekelesek,
tempErtekeles1.Honap,
tempErtekeles1.TanuloId
FROM
@TempErtekeles tempErtekeles1
) AS erdemjegyek
PIVOT (
MAX(Ertekelesek)
FOR Honap
IN ([I], [II], [9] ,[10] ,[11] ,[12] ,[1] ,[2] ,[3] ,[4] ,[5] ,[6], [7])
) AS pivotErtekelesek
LEFT JOIN (
SELECT
TanuloId TanuloId,
ROUND(
SUM(CAST(Osztalyzat AS FLOAT) * CAST(ISNULL(Suly, 100) AS FLOAT) / 100) / SUM(CAST(ISNULL(Suly, 100) AS FLOAT) / 100)
, 2) Jegy
FROM
@TempErtekeles
WHERE
ErtekelesTipusa = @pEvkozi AND
Osztalyzat IS NOT NULL
GROUP BY
TanuloId
) AS atlag
ON pivotErtekelesek.TanuloId = atlag.TanuloId
) AS result
JOIN (
SELECT
felhasznalo.ID ID,
tanuloMentesseg.C_ERTEKELESMENTESITES ErtkelesMentesseg,
tanuloMentesseg.C_SZOVEGESENERTEKELHETO SzovegesenErtekelheto
FROM
T_TANULOCSOPORT AS tanuloCsoport
INNER JOIN T_FELHASZNALO felhasznalo ON
felhasznalo.ID = tanuloCsoport.C_TANULOID
LEFT JOIN T_TARGYTANULOATLAG targyTanuloAtlag ON
targyTanuloAtlag.C_TANTARGYID = @TantargyId AND
targyTanuloAtlag.C_TANULOID = felhasznalo.ID
LEFT JOIN T_TANULOMENTESSEG tanuloMentesseg ON
tanuloMentesseg.C_TANULOID = felhasznalo.ID AND
tanuloMentesseg.TOROLT = 'F' AND
tanuloMentesseg.C_TANTARGYID = @TantargyId AND
tanuloMentesseg.C_KEZDETE IS NULL AND
tanuloMentesseg.C_VEGE IS NULL
WHERE
tanuloCsoport.TOROLT = 'F' AND
tanuloCsoport.C_OSZTALYCSOPORTID = @OsztalyId AND
tanuloCsoport.C_BELEPESDATUM < GETDATE() AND
(tanuloCsoport.C_KILEPESDATUM IS NULL OR tanuloCsoport.C_KILEPESDATUM >= GETDATE())
) AS result2
ON result2.ID = result.ID
IF OBJECT_ID('tempdb..#TempErtekeles') IS NOT NULL DROP TABLE #TempErtekeles
END
GO

View file

@ -0,0 +1,102 @@
-- ==========================================================================================
-- Author: Telek Ákos
-- Create date: 2016.06.08.
-- Description: Naptári hetek generálása TANEVRENDJE alapján
-- ==========================================================================================
IF OBJECT_ID('sp_GenerateNaptariHetek') IS NOT NULL BEGIN
DROP PROCEDURE sp_GenerateNaptariHetek
END
GO
CREATE PROCEDURE sp_GenerateNaptariHetek
@intezmenyId int,
@tanevId int
AS
BEGIN
SET DATEFIRST 1; -- Sets the first day of the week to a number from 1 (Monday) through 7 (Sunday).
DECLARE @startDate datetime,
@endDate datetime,
@cnt int;
DELETE FROM T_NAPTARIHET_OSSZES
WHERE C_INTEZMENYID = @intezmenyId
AND C_TANEVID = @tanevId
/* megnézzük, hány nem 1554-es hetirend van */
SELECT @cnt = COUNT(1)
FROM T_HETIRENDTIPUS_OSSZES
WHERE ID <> 1554 AND C_ALTANEVID = @tanevId
AND TOROLT='F'
/* első tanítási nap */
SELECT @startDate = C_DATUM
FROM T_TANEVRENDJE_OSSZES
WHERE C_NAPTIPUSA = 1394
AND C_TANEVID = @tanevId
AND TOROLT='F'
/* utolsó tanítási nap */
SELECT @endDate = C_UTOLSONAP
FROM T_TANEV_OSSZES
WHERE ID = @tanevId AND TOROLT='F';
IF @startDate IS NULL BEGIN
SELECT @startDate = ISNULL(C_ELSOTANITASINAP, C_KEZDONAP)
FROM T_TANEV_OSSZES
WHERE ID = @tanevId
END
/* CTE a napok legenerálásához */
;WITH ctedaterange AS (
SELECT [Dates] = @startDate, week = 1
UNION ALL
SELECT [dates] + 1, week + IIF(DATEPART(dw, dates + 1) = 1, 1, 0)
FROM ctedaterange
WHERE [dates] + 1 <= @endDate
)
/* Maga az inzert */
INSERT INTO T_NAPTARIHET_OSSZES (
C_HETIREND
,C_HETKEZDONAPJA
,C_HETSORSZAMA
,C_HETUTOLSONAPJA
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
) SELECT
ISNULL(x.ID, 1554) AS C_HETIREND -- C_HETIREND - int
,mindate AS C_HETKEZDONAPJA -- C_HETKEZDONAPJA - datetime
,week AS C_HETSORSZAMA -- C_HETSORSZAMA - int
,maxdate AS C_HETUTOLSONAPJA -- C_HETUTOLSONAPJA - datetime
,@intezmenyId AS C_INTEZMENYID -- C_INTEZMENYID - int
,@tanevId AS C_TANEVID -- C_TANEVID - int
,'F' AS TOROLT -- TOROLT - char(1)
,0 AS SERIAL -- SERIAL - int
,NULL AS LASTCHANGED -- LASTCHANGED - datetime
,GETDATE() AS CREATED -- CREATED - datetime
,NULL AS MODIFIER -- MODIFIER - int
,NULL AS CREATOR -- CREATOR - int
FROM (
SELECT
MIN(dates) AS mindate -- C_HETKEZDONAPJA - datetime
,week AS week -- C_HETSORSZAMA - int
,MAX(dates) AS maxdate -- C_HETUTOLSONAPJA - datetime
FROM ctedaterange
GROUP BY week
) c
LEFT JOIN (
SELECT ROW_NUMBER() OVER (ORDER BY C_VALUE) AS RN, ID
FROM T_DICTIONARYITEMBASE_OSSZES d
WHERE C_TYPE = 'HetiRendTipus' AND ID <> 1554
AND C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevId AND TOROLT='F'
) x ON x.RN % NULLIF(@cnt, 0) = c.week % NULLIF(@cnt, 0)
OPTION (maxrecursion 400)
END
GO

View file

@ -0,0 +1,163 @@
-- ==========================================================================================
-- Author: Telek Ákos
-- Create date: 2016.05.31.
-- Description: Ha az adott tanévhez nincs egy naptári nap sem, akkor létrehoz egy alapot.
-- Ha van, akkor update-el a tanév rendje alapján.
-- ==========================================================================================
IF OBJECT_ID('[sp_GenerateNaptariNapok]') IS NOT NULL BEGIN
DROP PROCEDURE [sp_GenerateNaptariNapok]
END
GO
CREATE PROCEDURE [sp_GenerateNaptariNapok]
@intezmenyId int,
@tanevId int,
@overrideDefault bit = 0 -- felülírja-e az alapadatokat is?
AS
BEGIN
SET NOCOUNT ON;
SET DATEFIRST 1; -- Sets the first day of the week to a number from 1 (Monday) through 7 (Sunday).
DECLARE @startDate datetime,
@endDate datetime,
@firstDay datetime,
@lastDay datetime
-- Adott @tanevId alapján kezdő és végdátum lekérdezése
SELECT
@startDate = t.C_KEZDONAP
,@endDate = t.C_UTOLSONAP
,@firstDay = t.C_ELSOTANITASINAP
,@lastDay = t.C_UTOLSOTANITASINAP
FROM T_TANEV t WHERE t.ID = @tanevId
IF (SELECT COUNT(1) FROM T_NAPTARINAP_OSSZES WHERE C_TANEVID = @tanevId) = 0 BEGIN
-- a két dátum közötti napok kigenerálása
;WITH ctedaterange AS (
SELECT [Dates] = @startDate, week = 1
UNION ALL
SELECT [dates] + 1, week + IIF(DATEPART(dw, dates + 1) = 1, 1, 0)
FROM ctedaterange
WHERE [dates] + 1 <= @endDate
)
INSERT INTO T_NAPTARINAP (
C_HETIREND
,C_HETNAPJA
,C_HETSORSZAMA
,C_NAPDATUMA
,C_NAPTIPUSA
,C_ORARENDINAP
,C_ALAPHETIREND
,C_ALAPHETNAPJA
,C_ALAPNAPTIPUSA
,C_ALAPORARENDINAP
,C_ALAPCSENGETESIRENDID
,C_AKTIVCSENGETESIRENDID
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,SERIAL
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR
) SELECT
ISNULL(h.C_HETIREND, 1554) AS C_HETIREND -- C_HETIREND - int
,hn.ID AS C_HETNAPJA -- C_HETNAPJA - int
,h.C_HETSORSZAMA AS C_HETSORSZAMA -- C_HETSORSZAMA - int
,s.dates AS C_NAPDATUMA -- C_NAPDATUMA - datetime
,CASE
WHEN DATEPART(dw, s.dates) IN (6, 7)
THEN 1386 --Munkaszüneti nap
ELSE 1385 --Tanítási nap
END AS C_NAPTIPUSA -- C_NAPTIPUSA - int
,CASE
WHEN DATEPART(dw, s.dates) IN (6, 7)
THEN 'F' -- 'Munkaszüneti nap'
ELSE 'T' -- 'Tanítási nap'
END AS C_ORARENDINAP -- C_ORARENDINAP - char(1)
,ISNULL(h.C_HETIREND, 1554) AS C_ALAPHETIREND -- C_ALAPHETIREND - int
,hn.ID AS C_ALAPHETNAPJA -- C_ALAPHETNAPJA - int
,CASE
WHEN DATEPART(dw, s.dates) IN (6, 7)
THEN 1386 -- 'Munkaszüneti nap'
ELSE 1385 -- 'Tanítási nap'
END AS C_ALAPNAPTIPUSA -- C_ALAPNAPTIPUSA - int
,CASE
WHEN DATEPART(dw, s.dates) IN (6, 7)
THEN 'F' -- 'Munkaszüneti nap'
ELSE 'T' -- 'Tanítási nap'
END AS C_ALAPORARENDINAP -- C_ALAPORARENDINAP - char(1)
,NULL AS C_ALAPCSENGETESIRENDID -- C_ALAPCSENGETESIRENDID - int
,NULL AS C_AKTIVCSENGETESIRENDID -- C_AKTIVCSENGETESIRENDID - int
,@intezmenyId AS C_INTEZMENYID -- C_INTEZMENYID - int
,@tanevId AS C_TANEVID -- C_TANEVID - int
,'F' AS TOROLT -- TOROLT - char(1)
,0 AS SERIAL -- SERIAL - int
,GETDATE() AS LASTCHANGED -- LASTCHANGED - datetime
,GETDATE() AS CREATED -- CREATED - datetime
,NULL AS MODIFIER -- MODIFIER - int
,NULL AS CREATOR -- CREATOR - int
FROM ctedaterange s
LEFT JOIN T_TANEVRENDJE_OSSZES t ON s.dates = t.C_DATUM AND t.C_TANEVID = @tanevId
INNER JOIN T_DICTIONARYITEMBASE_OSSZES hn ON hn.C_VALUE = DATEPART(dw, s.dates) + 1 AND hn.C_TYPE = 'HetNapjaTipus' AND hn.C_TANEVID = @tanevId
LEFT JOIN T_NAPTARIHET_OSSZES h ON s.dates BETWEEN h.C_HETKEZDONAPJA AND h.C_HETUTOLSONAPJA AND h.C_TANEVID = @tanevId
ORDER BY s.dates
OPTION (maxrecursion 0) -- hogy ne legyen korlátozva a regurzitás mélysége a CTE-ben /* default 100 */
END
ELSE BEGIN
IF @overrideDefault = 1 BEGIN
SELECT @firstDay = ro.C_DATUM
FROM T_TANEVRENDJE_OSSZES ro
WHERE ro.C_TANEVID = @tanevId AND ro.C_NAPTIPUSA = 1394
SELECT @lastDay = ro.C_DATUM
FROM T_TANEVRENDJE_OSSZES ro
WHERE ro.C_TANEVID = @tanevId AND ro.C_NAPTIPUSA = 1395
SELECT @firstDay = ISNULL(@firstDay, C_KEZDONAP),
@lastDay = ISNULL(@lastDay, C_UTOLSONAP)
FROM T_TANEV_OSSZES
WHERE ID = @tanevId
UPDATE T_NAPTARINAP_OSSZES
SET C_NAPTIPUSA = IIF(DATEPART(dw, C_NAPDATUMA) BETWEEN 1 AND 5, 1392, C_NAPTIPUSA),
C_ALAPNAPTIPUSA = IIF(DATEPART(dw, C_NAPDATUMA) BETWEEN 1 AND 5, 1392, C_ALAPNAPTIPUSA),
C_ORARENDINAP = 'F',
C_ALAPORARENDINAP = 'F'
WHERE (C_NAPDATUMA < @firstDay OR C_NAPDATUMA > @lastDay)
AND C_TANEVID = @tanevId
END
UPDATE n
SET n.C_HETIREND = IIF(x.TOROLT = 'F' OR x.TOROLT IS NULL, ISNULL(h.C_HETIREND,1554), n.C_ALAPHETIREND),
n.C_HETNAPJA = IIF(x.TOROLT = 'F' OR x.TOROLT IS NULL, ISNULL(x.C_HETNAPJA, n.C_HETNAPJA), n.C_ALAPHETNAPJA),
n.C_NAPTIPUSA = IIF(x.TOROLT = 'F' OR x.TOROLT IS NULL, ISNULL(x.C_NAPTIPUSA, n.C_NAPTIPUSA), n.C_ALAPNAPTIPUSA),
n.C_ORARENDINAP = IIF(x.TOROLT = 'F' OR x.TOROLT IS NULL, ISNULL(x.C_ORARENDINAP, n.C_ORARENDINAP), n.C_ALAPORARENDINAP),
n.C_AKTIVCSENGETESIRENDID = IIF(x.TOROLT = 'F' OR x.TOROLT IS NULL, ISNULL(x.C_CSENGETESIRENDID, n.C_AKTIVCSENGETESIRENDID), n.C_ALAPCSENGETESIRENDID),
n.C_ALAPHETIREND = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPHETIREND, h.C_HETIREND),
n.C_ALAPHETNAPJA = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPHETNAPJA, ISNULL(x.C_HETNAPJA, n.C_ALAPHETNAPJA)),
n.C_ALAPNAPTIPUSA = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPNAPTIPUSA, ISNULL(x.C_NAPTIPUSA, n.C_ALAPNAPTIPUSA)),
n.C_ALAPORARENDINAP = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPORARENDINAP, ISNULL(x.C_ORARENDINAP, n.C_ALAPORARENDINAP)),
n.C_ALAPCSENGETESIRENDID = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_AKTIVCSENGETESIRENDID, ISNULL(x.C_CSENGETESIRENDID, n.C_ALAPCSENGETESIRENDID))
FROM T_NAPTARINAP_OSSZES n
INNER JOIN T_NAPTARIHET h ON n.C_NAPDATUMA BETWEEN h.C_HETKEZDONAPJA AND h.C_HETUTOLSONAPJA
LEFT JOIN (
SELECT ro.C_DATUM, ro.TOROLT, ro.C_HETNAPJA, ro.C_NAPTIPUSA, ro.C_ORARENDINAP, ro.C_CSENGETESIRENDID
FROM T_TANEVRENDJE_OSSZES ro
WHERE ro.C_TANEVID = @tanevId
AND ro.TOROLT = 'F'
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE o WHERE o.C_TANEVRENDJEID = ro.ID)
UNION ALL
SELECT DISTINCT ro.C_DATUM, ro.TOROLT, NULL, NULL, NULL, NULL
FROM T_TANEVRENDJE_OSSZES ro
WHERE ro.C_TANEVID = @tanevId
AND ro.TOROLT = 'T'
AND NOT EXISTS (SELECT 1 FROM T_TANEVRENDJE_OSSZES r WHERE ro.C_DATUM = r.C_DATUM AND C_TANEVID = @tanevId)
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE o WHERE o.C_TANEVRENDJEID = ro.ID)
) x ON x.C_DATUM = n.C_NAPDATUMA
WHERE n.C_TANEVID = @tanevId AND h.C_TANEVID = @tanevId
END
END
GO

View file

@ -0,0 +1,48 @@
-- =============================================
-- Description: Az alkalmazott munkaügyi exporthoz adja vissza az adatokat
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[sp_GetAlkalmazottMunkaugyiExport]') IS NOT NULL
BEGIN
DROP PROCEDURE [sp_GetAlkalmazottMunkaugyiExport]
END
GO
CREATE PROCEDURE [sp_GetAlkalmazottMunkaugyiExport]
@tanevId int
,@intezmenyid int
AS
BEGIN
SET NOCOUNT ON;
select
a.ID as ID
,f.C_NYOMTATASINEV as 'PedagogusNeve'
,f.C_SZULETESIDATUM as 'PedagogusSzuletesiDatuma'
,f.C_ADOSZAM as 'Adoszam'
,m.C_KEPESITES as 'PedagogiaiKepesites'
,m.C_MUNKAKORTIPUSA as 'Munkakor'
,m.C_MUNKAVISZONYTIPUSA as 'FoglalkoztatasModja'
,m.C_KOTELEZOORASZAM as 'KotelezoOraszama'
,m.C_MUNKAIDOKEDVEZMENYORASZAM as 'MunkaidoKedvezmenyOraszama'
,m.C_MUNKAIDOKEDVEZMENYOKA as 'MunkaidoKedvezmenyOka'
,m.C_ALKALMAZASKEZDETE as 'AlkalmazasKezdete'
,f.C_OKTATASIAZONOSITO as 'Oktatasiazonosito'
from T_MUNKAUGYIADATOK m
inner join T_FELHASZNALO f on f.ID = m.C_ALKALMAZOTTID and f.TOROLT = 'F'
inner join T_ALKALMAZOTT a on a.ID = m.C_ALKALMAZOTTID and a.TOROLT = 'F'
where
m.TOROLT = 'F' and m.C_INTEZMENYID = @intezmenyid and m.C_TANEVID = @tanevId
order by
f.C_NYOMTATASINEV
END
GO

View file

@ -0,0 +1,54 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetAllOsztalyCsoport]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
END
GO
-- =============================================
-- Description: <Osztályok/csoportok és egyéb osztályok/csoportok>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
osztalyCsoport.ID ID,
osztalyCsoport.C_NEV Nev,
'1' Tipus,
NULL CsoportTipusa,
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
FROM
T_OSZTALYCSOPORT osztalyCsoport
INNER JOIN T_OSZTALY osztaly
ON osztaly.ID = osztalyCsoport.ID
WHERE
osztalyCsoport.TOROLT = 'F'
UNION ALL
SELECT
osztalyCsoport.ID ID,
osztalyCsoport.C_NEV Nev,
'1' Tipus,
csoport.C_TIPUSA CsoportTipusa,
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
FROM
T_OSZTALYCSOPORT osztalyCsoport
INNER JOIN T_CSOPORT csoport
ON csoport.ID = osztalyCsoport.ID
WHERE
osztalyCsoport.TOROLT = 'F'
ORDER BY
CsoportTipusa, Evfolyam
END

View file

@ -0,0 +1,35 @@
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: somo
-- Create date: 2015-09-24
-- Description: Összes funkció jogosultság lekérdezése.
-- =============================================
CREATE PROCEDURE sp_GetAllRoleFunctions
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
select r.C_ROLENAME RoleName, f.C_FUNCTIONID FunctionId, rf.C_VALIDFROM ValidFrom, rf.C_VALIDTO ValidTo
from T_ROLEFUNCTIONS rf
JOIN T_ROLES r on r.ID = rf.C_ROLESID
JOIN T_FUNCTIONS f on f.ID = rf.C_FUNCTIONSID
where rf.C_ENABLED = 'T'
END
GO

View file

@ -0,0 +1,61 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Hoffmann Zsolt>
-- Create date: <2016.07.05>
-- Description: <Áttanitások lekérdezése riport>
-- =============================================
IF OBJECT_ID('sp_GetAttanitasok') IS NOT NULL BEGIN
DROP PROCEDURE sp_GetAttanitasok
END
GO
CREATE PROCEDURE [sp_GetAttanitasok]
@pTanevString nvarchar(50),
@pFenntarto nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
SELECT * FROM (
SELECT
fh.C_OKTATASIAZONOSITO ID,
MAX(fh.C_NYOMTATASINEV) TanarNev,
MAX(fh.C_SZULETESIHELY) SzulHely,
MAX(fh.C_SZULETESIDATUM) SzulDatum,
MAX(fh.C_SZULETESINEV) SzulNev,
MAX(fh.C_ANYJANEVE) AnyjaNeve,
STUFF(
(SELECT DISTINCT ', ' + xi.C_NEV
FROM T_INTEZMENYADATOK xi
INNER JOIN T_FELHASZNALO xf ON xi.C_INTEZMENYID = xf.C_INTEZMENYID
WHERE xf.C_OKTATASIAZONOSITO = fh.C_OKTATASIAZONOSITO
FOR XML PATH (''))
, 1, 1, '') as Intezmenyek,
MAX(m.C_KOTELEZOORASZAM) KotelezoOraszam,
SUM(f.C_ORASZAM) TenylegesOraszam,
(SELECT DISTINCT COUNT(xi.C_OMKOD)
FROM T_INTEZMENYADATOK xi
INNER JOIN T_FELHASZNALO xf ON xi.C_INTEZMENYID = xf.C_INTEZMENYID
INNER JOIN T_TANEV xte ON xte.ID = xi.C_TANEVID AND xte.TOROLT = 'F'
WHERE xf.C_OKTATASIAZONOSITO = fh.C_OKTATASIAZONOSITO AND xte.C_NEV = @pTanevString)
IntezmenyekSzama
FROM T_INTEZMENY i
INNER JOIN T_INTEZMENYADATSZOLGALTATAS ia ON ia.C_INTEZMENYID = i.ID AND ia.TOROLT = 'F'
INNER JOIN T_TANEV te ON te.ID = ia.C_TANEVID AND te.TOROLT = 'F'
INNER JOIN T_ALKALMAZOTT a ON a.C_ALINTEZMENYID = i.ID AND a.TOROLT = 'F'
INNER JOIN T_FELHASZNALO fh ON fh.ID = a.ID AND fh.TOROLT = 'F'
INNER JOIN T_FOGLALKOZASOK_TANAROK ft ON ft.C_TANAROKID = a.ID
INNER JOIN T_FOGLALKOZAS f ON ft.C_FOGLALKOZASOKID = f.ID AND f.TOROLT = 'F'
INNER JOIN T_MUNKAUGYIADATOK m ON m.C_ALKALMAZOTTID = a.ID AND m.TOROLT = 'F' AND (m.C_BETOLTETLENALLASHELY != 'T')
WHERE (fh.C_OKTATASIAZONOSITO IS NOT NULL OR fh.C_OKTATASIAZONOSITO <> '')
AND te.C_NEV = @pTanevString
AND (i.C_FENNTARTOAZONOSITO = @pFenntarto OR @pFenntarto IS NULL)
GROUP BY fh.C_OKTATASIAZONOSITO
) t
WHERE t.IntezmenyekSzama > 1
ORDER BY t.TanarNev
END
GO

View file

@ -0,0 +1,193 @@
IF OBJECT_ID('sp_GetBizonyitvany12161') IS NOT NULL
DROP PROCEDURE sp_GetBizonyitvany12161
GO
CREATE PROCEDURE sp_GetBizonyitvany12161
@osztalyCsoportId int,
@felev int,
@TanevId int
AS
BEGIN
IF OBJECT_ID('tempdb..#TANTARGY') IS NOT NULL BEGIN
DROP TABLE #TANTARGY
END
CREATE TABLE #TANTARGY (
ID int primary key,
NEV nvarchar(255),
ORAK int,
OSZTALYFONOKI bit
)
INSERT INTO #TANTARGY (ID, NEV, ORAK, OSZTALYFONOKI)
SELECT
T_TANTARGY_OSSZES.ID AS ID,
T_TANTARGY_OSSZES.C_NEV AS NEV,
COUNT(T_TANITASIORA_OSSZES.ID) AS ORAK,
IIF(D.C_NAME = 'Osztályfőnöki, élet- és pályatervezés', 1, 0) AS OSZTALYFONOKI
FROM T_TANTARGY_OSSZES
INNER JOIN T_TANITASIORA_OSSZES on T_TANTARGY_OSSZES.ID = T_TANITASIORA_OSSZES.C_TANTARGYID AND T_TANITASIORA_OSSZES.TOROLT='F'
INNER JOIN T_FOGLALKOZAS_OSSZES ON T_TANTARGY_OSSZES.ID = T_FOGLALKOZAS_OSSZES.C_TANTARGYID AND T_FOGLALKOZAS_OSSZES.TOROLT='F'
INNER JOIN T_TANEV_OSSZES ON T_FOGLALKOZAS_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID AND T_TANEV_OSSZES.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES D ON T_TANTARGY_OSSZES.C_TARGYKATEGORIA = D.ID
WHERE T_TANTARGY_OSSZES.TOROLT = 'F'
AND T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = @osztalyCsoportId
AND T_TANITASIORA_OSSZES.C_DATUM BETWEEN T_TANEV_OSSZES.C_ELSOTANITASINAP AND T_TANEV_OSSZES.C_UTOLSOTANITASINAP
AND T_TANITASIORA_OSSZES.C_MEGTARTOTT = 'T'
AND T_TANEV_OSSZES.ID = @TanevId
GROUP BY T_TANTARGY_OSSZES.ID,T_TANTARGY_OSSZES.C_NEV, IIF(D.C_NAME = 'Osztályfőnöki, élet- és pályatervezés', 1, 0)
DECLARE @jegySelect nvarchar(MAX) = N'',
@jegyFrom nvarchar(MAX) = N'FROM T_TANULOCSOPORT_OSSZES TCS',
@jegyWhere nvarchar(MAX),
@sql nvarchar(MAX),
@bizSelect nvarchar(MAX),
@bizJoin nvarchar(MAX),
@mulSql nvarchar(MAX),
@felevJegy int
SELECT @felevJegy = ID
FROM T_DICTIONARYITEMBASE_OSSZES
WHERE C_TYPE = 'ErtekelesTipus'
AND C_TANEVID = @TanevId
AND C_NAME = IIF(@felev = 1, 'Félévi jegy/értékelés', 'Évvégi jegy/értékelés')
SET @bizSelect =
'SELECT * FROM (
SELECT
T_FELHASZNALO_OSSZES.ID AS [BIZTANULOID],
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV AS [név],
T_FELHASZNALO_OSSZES.C_VEZETEKNEV + '' '' + T_FELHASZNALO_OSSZES.C_UTONEV AS [családi és utónév],
T_FELHASZNALO_OSSZES.C_SZULETESIHELY AS [szül_hely_település],
Orszag.C_NAME AS [szül_hely_ország],
CONVERT(DATE,T_FELHASZNALO_OSSZES.C_SZULETESIDATUM) AS [szül_idő],
Allampolg.C_NAME AS [állampolgárság],
Anyanyelv.C_NAME AS [anyanyelv],
T_FELHASZNALO_OSSZES.C_ANYJANEVE AS [anyja_neve],
T_GONDVISELO_OSSZES.C_NEV AS [apa_neve],
T_INTEZMENYADATOK_OSSZES.C_VAROS AS [kelt_település],
YEAR(GETDATE()) AS [kelt_év],
MONTH(GETDATE()) AS [kelt_hó],
DAY(GETDATE()) AS [kelt_nap],
T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO AS [om_azonosító],
'''' AS [törzslapszám_szám],
ROW_NUMBER() OVER (ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV) AS [törzslapszám_év],
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV AS [név2],
YEAR(T_TANEV_OSSZES.C_KEZDONAP) AS [tanév_tól],
YEAR(T_TANEV_OSSZES.C_UTOLSONAP) AS [tanév_ig],
IIF(@felev = 1, ''Első'', ''Második'') AS [félév],
T_INTEZMENYADATOK_OSSZES.C_NEV + '' '' + T_MUKODESIHELY_OSSZES.C_NEV + '', ''+ T_MUKODESIHELY_OSSZES.C_IRANYITOSZAM + '' '' + T_MUKODESIHELY_OSSZES.C_VAROS + T_MUKODESIHELY_OSSZES.C_CIME AS [iskola_neve_címe],
IskolaTipus.C_NAME AS [iskola_tipus],
Evfolyam.C_NAME AS [évfolyam_száma],
T_OSZTALYCSOPORT_OSSZES.C_NEV AS [osztály],
DM.C_NAME AS [magatartás],
DSZ.C_NAME AS [szorgalom]
FROM T_FELHASZNALO_OSSZES
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Orszag ON T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG = Orszag.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Allampolg ON T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA = Allampolg.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Anyanyelv ON T_FELHASZNALO_OSSZES.C_ANYANYELVE = Anyanyelv.ID
LEFT JOIN T_FELHASZNALOBELEPES_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_FELHASZNALOBELEPES_OSSZES.C_FELHASZNALOID AND T_FELHASZNALOBELEPES_OSSZES.C_GONDVISELOID IS NOT NULL AND T_FELHASZNALOBELEPES_OSSZES.TOROLT=''F''
LEFT JOIN T_GONDVISELO_OSSZES ON T_FELHASZNALOBELEPES_OSSZES.C_GONDVISELOID = T_GONDVISELO_OSSZES.ID AND T_GONDVISELO_OSSZES.C_ROKONSAGFOKA = 2 --Apa
AND T_GONDVISELO_OSSZES.TOROLT=''F''
INNER JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.TOROLT = ''F''
INNER JOIN T_INTEZMENYADATOK_OSSZES ON T_INTEZMENYADATOK_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID AND T_INTEZMENYADATOK_OSSZES.TOROLT = ''F''
LEFT JOIN T_TANEVRENDJE_OSSZES ON T_TANEVRENDJE_OSSZES.C_NAPTIPUSA = 1400 AND T_TANEVRENDJE_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID AND T_TANEVRENDJE_OSSZES.TOROLT = ''F''
INNER JOIN T_TANULOCSOPORT_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_TANULOID AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM > GETDATE()) AND T_TANULOCSOPORT_OSSZES.TOROLT = ''F''
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_OSSZES.ID AND T_OSZTALYCSOPORT_OSSZES.TOROLT = ''F''
INNER JOIN T_OSZTALY_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_OSZTALY_OSSZES.ID AND T_OSZTALY_OSSZES.TOROLT = ''F''
INNER JOIN T_FELADATELLATASIHELY_OSSZES ON T_OSZTALYCSOPORT_OSSZES.C_FELADATELLATASIHELYID = T_FELADATELLATASIHELY_OSSZES.ID AND T_FELADATELLATASIHELY_OSSZES.TOROLT = ''F''
INNER JOIN T_MUKODESIHELY_OSSZES ON T_FELADATELLATASIHELY_OSSZES.C_MUKODESIHELYID = T_MUKODESIHELY_OSSZES.ID AND T_MUKODESIHELY_OSSZES.TOROLT = ''F''
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES IskolaTipus ON T_FELADATELLATASIHELY_OSSZES.C_OKTATASINEVELESIFELADATTIPUS = IskolaTipus.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Evfolyam ON T_OSZTALYCSOPORT_OSSZES.C_EVFOLYAMTIPUSA = Evfolyam.ID
LEFT JOIN (
SELECT te.C_TANULOID, ofe.C_MAGATARTAS, ofe.C_SZORGALOM FROM T_TANULOERTEKELES_OSSZES te
INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES ofe ON ofe.ID = te.ID AND ofe.TOROLT = ''F''
WHERE te.TOROLT = ''F'' AND te.C_ERTEKELESTIPUSA = @felevJegy
) MSZ ON MSZ.C_TANULOID = T_FELHASZNALO_OSSZES.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DM ON DM.ID = MSZ.C_MAGATARTAS
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DSZ ON DSZ.ID = MSZ.C_SZORGALOM
WHERE T_OSZTALYCSOPORT_OSSZES.ID = @osztalyCsoportId
AND T_TANEV_OSSZES.ID = @TanevId) BIZ
'
SET @mulSql = '
INNER JOIN (
SELECT tms.C_TANULOID AS MULTANULOID,
SUM(CASE
WHEN tms.C_STATISZTIKATIPUS <> 1655 THEN 0
WHEN @felev = 1 THEN tms.C_OSSZESELSOFELEVMULASZTAS
ELSE tms.C_OSSZESELSOFELEVMULASZTAS + tms.C_OSSZESMASODIKFELEVMULASZTAS END
) AS mulasztott_orak_szama,
SUM(CASE
WHEN tms.C_STATISZTIKATIPUS <> 1655 THEN 0
WHEN @felev = 1 THEN tms.C_OSSZESELSOFELEVMULASZTAS
ELSE tms.C_OSSZESELSOFELEVMULASZTAS + tms.C_OSSZESMASODIKFELEVMULASZTAS END
) AS mulasztott_orak_osszesen,
SUM(CASE
WHEN tms.C_STATISZTIKATIPUS <> 1655 THEN 0
WHEN @felev = 1 THEN tms.C_OSSZESELSOFELEVELMELETI
ELSE tms.C_OSSZESELSOFELEVELMELETI + tms.C_OSSZESMASODIKFELEVELMELETI END
) AS mulasztott_elmelet_osszesen,
SUM(CASE
WHEN tms.C_STATISZTIKATIPUS <> 1662 THEN 0
WHEN @felev = 1 THEN tms.C_OSSZESELSOFELEVELMELETI
ELSE tms.C_OSSZESELSOFELEVELMELETI + tms.C_OSSZESMASODIKFELEVELMELETI END
) AS mulasztott_elmelet_igazolatlan,
SUM(CASE
WHEN tms.C_STATISZTIKATIPUS <> 1655 THEN 0
WHEN @felev = 1 THEN tms.C_OSSZESELSOFELEVGYAKORLATI
ELSE tms.C_OSSZESELSOFELEVGYAKORLATI + tms.C_OSSZESMASODIKFELEVGYAKORLATI END
) AS mulasztott_gyakorlat_osszesen,
SUM(CASE
WHEN tms.C_STATISZTIKATIPUS <> 1662 THEN 0
WHEN @felev = 1 THEN tms.C_OSSZESELSOFELEVGYAKORLATI
ELSE tms.C_OSSZESELSOFELEVGYAKORLATI + tms.C_OSSZESMASODIKFELEVGYAKORLATI END
) AS mulasztott_gyakorlat_igazolatlan
FROM T_TANULOMULASZTASSTATISZTIKA_OSSZES tms
WHERE tms.C_STATISZTIKATIPUS IN (1655, 1662)
and tms.C_TANEVID = @TanevId
GROUP BY tms.C_TANULOID
) mul ON mul.MULTANULOID = BIZ.BIZTANULOID
'
SELECT @jegySelect += IIF(#TANTARGY.OSZTALYFONOKI = 1, '', ', D' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.C_NAME AS [' + CAST(#TANTARGY.NEV AS nvarchar(255)) + ' JEGY] ') + ', T' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.ORAK AS [' + CAST(#TANTARGY.NEV AS nvarchar(255)) + ' ORAK]',
@jegyFrom += IIF(#TANTARGY.OSZTALYFONOKI = 1, '
LEFT JOIN #TANTARGY T' + CAST(#TANTARGY.ID AS nvarchar(10)) + ' ON T' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.ID = ' + CAST(#TANTARGY.ID AS nvarchar(10)) /*Ha osztályfőnöki*/
,'
LEFT JOIN T_TANULOERTEKELES_OSSZES E' + CAST(#TANTARGY.ID AS nvarchar(10)) + ' ON E' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.C_TANTARGYID = ' + CAST(#TANTARGY.ID AS nvarchar(10)) + ' AND TCS.C_TANULOID = E' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.C_TANULOID AND E' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.C_ERTEKELESTIPUSA = @felevJegy AND E' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.C_OSZTALYCSOPORTID = @osztalyCsoportId AND E' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.TOROLT = ''F''
LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES O' + CAST(#TANTARGY.ID AS nvarchar(10)) + ' ON O' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.ID = E' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.ID AND O' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.TOROLT = ''F''
LEFT JOIN #TANTARGY T' + CAST(#TANTARGY.ID AS nvarchar(10)) + ' ON E' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.C_TANTARGYID = T' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.ID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES D' + CAST(#TANTARGY.ID AS nvarchar(10)) + ' ON D' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.ID = O' + CAST(#TANTARGY.ID AS nvarchar(10)) + '.C_OSZTALYZAT' /*Ha nem osztályfőnöki*/) --IIF záró zárójele
FROM #TANTARGY
ORDER BY #TANTARGY.OSZTALYFONOKI DESC
SET @jegyWhere = N'
WHERE TCS.C_OSZTALYCSOPORTID = @osztalyCsoportId'
SET @bizJoin = '
) JEGY ON JEGY.JEGYTANULOID = BIZ.BIZTANULOID'
/*
Ha a @jegySelect üres string, akkor nem volt az osztálynak tantárgya
Így majd kimarad a végső nagy selectből (@sql) is.
*/
IF @jegySelect <> '' BEGIN
SET @jegySelect = 'INNER JOIN (
SELECT TCS.C_TANULOID AS JEGYTANULOID' + @jegySelect
END
SET @sql = @bizSelect + CASE WHEN @jegySelect <> '' THEN @jegySelect + @jegyFrom + @jegyWhere + @bizJoin ELSE '' END + @mulSql
EXEC sp_executesql @sql,
N'@osztalyCsoportId int, @felevJegy int, @felev int, @TanevId int',
@osztalyCsoportId, @felevJegy, @felev, @TanevId
IF OBJECT_ID('tempdb..#TANTARGY') IS NOT NULL BEGIN
DROP TABLE #TANTARGY
END
END
GO

View file

@ -0,0 +1,96 @@
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Zsiga Attila
-- Create date: 2016.04.05.
-- Description: Bizonyítvány pótlap.
-- =============================================
CREATE PROCEDURE sp_GetBizonyitvanyPotlap
@TanevId int,
@OsztalyCsoportId int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Intezmeny
SELECT
C_NEV IntezmenyNev,
C_IRANYITOSZAM Iranyitoszam,
C_VAROS Varos,
C_CIME Cim,
C_OMKOD OMKod
FROM
T_INTEZMENYADATOK_OSSZES
WHERE
T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = @TanevId
-- Osztaly
SELECT
C_NEV OsztalyNev
FROM
T_OSZTALYCSOPORT_OSSZES
WHERE
T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
AND T_OSZTALYCSOPORT_OSSZES.ID = @OsztalyCsoportId
AND T_OSZTALYCSOPORT_OSSZES.C_TANEVID = @TanevId
-- Tanev
SELECT
C_NEV Tanev,
(CAST(GETDATE() AS DATE)) MaiDatum
FROM
T_TANEV_OSSZES OsztalyNev
WHERE
TOROLT = 'F' AND ID = @TanevId
-- Osztalyfonok
SELECT
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV OsztalyfonokNev
FROM
(SELECT * FROM T_OSZTALYCSOPORT_OSSZES WHERE T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
AND T_OSZTALYCSOPORT_OSSZES.ID = @OsztalyCsoportId
AND T_OSZTALYCSOPORT_OSSZES.C_TANEVID = @TanevId) AS T_OSZTALYCSOPORT_OSSZES
INNER JOIN T_OSZTALY_OSSZES ON T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID AND T_OSZTALY_OSSZES.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID AND T_FELHASZNALO_OSSZES.TOROLT = 'F'
-- Tanulok
SELECT
ROW_NUMBER() OVER(ORDER BY _FELHASZNALO.C_NYOMTATASINEV) TorzslapSzam,
_FELHASZNALO.C_NYOMTATASINEV TanuloNeve,
_FELHASZNALO.C_OKTATASIAZONOSITO TanuloAzonosito,
(SELECT COUNT(*) FROM T_TANULOMULASZTAS_OSSZES WHERE TOROLT = 'F' AND C_ORATANULOIID = _TANULO.ID) MulasztottOrakSzama,
(SELECT COUNT(*) FROM T_TANULOMULASZTAS_OSSZES WHERE TOROLT = 'F' AND C_ORATANULOIID = _TANULO.ID AND C_IGAZOLT = 'T') Igazolt,
(SELECT COUNT(*) FROM T_TANULOMULASZTAS_OSSZES WHERE TOROLT = 'F' AND C_ORATANULOIID = _TANULO.ID AND C_IGAZOLT = 'F') Igazolatlan
FROM
(SELECT * FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
AND T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID = @OsztalyCsoportId
AND T_TANULOCSOPORT_OSSZES.C_TANEVID = @TanevId
AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) _TANULOCSOPORT
INNER JOIN (SELECT * FROM T_TANULO_OSSZES WHERE T_TANULO_OSSZES.TOROLT = 'F') _TANULO ON _TANULO.ID = _TANULOCSOPORT.C_TANULOID
INNER JOIN (SELECT * FROM T_FELHASZNALO_OSSZES WHERE T_FELHASZNALO_OSSZES.TOROLT = 'F' AND C_TANEVID = @TanevId ) _FELHASZNALO ON _FELHASZNALO.ID = _TANULO.ID
GROUP BY
_FELHASZNALO.C_NYOMTATASINEV,
_FELHASZNALO.C_OKTATASIAZONOSITO,
_TANULO.ID
ORDER BY
TorzslapSzam
END
GO

View file

@ -0,0 +1,104 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_GetCsoportElsoNegyedeviTantargyiStatisztika]
@tanevId int,
@intezmenyId int
AS
BEGIN
SET NOCOUNT ON;
declare @kezdodatum as date=(select distinct tr.c_datum from t_tanevrendje tr where c_naptipusa=1394 and tr.torolt='F' and tr.c_intezmenyid=@intezmenyid and tr.c_tanevid=@tanevid);
declare @vegdatum as date=(select distinct tr.c_datum from t_tanevrendje tr where c_naptipusa=1403 and tr.torolt='F' and tr.c_intezmenyid=@intezmenyid and tr.c_tanevid=@tanevid);
--Osztályok
create table #osztaly (Id int, Nev nvarchar(max), Letszam int, rendez nvarchar(max))
insert into #osztaly
select ocs.id as Id, ocs.c_nev as Nev, count(tcs.c_tanuloid) as Letszam, ocs.c_nev as rendez from t_osztalycsoport ocs
left join t_tanulocsoport tcs on tcs.c_osztalycsoportid=ocs.id and tcs.c_intezmenyid=@intezmenyId and tcs.c_tanevid=@tanevId and tcs.torolt='F'
where ocs.c_intezmenyid=@intezmenyId and ocs.c_tanevid=@tanevId and ocs.torolt='F'
group by ocs.id, ocs.c_nev
--Osztályok, összesen
insert into #osztaly values (-1, 'Összesen: ', null, 'zzz')
--Értékelések
create table #ertekeles(Osztaly int, Tantargy int, Atlag float)
insert into #ertekeles
select te.c_osztalycsoportid as Osztaly, te.c_tantargyid as Tantargy, round(avg(convert(float,d.c_value)),2) as Atlag from t_tanuloertekeles te
inner join (select d.id, d.c_value from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.torolt='F' and te.c_tanevid=@tanevid and te.c_intezmenyid=@intezmenyid
and convert(date,te.c_ertekelesdatum)>@kezdodatum and convert(date,te.c_ertekelesdatum)<@vegdatum and te.c_tantargyid is not null
group by te.c_osztalycsoportid, te.c_tantargyid
--Értékelés, összegzés
insert into #ertekeles
select Osztaly, Tantargy, round(avg(convert(float,Atlag)),2) from (
select -1 as Osztaly, te.c_tantargyid as Tantargy, round(avg(convert(float,d.c_value)),2) as Atlag from t_tanuloertekeles te
inner join (select d.id, d.c_value from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.c_tantargyid is not null and te.torolt='F' and te.c_tanevid=@tanevid and te.c_intezmenyid=@intezmenyid
and convert(date,te.c_ertekelesdatum)>@kezdodatum and convert(date,te.c_ertekelesdatum)<@vegdatum
group by te.c_osztalycsoportid, te.c_tantargyid)a
group by Osztaly, tantargy
--Osztályátlag
create table #osztalyavg(Osztaly int, Atlag float)
insert into #osztalyavg
select te.c_osztalycsoportid as Osztaly, round(avg(convert(float,d.c_value)),2) as Atlag from t_tanuloertekeles te
inner join (select d.id, d.c_value from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.c_tantargyid is not null and te.torolt='F' and te.c_tanevid=@tanevid and te.c_intezmenyid=@intezmenyid
and convert(date,te.c_ertekelesdatum)>@kezdodatum and convert(date,te.c_ertekelesdatum)<@vegdatum
group by te.c_osztalycsoportid
--Mulasztás
/*
declare @mulasztas table(Osztaly int, MulasztasTipus int, IgazoltE nvarchar(1), Keses int)
insert into @mulasztas
select Id, mulasztas.MulasztasTipus, mulasztas.IgazoltE, mulasztas.Keses from #osztaly o
left join (select tcs.c_osztalycsoportid as Osztaly, tm.c_tipus as MulasztasTipus, tm.c_igazolt as IgazoltE, tm.c_kesespercben as Keses from t_tanulomulasztas tm
inner join t_tanulocsoport tcs on tcs.c_tanuloid=tm.c_oratanuloiid and tcs.c_intezmenyid=@intezmenyId and tcs.c_tanevid=@tanevId and tcs.torolt='F'
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid and tao.torolt='F' and tao.torolt='F' and tao.c_tanevid=@tanevid and tao.c_intezmenyid=@intezmenyid and convert(date,tao.c_datum)>@kezdodatum and convert(date,tao.c_datum)<@vegdatum
where tm.c_igazolt in ('T', 'F')
) mulasztas on mulasztas.Osztaly=o.id
create table #mulasztastmp(Osztaly int, ih float, nih float, ik float, nik float)
insert into #mulasztastmp
select distinct o.Id, round((convert(float,ih.ih)/convert(float, o.letszam)),2) as ih, round((convert(float,nih.nih)/convert(float, o.letszam)),2) as nih, round((convert(float,ik.ik)/convert(float, o.letszam)),2) as ik, round((convert(float,nik.nik)/convert(float, o.letszam)),2) as nik from #osztaly o
left join (select m.Osztaly, count(m.Mulasztastipus) as ih from @mulasztas m where m.IgazoltE='T' and m.MulasztasTipus=1500 group by m.Osztaly) ih on ih.osztaly=o.id
left join (select m.Osztaly, count(m.Mulasztastipus) as nih from @mulasztas m where m.IgazoltE='F' and m.MulasztasTipus=1500 group by m.Osztaly) nih on nih.osztaly=o.id
left join (select m.Osztaly, count(m.Mulasztastipus) as ik from @mulasztas m where m.IgazoltE='T' and m.MulasztasTipus=1499 group by m.Osztaly) ik on ik.osztaly=o.id
left join (select m.Osztaly, count(m.Mulasztastipus) as nik from @mulasztas m where m.IgazoltE='F' and m.MulasztasTipus=1499 group by m.Osztaly) nik on ik.osztaly=o.id
*/
declare @cols as nvarchar(max),
@colsIn as nvarchar(max),
@query as nvarchar(4000);
select @cols= isnull(@cols + ',','') +quotename(Tantargy) + ' as '+quotename(nev),
@colsIn= isnull(@colsIn + ',','') +quotename(Tantargy)
from (select distinct t.id as Tantargy, t.c_nev as nev from t_foglalkozas f
inner join t_tantargy t on f.c_tantargyid=t.id) Tantargy
set @query='
select Nev AS COLUMN673, Letszam AS COLUMN3847, '+@cols+', oavg.Atlag as COLUMN1817 /*,
mtmp.ih AS COLUMN5291, mtmp.nih AS COLUMN5292, mtmp.ik AS COLUMN5293, mtmp.nik AS COLUMN5294 */
from #osztaly o
left join (select * from #ertekeles pivot (max(Atlag) for Tantargy in ('+@colsIn+'))pv) ertekeles on ertekeles.Osztaly=o.Id
left join #osztalyavg oavg on oavg.Osztaly=o.id
/* left join #mulasztastmp mtmp on mtmp.Osztaly=o.id */
order by rendez
'
EXEC sp_executesql @query
/*drop table #mulasztastmp */
drop table #osztalyavg
drop table #ertekeles
drop table #osztaly
End
GO

View file

@ -0,0 +1,104 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_GetCsoportFeleviTantargyiStatisztika]
@tanevId int,
@intezmenyId int
AS
BEGIN
SET NOCOUNT ON;
declare @kezdodatum as date=(select distinct tr.c_datum from t_tanevrendje tr where c_naptipusa=1394 and tr.torolt='F' and tr.c_intezmenyid=@intezmenyid and tr.c_tanevid=@tanevid);
declare @vegdatum as date=(select distinct tr.c_datum from t_tanevrendje tr where c_naptipusa=1400 and tr.torolt='F' and tr.c_intezmenyid=@intezmenyid and tr.c_tanevid=@tanevid);
--Osztályok
create table #osztaly (Id int, Nev nvarchar(max), Letszam int, rendez nvarchar(max))
insert into #osztaly
select ocs.id as Id, ocs.c_nev as Nev, count(tcs.c_tanuloid) as Letszam, ocs.c_nev as rendez from t_osztalycsoport ocs
left join t_tanulocsoport tcs on tcs.c_osztalycsoportid=ocs.id and tcs.c_intezmenyid=@intezmenyId and tcs.c_tanevid=@tanevId and tcs.torolt='F'
where ocs.c_intezmenyid=@intezmenyId and ocs.c_tanevid=@tanevId and ocs.torolt='F'
group by ocs.id, ocs.c_nev
--Osztályok, összesen
insert into #osztaly values (-1, 'Összesen: ', null, 'zzz')
--Értékelések
create table #ertekeles(Osztaly int, Tantargy int, Atlag float)
insert into #ertekeles
select te.c_osztalycsoportid as Osztaly, te.c_tantargyid as Tantargy, round(avg(convert(float,d.c_value)),2) as Atlag from t_tanuloertekeles te
inner join (select d.id, d.c_value from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.torolt='F' and te.c_tanevid=@tanevid and te.c_intezmenyid=@intezmenyid
and convert(date,te.c_ertekelesdatum)>@kezdodatum and convert(date,te.c_ertekelesdatum)<@vegdatum and te.c_tantargyid is not null
group by te.c_osztalycsoportid, te.c_tantargyid
--Értékelés, összegzés
insert into #ertekeles
select Osztaly, Tantargy, round(avg(convert(float,Atlag)),2) from (
select -1 as Osztaly, te.c_tantargyid as Tantargy, round(avg(convert(float,d.c_value)),2) as Atlag from t_tanuloertekeles te
inner join (select d.id, d.c_value from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.c_tantargyid is not null and te.torolt='F' and te.c_tanevid=@tanevid and te.c_intezmenyid=@intezmenyid
and convert(date,te.c_ertekelesdatum)>@kezdodatum and convert(date,te.c_ertekelesdatum)<@vegdatum
group by te.c_osztalycsoportid, te.c_tantargyid)a
group by Osztaly, tantargy
--Osztályátlag
create table #osztalyavg(Osztaly int, Atlag float)
insert into #osztalyavg
select te.c_osztalycsoportid as Osztaly, round(avg(convert(float,d.c_value)),2) as Atlag from t_tanuloertekeles te
inner join (select d.id, d.c_value from t_dictionaryitembase d) d on d.id=te.c_osztalyzat
where te.c_tantargyid is not null and te.torolt='F' and te.c_tanevid=@tanevid and te.c_intezmenyid=@intezmenyid
and convert(date,te.c_ertekelesdatum)>@kezdodatum and convert(date,te.c_ertekelesdatum)<@vegdatum
group by te.c_osztalycsoportid
--Mulasztás
/*
declare @mulasztas table(Osztaly int, MulasztasTipus int, IgazoltE nvarchar(1), Keses int)
insert into @mulasztas
select Id, mulasztas.MulasztasTipus, mulasztas.IgazoltE, mulasztas.Keses from #osztaly o
left join (select tcs.c_osztalycsoportid as Osztaly, tm.c_tipus as MulasztasTipus, tm.c_igazolt as IgazoltE, tm.c_kesespercben as Keses from t_tanulomulasztas tm
inner join t_tanulocsoport tcs on tcs.c_tanuloid=tm.c_oratanuloiid and tcs.c_intezmenyid=@intezmenyId and tcs.c_tanevid=@tanevId and tcs.torolt='F'
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid and tao.torolt='F' and tao.torolt='F' and tao.c_tanevid=@tanevid and tao.c_intezmenyid=@intezmenyid and convert(date,tao.c_datum)>@kezdodatum and convert(date,tao.c_datum)<@vegdatum
where tm.c_igazolt in ('T', 'F')
) mulasztas on mulasztas.Osztaly=o.id
create table #mulasztastmp(Osztaly int, ih float, nih float, ik float, nik float)
insert into #mulasztastmp
select distinct o.Id, round((convert(float,ih.ih)/convert(float, o.letszam)),2) as ih, round((convert(float,nih.nih)/convert(float, o.letszam)),2) as nih, round((convert(float,ik.ik)/convert(float, o.letszam)),2) as ik, round((convert(float,nik.nik)/convert(float, o.letszam)),2) as nik from #osztaly o
left join (select m.Osztaly, count(m.Mulasztastipus) as ih from @mulasztas m where m.IgazoltE='T' and m.MulasztasTipus=1500 group by m.Osztaly) ih on ih.osztaly=o.id
left join (select m.Osztaly, count(m.Mulasztastipus) as nih from @mulasztas m where m.IgazoltE='F' and m.MulasztasTipus=1500 group by m.Osztaly) nih on nih.osztaly=o.id
left join (select m.Osztaly, count(m.Mulasztastipus) as ik from @mulasztas m where m.IgazoltE='T' and m.MulasztasTipus=1499 group by m.Osztaly) ik on ik.osztaly=o.id
left join (select m.Osztaly, count(m.Mulasztastipus) as nik from @mulasztas m where m.IgazoltE='F' and m.MulasztasTipus=1499 group by m.Osztaly) nik on ik.osztaly=o.id
*/
declare @cols as nvarchar(max),
@colsIn as nvarchar(max),
@query as nvarchar(4000);
select @cols= isnull(@cols + ',','') +quotename(Tantargy) + ' as '+quotename(nev),
@colsIn= isnull(@colsIn + ',','') +quotename(Tantargy)
from (select distinct t.id as Tantargy, t.c_nev as nev from t_foglalkozas f
inner join t_tantargy t on f.c_tantargyid=t.id) Tantargy
set @query='
select Nev AS COLUMN673, Letszam AS COLUMN3847, '+@cols+', oavg.Atlag as COLUMN1817 /*,
mtmp.ih AS COLUMN5291, mtmp.nih AS COLUMN5292, mtmp.ik AS COLUMN5293, mtmp.nik AS COLUMN5294 */
from #osztaly o
left join (select * from #ertekeles pivot (max(Atlag) for Tantargy in ('+@colsIn+'))pv) ertekeles on ertekeles.Osztaly=o.Id
left join #osztalyavg oavg on oavg.Osztaly=o.id
/* left join #mulasztastmp mtmp on mtmp.Osztaly=o.id */
order by rendez
'
EXEC sp_executesql @query
/*drop table #mulasztastmp */
drop table #osztalyavg
drop table #ertekeles
drop table #osztaly
End
GO

View file

@ -0,0 +1,249 @@
IF OBJECT_ID('[dbo].[sp_GetCsoportNaplo]') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_GetCsoportNaplo]
END
GO
CREATE PROCEDURE [dbo].[sp_GetCsoportNaplo]
@tanevId int,
@intezmenyid int,
@csoportId int
AS
BEGIN
SET NOCOUNT ON;
--Tanulók adatai, elérhetőségei
DECLARE @tanulok TABLE (
Id int
,Nev nvarchar(max)
,Osztaly nvarchar(max)
,Sorszam nvarchar(max)
,Torzslapszam nvarchar(max)
,Allampolgarsaga nvarchar(max)
,DiakIg nvarchar(max)
,SzulHely nvarchar(max)
,SzulIdo nvarchar(max)
,Anyja nvarchar(max)
,Taj nvarchar(20)
,OktAzon nvarchar(20)
,Kilepes nvarchar(max)
,Kepzes nvarchar(max)
,TanuloCimTipus nvarchar(max)
,TanuloCim nvarchar(max)
,TanuloTelefon nvarchar(max)
,TanuloEmail nvarchar(max)
,szoc nvarchar(max)
)
INSERT INTO @tanulok
SELECT DISTINCT
t.id Id
,iif(tcs.C_KILEPESDATUM is not null, f.C_NYOMTATASINEV + ' (kilépett)',f.c_nyomtatasinev) as Nev
,Osztaly.Osztaly as Osztaly
,t.c_naplosorszam as Sorszam
,t.c_beirasinaplosorszam as Torzslapszam
,Allampolgarsaga.C_NAME as Allampolgarsag
,t.c_diakigazolvanyszam as DiakIg
,f.c_szuletesihely as SzulHely
,FORMAT(f.c_szuletesidatum, 'yyyy. MMMM dd.', 'hu-hu') as SzulIdo
,f.c_anyjaneve as Anyja
,f.c_tajszam as Taj
,f.c_oktatasiazonosito as OktAzon
,FORMAT(tcs.c_kilepesdatum, 'yyyy. MMMM dd.', 'hu-hu') as Kilepes
,tt.c_nev as Kepzes
,cim.Tipus
,cim.cim
,tel.c_telefonszam
,email.c_emailcim as TanuloEmail
,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, ', '') AS szoc
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id=tcs.c_tanuloid AND f.torolt='F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES Allampolgarsaga ON Allampolgarsaga.Id = f.c_allampolgarsaga AND Allampolgarsaga.C_TANEVID = f.C_TANEVID
LEFT JOIN (
SELECT tcs.c_tanuloid TanuloId, ocs.c_nev as Osztaly, tcs.c_kilepesdatum Kilepes
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_OSZTALY_OSSZES o ON o.id=tcs.c_osztalycsoportid
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON o.id=ocs.id
) osztaly ON tcs.c_tanuloid=osztaly.TanuloId
INNER JOIN T_TANTERV_OSSZES tt ON tt.c_intezmenyid=tcs.c_intezmenyid AND tt.c_intezmenyid=@intezmenyid AND tt.c_tanevid=@tanevid
INNER JOIN T_TANULO_OSSZES t ON t.id=f.id
INNER JOIN (
SELECT f.id Tanulo, dt.c_name Tipus, c.c_iranyitoszam+', '+c.c_varos+' '+c.c_kozterulet+' '+dj.c_name+' '+c.c_hazszam as Cim
FROM t_cim_osszes c
INNER JOIN (select distinct d.id, d.c_name from T_DICTIONARYITEMBASE_OSSZES d )dt ON dt.id=c.c_cimtipusa
INNER JOIN T_FELHASZNALO_OSSZES f ON f.id=c.c_felhasznaloid
INNER JOIN (select distinct d.id, d.c_name from T_DICTIONARYITEMBASE_OSSZES d)dj ON dj.id=c.c_kozteruletjellege
WHERE c.c_cimtipusa = 907
AND c.c_gondviseloid is null
AND c.torolt='F'
AND c.c_tanevid=@tanevId
) cim ON cim.Tanulo=tcs.c_tanuloid
LEFT JOIN T_TELEFON_OSSZES tel ON tel.c_felhasznaloid = f.id AND tel.c_gondviseloid IS NULL AND tel.torolt = 'F' AND tel.c_alapertelmezett = 'T'
LEFT JOIN T_EMAIL_OSSZES email ON email.c_felhasznaloid = tcs.c_tanuloid AND email.c_gondviseloid IS NULL AND email.torolt = 'F' AND email.c_alapertelmezett = 'T'
WHERE tcs.c_osztalycsoportid = @csoportId AND tcs.c_tanevid = @tanevid
--Kezdőoldal
SELECT
ia.c_nev as IntezmenyNev
,ia.c_cime as IntezmenyCim
,ia.c_omkod as OMKOD
,ia.c_igazgatoneve as IntezmenyVezeto
,ocs.c_nev Csoport
,isnull(f.c_nyomtatasinev,'-') as CsoportVezeto
,isnull(cs.c_csoportnaploleiras,'-') as CsoportNaploLeiras
,FORMAT(cs.c_csoportnaplomegnyitasa, 'yyyy. MMMM dd.', 'hu-hu') as Megnyitas
,isnull(FORMAT(cs.c_csoportnaplozarasa, 'yyyy. MMMM dd.', 'hu-hu'),'-') as Lezaras
,ocs.c_nev RovidNev
FROM T_INTEZMENY_OSSZES i
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.c_intezmenyid = i.id
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.c_intezmenyid = i.id AND ocs.c_tanevid = @tanevid
INNER JOIN T_CSOPORT_OSSZES cs ON cs.id = ocs.id
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=cs.c_csoportvezetoid
WHERE i.id = @intezmenyid AND ia.c_tanevid = @tanevid AND ocs.id = @csoportId
--Csoportot vezette
SELECT isnull(f.c_nyomtatasinev,'-') as CsoportVezeto
FROM T_CSOPORT_OSSZES cs
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = cs.c_csoportvezetoid
WHERE cs.id = @csoportId
--Tanulók
SELECT DISTINCT Nev, Osztaly, OktAzon FROM @tanulok
--Naplóhetek
DECLARE @elsonap as date
DECLARE @utolsonap as date
select @elsonap=c_elsotanitasinap, @utolsonap=c_utolsotanitasinap from t_tanev_osszes where id=@tanevId
SELECT
n.c_hetsorszama as Het
,FORMAT(convert(date,min(c_napdatuma)), 'yyyy. MMMM dd.', 'hu-hu')as HetEleje
,FORMAT(convert(date,max(c_napdatuma)), 'yyyy. MMMM dd.', 'hu-hu') as HetVege
FROM T_NAPTARINAP_OSSZES n
WHERE n.c_napdatuma >= @elsonap
AND n.c_napdatuma <= @utolsonap
AND n.c_orarendinap = 'T'
AND n.c_tanevid = @tanevid
AND n.c_intezmenyid = @intezmenyid
GROUP BY n.c_hetsorszama
--Tanuló adatok
SELECT * FROM @tanulok
--Napló
SELECT DISTINCT
nn.c_hetsorszama as Het
,d.Nap as Nap
,FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu') as Datum
FROM T_NAPTARINAP_OSSZES nn
LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = nn.c_napdatuma AND tao.c_osztalycsoportid = @csoportid AND tao.torolt = 'F'
LEFT JOIN (select distinct d.id as ID, d.c_name Nap from T_DICTIONARYITEMBASE_OSSZES d) d ON d.id = nn.c_hetnapja
LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id=tao.c_foglalkozasid AND fog.c_tanevid = @tanevid
LEFT JOIN T_FOGLALKOZASOK_TANAROK_OSSZES ft ON ft.c_foglalkozasokid=fog.id
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=ft.c_tanarokid AND f.torolt='F'
WHERE nn.c_orarendinap='T' AND nn.c_napdatuma >= @elsonap AND nn.c_napdatuma <= @utolsonap
ORDER BY nn.c_hetsorszama, FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu')
--Napló adatok
DECLARE @Orak TABLE (
datum date
,Sorszam int
,Hetsorszam int
)
INSERT INTO @Orak
SELECT DISTINCT
n.c_napdatuma datum
,sz.Oraszam
,n.c_hetsorszama
FROM T_NAPTARINAP_OSSZES n
CROSS JOIN (VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)) sz (Oraszam)
WHERE n.c_napdatuma >= @elsonap
AND n.c_napdatuma <= @utolsonap
AND n.c_orarendinap = 'T'
AND TOROLT = 'F'
AND n.C_TANEVID = @tanevId
DECLARE @oraSorszam TABLE (Id int, EvesSorszam int)
INSERT INTO @oraSorszam (Id, EvesSorszam)
SELECT DISTINCT
s.Id
,s.EvesSorszam
FROM (
SELECT DISTINCT tn.C_TANTARGYID, tn.C_OSZTALYCSOPORTID, ot.C_TANAROKID, tn.C_INTEZMENYID--, fh.C_NYOMTATASINEV
FROM T_TANITASIORA_OSSZES tn
INNER JOIN T_ORAK_TANAROK ot ON tn.ID = ot.C_ORAKID
INNER JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID
WHERE tn.C_OSZTALYCSOPORTID = @csoportid
) x
CROSS APPLY dbo.fnGetEvesOraszamLista (
x.C_TANTARGYID
,x.C_OSZTALYCSOPORTID
,x.C_TANAROKID
,GETDATE()
,x.C_INTEZMENYID
,@tanevID
) s
SELECT DISTINCT
o.Hetsorszam as Het
,o.Sorszam as Oraszam
,FORMAT(o.Datum, 'yyyy. MMMM dd.', 'hu-hu') as Datum
,FORMAT(tao.c_orakezdete, 'hh:mm')as OraKezd
,fh.C_NYOMTATASINEV as Tanar
,os.EvesSorszam as Sorszam
,tao.c_tema as Tema
FROM @Orak o
LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum = o.Datum
AND tao.torolt = 'F'
AND tao.c_oraszam = o.Sorszam
AND tao.c_tanevid = @tanevid
AND tao.c_osztalycsoportid = @csoportid
LEFT JOIN @oraSorszam os ON os.Id = tao.ID
LEFT JOIN T_ORAK_TANAROK ot ON tao.ID = ot.C_ORAKID
LEFT JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID
ORDER BY Oraszam
--Napló mulasztás
SELECT C_HETSORSZAMA Het, C_NYOMTATASINEV Tanulo,
MAX([1]) AS [Hetfo]
,MAX([2]) AS [Kedd]
,MAX([3]) AS [Szerda]
,MAX([4]) AS [Csutortok]
,MAX([5]) AS [Pentek]
,MAX([6]) AS [Szombat]
FROM (
SELECT C_HETSORSZAMA, C_NYOMTATASINEV, [0], [1], [2], [3], [4], [5], [6]
FROM (
SELECT DISTINCT n.C_NAPTARINAPID, DATEPART(dw,n.C_DATUM) AS NAP, t.C_NYOMTATASINEV, n.C_HETSORSZAMA,
'[' + STUFF((
SELECT ', ' + CAST(o.C_ORASZAM AS VARCHAR(3)) + IIF(tm.C_TIPUS = 1500, '', '(k)')
FROM T_TANULOMULASZTAS_OSSZES tm
INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.id=@csoportid
WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID
AND m.C_ORATANULOIID = tm.C_ORATANULOIID
AND o.C_TANEVID = @tanevID
AND tm.C_TANEVID = @tanevID
AND TM.TOROLT='F'
ORDER BY o.C_NAPTARINAPID, o.C_ORASZAM
FOR XML PATH(''), TYPE).value('.', 'varchar(max)'),1,2,'') + '] ' + CAST(SUM(IIF(m.C_IGAZOLT = 'T', 1, 0)) AS varchar(2)) + '/' + CAST(SUM(IIF(m.C_IGAZOLT = 'T' OR m.C_TIPUS = 1499, 0, 1)) AS varchar(2)) AS hianyzas
FROM T_TANITASIORA_OSSZES n
INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID AND m.TOROLT='F'
INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID
WHERE n.C_TANEVID = @tanevID AND m.C_TANEVID = @tanevID AND n.c_osztalycsoportid=@csoportId AND n.torolt='F'
GROUP BY n.C_NAPTARINAPID, C_ORATANULOIID, C_NYOMTATASINEV, n.C_HETSORSZAMA, n.C_DATUM) AS SUB
PIVOT
(
MAX(HIANYZAS)
FOR NAP IN ([0], [1], [2], [3], [4], [5], [6])
) AS PivotTable
) AS x
GROUP BY C_HETSORSZAMA, C_NYOMTATASINEV
ORDER BY C_HETSORSZAMA
END
GO

View file

@ -0,0 +1,41 @@
-- =============================================
-- Description: <Előszedjük az ePénztárca tétel bizonylatait>
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetEPenztarcaBizonylatListForGrid]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetEPenztarcaBizonylatListForGrid]
END
GO
CREATE PROCEDURE [dbo].[sp_GetEPenztarcaBizonylatListForGrid]
@pIntezmenyId INT,
@pTanevId INT,
@pTetelId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
EPenztarcaBizonylat.ID AS ID,
EPenztarcaBizonylat.C_AZONOSITO AS Azonosito,
EPenztarcaBizonylat.C_IKTATOSZAM AS Iktatoszam
FROM
[T_EPENZTARCABIZONYLAT] AS EPenztarcaBizonylat
WHERE
EPenztarcaBizonylat.C_INTEZMENYID = @pIntezmenyId AND
EPenztarcaBizonylat.C_TANEVID = @pTanevId AND
EPenztarcaBizonylat.C_EPENZTARCATETELID = @pTetelId AND
EPenztarcaBizonylat.TOROLT = 'F'
END
GO

View file

@ -0,0 +1,27 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[sp_GetEPenztarcaParameterekId]') IS NOT NULL
BEGIN
DROP PROCEDURE [sp_GetEPenztarcaParameterekId]
END
GO
CREATE PROCEDURE [sp_GetEPenztarcaParameterekId]
@intezmenyId INT,
@tanevId INT
AS
BEGIN
SET NOCOUNT ON
SElECT EPenztarcaParameterek.ID
FROM T_EPENZTARCAPARAMETEREK EPenztarcaParameterek
WHERE
EPenztarcaParameterek.C_INTEZMENYID = @intezmenyId
AND EPenztarcaParameterek.C_TANEVID = @tanevId
AND EPenztarcaParameterek.TOROLT = 'F'
END

View file

@ -0,0 +1,41 @@
-- =============================================
-- Description: <Előszedjük az ePénztárca tételeket>
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetEPenztarcaTetelListForGrid]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetEPenztarcaTetelListForGrid]
END
GO
CREATE PROCEDURE [dbo].[sp_GetEPenztarcaTetelListForGrid]
@pIntezmenyId INT,
@pTanevId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
EPenztarcaTetel.ID AS ID,
EPenztarcaTetel.C_JOGCIME AS Jogcim,
EPenztarcaTetel.C_DATUMA AS Datum,
EPenztarcaTetel.C_OSSZEGE AS Osszeg,
EPenztarcaTetel.C_STATUSZA AS Statusz
FROM
[T_EPENZTARCATETEL] AS EPenztarcaTetel
WHERE
EPenztarcaTetel.C_INTEZMENYID = @pIntezmenyId AND
EPenztarcaTetel.C_TANEVID = @pTanevId AND
EPenztarcaTetel.TOROLT = 'F'
END
GO

View file

@ -0,0 +1,554 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[DBO].[sp_GetESL_A03T01_1]') IS NOT NULL
BEGIN
DROP PROCEDURE [DBO].[sp_GetESL_A03T01_1]
END
GO
CREATE PROCEDURE [DBO].[sp_GetESL_A03T01_1]
@tanevId int,
@intezmenyId int,
@feladatEllatasiHelyId int
AS
BEGIN
SET NOCOUNT ON;
--Táblák deklarálása
declare @tmpA03T01 table (Id nvarchar(100), [1307] int, [1308] int, [1309] int, [1310] int, [1311] int, [1312] int, [1313] int, [1314] int, Osszesen int, Lany int, Rendez int)
declare @Dictionary table (Id int, Name nvarchar(max), Value int, Tipus nvarchar(max))
--declare @EvfolyamokTMP table (Id int, Evfolyam int)
declare @Evfolyamok table (Id int, Evfolyam int)
declare @TanuloErtekeles table (Id int, Tanulo int, Ertekeles int, Tipus int)
declare @FeladatEllatasiHelyekIntezmenyhez table (FHId int, IntezmenyId int)
declare @FHhozTartozoTanulok table (Intezmeny int, FH int, Evfolyam int, TanuloId int, Neme int)
declare @OsszesitettTanulok table (Tanulo int)
declare @2feltetelTeljesulTanulok table (Tanulo int)
--Dátumok deklarásása
declare @kezdet int,
@veg int,
@felev int
select top 1 @kezdet= iif(getdate()<=C_DATUM,1394,1400), --első félév
@veg= iif(getdate()<=C_DATUM,1400,1395) --második félév
from t_tanevrendje tr where c_naptipusa=1400 and c_tanevId=1 and c_intezmenyId=1 and torolt='F'
DECLARE @FelevKezdete DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@kezdet and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
DECLARE @FelevVege DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@veg and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
--Táblák feltöltése
INSERT INTO @Dictionary
SELECT DISTINCT id, c_name, c_value, c_type FROM T_DICTIONARYITEMBASE
INSERT INTO @Evfolyamok
SELECT id, Evfolyam from (SELECT DISTINCT id, CASE
WHEN id in (1307,1330,1334) THEN 1307 /* 5. évfolyam*/
WHEN id in (1308) THEN 1308 /* 6. évfolyam*/
WHEN id in (1309,1331,1335) THEN 1309 /* 7. évfolyam*/
WHEN id in (1310,1324) THEN 1310 /* 8. évfolyam*/
WHEN id in (1311,1316,1332,1333,3018,3019,3020) THEN 1311 /* 9. évfolyam*/
WHEN id in (1312,1323) THEN 1312 /* 10. évfolyam*/
WHEN id in (1313, 1317, 1325,3016 ) THEN 1313 /* 11. évfolyam*/
WHEN id in (1314,1318,1326, 3017, 3021, 3022 /*??*/,
1319, 1322) THEN 1314 /* 12. évfolyam*/
ELSE null
END AS Evfolyam
FROM @Dictionary
where Tipus like 'EvfolyamTipus')Evfolyamok
where Evfolyam is not null
/*
INSERT INTO @EvfolyamokTMP
SELECT id, Evfolyam from (SELECT DISTINCT id, CASE
WHEN id in (1307,1330,1334) THEN 1307 /* 5. évfolyam*/
WHEN id in (1308) THEN 1308 /* 6. évfolyam*/
WHEN id in (1309,1331,1335) THEN 1309 /* 7. évfolyam*/
WHEN id in (1310,1324) THEN 1310 /* 8. évfolyam*/
WHEN id in (1311,1316,1332,1333,3018,3019,3020) THEN 1311 /* 9. évfolyam*/
WHEN id in (1312,1323) THEN 1312 /* 10. évfolyam*/
WHEN id in (1313, 1317, 1325,3016 ) THEN 1313 /* 11. évfolyam*/
WHEN id in (1314,1318,1326, 3017, 3021, 3022 /*??*/,
1319, 1322) THEN 1314 /* 12. évfolyam*/
ELSE null
END AS Evfolyam
FROM @Dictionary
where Tipus like 'EvfolyamTipus')Evfolyamok
where Evfolyam is not null
--Évfolyamok kiválasztásához szükséges (pl általánosnál csak 5-8. évfolyam jelenjen meg)
declare @also int=(
select count(distinct tcs.c_osztalycsoportid) from t_tanulocsoport tcs
inner join t_osztalycsoport ocs on ocs.id=tcs.C_OSZTALYCSOPORTID and ocs.C_EVFOLYAMTIPUSA in (1307, 1330, 1334, 1308, 1309, 1331, 1335, 1310, 1324) and ocs.C_FELADATELLATASIHELYID=@feladatEllatasiHelyId
inner join t_osztaly o on o.id=ocs.id
where tcs.C_TANEVID=@tanevId )
declare @felso int=(
select count(distinct tcs.c_osztalycsoportid) from t_tanulocsoport tcs
inner join t_osztalycsoport ocs on ocs.id=tcs.C_OSZTALYCSOPORTID
and ocs.C_EVFOLYAMTIPUSA in (1311, 1316, 1332, 1333, 3018, 3019, 3020, 1312, 1323, 1313, 1317, 1325, 3016, 1314, 1318, 1326, 3017, 3021, 3022, 1319, 1322 )
and ocs.C_FELADATELLATASIHELYID=@feladatEllatasiHelyId
inner join t_osztaly o on o.id=ocs.id
where tcs.C_TANEVID=@tanevId )
IF (@also>=@felso)
begin
insert into @Evfolyamok
select Id, Evfolyam from @EvfolyamokTMP where Evfolyam in(1307,1308,1309,1310)
end
ELSE
begin
insert into @Evfolyamok
select Id, Evfolyam from @EvfolyamokTMP where Evfolyam in(1311,1312,1313,1314)
end
*/
--Egy adott FH-hoz tartozó tanulók
insert into @FHhozTartozoTanulok
select distinct ocs.c_intezmenyid, ocs.C_FELADATELLATASIHELYID, evf.Evfolyam, tcs.C_TANULOID, f.C_NEME from t_osztalycsoport ocs
inner join t_tanulocsoport tcs on tcs.C_OSZTALYCSOPORTID=ocs.ID and tcs.TOROLT='F' and tcs.C_TANEVID=@tanevId
inner join T_FELHASZNALO f on f.id=tcs.c_tanuloid
inner join @Evfolyamok evf on evf.Id=ocs.C_EVFOLYAMTIPUSA
where ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId and ocs.C_TANEVID=@tanevId
INSERT INTO @TanuloErtekeles
select Id, C_tanuloid, c_osztalyzat, c_ertekelestipusa from T_TANULOERTEKELES te
INNER JOIN @FHhozTartozoTanulok fht on fht.TanuloId=te.C_TANULOID
where torolt='F' and C_TANEVID=@tanevId
/* !!! a03t01 !!! */
-- 1. félév értékelésnél, minősítésnél....átlag<3
insert into @OsszesitettTanulok
select distinct Tanulo from @TanuloErtekeles te
inner join @Dictionary d on d.id=te.Ertekeles
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
where te.Tipus=1519
group by Tanulo
having round(avg(convert(float, d.VALUE)),1)<3
declare @Osszes3atlagalattLany int=(select count(Tanulo) from (select Tanulo from @TanuloErtekeles te
inner join @Dictionary d on d.id=te.Ertekeles
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
where te.Tipus=1519 and fht.Neme=5
group by Tanulo
having round(avg(convert(float, d.VALUE)),1)<3)a)
insert into @tmpA03T01
select '5578', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @Osszes3atlagalattLany, 1 Rendez
from (select TanuloId, Evfolyam from @FHhozTartozoTanulok fht
inner join (select round(avg(convert(float, d.VALUE)),1) Atlag, Tanulo from @TanuloErtekeles te
inner join @Dictionary d on d.id=te.Ertekeles
where te.Tanulo in (select Tanuloid from @FHhozTartozoTanulok ) and te.Tipus=1519 group by Tanulo
having round(avg(convert(float, d.VALUE)),1)<3) Atlag on Atlag.Tanulo=fht.TanuloId
union
select null, null
where (select top 1 TanuloId from @FHhozTartozoTanulok fht
inner join (select round(avg(convert(float, d.VALUE)),1) Atlag, Tanulo from @TanuloErtekeles te
inner join @Dictionary d on d.id=te.Ertekeles
where te.Tanulo in (select Tanuloid from @FHhozTartozoTanulok ) and te.Tipus=1519 group by Tanulo
having round(avg(convert(float, d.VALUE)),1)<3) Atlag on Atlag.Tanulo=fht.TanuloId) is null )a
pivot (count(TanuloId) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))pv
--1,1 mértékben romlott ?????????????????????????????
--egy, vagy több tantárgyból elégtelen osztályzat
insert into @OsszesitettTanulok
select distinct fht.TanuloId from @TanuloErtekeles te
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
where te.Tipus=1519 and te.Ertekeles=1501
DECLARE @ElegtelenFeleviLany int=(select count(distinct fht.TanuloId) from @TanuloErtekeles te
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo and fht.Neme=5
where te.Tipus=1519 and te.Ertekeles=1501)
insert into @tmpA03T01
select '5579', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @ElegtelenFeleviLany, 2 Rendez from (select distinct fht.TanuloId, fht.Evfolyam from @TanuloErtekeles te
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
where te.Tipus=1519 and te.Ertekeles=1501
union
select null, null
where (select top 1 fht.TanuloId from @TanuloErtekeles te
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
where te.Tipus=1519 and te.Ertekeles=1501)is null)a
pivot (count(TanuloId) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))pv
-- félév, magatartás, 2
insert into @OsszesitettTanulok
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
inner join t_osztalyfonokiertekeles oe on oe.id=te.ID and oe.C_MAGATARTAS=1558
declare @OsszesFeleviRosszMagatartasLany int =(select count(distinct fht.TanuloId) from @FHhozTartozoTanulok fht
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
inner join t_osztalyfonokiertekeles oe on oe.id=te.ID and oe.C_MAGATARTAS=1558 and fht.Neme=5)
insert into @tmpA03T01
select '5580', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesFeleviRosszMagatartasLany, 3 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
inner join t_osztalyfonokiertekeles oe on oe.id=te.ID and oe.C_MAGATARTAS=1558
union
select null, null where
(select top 1 fht.TanuloId Evfolyam from @FHhozTartozoTanulok fht
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
inner join t_osztalyfonokiertekeles oe on oe.id=te.ID and oe.C_MAGATARTAS=1558)is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
-- félév, sozrgalom, 2
insert into @OsszesitettTanulok
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
inner join t_osztalyfonokiertekeles oe on oe.id=te.ID and oe.C_SZORGALOM=1562
declare @OsszesFeleviRosszSzorgalomLany int =(select count(distinct fht.TanuloId) from @FHhozTartozoTanulok fht
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
inner join t_osztalyfonokiertekeles oe on oe.id=te.ID and oe.C_SZORGALOM=1562 and fht.Neme=5)
insert into @tmpA03T01
select '5581', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesFeleviRosszSzorgalomLany, 4 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
inner join t_osztalyfonokiertekeles oe on oe.id=te.ID and oe.C_SZORGALOM=1562
union
select null, null
where (select top 1 fht.TanuloId Tanulo from @FHhozTartozoTanulok fht
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
inner join t_osztalyfonokiertekeles oe on oe.id=te.ID and oe.C_SZORGALOM=1562)is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--adott évben évismétlés
insert into @OsszesitettTanulok
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id
declare @OsszesEvismetloTanuloLany int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id and fht.Neme=5)
insert into @tmpA03T01
select '5582', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesEvismetloTanuloLany, 5 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id
union
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id) is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--Félévben 50 órát elérő igazolatlan hiányzás
insert into @OsszesitettTanulok
select distinct fht.Tanuloid Tanulo from T_TANULOMULASZTAS tm
inner join @FHhozTartozoTanulok fht on fht.TanuloId=tm.C_ORATANULOIID
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
group by fht.TanuloId
having count(Tanuloid)>50
declare @Osszes50fFelettiIgazolatlanLany int=(select count(Tanulo) from (select fht.Tanuloid Tanulo from T_TANULOMULASZTAS tm
inner join @FHhozTartozoTanulok fht on fht.TanuloId=tm.C_ORATANULOIID and fht.Neme=5
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
group by fht.TanuloId
having count(Tanuloid)>50)a)
insert into @tmpA03T01
select '5583',*,[1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @Osszes50fFelettiIgazolatlanLany, 6 Rendez from (select Tanulo, Evfolyam from (select fht.Tanuloid Tanulo, fht.Evfolyam from T_TANULOMULASZTAS tm
inner join @FHhozTartozoTanulok fht on fht.TanuloId=tm.C_ORATANULOIID
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
group by fht.TanuloId, fht.Evfolyam
having count(Tanuloid)>50)a
union
select null, null where (select top 1 fht.Tanuloid from T_TANULOMULASZTAS tm
inner join @FHhozTartozoTanulok fht on fht.TanuloId=tm.C_ORATANULOIID
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
group by fht.TanuloId
having count(Tanuloid)>50
) is null
)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--Szülő kérésére magántanuló
insert into @OsszesitettTanulok
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id
declare @OsszesSzuloMagantanuloLany int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id and fht.Neme=5)
insert into @tmpA03T01
select '5584', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesSzuloMagantanuloLany, 7 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id
union
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id) is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--Szülő kérésére folyamtban????
--Menekült, menedékjoggal rendelkező
insert into @OsszesitettTanulok
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T'and fht.TanuloId=t.id
declare @OsszesMenedekjoggalRendLany int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T' and fht.TanuloId=t.id and fht.Neme=5)
insert into @tmpA03T01
select '5585', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesMenedekjoggalRendLany, 8 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T' and fht.TanuloId=t.id
union
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T' and fht.TanuloId=t.id) is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--Félévben veszélyeztetett tanulók száma
insert into @OsszesitettTanulok
select distinct TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T'
declare @OsszesVeszelyeztettLany int = (select count(TanuloId) from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T' and fht.Neme=5)
insert into @tmpA03T01
select '5586', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesVeszelyeztettLany, 9 Rendez from (select TanuloId, Evfolyam from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T'
union
select null, null
where (select top 1 TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T') is null)a
pivot (count(TanuloId) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--ideiglenes hatállyal elhelyezett vagy nevelésbe vett tanulók
insert into @OsszesitettTanulok
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on fht.TanuloId=t.id and t.C_ALLAMIGONDOZOTT='T'
declare @OsszesAllamigondozottLany int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_ALLAMIGONDOZOTT='T' and fht.TanuloId=t.id and fht.Neme=5)
insert into @tmpA03T01
select '5587', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesAllamigondozottLany, 10 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_ALLAMIGONDOZOTT='T' and fht.TanuloId=t.id
union
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_ALLAMIGONDOZOTT='T' and fht.TanuloId=t.id) is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--legalább 2 feltétel teljesül
insert into @2feltetelTeljesulTanulok
select Tanulo from @OsszesitettTanulok group by Tanulo having count(Tanulo)>=2
declare @OsszesOsszeslanyMin2 int=(select count(Tanulo) from @2feltetelTeljesulTanulok kt
inner join @FHhozTartozoTanulok ft on ft.TanuloId=kt.Tanulo and ft.Neme=5)
insert into @tmpA03T01
select '5588', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesOsszeslanyMin2, 11 Rendez from (select Tanulo, fht.Evfolyam from @2feltetelTeljesulTanulok kt
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
union
select null,null
where (select top 1 Tanulo from @OsszesitettTanulok ot
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ot.Tanulo)is null ) a
pivot (count (Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--Szum
declare @OsszesOsszesLany int= (select count(distinct Tanulo) from @OsszesitettTanulok ot
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo and fh.Neme=5)
insert into @tmpA03T01
select '5025', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesOsszesLany, -1 Rendez from (select distinct Tanulo, Evfolyam from @OsszesitettTanulok ot
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo
union
select null, null
where (select top 1 Tanulo from @OsszesitettTanulok ot
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo ) is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--Szum lány
insert into @tmpA03T01
select '4952', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], null, 0 Rendez from (select distinct Tanulo, Evfolyam from @OsszesitettTanulok ot
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo and fh.Neme=5
union
select null, null where (select top 1 Tanulo from @OsszesitettTanulok ot
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo and fh.Neme=5) is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--kettő feltétel esetén ... félévben 100 órát elért hiányzás
declare @Osszes100IgazoltLany int = (select count(Tanulo) from (select distinct fht.Tanuloid Tanulo from T_TANULOMULASZTAS tm
inner join @2feltetelTeljesulTanulok kt on kt.Tanulo=tm.C_ORATANULOIID
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo and fht.Neme=5
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
where tm.C_IGAZOLT='T' and tm.c_tanevid=@tanevId
group by fht.TanuloId, fht.Evfolyam
having count(Tanuloid)>=100)a)
insert into @tmpA03T01
select '5589', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @Osszes100IgazoltLany, 12 Rendez from (select distinct fht.Tanuloid Tanulo, fht.Evfolyam from T_TANULOMULASZTAS tm
inner join @2feltetelTeljesulTanulok kt on kt.Tanulo=tm.C_ORATANULOIID
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
where tm.C_IGAZOLT='T' and tm.c_tanevid=@tanevId
group by fht.TanuloId, fht.Evfolyam
having count(Tanuloid)>=100
union
select null, null
where (select top 1 fht.Tanuloid Tanulo from T_TANULOMULASZTAS tm
inner join @2feltetelTeljesulTanulok kt on kt.Tanulo=tm.C_ORATANULOIID
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
where tm.C_IGAZOLT='T' and tm.c_tanevid=@tanevId
group by fht.TanuloId, fht.Evfolyam
having count(Tanuloid)>=100) is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--kettő feltétel ... kiemelet fogyelmet igénylő --sni
declare @OsszesSni2feltetelLany int = (select count(Tanulo) from (select kt.Tanulo Tanulo from @2feltetelTeljesulTanulok kt
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_SAJATOSNEVELESU='T'
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo and fht.Neme=5
)a)
insert into @tmpA03T01
select '5590', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesSni2feltetelLany, 13 Rendez from (select kt.Tanulo, fht.Evfolyam from @2feltetelTeljesulTanulok kt
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_SAJATOSNEVELESU='T'
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
union
select null, null
where (select top 1 kt.Tanulo from @2feltetelTeljesulTanulok kt
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_SAJATOSNEVELESU='T'
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo) is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--kettő feltétel ... kiemelet fogyelmet igénylő --rendszeres gyermekvédelmi
declare @OsszesRgyT2feltetelLany int = (select count(Tanulo) from (select kt.Tanulo Tanulo from @2feltetelTeljesulTanulok kt
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_RENDSZERESGYERMEKVEDELMIKEDV is not null
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo and fht.Neme=5
)a)
insert into @tmpA03T01
select '5591', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesRgyT2feltetelLany, 14 Rendez from (select kt.Tanulo, fht.Evfolyam from @2feltetelTeljesulTanulok kt
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_RENDSZERESGYERMEKVEDELMIKEDV is not null
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
union
select null, null
where (select top 1 kt.Tanulo from @2feltetelTeljesulTanulok kt
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_RENDSZERESGYERMEKVEDELMIKEDV is not null
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo) is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--kettő feltétel ... alapfokú oktatásban 16
declare @OsszesAlapfoku16AlattLany int =(select count(fht.TanuloId) from @2feltetelTeljesulTanulok ketfeltetel
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1307,1308,1309,1310) and fht.Neme=5
inner join (select f.id Tanuloid,
case
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE()), f.C_SZULETESIDATUM) < GETDATE() THEN DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE())
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM,GETDATE()) - 1
end as Eletkor from t_felhasznalo f
) szulido on szulido.TanuloId=ketfeltetel.Tanulo
where szulido.Eletkor>15)
insert into @tmpA03T01
select '5592', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesAlapfoku16AlattLany, 14 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @2feltetelTeljesulTanulok ketfeltetel
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1307,1308,1309,1310)
inner join (select f.id Tanuloid,
case
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE()), f.C_SZULETESIDATUM) < GETDATE() THEN DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE())
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM,GETDATE()) - 1
end as Eletkor from t_felhasznalo f
) szulido on szulido.TanuloId=ketfeltetel.Tanulo
where szulido.Eletkor>15
union
select null, null
where (select top 1 fht.TanuloId Tanulo from @2feltetelTeljesulTanulok ketfeltetel
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1307,1308,1309,1310)
inner join (select f.id Tanuloid,
case
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE()), f.C_SZULETESIDATUM) < GETDATE() THEN DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE())
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM,GETDATE()) - 1
end as Eletkor from t_felhasznalo f
) szulido on szulido.TanuloId=ketfeltetel.Tanulo
where szulido.Eletkor>15) is null
)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
--középfokú oktatásban 16. életévének betöltését követően lépett be
/*
ELSE
begin
declare @OsszesKozepfoku16felett int = (
select count(Tanulo) from (
select tcs.c_tanuloid Tanulo, fht.Evfolyam,
case
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)), f.C_SZULETESIDATUM) < min(tcs.c_belepesdatum) THEN DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum))
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)) - 1
end as Eletkor
from T_TANULOCSOPORT tcs
inner join @2feltetelTeljesulTanulok ketfeltetel on ketfeltetel.Tanulo=tcs.C_TANULOID
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid
inner join t_felhasznalo f on f.id=tcs.C_TANULOID
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1311,1312,1313,1314)
where tcs.torolt='F'
group by tcs.c_tanuloid, fht.Evfolyam, f.C_SZULETESIDATUM)a
where Eletkor>=16
)
declare @OsszesKozepfoku16felettLany int = (
select count(Tanulo) from (
select tcs.c_tanuloid Tanulo, fht.Evfolyam,
case
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)), f.C_SZULETESIDATUM) < min(tcs.c_belepesdatum) THEN DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum))
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)) - 1
end as Eletkor
from T_TANULOCSOPORT tcs
inner join @2feltetelTeljesulTanulok ketfeltetel on ketfeltetel.Tanulo=tcs.C_TANULOID
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid
inner join t_felhasznalo f on f.id=tcs.C_TANULOID
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1311,1312,1313,1314) and fht.Neme=5
where tcs.torolt='F'
group by tcs.c_tanuloid, fht.Evfolyam, f.C_SZULETESIDATUM)a
where Eletkor>=16
)
insert into @tmpA03T01
select 'kozepfoku16utan', piv.*, @OsszesKozepfoku16felett, @OsszesKozepfoku16felettLany from (select Tanulo, Evfolyam from (
select tcs.c_tanuloid Tanulo, fht.Evfolyam,
case
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)), f.C_SZULETESIDATUM) < min(tcs.c_belepesdatum) THEN DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum))
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)) - 1
end as Eletkor
from T_TANULOCSOPORT tcs
inner join @2feltetelTeljesulTanulok ketfeltetel on ketfeltetel.Tanulo=tcs.C_TANULOID
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid
inner join t_felhasznalo f on f.id=tcs.C_TANULOID
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1311,1312,1313,1314)
where tcs.torolt='F'
group by tcs.c_tanuloid, fht.Evfolyam, f.C_SZULETESIDATUM)a
where Eletkor>=16
union
select null, null
where (select top 1 Tanulo from (
select tcs.c_tanuloid Tanulo, fht.Evfolyam,
case
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)), f.C_SZULETESIDATUM) < min(tcs.c_belepesdatum) THEN DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum))
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)) - 1
end as Eletkor
from T_TANULOCSOPORT tcs
inner join @2feltetelTeljesulTanulok ketfeltetel on ketfeltetel.Tanulo=tcs.C_TANULOID
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid
inner join t_felhasznalo f on f.id=tcs.C_TANULOID
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1311,1312,1313,1314)
where tcs.torolt='F'
group by tcs.c_tanuloid, fht.Evfolyam, f.C_SZULETESIDATUM)a
where Eletkor>=16) is null )a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
end
*/
-- a03t01
select Id, [1307] 'Evfolyam5', [1308] 'Evfolyam6', [1309] 'Evfolyam7', [1310] 'Evfolyam8', [1311] 'Evfolyam9', [1312] 'Evfolyam10', [1313] 'Evfolyam11', [1314] 'Evfolyam12', Osszesen, Lany from @tmpA03T01
order by Rendez
END

View file

@ -0,0 +1,114 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[DBO].[sp_GetESL_A03T02_1]') IS NOT NULL
BEGIN
DROP PROCEDURE [DBO].[sp_GetESL_A03T02_1]
END
GO
CREATE PROCEDURE [DBO].[sp_GetESL_A03T02_1]
@tanevId int,
@intezmenyId int,
@feladatEllatasiHelyId int
AS
BEGIN
SET NOCOUNT ON;
--Táblák deklarálása
declare @Dictionary table (Id int, Name nvarchar(max), Value int, Tipus nvarchar(max))
declare @Evfolyamok table (Id int, Evfolyam int)
declare @TanuloErtekeles table (Id int, Tanulo int, Tantargy int)
declare @FHhozTartozoTanulok table (Intezmeny int, FH int, Evfolyam int, TanuloId int, Neme int)
declare @Targyak table (Tantargy int)
--Dátumok deklarásása
declare @kezdet int,
@veg int,
@felev int
select top 1 @kezdet= iif(getdate()<=C_DATUM,1394,1400), --első félév
@veg= iif(getdate()<=C_DATUM,1400,1395) --második félév
from t_tanevrendje tr where c_naptipusa=1400 and c_tanevId=@tanevId and c_intezmenyId=@intezmenyId and torolt='F'
DECLARE @FelevKezdete DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@kezdet and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
DECLARE @FelevVege DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@veg and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
--Táblák feltöltése
INSERT INTO @Dictionary
SELECT DISTINCT id, c_name, c_value, c_type FROM T_DICTIONARYITEMBASE
INSERT INTO @Evfolyamok
SELECT id, Evfolyam from (SELECT DISTINCT id, CASE
WHEN id in (1307,1330,1334) THEN 1307 /* 5. évfolyam*/
WHEN id in (1308) THEN 1308 /* 6. évfolyam*/
WHEN id in (1309,1331,1335) THEN 1309 /* 7. évfolyam*/
WHEN id in (1310,1324) THEN 1310 /* 8. évfolyam*/
WHEN id in (1311,1316,1332,1333,3018,3019,3020) THEN 1311 /* 9. évfolyam*/
WHEN id in (1312,1323) THEN 1312 /* 10. évfolyam*/
WHEN id in (1313, 1317, 1325,3016 ) THEN 1313 /* 11. évfolyam*/
WHEN id in (1314,1318,1326, 3017, 3021, 3022 /*??*/,
1319, 1322) THEN 1314 /* 12. évfolyam*/
ELSE null
END AS Evfolyam
FROM @Dictionary
where Tipus like 'EvfolyamTipus')Evfolyamok
where Evfolyam is not null
insert into @FHhozTartozoTanulok
select distinct ocs.c_intezmenyid, ocs.C_FELADATELLATASIHELYID, evf.Evfolyam, tcs.C_TANULOID, f.C_NEME from t_osztalycsoport ocs
inner join t_tanulocsoport tcs on tcs.C_OSZTALYCSOPORTID=ocs.ID and tcs.TOROLT='F' and tcs.C_TANEVID=@tanevId
inner join T_FELHASZNALO f on f.id=tcs.c_tanuloid
inner join @Evfolyamok evf on evf.Id=ocs.C_EVFOLYAMTIPUSA
where ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId and ocs.C_TANEVID=@tanevId
--csak az egyes félévi jegyek
INSERT INTO @TanuloErtekeles
select te.Id, C_tanuloid, t.c_targykategoria from T_TANULOERTEKELES te
inner join t_tantargy t on t.id=te.c_tantargyid
INNER JOIN @FHhozTartozoTanulok fht on fht.TanuloId=te.C_TANULOID
where te.torolt='F' and te.C_TANEVID=@tanevId and te.C_OSZTALYZAT=1501 and te.c_ertekelestipusa=1519
insert into @Targyak (Tantargy)
select distinct id from @Dictionary where id in (1202,1203,1204,1209,1200,1210,1198,1215,1219,1220,1221,1223,1224,1230,1232,1235,1240,1239,1242)
-- !!!!!!!! --
select TargyNev.Name Id, isnull(piv.[1307],0) 'Evfolyam5', isnull(piv.[1308],0) 'Evfolyam6', isnull(piv.[1309],0) 'Evfolyam7', isnull(piv.[1310],0) 'Evfolyam8',
isnull(piv.[1311],0) 'Evfolyam9', isnull(piv.[1312],0) 'Evfolyam10', isnull(piv.[1313],0) 'Evfolyam11', isnull(piv.[1314],0) 'Evfolyam12',
isnull(Osszes.OsszesTanulo,0) Osszesen, isnull(OsszesLany.OsszesTanulo,0) Lany
from @Targyak Targyak
left join (
select * from (select distinct Tanulo, Evfolyam, case
when Tantargy in (1202) then 1202 --angol
when Tantargy in (1203) then 1203 --német
when Tantargy in (1204) then 1204 --francia
when Tantargy in (1205,1206,1207,1208,1209) then 1209 --egyéb nyelv
when Tantargy in (1200) then 1200 --nemzetiségi
when Tantargy in (1210) then 1210 --matek
when Tantargy in (1198) then 1198 -- magyar nyelv és irodalom
when Tantargy in (1215) then 1215 --történelem és társadalmi...
when Tantargy in (1219) then 1219 --fizika
when Tantargy in (1220) then 1220 --kémia
when Tantargy in (1221) then 1221 --biológia
when Tantargy in (1223) then 1223 --földrajz
when Tantargy in (1224) then 1224 --ének-zene
when Tantargy in (1229,1230) then 1230 --számítástechika, informatika
when Tantargy in (1232) then 1232 --technika
when Tantargy in (1235) then 1235 --testnevelés
when Tantargy in (1240) then 1240 --szakmai gyakorlat
when Tantargy in (1239) then 1239 --szakmai elmélet
else 1242 --egyéb
end Tantargy
from @TanuloErtekeles te
inner join @FHhozTartozoTanulok fh on fh.TanuloId=te.Tanulo and fh.Evfolyam in (1307,1308,1309,1310, 1311, 1312, 1313, 1314))a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
) piv on piv.Tantargy=Targyak.Tantargy
left join (select count(distinct Tanulo) OsszesTanulo, Tantargy from @TanuloErtekeles group by Tantargy) Osszes on Osszes.Tantargy=Targyak.Tantargy
left join (select count(distinct Tanulo) OsszesTanulo, Tantargy from (select Tanulo, Tantargy from @TanuloErtekeles te inner join @FHhozTartozoTanulok ft on te.Tanulo=ft.TanuloId and ft.Neme=5) a group by Tantargy) OsszesLany on OsszesLany.Tantargy=Targyak.Tantargy
inner join @Dictionary TargyNev on TargyNev.Id=Targyak.Tantargy
END

View file

@ -0,0 +1,131 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[DBO].[sp_GetESL_A03T03_1]') IS NOT NULL
BEGIN
DROP PROCEDURE [DBO].[sp_GetESL_A03T03_1]
END
GO
CREATE PROCEDURE [DBO].[sp_GetESL_A03T03_1]
@tanevId int,
@intezmenyId int,
@feladatEllatasiHelyId int
AS
BEGIN
SET NOCOUNT ON;
--Táblák deklarálása
declare @Dictionary table (Id int, Name nvarchar(max), Value int, Tipus nvarchar(max))
declare @Evfolyamok table (Id int, Evfolyam int)
declare @TanuloErtekeles table (Id int, Tanulo int, Ertekeles int, Tipus int)
declare @FeladatEllatasiHelyekIntezmenyhez table (FHId int, IntezmenyId int)
declare @FHhozTartozoTanulok table (Intezmeny int, FH int, Evfolyam int, TanuloId int, Neme int)
--Dátumok deklarásása
declare @kezdet int,
@veg int,
@felev int
select top 1 @kezdet= iif(getdate()<=C_DATUM,1394,1400), --első félév
@veg= iif(getdate()<=C_DATUM,1400,1395) --második félév
from t_tanevrendje tr where c_naptipusa=1400 and c_tanevId=@tanevId and c_intezmenyId=@intezmenyId and torolt='F'
DECLARE @FelevKezdete DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@kezdet and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
DECLARE @FelevVege DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@veg and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
--Táblák feltöltése
INSERT INTO @Dictionary
SELECT DISTINCT id, c_name, c_value, c_type FROM T_DICTIONARYITEMBASE
INSERT INTO @Evfolyamok
SELECT id, Evfolyam from (SELECT DISTINCT id, CASE
WHEN id in (1307,1330,1334) THEN 1307 /* 5. évfolyam*/
WHEN id in (1308) THEN 1308 /* 6. évfolyam*/
WHEN id in (1309,1331,1335) THEN 1309 /* 7. évfolyam*/
WHEN id in (1310,1324) THEN 1310 /* 8. évfolyam*/
WHEN id in (1311,1316,1332,1333,3018,3019,3020) THEN 1311 /* 9. évfolyam*/
WHEN id in (1312,1323) THEN 1312 /* 10. évfolyam*/
WHEN id in (1313, 1317, 1325,3016 ) THEN 1313 /* 11. évfolyam*/
WHEN id in (1314,1318,1326, 3017, 3021, 3022 /*??*/,
1319, 1322) THEN 1314 /* 12. évfolyam*/
ELSE null
END AS Evfolyam
FROM @Dictionary
where Tipus like 'EvfolyamTipus')Evfolyamok
where Evfolyam is not null
/*
INSERT INTO @EvfolyamokTMP
SELECT id, Evfolyam from (SELECT DISTINCT id, CASE
WHEN id in (1307,1330,1334) THEN 1307 /* 5. évfolyam*/
WHEN id in (1308) THEN 1308 /* 6. évfolyam*/
WHEN id in (1309,1331,1335) THEN 1309 /* 7. évfolyam*/
WHEN id in (1310,1324) THEN 1310 /* 8. évfolyam*/
WHEN id in (1311,1316,1332,1333,3018,3019,3020) THEN 1311 /* 9. évfolyam*/
WHEN id in (1312,1323) THEN 1312 /* 10. évfolyam*/
WHEN id in (1313, 1317, 1325,3016 ) THEN 1313 /* 11. évfolyam*/
WHEN id in (1314,1318,1326, 3017, 3021, 3022 /*??*/,
1319, 1322) THEN 1314 /* 12. évfolyam*/
ELSE null
END AS Evfolyam
FROM @Dictionary
where Tipus like 'EvfolyamTipus')Evfolyamok
where Evfolyam is not null
--Évfolyamok kiválasztásához szükséges (pl általánosnál csak 5-8. évfolyam jelenjen meg)
declare @also int=(
select count(distinct tcs.c_osztalycsoportid) from t_tanulocsoport tcs
inner join t_osztalycsoport ocs on ocs.id=tcs.C_OSZTALYCSOPORTID and ocs.C_EVFOLYAMTIPUSA in (1307, 1330, 1334, 1308, 1309, 1331, 1335, 1310, 1324) and ocs.C_FELADATELLATASIHELYID=@feladatEllatasiHelyId
inner join t_osztaly o on o.id=ocs.id
where tcs.C_TANEVID=@tanevId )
declare @felso int=(
select count(distinct tcs.c_osztalycsoportid) from t_tanulocsoport tcs
inner join t_osztalycsoport ocs on ocs.id=tcs.C_OSZTALYCSOPORTID
and ocs.C_EVFOLYAMTIPUSA in (1311, 1316, 1332, 1333, 3018, 3019, 3020, 1312, 1323, 1313, 1317, 1325, 3016, 1314, 1318, 1326, 3017, 3021, 3022, 1319, 1322 )
and ocs.C_FELADATELLATASIHELYID=@feladatEllatasiHelyId
inner join t_osztaly o on o.id=ocs.id
where tcs.C_TANEVID=@tanevId )
IF (@also>=@felso)
begin
insert into @Evfolyamok
select Id, Evfolyam from @EvfolyamokTMP where Evfolyam in(1307,1308,1309,1310)
end
ELSE
begin
insert into @Evfolyamok
select Id, Evfolyam from @EvfolyamokTMP where Evfolyam in(1311,1312,1313,1314)
end
*/
--Egy adott FH-hoz tartozó tanulók
insert into @FHhozTartozoTanulok
select distinct ocs.c_intezmenyid, ocs.C_FELADATELLATASIHELYID, evf.Evfolyam, tcs.C_TANULOID, f.C_NEME from t_osztalycsoport ocs
inner join t_tanulocsoport tcs on tcs.C_OSZTALYCSOPORTID=ocs.ID and tcs.TOROLT='F' and tcs.C_TANEVID=@tanevId
inner join T_FELHASZNALO f on f.id=tcs.c_tanuloid
inner join @Evfolyamok evf on evf.Id=ocs.C_EVFOLYAMTIPUSA
where ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId and ocs.C_TANEVID=@tanevId
--adott évben évismétlés
declare @OsszesEvismetloTanulo int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.C_EVISMETLO='T' and fht.TanuloId=t.id)
declare @OsszesEvismetloTanuloLany int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id and fht.Neme=5)
select 5582 as 'Id', [1307] 'Evfolyam5', [1308] 'Evfolyam6', [1309] 'Evfolyam7', [1310] 'Evfolyam8', [1311] 'Evfolyam9', [1312] 'Evfolyam10', [1313] 'Evfolyam11', [1314] 'Evfolyam12', @OsszesEvismetloTanulo 'Osszesen', @OsszesEvismetloTanuloLany 'Lany'
from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id
union
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id) is null)a
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
END

View file

@ -0,0 +1,68 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetElfogadottTantargyfelosztasok]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetElfogadottTantargyfelosztasok]
END
GO
CREATE PROCEDURE [dbo].[sp_GetElfogadottTantargyfelosztasok]
@tanevId int,
@intezmenyId int
AS
BEGIN
SET NOCOUNT ON;
-- fejléc
SELECT IA.C_NEV IntezmenyNeve,
TE.C_NEV TANEV,
IA.C_ENGEDELYEZETTALLASHELYEK Allasok,
FORMAT(IASZ.C_ELFOGADOTTTTFDATUMA, 'yyyy. MMMM dd.', 'hu-hu') ElfogadasDatuma
FROM T_INTEZMENYADATOK_OSSZES IA
inner join T_TANEV_OSSZES TE on TE.ID = IA.C_TANEVID and TE.C_INTEZMENYID = IA.C_INTEZMENYID and TE.TOROLT = 'F'
inner join T_INTEZMENYADATSZOLGALTATAS_OSSZES IASZ on IASZ.C_INTEZMENYID=IA.C_INTEZMENYID and IASZ.TOROLT='F' AND IASZ.C_TANEVID=@tanevId
WHERE IA.TOROLT = 'F'
and TE.ID = @tanevId
and IA.C_INTEZMENYID = @intezmenyId
--Pedagógusok
select
FA.C_ALKALMAZOTTID TanarId,
FA.C_TANARNEVE TanarNev,
FA.C_TANARMUNKAKORE Munkakor,
FA.C_TANARPEDAGOGIAIKEPESITESE PedagogiaiKepesites,
FA.C_TANARKOTELEZOORASZAMA KotelezoOraszam,
FA.C_TANARMUNKAIDOKEDVEZMENYE MunkaidoKedvezmeny,
FA.C_TANARMUNKAIDOKEDVEZMENYOKA MunkaidoKedvezmenyOka,
IIF(FA.C_TANARKOTELEZOORASZAMA = 0 or C_TANARKOTELEZOORASZAMA <= FA.C_TANARMUNKAIDOKEDVEZMENYE, 0, FA.C_TANARKOTELEZOORASZAMA - isnull(FA.C_TANARMUNKAIDOKEDVEZMENYE, 0)) HetiOraszam,
sum(FA.C_ORASZAM) ValosOraszam
from T_FOGLALKOZASARCHIV_OSSZES FA
where FA.TOROLT = 'F'
and FA.C_INTEZMENYID = @intezmenyId and FA.C_TANEVID = @tanevId
group by FA.C_ALKALMAZOTTID, FA.C_TANARNEVE, FA.C_TANARMUNKAKORE, FA.C_TANARPEDAGOGIAIKEPESITESE, FA.C_TANARKOTELEZOORASZAMA,
FA.C_TANARMUNKAIDOKEDVEZMENYE, FA.C_TANARMUNKAIDOKEDVEZMENYOKA
----Osztályok
select
FA.C_OSZTALYCSOPORTNEVE OsztalyNev,
sum(FA.C_ORASZAM) OsszesOraszam
from T_FOGLALKOZASARCHIV_OSSZES FA
where FA.TOROLT = 'F'
and FA.C_INTEZMENYID = @intezmenyId and FA.C_TANEVID = @tanevId
group by FA.C_OSZTALYCSOPORTNEVE
----Tantárgyfelosztás
select
FA.ID,
FA.C_TANARNEVE TanarNev,
FA.c_OSZTALYCSOPORTNEVE OsztalyNev,
FA.C_TANTARGYNEVE TantargyNev,
FA.C_ORASZAM Oraszam
from T_FOGLALKOZASARCHIV_OSSZES FA
where FA.TOROLT = 'F'
and FA.C_INTEZMENYID = @intezmenyId and FA.C_TANEVID = @tanevId
END
GO

View file

@ -0,0 +1,74 @@
-- =============================================
-- Author: Dőrr Tamás
-- Create date: 2017.02.24.
-- Description:
-- =============================================
IF OBJECT_ID('sp_GetElozoOranHianyzottTanulok') IS NOT NULL BEGIN
DROP PROCEDURE sp_GetElozoOranHianyzottTanulok
END
GO
CREATE PROCEDURE [sp_GetElozoOranHianyzottTanulok]
@OsztalyCsoportId int,
@Datum datetime,
@OraKezdete datetime,
@HianyzasTipus int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @tempOsztalyCsoportok TABLE (OsztalyCsoportID int PRIMARY KEY)
DECLARE @tempTanulok TABLE (TanuloID int PRIMARY KEY)
DECLARE @resultTanuloK TABLE (TanuloID int)
INSERT INTO @tempOsztalyCsoportok (OsztalyCsoportID)
SELECT DISTINCT ID FROM [fnGetKapcsolodoOsztalycsoportok] (@OsztalyCsoportId)
INSERT INTO @tempTanuloK (TanuloID)
SELECT DISTINCT
C_ORATANULOIID
FROM T_TANULOMULASZTAS tm
JOIN T_TANITASIORA t ON t.ID = tm.C_TANITASIORAKID AND t.C_DATUM = @datum AND tm.C_TIPUS = @HianyzasTipus AND t.TOROLT = 'F'
WHERE tm.TOROLT = 'F' AND tm.C_ORATANULOIID IN (
SELECT
tcs.C_TANULOID
FROM T_TANULOCSOPORT tcs
WHERE
tcs.C_OSZTALYCSOPORTID IN (select OsztalyCsoportID from @tempOsztalyCsoportok)
AND tcs.TOROLT = 'F'
AND @datum BETWEEN tcs.C_BELEPESDATUM AND ISNULL(tcs.C_KILEPESDATUM, GETDATE())
)
DECLARE @TanuloId int
DECLARE MY_CURSOR CURSOR
LOCAL STATIC READ_ONLY FORWARD_ONLY
FOR
SELECT DISTINCT TanuloID FROM @tempTanuloK
OPEN MY_CURSOR
FETCH NEXT FROM MY_CURSOR INTO @TanuloId
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO @resultTanuloK (TanuloID)
SELECT TOP 1
tm.C_ORATANULOIID
FROM T_TANITASIORA t
LEFT JOIN T_TANULOMULASZTAS tm ON tm.C_TANITASIORAKID = t.ID AND tm.C_ORATANULOIID = @TanuloId AND tm.TOROLT = 'F' AND tm.C_TIPUS = @HianyzasTipus
WHERE
t.TOROLT = 'F'
AND t.C_ORAKEZDETE <= @OraKezdete
AND t.ID IN (SELECT
t.ID
FROM T_TANITASIORA t
WHERE
t.C_OSZTALYCSOPORTID IN (SELECT OsztalyCsoportID FROM @tempOsztalyCsoportok) AND C_DATUM = @datum)
ORDER BY
t.C_ORAKEZDETE DESC
FETCH NEXT FROM MY_CURSOR INTO @TanuloId
END
CLOSE MY_CURSOR
DEALLOCATE MY_CURSOR
SELECT TanuloID FROM @resultTanuloK WHERE TanuloID IS NOT NULL
END

View file

@ -0,0 +1,157 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Telek Ákos
-- Create date: 2016.07.20.
-- Description: Entitás törléséhez lekérdezi az aktív kapcsolatait. Van-e olyan kapcsolódása, ahol vannak nem törölt rekordok. Visszaadja
-- =============================================
IF OBJECT_ID('sp_GetEntitasAktivKapcsolatai') IS NOT NULL BEGIN
DROP PROCEDURE sp_GetEntitasAktivKapcsolatai
END
GO
CREATE PROCEDURE sp_GetEntitasAktivKapcsolatai
-- Add the parameters for the stored procedure here
@EntitasIDk AS XML, -- a törlésre kijelölt entitás ID-k
@EntitasNevek as XML -- a törlésre kijelölt entitások
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SET XACT_ABORT OFF;
/*declare @cucc xml
set @cucc = '<EntitasNevek><Entitas>OrarendiOra</Entitas><Entitas>Tanar</Entitas></EntitasNevek>'*/
-- XML param?ter ?rtelmez?se
DECLARE @tempEntitasNevek TABLE (
EntitasNev varchar(50)
)
CREATE TABLE #tempentitasIdk (
entitasId int
)
DECLARE @tempConnections TABLE (
ID int,
Target_Table varchar(50),
Target_Column varchar(50),
Source_Table varchar(50),
Source_Column varchar(50)
)
INSERT INTO @tempEntitasNevek
SELECT DISTINCT EntitasNev = 'T_'+Entitas.value('(.)[1]', 'varchar(50)')
FROM @EntitasNevek.nodes('EntitasNevek/Entitas') as EntitasNevek(Entitas)
INSERT INTO #tempentitasIdk
SELECT DISTINCT entitasId = entitasId.value('(.)[1]', 'int')
FROM @entitasIdk.nodes('Entitasok/EntitasId') as Entitasok(entitasId)
DECLARE @result TABLE (
entitasId INT,
targetTableName nvarchar(100),
targetColumnName nvarchar(100),
cnt INT
)
INSERT INTO @result (
entitasId,
cnt
)
SELECT entitasId, 0
FROM #tempentitasIdk
DECLARE
@sourceTable nvarchar(30),
@sourceColumn nvarchar(30),
@targetTable nvarchar(30),
@targetColumn nvarchar(30),
@tableName nvarchar(30)
DECLARE @References TABLE (
PKTABLE_QUALIFIER nvarchar(50),
PKTABLE_OWNER nvarchar(50),
PKTABLE_NAME nvarchar(50),
PKCOLUMN_NAME nvarchar(50),
FKTABLE_QUALIFIER nvarchar(50),
FKTABLE_OWNER nvarchar(50),
FKTABLE_NAME nvarchar(50),
FKCOLUMN_NAME nvarchar(50),
KEY_SEQ int,
UPDATE_RULE int,
DELETE_RULE int,
FK_NAME nvarchar(50),
PK_NAME nvarchar(50),
DEFERRABILITY int
);
DECLARE table_cur CURSOR LOCAL FOR
SELECT EntitasNev FROM @tempEntitasNevek
OPEN table_cur
FETCH NEXT FROM table_cur
INTO @tableName
WHILE @@FETCH_STATUS = 0 BEGIN
INSERT INTO @References
EXEC sp_fkeys @tableName, 'dbo'
FETCH NEXT FROM table_cur
INTO @tableName
END
CLOSE table_cur
DEALLOCATE table_cur
DECLARE ref_cur CURSOR LOCAL FOR
SELECT PKTABLE_NAME, PKCOLUMN_NAME, FKTABLE_NAME, FKCOLUMN_NAME FROM @references WHERE FKCOLUMN_NAME != 'ID' --Azért szűrjük az ID mezőt, mert a leszármazott tábláknál van referencia
OPEN ref_cur
FETCH NEXT FROM ref_cur
INTO @sourceTable, @sourceColumn, @targetTable, @targetColumn
WHILE @@FETCH_STATUS = 0 BEGIN
DECLARE @sql nvarchar(1000), @FINALQUERY nvarchar(1000)
SET @sql = N'
SELECT #tempentitasIdk.entitasId, '''+@targetTable+''','''+@targetColumn+''', COUNT(1) AS cnt
FROM '+@targetTable+'
INNER JOIN #tempentitasIdk ON #tempentitasIdk.entitasId = '+@targetTable+'.'+@targetColumn
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = @targetTable AND COLUMN_NAME = 'TOROLT') BEGIN
SET @sql = @sql + N'
WHERE ' + @targetTable + '.TOROLT = ''F'''
END
SET @sql = @sql + N'
GROUP BY #tempentitasIdk.entitasId'
INSERT INTO @result
EXEC sp_executesql @sql
FETCH NEXT FROM ref_cur
INTO @sourceTable, @sourceColumn, @targetTable, @targetColumn
END
CLOSE ref_cur
DEALLOCATE ref_cur
IF OBJECT_ID('tempdb..#tempentitasIdk') IS NOT NULL BEGIN
DROP TABLE #tempentitasIdk
END
SELECT entitasId, targetTableName, targetColumnName, SUM(cnt) SUMROWCOUNT
FROM @result
GROUP BY entitasId, targetTableName, targetColumnName
HAVING SUM(cnt) > 0
END
GO

View file

@ -0,0 +1,88 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetErtekelesMegtekinteseReszletek]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetErtekelesMegtekinteseReszletek]
END
GO
-- =============================================
-- Author: <Szikora Zoltán>
-- Create date: <2016. 09. 02.>
-- Description: <Előszedjük a tanuló értékeléseit részletesen>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetErtekelesMegtekinteseReszletek]
@pTanuloId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
TanuloErtekeles.ID
,TanuloErtekeles.C_ERTEKELESDATUM AS ErtekelesDatuma
,TanuloErtekeles.C_ERTEKELESTIPUSA AS ErtekelesTipusa
,TanuloErtekeles.C_ERTEKELESSZOVEG AS ErtekelesSzovege
,TanuloErtekeles.C_OSZTALYZAT AS Osztalyzat
,TanuloErtekeles.C_TANORAID TanoraID
,OsztalyzatErtekeles.C_ERTEKELESMODJA AS ErtekelesModja
,OsztalyzatErtekeles.C_SZAZALEK AS Szazalek
,OsztalyzatErtekeles.C_TEMA AS Tema
,TanuloCsoport.C_TANULOID AS TanuloId
,Felhasznalo.C_NYOMTATASINEV AS Ertekelo
FROM(
SELECT DISTINCT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F'
AND [C_TANULOID] = @pTanuloId
AND [C_BELEPESDATUM] < GETDATE()
AND ([C_KILEPESDATUM] IS NULL OR [C_KILEPESDATUM] >= GETDATE())
) AS TanuloCsoport
INNER JOIN (
SELECT
[ID]
,[C_ERTEKELESDATUM]
,[C_ERTEKELESTIPUSA]
,[C_ERTEKELESSZOVEG]
,[C_OSZTALYZAT]
,[C_TANULOID]
,[C_ERTEKELOID]
,[C_TANORAID]
FROM
[T_TANULOERTEKELES]
WHERE
[TOROLT] = 'F'
) AS TanuloErtekeles
ON TanuloCsoport.C_TANULOID = TanuloErtekeles.C_TANULOID
INNER JOIN (
SELECT
[ID]
,[C_ERTEKELESMODJA]
,[C_SZAZALEK]
,[C_TEMA]
FROM
[T_OSZTALYZATERTEKELES]
WHERE
[TOROLT] = 'F'
) AS OsztalyzatErtekeles
ON OsztalyzatErtekeles.ID = TanuloErtekeles.ID
INNER JOIN (
SELECT
[ID]
,[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
) AS Felhasznalo
ON Felhasznalo.ID = TanuloErtekeles.C_ERTEKELOID
END

View file

@ -0,0 +1,111 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[sp_GetErtekelesReszletek]') IS NOT NULL
BEGIN
DROP PROCEDURE [sp_GetErtekelesReszletek]
END
GO
-- =============================================
-- Description: <Előszedjük a tanuló értékeléseit részletesen tantárgy szerint>
-- =============================================
CREATE PROCEDURE [sp_GetErtekelesReszletek]
@pIntezmenyId INT,
@pTanevId INT,
@pTanuloId INT,
@pTantargyId INT,
@pToroltElemek CHAR = 'F',
@pTanarId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
TanuloErtekeles.ID
,TanuloErtekeles.C_ERTEKELESDATUM AS ErtekelesDatuma
,TanuloErtekeles.C_ERTEKELESTIPUSA AS ErtekelesTipusa
,TanuloErtekeles.C_ERTEKELESSZOVEG AS ErtekelesSzovege
,TanuloErtekeles.C_OSZTALYZAT AS Osztalyzat
,TanuloErtekeles.C_TANORAID TanoraID
,OsztalyzatErtekeles.C_ERTEKELESMODJA AS ErtekelesModja
,OsztalyzatErtekeles.C_SZAZALEK AS Szazalek
,OsztalyzatErtekeles.C_TEMA AS Tema
,TanuloErtekeles.TOROLT AS Torolt
,TanuloCsoport.C_TANULOID AS TanuloId
,Felhasznalo.C_NYOMTATASINEV AS Ertekelo
,CASE
WHEN TanuloErtekeles.CREATOR = @pTanarId
THEN 'T'
ELSE 'F'
END Modosithato
FROM(
SELECT DISTINCT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F'
AND [C_TANULOID] = @pTanuloId
AND [C_BELEPESDATUM] < GETDATE()
AND ([C_KILEPESDATUM] IS NULL OR [C_KILEPESDATUM] >= GETDATE())
AND [C_INTEZMENYID] = @pIntezmenyId
AND [C_TANEVID] = @pTanevId
) AS TanuloCsoport
INNER JOIN (
SELECT
[ID]
,[C_ERTEKELESDATUM]
,[C_ERTEKELESTIPUSA]
,[C_ERTEKELESSZOVEG]
,[C_OSZTALYZAT]
,[C_TANULOID]
,[C_ERTEKELOID]
,[C_TANORAID]
,[TOROLT]
,[CREATOR]
FROM
[T_TANULOERTEKELES_OSSZES]
WHERE
[C_TANTARGYID] = @pTantargyId
--Ha a törölt flag True, a törölt elemeket is visszaadjuk
AND [TOROLT] = IIF(@pToroltElemek = 'T', [TOROLT], 'F')
AND [C_INTEZMENYID] = @pIntezmenyId
AND [C_TANEVID] = @pTanevId
) AS TanuloErtekeles
ON TanuloCsoport.C_TANULOID = TanuloErtekeles.C_TANULOID
INNER JOIN (
SELECT
[ID]
,[C_ERTEKELESMODJA]
,[C_SZAZALEK]
,[C_TEMA]
,[TOROLT]
FROM
[T_OSZTALYZATERTEKELES_OSSZES]
WHERE
--Ha a törölt flag True, a törölt elemeket is visszaadjuk
[TOROLT] = IIF(@pToroltElemek = 'T', [TOROLT], 'F')
AND [C_ALINTEZMENYID] = @pIntezmenyId
AND [C_ALTANEVID] = @pTanevId
) AS OsztalyzatErtekeles
ON OsztalyzatErtekeles.ID = TanuloErtekeles.ID
INNER JOIN (
SELECT
[ID]
,[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
AND [C_INTEZMENYID] = @pIntezmenyId
AND [C_TANEVID] = @pTanevId
) AS Felhasznalo
ON Felhasznalo.ID = TanuloErtekeles.C_ERTEKELOID
END

View file

@ -0,0 +1,73 @@
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Sólyom Péter
-- Create date: 2016.01.21.
-- Description: Az értékelés generálásához a legutolsó végrehajtás óta entitás és attribútumainak változásai.
-- =============================================
CREATE PROCEDURE sp_GetErtekeleshezAttributumValtozasok
@EntitasNevek as XML
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SET XACT_ABORT OFF;
/*declare @cucc xml
set @cucc = '<EntitasNevek><Entitas>OrarendiOra</Entitas><Entitas>Tanar</Entitas></EntitasNevek>'*/
-- XML param?ter ?rtelmez?se
SELECT
EntitasNev = Entitas.value('(.)[1]', 'varchar(50)')
INTO
#tempEntitasNevek
FROM
@EntitasNevek.nodes('EntitasNevek/Entitas') AS EntitasNevek(Entitas)
DECLARE
@UTOLSOENTITYID INT=0,
@UTOLSOATTRIBUTEID INT=0
SELECT
@UTOLSOATTRIBUTEID = ISNULL(G.C_ERTESITESUTOLSOENTITYATTRIBU,0), @UTOLSOENTITYID = ISNULL(G.C_ERTESITESUTOLSOENTITYHISTORY,0)
FROM
T_GLOBALISBEALLITASOK G
SELECT
ENTITY.ID ENTITYHISTORYID,
ENTITY.C_ENTITYNAME ENTITYNAME,
ENTITY.C_ENTITYID ENTITYID,
ENTITY.C_REASON MUVELET,
ATTRIBUTE.ID ATTRIBUTEID,
ATTRIBUTE.C_PROPERTYNAME PROPERTYNAME,
ATTRIBUTE.C_ORIGINALVALUE REGIERTEK,
ATTRIBUTE.C_CURRENTVALUE UJERTEK,
ENTITY.C_INTEZMENYID INTEZMENYID,
ENTITY.C_TANEVID TANEVID
FROM
[T_ENTITYATTRIBUTEHISTORY] ATTRIBUTE
JOIN T_ENTITYHISTORY ENTITY ON ENTITY.ID = ATTRIBUTE.C_ENTITYHISTORYID
WHERE
ENTITY.ID > @UTOLSOENTITYID
AND ATTRIBUTE.ID > @UTOLSOATTRIBUTEID
AND EXISTS ( SELECT 1 FROM #tempEntitasNevek WHERE ENTITY.C_ENTITYNAME LIKE ('T_' + EntitasNev)) /*Itt változott lényegében... (Zsiga Attila - 2016.08.12.)*/
--AND ENTITY.CREATED < GETDATE()
ORDER BY
ATTRIBUTE.CREATED
DROP TABLE #tempEntitasNevek
END
GO

View file

@ -0,0 +1,164 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('sp_GetErtesitesAltEsMulAdatok') IS NOT NULL BEGIN
DROP PROCEDURE [sp_GetErtesitesAltEsMulAdatok]
END
GO
-- =============================================
-- Author: Hoffmann Zsolt
-- Create date: 2016.04.05.
-- Description: Tanulói jegyek részletezése
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetErtesitesAltEsMulAdatok]
@OsztalyId int,
@TanevId int,
@Tankoteles nvarchar(1)
AS
BEGIN
SET NOCOUNT ON;
--Tanulói adatok
select
tanulo.ID,
tanulo.C_NYOMTATASINEV TANULONEV,
tanulo.C_ANYJANEVE ANYJANEVE,
tanulo.C_SZULETESIHELY SZULETESIHELY,
tanulo.C_SZULETESIDATUM SZULETESIDATUM,
AllandoLakcim.IranyitoSzam1,
AllandoLakcim.Varos1,
AllandoLakcim.Kozterulet1,
AllandoLakcim.KozteruletJellege1,
AllandoLakcim.Hazszam1,
AllandoLakcim.Emelet1,
AllandoLakcim.Ajto1,
TartozkodasiHely.IranyitoSzam2,
TartozkodasiHely.Varos2,
TartozkodasiHely.Kozterulet2,
TartozkodasiHely.KozteruletJellege2,
TartozkodasiHely.Hazszam2,
TartozkodasiHely.Emelet2,
TartozkodasiHely.Ajto2,
GONDVISELO.GondvNeve,
GONDVISELO.GondvTelefon,
GONDVISELO.GondvCim,
T_INTEZMENYADATOK_OSSZES.C_IGAZGATONEVE as INT_IGAZGATO_NEV,
T_INTEZMENYADATOK_OSSZES.C_NEV as INT_NEV,
T_INTEZMENYADATOK_OSSZES.C_OMKOD as INT_OMKOD,
T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM as INT_IRSZAM,
T_INTEZMENYADATOK_OSSZES.C_VAROS as INT_VAROS,
T_INTEZMENYADATOK_OSSZES.C_CIME as INT_CIM,
T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM + ' ' + T_INTEZMENYADATOK_OSSZES.C_VAROS + ' ' + T_INTEZMENYADATOK_OSSZES.C_CIME as INT_TELJES_CIM,
T_OSZTALYCSOPORT_OSSZES.C_NEV as OSZTALYCSOPORT_NEV,
osztf.C_VEZETEKNEV + ' ' + osztf.C_UTONEV as OSZTFO_NEV,
isnull(Igazolt.ORASZAM,0) IGAZOLT,
isnull(Igazolatlan.ORASZAM,0) IGAZOLATLAN
from T_TANULOCSOPORT_OSSZES
left outer join T_FELHASZNALO_OSSZES tanulo on tanulo.ID = T_TANULOCSOPORT_OSSZES.C_TANULOID and tanulo.TOROLT = 'F'
left outer join T_TANULO_OSSZES on T_TANULO_OSSZES.ID = tanulo.ID and T_TANULO_OSSZES.TOROLT = 'F'
left outer join T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID and T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
left outer join T_INTEZMENYADATOK_OSSZES on T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID = T_TANULOCSOPORT_OSSZES.C_INTEZMENYID and T_INTEZMENYADATOK_OSSZES.C_TANEVID = T_TANULOCSOPORT_OSSZES.C_TANEVID and T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
left outer join T_OSZTALY_OSSZES on T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID and T_OSZTALY_OSSZES.TOROLT = 'F'
left outer join T_FELHASZNALO_OSSZES osztf on osztf.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID and osztf.TOROLT = 'F'
left outer join --Állandó lakcím
(select
T_CIM_OSSZES.C_FELHASZNALOID TanuloID,
T_CIM_OSSZES.C_IRANYITOSZAM IranyitoSzam1,
T_CIM_OSSZES.C_VAROS Varos1,
T_CIM_OSSZES.C_KOZTERULET Kozterulet1,
T_CIM_OSSZES.C_KOZTERULETJELLEGE KozteruletJellege1,
T_CIM_OSSZES.C_HAZSZAM Hazszam1,
T_CIM_OSSZES.C_EMELET Emelet1,
T_CIM_OSSZES.C_AJTO Ajto1
from T_CIM_OSSZES where T_CIM_OSSZES.TOROLT = 'F' and T_CIM_OSSZES.C_CIMTIPUSA = 907) AllandoLakcim on AllandoLakcim.TanuloID = tanulo.ID
left outer join -- Tartózkodási hely
(select
T_CIM_OSSZES.C_FELHASZNALOID TanuloID,
T_CIM_OSSZES.C_IRANYITOSZAM IranyitoSzam2,
T_CIM_OSSZES.C_VAROS Varos2,
T_CIM_OSSZES.C_KOZTERULET Kozterulet2,
T_CIM_OSSZES.C_KOZTERULETJELLEGE KozteruletJellege2,
T_CIM_OSSZES.C_HAZSZAM Hazszam2,
T_CIM_OSSZES.C_EMELET Emelet2,
T_CIM_OSSZES.C_AJTO Ajto2
from T_CIM_OSSZES where T_CIM_OSSZES.TOROLT = 'F' and T_CIM_OSSZES.C_CIMTIPUSA = 909) TartozkodasiHely on TartozkodasiHely.TanuloID = tanulo.ID
left outer join --Összes igazolt mulasztás
(
SELECT MULASZT.C_ORATANULOIID Tanulo, COUNT(1) ORASZAM
FROM T_TANULOMULASZTAS_OSSZES MULASZT
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES
WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
WHERE MULASZT.TOROLT ='F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @OsztalyId AND MULASZT.C_IGAZOLT = 'T' AND MULASZT.C_TIPUS != 1498
GROUP BY MULASZT.C_ORATANULOIID
) Igazolt on Igazolt.Tanulo = Tanulo.ID
left outer join -- Összes igazolatlan mulasztás
(
SELECT MULASZT.C_ORATANULOIID Tanulo, COUNT(1) ORASZAM
FROM T_TANULOMULASZTAS_OSSZES MULASZT
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES
WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
WHERE MULASZT.TOROLT ='F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @OsztalyId AND MULASZT.C_IGAZOLT = 'F' AND MULASZT.C_TIPUS != 1498
GROUP BY MULASZT.C_ORATANULOIID
) Igazolatlan on Igazolatlan.Tanulo = Tanulo.ID
left outer join -- Gondviselő adatok
(
select
T_GONDVISELO_OSSZES.ID,
T_GONDVISELO_OSSZES.C_TANULOID GondvTanulo,
T_GONDVISELO_OSSZES.C_NEV GondvNeve,
isnull(T_TELEFON_OSSZES.C_TELEFONSZAM,'') GondvTelefon,
isnull(T_CIM_OSSZES.C_OSSZETETTCIM,'') GondvCim
from T_GONDVISELO_OSSZES
left join T_TELEFON_OSSZES on T_TELEFON_OSSZES.C_GONDVISELOID = T_GONDVISELO_OSSZES.ID and T_TELEFON_OSSZES.TOROLT = 'F'
left join T_CIM_OSSZES on T_CIM_OSSZES.C_GONDVISELOID = T_GONDVISELO_OSSZES.ID and T_CIM_OSSZES.TOROLT = 'F'
where
T_GONDVISELO_OSSZES.TOROLT = 'F'
) GONDVISELO on GONDVISELO.GondvTanulo = T_TANULO_OSSZES.ID
where
T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID = @OsztalyId and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE()) and
T_TANULOCSOPORT_OSSZES.TOROLT = 'F' and
T_TANULO_OSSZES.C_TANKOTELEZETT = @Tankoteles and
T_TANULOCSOPORT_OSSZES.C_TANEVID = @TanevId
order by tanulo.C_NYOMTATASINEV
--Mulasztások részletezése
select
T_TANULOMULASZTAS_OSSZES.C_ORATANULOIID Tanulo,
T_TANITASIORA_OSSZES.C_DATUM Datum,
T_TANITASIORA_OSSZES.C_ORASZAM Oraszam,
T_TANULOMULASZTAS_OSSZES.C_TIPUS Tipus,
T_TANULOMULASZTAS_OSSZES.C_KESESPERCBEN KesesPerc,
T_OSZTALYCSOPORT_OSSZES.C_NEV OsztNev,
T_TANTARGY_OSSZES.C_NEV Tantargy
from T_TANULOMULASZTAS_OSSZES
inner join T_TANITASIORA_OSSZES on T_TANITASIORA_OSSZES.ID = T_TANULOMULASZTAS_OSSZES.C_TANITASIORAKID and T_TANITASIORA_OSSZES.TOROLT= 'F'
left outer join T_TANTARGY_OSSZES on T_TANTARGY_OSSZES.ID = T_TANITASIORA_OSSZES.C_TANTARGYID and T_TANTARGY_OSSZES.TOROLT = 'F'
left outer join T_TANULOCSOPORT_OSSZES on T_TANULOCSOPORT_OSSZES.C_TANULOID = T_TANULOMULASZTAS_OSSZES.C_ORATANULOIID and T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
left outer join T_OSZTALYCSOPORT_OSSZES on T_OSZTALYCSOPORT_OSSZES.ID = T_TANITASIORA_OSSZES.C_OSZTALYCSOPORTID
where T_TANULOMULASZTAS_OSSZES.C_TIPUS != 1498 and
T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE()) and
T_TANULOMULASZTAS_OSSZES.C_ORATANULOIID in (SELECT C_TANULOID FROM T_TANULOCSOPORT_OSSZES WHERE C_OSZTALYCSOPORTID=@OSZTALYID AND TOROLT='F') and
T_TANULOMULASZTAS_OSSZES.C_IGAZOLT = 'F' and
T_TANULOMULASZTAS_OSSZES.TOROLT = 'F' and
T_TANULOMULASZTAS_OSSZES.C_TANEVID = @TanevId
order by T_TANULOMULASZTAS_OSSZES.C_ORATANULOIID, T_TANITASIORA_OSSZES.C_DATUM
END
GO

View file

@ -0,0 +1,79 @@
GO
/****** Object: StoredProcedure [dbo].[sp_GetErtesitesek] Script Date: 2016.03.08. 13:05:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Kelemen Attila
-- Create date: 2016. 03. 07.
-- Description: Felhasználóhoz tartozó értesítések lekérdezése
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetErtesitesek]
@userID int,
@gondviseloID int,
@date DateTime
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
--Ha gondviselőhöz kérdezzük le
IF @gondviseloID > 0
SELECT DISTINCT
T_ERTESITES.ID,
T_ERTESITES.C_ERVENYESSEGKEZDETE Erv_kezd,
FELERT.C_ERVENYESSEGVEGE Erv_veg,
T_ERTESITES.C_LETREHOZASDATUM LetrehozasDatum,
T_ERTESITES.C_SZINTIPUS Szin,
T_ERTESITES.C_TIPUS Tipus,
T_ERTESITES.C_TOROLHETO Torolheto,
T_ERTESITES.C_UZENET Szoveg,
FELERT.ID FGErtesitesID
FROM T_ERTESITES
LEFT JOIN T_GONDVISELOERTESITES FELERT on FELERT.C_ERTESITESID = T_ERTESITES.ID
WHERE T_ERTESITES.TOROLT = 'F'
AND T_ERTESITES.C_ERVENYESSEGKEZDETE <= @date
AND (T_ERTESITES.C_GLOBALISERVENYESSEGVEGE IS NULL OR T_ERTESITES.C_GLOBALISERVENYESSEGVEGE >= @date)
AND (((T_ERTESITES.C_GLOBALIS = 'T'
AND NOT EXISTS (select 1 from T_GONDVISELOERTESITES
where TOROLT = 'F'
AND (C_ERVENYESSEGVEGE < @date)
AND C_ERTESITESID = T_ERTESITES.ID AND C_GONDVISELOID = @gondviseloID)
)
)
OR (T_ERTESITES.C_GLOBALIS = 'F'
AND FELERT.TOROLT = 'F'
AND (FELERT.C_ERVENYESSEGVEGE IS NULL OR FELERT.C_ERVENYESSEGVEGE >= @date)
AND FELERT.C_GONDVISELOID = @gondviseloID))
ORDER BY T_ERTESITES.C_LETREHOZASDATUM DESC
ELSE
SELECT DISTINCT
T_ERTESITES.ID,
T_ERTESITES.C_ERVENYESSEGKEZDETE Erv_kezd,
FELERT.C_ERVENYESSEGVEGE Erv_veg,
T_ERTESITES.C_LETREHOZASDATUM LetrehozasDatum,
T_ERTESITES.C_SZINTIPUS Szin,
T_ERTESITES.C_TIPUS Tipus,
T_ERTESITES.C_TOROLHETO Torolheto,
T_ERTESITES.C_UZENET Szoveg,
FELERT.ID FGErtesitesID
FROM T_ERTESITES
LEFT JOIN T_FELHASZNALOERTESITES FELERT on FELERT.C_ERTESITESID = T_ERTESITES.ID
WHERE T_ERTESITES.TOROLT = 'F'
AND T_ERTESITES.C_ERVENYESSEGKEZDETE <= @date
AND (T_ERTESITES.C_GLOBALISERVENYESSEGVEGE IS NULL OR T_ERTESITES.C_GLOBALISERVENYESSEGVEGE >= @date)
AND (((T_ERTESITES.C_GLOBALIS = 'T'
AND NOT EXISTS (select 1 from T_FELHASZNALOERTESITES
where TOROLT = 'F'
AND (C_ERVENYESSEGVEGE < @date)
AND C_ERTESITESID = T_ERTESITES.ID AND C_FELHASZNALOID = @userID)
)
)
OR (T_ERTESITES.C_GLOBALIS = 'F'
AND FELERT.TOROLT = 'F'
AND (FELERT.C_ERVENYESSEGVEGE IS NULL OR FELERT.C_ERVENYESSEGVEGE >= @date)
AND FELERT.C_FELHASZNALOID = @userID))
ORDER BY T_ERTESITES.C_LETREHOZASDATUM DESC
END

View file

@ -0,0 +1,256 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetEvvegiErtesito]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetEvvegiErtesito]
END
GO
-- =============================================
-- Author: Hoffmann Zsolt
-- Create date: 2015.12.22.
-- Description: Évvégi értesítő nyomtatvány.
-- =============================================
CREATE PROCEDURE [sp_GetEvvegiErtesito]
@tanevId int,
@osztalyId int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- fejléc
SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM IntezmenyIranyitoszam,
T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
T_INTEZMENYADATOK_OSSZES.C_CIME IntezmenyCime,
T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
T_INTEZMENYADATOK_OSSZES.C_OMKOD OMkod,
T_TANEV_OSSZES.C_NEV TANEV,
(SELECT C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE ID=@osztalyId) PartnerID,
(SELECT OFO.C_NYOMTATASINEV FROM T_OSZTALY_OSSZES JOIN T_FELHASZNALO_OSSZES OFO ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID WHERE T_OSZTALY_OSSZES.ID=@osztalyId) OSZTALYFONOK,
(SELECT T_OSZTALYCSOPORT_OSSZES.C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE T_OSZTALYCSOPORT_OSSZES.ID=@osztalyId) OSZTALYNEV
FROM T_INTEZMENYADATOK_OSSZES
INNER JOIN T_TANEV_OSSZES
ON T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID AND T_TANEV_OSSZES.TOROLT = 'F'
WHERE T_TANEV_OSSZES.ID = @tanevId
---------- TANULÓK
SELECT T_FELHASZNALO_OSSZES.ID TANULOID,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TANULONEV,
T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO OKTATASIAZONOSITO
FROM T_FELHASZNALO_OSSZES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(C_KILEPESDATUM is null or C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID
WHERE TOROLT='F' and
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId and
T_FELHASZNALO_OSSZES.C_TANEVID = @tanevId
ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
---- ÉRTÉKELÉSEK
SELECT ERTEKELES.C_TANULOID TANULOID,
'MAGATARTAS' TARGYNEV,
OSZTALYZAT.MAGATARTAS FELEVIERTEKELES,
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
LEFT JOIN (SELECT ID, C_MAGATARTAS MAGATARTAS FROM T_OSZTALYFONOKIERTEKELES_OSSZES) OSZTALYZAT
ON OSZTALYZAT.ID = ERTEKELES.ID
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND
ERTEKELES.TOROLT = 'F' and
ERTEKELES.C_TANEVID = @tanevId and
ERTEKELES.C_ERTEKELESTIPUSA = 1520 AND
OSZTALYZAT.MAGATARTAS IS NOT NULL -- ÉVVÉGI
UNION ALL
SELECT ERTEKELES.C_TANULOID TANULOID,
'SZORGALOM' TARGYNEV,
OSZTALYZAT.SZORGALOM FELEVIERTEKELES,
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
LEFT JOIN (SELECT ID, C_SZORGALOM SZORGALOM FROM T_OSZTALYFONOKIERTEKELES_OSSZES ) OSZTALYZAT
ON OSZTALYZAT.ID = ERTEKELES.ID
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND
ERTEKELES.TOROLT = 'F' and
ERTEKELES.C_TANEVID = @tanevId and
ERTEKELES.C_ERTEKELESTIPUSA = 1520 AND
OSZTALYZAT.SZORGALOM IS NOT NULL -- ÉVVÉGI
UNION ALL
SELECT ERTEKELES.C_TANULOID TANULOID,
TARGY.TARGYNEV TARGYNEV,
ERTEKELES.C_OSZTALYZAT FELEVIERTEKELES,
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT FROM T_TANTARGY_OSSZES) TARGY
ON TARGY.ID = ERTEKELES.C_TANTARGYID
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND
ERTEKELES.TOROLT = 'F' and
ERTEKELES.C_TANEVID = @tanevId and
TARGY.KAT != 1248 and--Osztályfőnöki nem jelenítődik meg
ERTEKELES.C_ERTEKELESTIPUSA = 1520 -- ÉVVÉGI
ORDER BY TANULOID,
TARGYNEV
----ÉVVÉGI ÉRTÉKELÉS ÖSSZEGZÉS
SELECT ERTEKELES.C_TANULOID TANULOID,
TARGY.TARGYNEV,
isnull((select count(*) from T_TANITASIORA_OSSZES
inner join T_FOGLALKOZAS_OSSZES
on T_FOGLALKOZAS_OSSZES.ID = T_TANITASIORA_OSSZES.C_FOGLALKOZASID
where T_TANITASIORA_OSSZES.TOROLT = 'F'
and T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = @osztalyId
and T_FOGLALKOZAS_OSSZES.C_TANTARGYID = ERTEKELES.ID
and T_FOGLALKOZAS_OSSZES.C_FOGLALKOZASTIPUSA = 1339 --Tanórai foglalkozás
and exists (select 1 from T_FOGLALKOZASOK_TANAROK_OSSZES where C_TANAROKID = ERTEKELES.C_ERTEKELOID)),0) ORASZAM,
ERTEKELES.C_OSZTALYZAT EVVEGIERTEKELES,
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
JOIN ( SELECT ID,C_NEV TARGYNEV FROM T_TANTARGY_OSSZES) TARGY
ON TARGY.ID = ERTEKELES.C_TANTARGYID
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId and
ERTEKELES.TOROLT = 'F' and
ERTEKELES.C_TANEVID = @tanevId and
ERTEKELES.C_ERTEKELESTIPUSA = 1520 -- ÉVVÉGI
ORDER BY TANULOID,
TARGY.TARGYNEV
---- MULASZTÁSOK
SELECT * FROM (SELECT MULASZT.C_ORATANULOIID TANULOID,
'IGAZOLT' TIPUS, COUNT(1) ORASZAM
FROM T_TANULOMULASZTAS_OSSZES MULASZT
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
WHERE MULASZT.TOROLT ='F' AND
MULASZT.C_TANEVID = @tanevId and
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND
MULASZT.C_IGAZOLT = 'T' AND
MULASZT.C_TIPUS != 1498
GROUP BY MULASZT.C_ORATANULOIID
UNION
SELECT MULASZT.C_ORATANULOIID TANULOID,
'IGAZOLATLAN' TIPUS,
COUNT(1) ORASZAM
FROM T_TANULOMULASZTAS_OSSZES MULASZT
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
WHERE MULASZT.TOROLT ='F' AND
MULASZT.C_TANEVID = @tanevId and
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND
MULASZT.C_IGAZOLT = 'F' AND
MULASZT.C_TIPUS != 1498
GROUP BY MULASZT.C_ORATANULOIID
) ORAK
ORDER BY ORAK.TANULOID,
ORAK.TIPUS DESC
------ MULASZTÁSOK ÖSSZEGZÉS
SELECT distinct TANULO.ID TANULOID,
isnull((SELECT COUNT(1) ORASZAM FROM T_TANULOMULASZTAS_OSSZES MULASZT
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
WHERE MULASZT.TOROLT ='F' AND
MULASZT.C_TANEVID = @tanevId and
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND
MULASZT.C_IGAZOLT = 'T' and
MULASZT.C_ORATANULOIID = MU.C_ORATANULOIID AND
MULASZT.C_TIPUS != 1498
GROUP BY MULASZT.C_ORATANULOIID
),0) IGAZOLT,
isnull((SELECT COUNT(1) ORASZAM FROM T_TANULOMULASZTAS_OSSZES MULASZT
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
WHERE MULASZT.TOROLT ='F' AND
MULASZT.C_TANEVID = @tanevId and
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND
MULASZT.C_IGAZOLT = 'F' and
MULASZT.C_ORATANULOIID = MU.C_ORATANULOIID AND
MULASZT.C_TIPUS != 1498
GROUP BY MULASZT.C_ORATANULOIID
),0) IGAZOLATLAN,
isnull((SELECT COUNT(1) ORASZAM FROM T_TANULOMULASZTAS_OSSZES MULASZT
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
WHERE MULASZT.TOROLT ='F' AND
MULASZT.C_TANEVID = @tanevId and
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId and
MULASZT.C_ORATANULOIID = MU.C_ORATANULOIID AND
MULASZT.C_TIPUS != 1498
GROUP BY MULASZT.C_ORATANULOIID
),0) SZUMMA
from T_TANULO_OSSZES TANULO
left join T_TANULOMULASZTAS_OSSZES MU
on MU.C_ORATANULOIID = TANULO.ID
left join (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = TANULO.ID
where TANULO.TOROLT = 'F' AND
TANULO.C_ALTANEVID = @tanevId and
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
ORDER BY TANULO.ID
-- TANTÁRGYI MENTESSÉGEK
SELECT MENTESSEG.C_TANULOID TANULOID,
TARGY.TARGYNEV, MENTESSEG.C_MENTESSEGOKA MENTESSEGOKA
FROM T_TANULOMENTESSEG_OSSZES MENTESSEG
JOIN (SELECT ID, C_NEV TARGYNEV FROM T_TANTARGY_OSSZES WHERE TOROLT='F' ) TARGY
ON TARGY.ID = MENTESSEG.C_TANTARGYID
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MENTESSEG.C_TANULOID
WHERE MENTESSEG.TOROLT = 'F' AND
MENTESSEG.C_TANEVID = @tanevId and
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
ORDER BY MENTESSEG.C_TANULOID,
TARGY.TARGYNEV
---------- BEJEGYZÉSEK
SELECT T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID,
C_TARTALOM BEJEGYZES, C_TIPUS TIPUS
FROM T_TANULOESEMENY_OSSZES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = T_TANULOESEMENY_OSSZES.C_TANULOID
WHERE T_TANULOESEMENY_OSSZES.TOROLT='F' AND
T_TANULOESEMENY_OSSZES.C_TANEVID = @tanevId and
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND
T_TANULOESEMENY_OSSZES.C_TIPUS = 1548 AND
T_TANULOESEMENY_OSSZES.C_TIPUS != 1534
ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID
END
GO

View file

@ -0,0 +1,74 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFaliujsagBejegyzesek]') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek]
END
GO
-- =============================================
-- Author: Kelemen Attila
-- Create date: 2016. 03. 06.
-- Description: Felhasználóhoz tartozó faliújságbejegyzések és tanévrendje események lekérdezése
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek]
@userID int,
@date DateTime
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
select T_FALIUJSAGBEJEGYZES.ID,
T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE Erv_kezd,
T_FALIUJSAGBEJEGYZES.C_CIM Cim,
T_FALIUJSAGBEJEGYZES.C_BEJEGYZES Szoveg,
T_FELHASZNALO.C_NYOMTATASINEV Bejegyzo,
T_FELHASZNALO.C_PROFILKEP ProfilKep,
Statusz.StatuszID Munkakor
from T_FALIUJSAGBEJEGYZES
inner join T_FELHASZNALO ON T_FALIUJSAGBEJEGYZES.C_BEJEGYZOID = T_FELHASZNALO.ID
left join
(select C_ALKALMAZOTTID userID, max(T_MUNKAUGYIADATOK.C_MUNKAKORTIPUSA) StatuszID from T_MUNKAUGYIADATOK
WHERE T_MUNKAUGYIADATOK.TOROLT='F' Group by C_ALKALMAZOTTID) Statusz
on Statusz.userID = T_FELHASZNALO.ID
left join T_CIMZETT_FALIUJSAGBEJEGYZES on T_FALIUJSAGBEJEGYZES.ID=T_CIMZETT_FALIUJSAGBEJEGYZES.C_FALIUJSAGBEJEGYZESID
WHERE (T_FALIUJSAGBEJEGYZES.C_GLOBALIS='T' OR T_CIMZETT_FALIUJSAGBEJEGYZES.C_CIMZETTID = @userID)
AND T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE <= @date
AND (T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE IS NULL OR T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE >= @date)
AND T_FALIUJSAGBEJEGYZES.TOROLT='F'
UNION
SELECT T_FALIUJSAGBEJEGYZES.ID,
T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE Erv_kezd,
T_FALIUJSAGBEJEGYZES.C_CIM Cim,
T_FALIUJSAGBEJEGYZES.C_BEJEGYZES Szoveg,
T_FELHASZNALO.C_NYOMTATASINEV Bejegyzo,
T_FELHASZNALO.C_PROFILKEP ProfilKep,
Statusz.StatuszID Munkakor
FROM T_FALIUJSAGBEJEGYZES
inner join T_FELHASZNALO ON T_FALIUJSAGBEJEGYZES.C_BEJEGYZOID = T_FELHASZNALO.ID
left join
(select C_ALKALMAZOTTID userID, max(T_MUNKAUGYIADATOK.C_MUNKAKORTIPUSA) StatuszID from T_MUNKAUGYIADATOK
WHERE T_MUNKAUGYIADATOK.TOROLT='F' Group by C_ALKALMAZOTTID) Statusz
on Statusz.userID = T_FELHASZNALO.ID
WHERE
EXISTS (select 1 from T_TANULOCSOPORT
inner join T_OSZTALYCSOPORT_FALIUJSAGBEJE on T_TANULOCSOPORT.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_FALIUJSAGBEJE.C_OSZTALYCSOPORTID
where T_TANULOCSOPORT.TOROLT ='F'
AND T_TANULOCSOPORT.C_TANULOID = @userID
AND T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
AND (T_TANULOCSOPORT.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())
AND T_OSZTALYCSOPORT_FALIUJSAGBEJE.C_FALIUJSAGBEJEGYZESID = T_FALIUJSAGBEJEGYZES.ID
)
AND T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE <= @date
AND (T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE IS NULL OR T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE >= @date)
AND T_FALIUJSAGBEJEGYZES.TOROLT='F'
ORDER BY Erv_kezd DESC
END

View file

@ -0,0 +1,503 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFeleviErtesito]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFeleviErtesito]
END
GO
-- =============================================
-- Description: Félévi értesítõ nyomtatvány.
-- =============================================
CREATE PROCEDURE sp_GetFeleviErtesito
@osztalyId int,
@TanevId int,
@ElmeletGyakorlat bit=0
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- fejléc
SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM IntezmenyIranyitoszam,
T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
T_INTEZMENYADATOK_OSSZES.C_CIME IntezmenyCime,
T_INTEZMENYADATOK_OSSZES.C_OMKOD OMKod,
T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
T_TANEV_OSSZES.C_NEV TANEV,
(SELECT OFO.C_NYOMTATASINEV FROM T_OSZTALY_OSSZES
JOIN T_FELHASZNALO_OSSZES OFO
ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID
WHERE T_OSZTALY_OSSZES.ID=@osztalyId
and T_OSZTALY_OSSZES.TOROLT = 'F') OSZTALYFONOK,
(SELECT to2.C_NEV FROM T_OSZTALYCSOPORT_OSSZES to2 WHERE ID = @osztalyId and TOROLT = 'F') OSZTALYNEV,
Getdate() Datum
FROM T_INTEZMENYADATOK_OSSZES
inner join T_TANEV_OSSZES
on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID and T_TANEV_OSSZES.TOROLT = 'F'
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
and T_TANEV_OSSZES.ID = @TanevId
-- TANULÓK
SELECT T_FELHASZNALO_OSSZES.ID TANULOID,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TANULONEV,
T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO OKTATASIAZONOSITO
FROM T_FELHASZNALO_OSSZES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID
WHERE T_FELHASZNALO_OSSZES.TOROLT='F'
and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
and T_FELHASZNALO_OSSZES.C_TANEVID = @TanevId
ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
-- ÉRTÉKELÉSEK
SELECT ERTEKELES.C_TANULOID TANULOID,
'MAGATARTAS' TARGY,
ERT.C_NAME FELEVIERTEKELES,
ERT.C_NAME FELJEGYZES,
1 RENDEZ
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
LEFT JOIN (SELECT ID, C_MAGATARTAS MAGATARTAS FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
ON OSZTALYZAT.ID = ERTEKELES.ID
LEFT JOIN ( SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) ERT ON ERT.ID=OSZTALYZAT.MAGATARTAS
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519
AND (OSZTALYZAT.MAGATARTAS IS NOT NULL OR (LEN(ERTEKELES.C_ERTEKELESSZOVEG)>0 and ERTEKELES.C_TANTARGYID is null) ) -- FÉLÉVES
AND ERTEKELES.C_TANEVID = @TanevId
AND ERTEKELES.TOROLT='F'
UNION ALL
SELECT ERTEKELES.C_TANULOID TANULOID,
'SZORGALOM' TARGY,
ERT.C_NAME FELEVIERTEKELES,
ERT.C_NAME FELJEGYZES,
2 RENDEZ
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
LEFT JOIN (SELECT ID, C_SZORGALOM SZORGALOM FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
ON OSZTALYZAT.ID = ERTEKELES.ID
LEFT JOIN ( SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) ERT ON ERT.ID=OSZTALYZAT.SZORGALOM
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519
AND OSZTALYZAT.SZORGALOM IS NOT NULL -- FÉLÉVES
AND ERTEKELES.C_TANEVID = @TanevId
AND ERTEKELES.TOROLT='F'
UNION ALL
SELECT ERTEKELES.C_TANULOID TANULOID,
TARGY.TARGYNEV TARGY,
ERT.C_NAME+iif(ertekelesMegjegyzes.C_TEMA is null, '', +' * '+ertekelesMegjegyzes.C_TEMA) FELEVIERTEKELES,
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES,
TARGY.KAT RENDEZ
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY
ON TARGY.ID = ERTEKELES.C_TANTARGYID
LEFT JOIN ( SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) ERT ON ERT.ID=ERTEKELES.C_OSZTALYZAT
left join T_OSZTALYZATERTEKELES ertekelesMegjegyzes on ertekelesMegjegyzes.ID=ertekeles.Id
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
AND TARGY.KAT != 1248 --Osztályfőnöki nem jelenítődik meg
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519 -- FÉLÉVES
AND ERTEKELES.C_TANEVID = @TanevId
AND ERTEKELES.TOROLT='F'
ORDER BY TANULOID, RENDEZ
/*
SELECT ERTEKELES.C_TANULOID TANULOID,
'MAGATARTAS' TARGY,
d.C_NAME FELEVIERTEKELES,
d.C_NAME++iif(ertekeles.c_ertekelesszoveg is null, '', +' - '+ertekeles.c_ertekelesszoveg) FELJEGYZES,
1 Rendez
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
LEFT JOIN (SELECT ID, C_MAGATARTAS MAGATARTAS FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
ON OSZTALYZAT.ID = ERTEKELES.ID
inner join (select distinct id, c_name from T_DICTIONARYITEMBASE) d on d.id=OSZTALYZAT.MAGATARTAS
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519
AND OSZTALYZAT.MAGATARTAS IS NOT NULL -- FÉLÉVES
AND ERTEKELES.C_TANEVID = @TanevId
AND ERTEKELES.TOROLT='F'
UNION ALL
SELECT ERTEKELES.C_TANULOID TANULOID,
'SZORGALOM' TARGY,
d.C_NAME FELEVIERTEKELES,
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES,
2 Rendez
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
LEFT JOIN (SELECT ID, C_SZORGALOM SZORGALOM FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
ON OSZTALYZAT.ID = ERTEKELES.ID
inner join (select distinct id, c_name from T_DICTIONARYITEMBASE) d on d.id=OSZTALYZAT.szorgalom
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519
AND OSZTALYZAT.SZORGALOM IS NOT NULL -- FÉLÉVES
AND ERTEKELES.C_TANEVID = @TanevId
AND ERTEKELES.TOROLT='F'
UNION ALL
SELECT ERTEKELES.C_TANULOID TANULOID,
TARGY.TARGYNEV TARGY,
d.C_NAME+iif(ertekelesMegjegyzes.C_TEMA is null, '', +' * '+ertekelesMegjegyzes.C_TEMA) FELEVIERTEKELES,
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES,
TARGY.KAT Rendez
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY
ON TARGY.ID = ERTEKELES.C_TANTARGYID
inner join (select distinct id, c_name from T_DICTIONARYITEMBASE) d on d.id=ERTEKELES.C_OSZTALYZAT
left join T_OSZTALYZATERTEKELES ertekelesMegjegyzes on ertekelesMegjegyzes.ID=ertekeles.Id
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
AND TARGY.KAT != 1248 --Osztályfőnöki nem jelenítődik meg
AND ERTEKELES.C_ERTEKELESTIPUSA = 1519 -- FÉLÉVES
AND ERTEKELES.C_TANEVID = @TanevId
AND ERTEKELES.TOROLT='F'
ORDER BY TANULOID, Rendez
*/
-- MULASZTÁSOK
declare @tanulok table (Tanulo int)
insert into @tanulok
select c_tanuloid from t_tanulocsoport where torolt='F' and c_osztalycsoportid=@osztalyId
IF @ElmeletGyakorlat=0
BEGIN
select * from (select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltElmeletKeses.Osszes, 0)+isnull(IgazoltGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok
left join (
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazoltElmeletKeses on IgazoltElmeletKeses.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazoltGyakorlatKeses on IgazoltGyakorlatKeses.Tanulo=Tanulok.Tanulo
union
select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanElmeletKeses.Osszes, 0)+isnull(IgazolatlatGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok
left join (
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazolatlanElmeletKeses on IgazolatlanElmeletKeses.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazolatlatGyakorlatKeses on IgazolatlatGyakorlatKeses.Tanulo=Tanulok.Tanulo
) Ossz
ORDER BY TANULOID, TIPUS DESC
/*SELECT * FROM (
SELECT MULASZT.C_ORATANULOIID TANULOID,
'IGAZOLT' TIPUS,
COUNT(1) ORASZAM
FROM T_TANULOMULASZTAS_OSSZES MULASZT
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
WHERE MULASZT.TOROLT ='F'
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
AND MULASZT.C_IGAZOLT = 'T'
AND MULASZT.C_TIPUS = 1500
AND MULASZT.C_TANEVID = @TanevId
GROUP BY MULASZT.C_ORATANULOIID
UNION
SELECT MULASZT.C_ORATANULOIID TANULOID,
'IGAZOLATLAN' TIPUS,
COUNT(1) ORASZAM
FROM T_TANULOMULASZTAS_OSSZES MULASZT
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID
WHERE MULASZT.TOROLT ='F'
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
AND MULASZT.C_IGAZOLT = 'F'
AND MULASZT.C_TIPUS = 1500
AND MULASZT.C_TANEVID = @TanevId
GROUP BY MULASZT.C_ORATANULOIID) ORAK
ORDER BY ORAK.TANULOID, ORAK.TIPUS DESC
*/
END
ELSE
BEGIN
select * from (select Elmeletgyakorlat.*, Elmelet.Elmelet, Gyakorlat.Gyakorlat from
(select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltElmeletKeses.Osszes, 0)+isnull(IgazoltGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok
left join (
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazoltElmeletKeses on IgazoltElmeletKeses.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazoltGyakorlatKeses on IgazoltGyakorlatKeses.Tanulo=Tanulok.Tanulo
union
select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanElmeletKeses.Osszes, 0)+isnull(IgazolatlanGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok
left join (
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazolatlanElmeletKeses on IgazolatlanElmeletKeses.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazolatlanGyakorlatKeses on IgazolatlanGyakorlatKeses.Tanulo=Tanulok.Tanulo
)Elmeletgyakorlat
left join (
select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltElmeletKeses.Osszes,0) Elmelet from @tanulok Tanulok
left join (
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazoltElmeletKeses on IgazoltElmeletKeses.Tanulo=Tanulok.Tanulo
union
select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanElmeletKeses.Osszes,0) Elmelet from @tanulok Tanulok
left join (
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F'
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazolatlanElmeletKeses on IgazolatlanElmeletKeses.Tanulo=Tanulok.Tanulo
)Elmelet on Elmelet.Tanuloid=Elmeletgyakorlat.TanuloId and Elmelet.Tipus=Elmeletgyakorlat.Tipus
left join (
select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltGyakorlatKeses.Osszes,0) Gyakorlat from @tanulok Tanulok
left join (
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazoltGyakorlatKeses on IgazoltGyakorlatKeses.Tanulo=Tanulok.Tanulo
union
select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanGyakorlatKeses.Osszes,0) Elmelet from @tanulok Tanulok
left join (
select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo
left join (
select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm
inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid
--inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339
inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T'
where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499
and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034)))
group by c_oratanuloiid
) IgazolatlanGyakorlatKeses on IgazolatlanGyakorlatKeses.Tanulo=Tanulok.Tanulo
)Gyakorlat on Gyakorlat.Tanuloid=Elmeletgyakorlat.TanuloId and Gyakorlat.Tipus=Elmeletgyakorlat.Tipus
)Ossz
ORDER BY TANULOID, TIPUS DESC
END
-- TANTÁRGYI MENTESSÉGEK
SELECT distinct MENTESSEG.C_TANULOID TANULOID,
TARGY.TARGYNEV,
MENTESSEG.C_MENTESSEGOKA MENTESSEGOKA
FROM T_TANULOMENTESSEG_OSSZES MENTESSEG
JOIN (SELECT ID, C_NEV TARGYNEV FROM T_TANTARGY_OSSZES WHERE TOROLT='F') TARGY
ON TARGY.ID = MENTESSEG.C_TANTARGYID
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MENTESSEG.C_TANULOID
WHERE MENTESSEG.TOROLT = 'F'
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
AND MENTESSEG.C_TANEVID = @TanevId
ORDER BY MENTESSEG.C_TANULOID, TARGY.TARGYNEV
-- BEJEGYZÉSEK
SELECT T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID,
C_TARTALOM BEJEGYZES,
C_TIPUS TIPUS
FROM T_TANULOESEMENY_OSSZES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = T_TANULOESEMENY_OSSZES.C_TANULOID
WHERE T_TANULOESEMENY_OSSZES.TOROLT='F'
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
AND T_TANULOESEMENY_OSSZES.C_TIPUS = 1547
AND T_TANULOESEMENY_OSSZES.C_TIPUS != 1534
AND T_TANULOESEMENY_OSSZES.C_TANEVID = @TanevId
ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID
END
GO

View file

@ -0,0 +1,57 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFelhasznaloErintettOsztalyai]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFelhasznaloErintettOsztalyai]
END
GO
-- =============================================
-- Description: <Felhasználóhoz kötheto osztályok/csoportok és egyéb osztályok/csoportok>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloErintettOsztalyai]
@felhasznaloId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
osztalyCsoport.ID ID,
osztalyCsoport.C_NEV Nev,
'1' Tipus,
NULL CsoportTipusa,
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
FROM
T_OSZTALYCSOPORT osztalyCsoport
INNER JOIN T_OSZTALY osztaly
ON osztaly.ID = osztalyCsoport.ID
WHERE
osztalyCsoport.TOROLT = 'F' AND
(osztaly.C_OSZTALYFONOKID = @felhasznaloId OR osztaly.C_OFOHELYETTESID = @felhasznaloId)
UNION ALL
SELECT
osztalyCsoport.ID ID,
osztalyCsoport.C_NEV Nev,
'1' Tipus,
csoport.C_TIPUSA CsoportTipusa,
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
FROM
T_OSZTALYCSOPORT osztalyCsoport
INNER JOIN T_CSOPORT csoport
ON csoport.ID = osztalyCsoport.ID
WHERE
osztalyCsoport.TOROLT = 'F' AND
csoport.C_CSOPORTVEZETOID = @felhasznaloId
ORDER BY
CsoportTipusa, Evfolyam
END

View file

@ -0,0 +1,48 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFelhasznaloErintettTargyai]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFelhasznaloErintettTargyai]
END
GO
-- =============================================
-- Author: <Hoffmann Zsolt>
-- Create date: <2016. 03. 03.>
-- Description: <Felhasználóhoz kötheto tantárgyak és egyéb tantárgyak>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloErintettTargyai]
@felhasznaloId int
AS
BEGIN
SET NOCOUNT ON;
with q (ID,Nev,Tipus) as
(select
T_TANTARGY.ID,
T_TANTARGY.C_NEV Nev,
'1' Tipus
from T_TANTARGY
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.C_TANTARGYID = T_TANTARGY.ID
left join T_FOGLALKOZASOK_TANAROK on T_FOGLALKOZASOK_TANAROK.C_FOGLALKOZASOKID = T_FOGLALKOZAS.ID
where T_TANTARGY.TOROLT = 'F' and
T_TANTARGY.C_FOTARGYID is null and
T_FOGLALKOZASOK_TANAROK.C_TANAROKID = @felhasznaloId)
select ID,Nev,tipus from q
union
select distinct
T_TANTARGY.ID,
T_TANTARGY.C_NEV Nev,
'3' Tipus
from T_TANTARGY
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.C_TANTARGYID = T_TANTARGY.ID and T_FOGLALKOZAS.TOROLT = 'F'
inner join T_OSZTALYCSOPORT on T_OSZTALYCSOPORT.ID = T_FOGLALKOZAS.C_OSZTALYCSOPORTID and T_OSZTALYCSOPORT.TOROLT = 'F'
inner join T_OSZTALY on T_OSZTALY.ID = T_OSZTALYCSOPORT.ID and T_OSZTALY.TOROLT = 'F'
where T_TANTARGY.TOROLT = 'F' and
(T_OSZTALY.C_OSZTALYFONOKID = @felhasznaloId or T_OSZTALY.C_OFOHELYETTESID = @felhasznaloId) and
T_TANTARGY.ID not in (select ID from q)
END

View file

@ -0,0 +1,45 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFelhasznaloFoglalkozasokErtekelesekhez]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFelhasznaloFoglalkozasokErtekelesekhez]
END
GO
-- =============================================
-- Description: <Felhasználóhoz köthetõ foglalkozások az értékelések szûréséhez>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloFoglalkozasokErtekelesekhez]
@pTanarId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
foglalkozas.ID ID,
osztalyCsoport.C_NEV + ' - ' + tantargy.C_Nev Nev,
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
FROM
T_FOGLALKOZAS foglalkozas
LEFT JOIN T_OSZTALYCSOPORT osztalyCsoport
ON osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
LEFT JOIN T_TANTARGY tantargy
ON tantargy.ID = foglalkozas.C_TANTARGYID
LEFT JOIN T_FOGLALKOZASOK_TANAROK foglalkozasokTanarok
ON foglalkozasokTanarok.C_FOGLALKOZASOKID = foglalkozas.ID
LEFT JOIN T_FELHASZNALO felhasznalo
ON felhasznalo.ID = foglalkozasokTanarok.C_TANAROKID
WHERE
foglalkozas.TOROLT = 'F' AND
foglalkozasokTanarok.C_TANAROKID = @pTanarId
ORDER BY
Evfolyam
END

View file

@ -0,0 +1,96 @@
-- =============================================
-- Author: Sólyom Péter
-- Create date: 2016.04.05.
-- Description: Lekérdezi a felhasználóhoz tartozó jogokat (osztályfőnök, csoportvezető, stb.)
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('dbo.sp_GetFelhasznaloJogok') IS NOT NULL BEGIN
DROP PROCEDURE dbo.sp_GetFelhasznaloJogok
END
GO
CREATE PROCEDURE sp_GetFelhasznaloJogok
@FELHASZNALOID INT,
@SZEREPKORTIPUS INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @TEMPJOGOK TABLE ( JOG nvarchar(100))
-- SZEREPKÖR JOGOK
IF @SZEREPKORTIPUS = 1757
BEGIN
INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Fenntarto')
END
ELSE IF @SZEREPKORTIPUS = 1758
BEGIN
INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Adminisztrator')
END
ELSE IF @SZEREPKORTIPUS = 1759
BEGIN
INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Penzugy')
END ELSE IF @SZEREPKORTIPUS = 1760
BEGIN
INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Naplo')
END ELSE IF @SZEREPKORTIPUS = 1761
BEGIN
INSERT INTO @TEMPJOGOK (JOG) VALUES (N'Ellenorzo')
END
-- RENDSZERGAZDA VAGY SZUPEROSZTÁLYFŐNÖK
INSERT INTO @TEMPJOGOK
SELECT DISTINCT C_JOG JOG
FROM T_JOGOSULTSAG
JOIN T_JOGOSULTSAG_FELHASZNALO FELHASZNALOJOG ON FELHASZNALOJOG.C_JOGOSULTSAGID = T_JOGOSULTSAG.ID
WHERE T_JOGOSULTSAG.TOROLT = 'F'
AND FELHASZNALOJOG.C_FELHASZNALOID = @FELHASZNALOID
AND T_JOGOSULTSAG.C_SZEREPKORTIPUS = @SZEREPKORTIPUS
UNION
-- OSZTÁLYFŐNÖK
SELECT DISTINCT 'Osztalyfonok'
FROM T_OSZTALY OSZT
WHERE OSZT.C_OSZTALYFONOKID = @FELHASZNALOID OR OSZT.C_OFOHELYETTESID = @FELHASZNALOID AND OSZT.TOROLT ='F'
-- ÉVFOLYAMFELELŐS
UNION
SELECT DISTINCT 'Evfolyamfelelos'
FROM T_OSZTALY OSZT
WHERE OSZT.C_OFOHELYETTESID = @FELHASZNALOID AND OSZT.TOROLT ='F'
-- CSOPORTVEZETŐ
UNION
SELECT DISTINCT 'CsoportVezeto'
FROM T_CSOPORT CSOP
WHERE CSOP.C_CSOPORTVEZETOID = @FELHASZNALOID AND CSOP.TOROLT = 'F'
-- SZUPEROSZTÁLYFŐNÖK (IGAZGATÓ, ÉVFOLYAMFELELŐS)
UNION
SELECT DISTINCT 'SzuperOsztalyfonok'
FROM T_MUNKAUGYIADATOK MUNKAUGY
WHERE MUNKAUGY.C_ALKALMAZOTTID = @FELHASZNALOID
AND MUNKAUGY.TOROLT='F'
AND MUNKAUGY.C_MUNKAKORTIPUSA IN (1762,1763) -- IGAZGATÓ VAGY IGAZGATÓ HELYETTES
UNION -- TANÁR
SELECT DISTINCT 'Tanar'
FROM T_TANARITANTARGY TT
WHERE TT.C_ALKALMAZOTTID = @FELHASZNALOID AND TT.TOROLT = 'F'
UNION
SELECT DISTINCT 'Tanar'
FROM T_FOGLALKOZAS FOGL
JOIN T_FOGLALKOZASOK_TANAROK FT ON FT.C_FOGLALKOZASOKID = FOGL.ID
WHERE FT.C_TANAROKID = @FELHASZNALOID AND FOGL.TOROLT = 'F'
UNION
SELECT 'Tanulo'
FROM T_TANULO tt
WHERE ID= @FELHASZNALOID
SELECT t.JOG
FROM @TEMPJOGOK T
JOIN T_JOGOSULTSAG JOGOS ON JOGOS.C_JOG = T.JOG
WHERE JOGOS.C_SZEREPKORTIPUS = @SZEREPKORTIPUS
END
GO

View file

@ -0,0 +1,46 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFelhasznaloOsztalyaiByFoglalkozas]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFelhasznaloOsztalyaiByFoglalkozas]
END
GO
-- =============================================
-- Description: <Felhasználóhoz köthetõ osztályok foglalkozások alapján az értékelések szûréséhez>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloOsztalyaiByFoglalkozas]
@felhasznaloId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
osztalyCsoport.ID ID,
osztalyCsoport.C_NEV Nev,
'1' Tipus,
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
FROM
T_FOGLALKOZAS foglalkozas
LEFT JOIN T_OSZTALYCSOPORT osztalyCsoport
ON osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
LEFT JOIN T_TANTARGY tantargy
ON tantargy.ID = foglalkozas.C_TANTARGYID
LEFT JOIN T_FOGLALKOZASOK_TANAROK foglalkozasokTanarok
ON foglalkozasokTanarok.C_FOGLALKOZASOKID = foglalkozas.ID
LEFT JOIN T_FELHASZNALO felhasznalo
ON felhasznalo.ID = foglalkozasokTanarok.C_TANAROKID
WHERE
foglalkozas.TOROLT = 'F' AND
foglalkozasokTanarok.C_TANAROKID = @felhasznaloId
ORDER BY
Evfolyam
END

View file

@ -0,0 +1,46 @@
GO
/****** Object: StoredProcedure [dbo].[sp_GetFenntartoIntezmenyei] Script Date: 2016.05.20. 16:13:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[sp_GetFenntartoIntezmenyei]', 'P') IS NOT NULL
BEGIN
DROP PROCEDURE [sp_GetFenntartoIntezmenyei]
END
GO
-- =============================================
-- Author: <Kelemen Attila>
-- Create date: <2016.05.18.>
-- Description: <Belépett fenntartó ID-je alapján visszaadja az intézményeket>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetFenntartoIntezmenyei]
@fenntartoID int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT DISTINCT
Adatok.C_INTEZMENYID ID,
Adatok.C_NEV+ ' (' + Tanev.C_NEV + ')' Nev,
ISNULL(Intezmeny.C_FENNTARTOAZONOSITO, '0') FenntartoID,
Intezmeny.C_AZONOSITO IntezmenyAzonosito,
ISNULL(Adatszolgaltatas.C_VEGLEGESTTF, 'F') VeglegesTTF,
ISNULL(Adatszolgaltatas.C_ELFOGADOTTTTF, 'F') ElfogadottTTF,
ISNULL(Adatszolgaltatas.C_VEGLEGESLETSZAM, 'F') VeglegesLetszam,
ISNULL(Adatszolgaltatas.C_ELFOGADOTTLETSZAM, 'F') ElfogadottLetszam
FROM
T_INTEZMENY Intezmeny
INNER JOIN T_INTEZMENYADATOK Adatok ON Intezmeny.ID = Adatok.C_INTEZMENYID AND Adatok.TOROLT = 'F'
INNER JOIN T_INTEZMENYADATSZOLGALTATAS Adatszolgaltatas ON Intezmeny.ID = Adatszolgaltatas.C_INTEZMENYID
AND Adatszolgaltatas.C_TANEVID = Adatok.C_TANEVID AND Adatszolgaltatas.TOROLT = 'F'
INNER JOIN T_TANEV Tanev ON Tanev.ID = Adatok.C_TANEVID AND Tanev.TOROLT = 'F'
WHERE
Intezmeny.TOROLT='F'
AND Intezmeny.C_FENNTARTOAZONOSITO = @fenntartoID
ORDER BY Nev ASC
END

View file

@ -0,0 +1,49 @@
-- =============================================
-- Description: <Előszedjük az ePénztárca tételeket szűrve>
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFilteredEPenztarcaTetelListForGrid]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFilteredEPenztarcaTetelListForGrid]
END
GO
CREATE PROCEDURE [dbo].[sp_GetFilteredEPenztarcaTetelListForGrid]
@pIntezmenyId INT,
@pTanevId INT,
@pDatumTol DATE,
@pDatumIg DATE,
@pJogcim NVARCHAR(255),
@pStatusz INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
EPenztarcaTetel.ID AS ID,
EPenztarcaTetel.C_JOGCIME AS Jogcim,
EPenztarcaTetel.C_DATUMA AS Datum,
EPenztarcaTetel.C_OSSZEGE AS Osszeg,
EPenztarcaTetel.C_STATUSZA AS Statusz
FROM
[T_EPENZTARCATETEL] AS EPenztarcaTetel
WHERE
EPenztarcaTetel.C_INTEZMENYID = @pIntezmenyId AND
EPenztarcaTetel.C_TANEVID = @pTanevId AND
(@pDatumTol IS NULL OR EPenztarcaTetel.C_DATUMA >= @pDatumTol) AND
(@pDatumIg IS NULL OR EPenztarcaTetel.C_DATUMA <= @pDatumIg) AND
(@pJogcim IS NULL OR EPenztarcaTetel.C_JOGCIME LIKE '%' + @pJogcim + '%') AND
(@pStatusz IS NULL OR EPenztarcaTetel.C_STATUSZA = @pStatusz) AND
EPenztarcaTetel.TOROLT = 'F'
END
GO

View file

@ -0,0 +1,129 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFogadooraInfo]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFogadooraInfo]
END
GO
CREATE PROCEDURE [dbo].[sp_GetFogadooraInfo]
@alkalmazottId int,
@tanevId int
AS
BEGIN
SET NOCOUNT ON;
/*
Fejlec: Ebben szerepeljen az intézmény neve, működési hely neve,
és a feladatellátási hely oktatási-nevelési feladata, keltezés helye, napja.
*/
SELECT i.C_NEV as intezmeny, m.C_NEV as mukodesihely, d.C_NAME as oktatasiNevelesiFeladatTipus,
ISNULL(i.C_VAROS + ', ', '') + FORMAT(GETDATE(), 'yyyy. MMMM dd.', 'hu-hu') AS kelt
FROM T_INTEZMENYADATOK_OSSZES i
INNER JOIN T_MUKODESIHELY_OSSZES m ON i.C_INTEZMENYID = m.C_INTEZMENYID AND m.TOROLT = 'F'
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON m.ID = f.C_MUKODESIHELYID AND f.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS
WHERE i.C_INTEZMENYID = (SELECT C_INTEZMENYID FROM T_FELHASZNALO WHERE ID=@alkalmazottId)
/*
Csoport: A tanár neve, ID-ja, és az általa tanított osztályok,
csoportok neve, ID-ja, illetve a nekik tanított tantárgyak neve, ID-ja.
*/
SELECT distinct ocs.Id as osztalycsoportId,ocs.C_NEV AS csoport
FROM T_FOGLALKOZAS_OSSZES f
INNER JOIN T_FOGLALKOZASOK_TANAROK_OSSZES ft ON f.ID = ft.C_FOGLALKOZASOKID
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
LEFT JOIN T_CSOPORTOK_OSZTALYOK_OSSZES cso ON cso.C_CSOPORTOKID = ocs.ID
LEFT JOIN T_OSZTALYCSOPORT_OSSZES csocs ON csocs.ID = cso.C_OSZTALYOKID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
WHERE ft.C_TANAROKID = @alkalmazottId
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND F.C_TANEVID=@TANEVID
AND F.TOROLT='F'
order by csoport
SELECT distinct tn.ID as tanuloID,
tn.c_nyomtatasinev as TanuloNeve
FROM T_FOGLALKOZAS_OSSZES f
INNER JOIN T_FOGLALKOZASOK_TANAROK_OSSZES ft ON f.ID = ft.C_FOGLALKOZASOKID
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
LEFT JOIN T_CSOPORTOK_OSZTALYOK_OSSZES cso ON cso.C_CSOPORTOKID = ocs.ID
LEFT JOIN T_OSZTALYCSOPORT_OSSZES csocs ON csocs.ID = cso.C_OSZTALYOKID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
WHERE ft.C_TANAROKID = @alkalmazottId
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND F.C_TANEVID=@TANEVID
AND F.TOROLT='F'
order by TanuloNeve
SELECT fh.C_NYOMTATASINEV as tanarNev, t.C_NEV as tantargyNev, ISNULL(csocs.C_NEV, ocs.C_NEV) AS osztaly, ocs.Id as osztalycsoportId,ocs.C_NEV AS csoport,
tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev
FROM T_FOGLALKOZAS_OSSZES f
INNER JOIN T_FOGLALKOZASOK_TANAROK_OSSZES ft ON f.ID = ft.C_FOGLALKOZASOKID
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
LEFT JOIN T_CSOPORTOK_OSZTALYOK_OSSZES cso ON cso.C_CSOPORTOKID = ocs.ID
LEFT JOIN T_OSZTALYCSOPORT_OSSZES csocs ON csocs.ID = cso.C_OSZTALYOKID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
WHERE ft.C_TANAROKID = @alkalmazottId
AND F.C_TANEVID=@TANEVID
AND F.TOROLT='F'
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
dt.C_NAME as ertekelesTipusa, dm.C_NAME as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
fh.C_NYOMTATASINEV as tanarNev, do.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
t.id as tantargyID, t.C_NEV as tantargyNev
--SELECT count(1)
FROM T_TANULOERTEKELES_OSSZES e
INNER JOIN T_OSZTALYZATERTEKELES_OSSZES oe ON e.ID = oe.ID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
INNER JOIN T_FOGLALKOZASOK_TANAROK_OSSZES ft ON f.ID = ft.C_FOGLALKOZASOKID
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON (dm.ID = oe.C_ERTEKELESMODJA AND DM.C_INTEZMENYID = OE.C_ALINTEZMENYID AND DM.C_TANEVID = OE.C_ALTANEVID)
INNER JOIN T_DICTIONARYITEMBASE_OSSZES do ON (do.ID = e.C_OSZTALYZAT AND Do.C_INTEZMENYID = E.C_INTEZMENYID AND Do.C_TANEVID = E.C_TANEVID)
WHERE ft.C_TANAROKID = @alkalmazottId
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND E.C_TANEVID=@TANEVID AND E.TOROLT='F'
UNION ALL
SELECT e.ID, tn.ID as tanuloID, tn.C_NYOMTATASINEV as tanuloNev, FORMAT(e.C_ERTEKELESDATUM, 'd', 'hu-hu') as ertekelesDatuma,
dt.C_NAME as ertekelesTipusa, null as ertekelesModja, e.C_ERTEKELESSZOVEG as feljegyzes,
fh.C_NYOMTATASINEV as tanarNev, dm.C_NAME + ', ' + ds.C_NAME as osztalyzat, ocs.ID as csoportID, ocs.C_NEV as csoportNev,
t.id as tantargyID, t.C_NEV as tantargyNev
FROM T_TANULOERTEKELES_OSSZES e
INNER JOIN T_OSZTALYFONOKIERTEKELES_OSSZES oe ON e.ID = oe.ID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = e.C_OSZTALYCSOPORTID
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_OSZTALYCSOPORTID = ocs.ID
INNER JOIN T_FOGLALKOZASOK_TANAROK_OSSZES ft ON f.ID = ft.C_FOGLALKOZASOKID
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = f.C_TANTARGYID and e.C_TANTARGYID = t.ID
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.id = ft.C_TANAROKID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_TANULOID = e.C_TANULOID
INNER JOIN T_FELHASZNALO_OSSZES tn ON tn.ID = tcs.C_TANULOID
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dt ON dt.ID = e.C_ERTEKELESTIPUSA
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dm ON dm.ID = oe.C_MAGATARTAS
INNER JOIN T_DICTIONARYITEMBASE_OSSZES ds ON ds.ID = oe.C_SZORGALOM
WHERE ft.C_TANAROKID = @alkalmazottId
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > GETDATE())
AND E.C_TANEVID=@TANEVID AND E.TOROLT='F'
END
GO

View file

@ -0,0 +1,80 @@
-- =============================================
-- Description: Foglalkozások egész évben megtartandó óráinak száma.
-- =============================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFoglalkozasokMegtartandoOraSzama]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFoglalkozasokMegtartandoOraSzama]
END
GO
CREATE PROCEDURE [dbo].[sp_GetFoglalkozasokMegtartandoOraSzama]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
select ID foglalkozasID, count(OraID) OraSzam from(
select t_foglalkozas_OSSZES.ID ID, T_ORARENDIORA_OSSZES.ID OraID from
T_ORARENDIORA_OSSZES
inner join t_foglalkozas_OSSZES on T_ORARENDIORA_OSSZES.C_FOGLALKOZASID = T_FOGLALKOZAS_OSSZES.ID
inner join T_NAPTARINAP_OSSZES on T_ORARENDIORA_OSSZES.C_HETNAPJA = T_NAPTARINAP_OSSZES.C_HETNAPJA
and (T_ORARENDIORA_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_ORARENDIORA_OSSZES.C_HETIREND = 1554)
INNER JOIN T_TANEV_OSSZES ON T_NAPTARINAP_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID and t_foglalkozas_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
left join T_TANITASIORA_OSSZES on T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANITASIORA_OSSZES.C_DATUM
and T_TANITASIORA_OSSZES.C_ORARENDIORAID = T_ORARENDIORA_OSSZES.ID
and T_TANITASIORA_OSSZES.C_MEGTARTOTT ='F'
and T_TANITASIORA_OSSZES.TOROLT='F'
left join T_OSZTALYCSOPORT_TANEVRENDJE on T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
where NOT EXISTS (Select 1 from
T_TANEVRENDJE_OSSZES
left join T_OSZTALYCSOPORT_TANEVRENDJE on t_foglalkozas_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
WHERE T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANEVRENDJE_OSSZES.C_DATUM
and (T_TANEVRENDJE_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_TANEVRENDJE_OSSZES.C_HETIREND = 1554)
and T_TANEVRENDJE_OSSZES.C_ORARENDINAP ='F'
and (T_TANEVRENDJE_OSSZES.C_OSSZESCSOPORTRAVONATKOZIK='T' OR T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
and T_TANEVRENDJE_OSSZES.TOROLT='F'
and T_NAPTARINAP_OSSZES.C_NAPDATUMA >= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE
and T_NAPTARINAP_OSSZES.C_NAPDATUMA <= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE
))
AND T_TANITASIORA_OSSZES.ID is null
AND T_TANEV_OSSZES.C_AKTIV = 'T' AND T_TANEV_OSSZES.TOROLT='F'
union all
select foglalkozas.ID ID, T_TANITASIORA_OSSZES.id OraID
from T_TANITASIORA_OSSZES
inner join ( select ID, C_OSZTALYCSOPORTID from t_foglalkozas_OSSZES where torolt='F' ) foglalkozas on T_TANITASIORA_OSSZES.C_FOGLALKOZASID = foglalkozas.ID
inner join T_NAPTARINAP_OSSZES on T_TANITASIORA_OSSZES.C_HETNAPJA = T_NAPTARINAP_OSSZES.C_HETNAPJA
left join T_OSZTALYCSOPORT_TANEVRENDJE on foglalkozas.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
where C_ORARENDIORAID is null and T_TANITASIORA_OSSZES.TOROLT='F'
and
NOT EXISTS (Select 1 from
T_TANEVRENDJE_OSSZES
left join T_OSZTALYCSOPORT_TANEVRENDJE on foglalkozas.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
WHERE T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANEVRENDJE_OSSZES.C_DATUM
and (T_TANEVRENDJE_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_TANEVRENDJE_OSSZES.C_HETIREND = 1554)
and T_TANEVRENDJE_OSSZES.C_ORARENDINAP ='F'
and (T_TANEVRENDJE_OSSZES.C_OSSZESCSOPORTRAVONATKOZIK='T' OR T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
and T_TANEVRENDJE_OSSZES.TOROLT='F'))
) orak
Group by ID
END

View file

@ -0,0 +1,110 @@
-- =============================================
-- Author: <Hoffmann Zsolt>
-- Midifier: Telek Ákos
-- Create date: <2016. 07. 27.>
-- Description: <Haladási munkafüzet, tanmenet>
-- =============================================
IF OBJECT_ID('sp_GetHaladasiMunkafuzetTanmenet') IS NOT NULL BEGIN
DROP PROCEDURE sp_GetHaladasiMunkafuzetTanmenet
END
GO
CREATE PROCEDURE sp_GetHaladasiMunkafuzetTanmenet
@tanevID int,
@tanarID int
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@foglalkozasID INT = 0
,@foglalkozasNev VARCHAR(255)
SELECT DISTINCT
f.ID
,ocs.C_NEV + ' - ' + tt.C_NEV AS Nev
,f.C_TANTARGYID
,f.C_OSZTALYCSOPORTID
,f.C_INTEZMENYID
INTO #Foglalkozasok
FROM T_FOGLALKOZAS_OSSZES f
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID = f.C_OSZTALYCSOPORTID and ocs.TOROLT = 'F'
INNER JOIN T_FOGLALKOZASOK_TANAROK ft on ft.C_FOGLALKOZASOKID = f.ID
INNER JOIN T_TANTARGY_OSSZES tt on tt.ID = f.C_TANTARGYID
WHERE f.TOROLT = 'F'
AND f.C_TANEVID = @tanevID
AND ft.C_TANAROKID = @tanarID
AND tt.TOROLT = 'F'
SELECT ID, Nev FROM #Foglalkozasok
DECLARE @sorszamTable TABLE (
tanitasiOraId int PRIMARY KEY
,evesOraszam int
,foglalkozasId int
)
INSERT INTO @sorszamTable (tanitasiOraId, evesOraszam, foglalkozasId)
SELECT s.Id, s.EvesSorszam, f.ID FROM #Foglalkozasok f
CROSS APPLY dbo.fnGetEvesOraszamLista(
f.C_TANTARGYID
,f.C_OSZTALYCSOPORTID
,@tanarID
,GETDATE()
,f.C_INTEZMENYID
,@tanevID
) s
DECLARE foglalkozasCursor CURSOR FOR
SELECT ID FROM #Foglalkozasok
OPEN foglalkozasCursor
FETCH NEXT FROM foglalkozasCursor into @foglalkozasId
WHILE @@FETCH_STATUS = 0 BEGIN
SELECT DISTINCT
tn.ID
,CASE
WHEN tn.C_MEGTARTOTT = 'T' then s.evesOraszam --tn.C_ORAEVESSORSZAM
ELSE '-'
END AS OraSorszam
,tn.C_TEMA Tema
,CASE
WHEN tn.C_HELYETTESITOTANARID is null then ''
ELSE 'H'
END AS Helyettesites
,tn.C_DATUM Datum
,tn.C_ORASZAM OraSzam
,tn.C_MEGJEGYZES Megjegyzes
,tn.C_HAZIFELADAT HaziFeladat
,tn.C_TULORA TulOra
,tn.C_TAMOPORA TamopOra
,tn.C_NEMSZAKRENDSZERUORA NemszakrendszeruOra
,tn.C_IKTTANORA IktOra
,tn.C_NEMZETISEGIORA NemzetisegiOra
,tn.C_MINDENNAPOSTESTNEVELES TestnevelesOra
,tn.C_IPRTANORA IprOra
,tn.C_DIFFERENCIALT DifferencialtOra
,tn.C_KOOPERATIV KooperativOra
,tn.C_MERES MeresOra
,tn.C_DRAMA DramaOra
,tn.C_PARHUZAMOSORA ParhuzamosOra
,tn.C_TIOP12 TiopOra
FROM T_TANITASIORA_OSSZES tn
LEFT JOIN @sorszamTable s ON s.tanitasiOraId = tn.ID
WHERE tn.TOROLT = 'F'
AND tn.C_TANEVID = @tanevID
AND tn.C_FOGLALKOZASID = @foglalkozasId
FETCH NEXT FROM foglalkozasCursor into @foglalkozasId
END
CLOSE foglalkozasCursor
DEALLOCATE foglalkozasCursor
DROP TABLE #Foglalkozasok
END;
GO

View file

@ -0,0 +1,115 @@
-- =============================================
-- Author: <Hoffmann Zsolt>
-- Create date: <2016. 07. 26.>
-- Description: <Haladási napló>
-- =============================================
IF OBJECT_ID('sp_GetHaladasiNaploAdatok') IS NOT NULL BEGIN
DROP PROCEDURE sp_GetHaladasiNaploAdatok
END
GO
CREATE PROCEDURE [dbo].[sp_GetHaladasiNaploAdatok]
@tanevID int,
@osztalyID int
AS
BEGIN
DECLARE @foglalkozasID INT = 0
DECLARE @foglalkozasNev VARCHAR(255)
SET NOCOUNT ON;
SELECT DISTINCT
f.id
,ocs.C_NEV + ' - ' + tt.C_NEV AS Nev
,f.C_TANTARGYID
,f.C_OSZTALYCSOPORTID
,f.C_INTEZMENYID
,ft.C_TANAROKID AS C_TANARID
INTO #Foglalkozasok
FROM T_FOGLALKOZAS_OSSZES f
INNER JOIN T_FOGLALKOZASOK_TANAROK_OSSZES ft ON f.ID = ft.C_FOGLALKOZASOKID
INNER JOIN T_OSZTALYCSOPORT_OSSZES OCS on OCS.ID = f.C_OSZTALYCSOPORTID and OCS.TOROLT = 'F'
LEFT JOIN T_CSOPORTOK_OSZTALYOK cso on cso.C_CSOPORTOKID = ocs.ID
INNER JOIN T_TANTARGY_OSSZES tt on tt.ID = f.C_TANTARGYID and tt.TOROLT = 'F'
WHERE f.TOROLT = 'F'
AND f.C_TANEVID = @tanevID
AND (ocs.ID = @osztalyID OR cso.C_OSZTALYOKID = @osztalyID)
SELECT
fog.ID
, Nev+' - '+felh.C_NYOMTATASINEV Nev
FROM #Foglalkozasok fog
INNER JOIN T_FELHASZNALO_OSSZES felh on fog.C_TANARID=felh.ID
DECLARE @sorszamTable TABLE (
tanitasiOraId int-- PRIMARY KEY
,evesOraszam int
,foglalkozasId int
)
INSERT INTO @sorszamTable (tanitasiOraId, evesOraszam, foglalkozasId)
SELECT s.Id, s.EvesSorszam, f.ID FROM #Foglalkozasok f
CROSS APPLY dbo.fnGetEvesOraszamLista(
f.C_TANTARGYID
,f.C_OSZTALYCSOPORTID
,f.C_TANARID
,GETDATE()
,f.C_INTEZMENYID
,@tanevID
) s
DECLARE foglalkozasCursor CURSOR FOR
SELECT ID FROM #Foglalkozasok
OPEN foglalkozasCursor
FETCH NEXT FROM foglalkozasCursor into @foglalkozasId
WHILE @@FETCH_STATUS = 0 BEGIN
SELECT DISTINCT
CASE
WHEN tn.C_MEGTARTOTT = 'T' THEN s.evesOraszam -- tn.C_ORAEVESSORSZAM
ELSE '-'
END AS OraSorszam
,fh.C_NYOMTATASINEV TanarNev
,tn.C_TEMA Tema
,CASE
WHEN tn.C_HELYETTESITOTANARID IS NULL THEN ''
ELSE 'H'
END AS Helyettesites
,FORMAT(tn.C_DATUM, 'yyyy.MM.dd.') Datum
,tn.C_ORASZAM OraSzam
,tn.C_MEGJEGYZES Megjegyzes
,tn.C_HAZIFELADAT HaziFeladat
,tn.C_TULORA TulOra
,tn.C_TAMOPORA TamopOra
,tn.C_NEMSZAKRENDSZERUORA NemszakrendszeruOra
,tn.C_IKTTANORA IktOra
,tn.C_NEMZETISEGIORA NemzetisegiOra
,tn.C_MINDENNAPOSTESTNEVELES TestnevelesOra
,tn.C_IPRTANORA IprOra
,tn.C_DIFFERENCIALT DifferencialtOra
,tn.C_KOOPERATIV KooperativOra
,tn.C_MERES MeresOra
,tn.C_DRAMA DramaOra
,tn.C_PARHUZAMOSORA ParhuzamosOra
,tn.C_TIOP12 TiopOra
FROM T_TANITASIORA_OSSZES tn
INNER JOIN T_ORAK_TANAROK ot ON ot.C_ORAKID = tn.ID
INNER JOIN T_FELHASZNALO fh ON fh.ID = ot.C_TANAROKID
LEFT JOIN @sorszamTable s ON s.tanitasiOraId = tn.ID
WHERE tn.TOROLT = 'F'
AND tn.C_TANEVID = @tanevID
AND tn.C_FOGLALKOZASID = @foglalkozasID
ORDER BY FORMAT(tn.C_DATUM, 'yyyy.MM.dd.')
FETCH NEXT FROM foglalkozasCursor
INTO @foglalkozasId
END
CLOSE foglalkozasCursor
DEALLOCATE foglalkozasCursor
DROP TABLE #Foglalkozasok
END
GO

View file

@ -0,0 +1,157 @@
GO
/****** Object: StoredProcedure [KR_BEDO_Schema].[sp_GetHarmadikNegyedeviErtesito] Script Date: 2016.05.26. 13:58:43 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [sp_GetHarmadikNegyedeviErtesito]
@osztalyId int,
@TanevId int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- fejléc
SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve,
T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM IntezmenyIranyitoszam,
T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros,
T_INTEZMENYADATOK_OSSZES.C_CIME IntezmenyCime,
T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON,
T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM,
T_INTEZMENYADATOK_OSSZES.C_OMKOD IntezmenyOMKod,
(SELECT C_OSZTALYFONOKID FROM T_OSZTALY_OSSZES WHERE ID=@osztalyId and TOROLT = 'F') PartnerID,
T_TANEV_OSSZES.C_NEV TANEV
FROM T_INTEZMENYADATOK_OSSZES
inner join T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID and T_TANEV_OSSZES.TOROLT = 'F'
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
and T_TANEV_OSSZES.ID = @TanevId
-- TANULÓK
SELECT T_FELHASZNALO_OSSZES.ID TANULOID,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TANULONEV,
T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO OKTATASIAZONOSITO
FROM T_FELHASZNALO_OSSZES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID
WHERE T_FELHASZNALO_OSSZES.TOROLT='F'
and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
and T_FELHASZNALO_OSSZES.C_TANEVID = @TanevId
ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
-- ÉRTÉKELÉSEK
SELECT ERTEKELES.C_TANULOID TANULOID,
'MAGATARTAS' TARGYNEV,
OSZTALYZAT.MAGATARTAS NEGYEDEVIERTEKELES,
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
LEFT JOIN (SELECT ID, C_MAGATARTAS MAGATARTAS FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
ON OSZTALYZAT.ID = ERTEKELES.ID
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
AND ERTEKELES.C_ERTEKELESTIPUSA = 1523
AND OSZTALYZAT.MAGATARTAS IS NOT NULL -- III.Negyedévi
AND ERTEKELES.C_TANEVID = @TanevId
UNION ALL
SELECT ERTEKELES.C_TANULOID TANULOID,
'SZORGALOM' TARGYNEV,
OSZTALYZAT.SZORGALOM NEGYEDEVIERTEKELES,
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
LEFT JOIN (SELECT ID, C_SZORGALOM SZORGALOM FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT
ON OSZTALYZAT.ID = ERTEKELES.ID
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
AND ERTEKELES.C_ERTEKELESTIPUSA = 1523
AND OSZTALYZAT.SZORGALOM IS NOT NULL -- III.Negyedévi
AND ERTEKELES.C_TANEVID = @TanevId
UNION ALL
SELECT ERTEKELES.C_TANULOID TANULOID,
TARGY.TARGYNEV TARGYNEV,
ERTEKELES.C_OSZTALYZAT NEGYEDEVIERTEKELES,
ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY
ON TARGY.ID = ERTEKELES.C_TANTARGYID
WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId
AND TARGY.KAT != 1248 --Osztályfőnöki nem jelenítődik meg
AND ERTEKELES.C_ERTEKELESTIPUSA = 1523 -- III.Negyedévi
AND ERTEKELES.C_TANEVID = @TanevId
ORDER BY TANULOID, TARGYNEV
-- MULASZTÁSOK
SELECT MULASZT.C_TANULOID TANULOID,
CASE WHEN MULASZT.C_STATISZTIKATIPUS = 1656 THEN 'IGAZOLT' ELSE 'IGAZOLATLAN' END TIPUS,
MULASZT.C_HARMADIKNEGYEDEV ORASZAM
FROM T_TANULOMULASZTASSTATISZTIKA_OSSZES MULASZT
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MULASZT.C_TANULOID
WHERE MULASZT.TOROLT ='F'
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
AND MULASZT.C_STATISZTIKATIPUS IN (1656,1662) -- IGAZOLT VAGY IGAZOLATLAN
AND MULASZT.C_TANEVID = @TanevId
-- TANTÁRGYI MENTESSÉGEK
SELECT MENTESSEG.C_TANULOID TANULOID,
TARGY.TARGYNEV,
MENTESSEG.C_MENTESSEGOKA MENTESSEGOKA
FROM T_TANULOMENTESSEG_OSSZES MENTESSEG
JOIN (SELECT ID, C_NEV TARGYNEV FROM T_TANTARGY_OSSZES WHERE TOROLT='F' ) TARGY
ON TARGY.ID = MENTESSEG.C_TANTARGYID
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (C_KILEPESDATUM is null or C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = MENTESSEG.C_TANULOID
WHERE MENTESSEG.TOROLT = 'F'
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
AND MENTESSEG.C_TANEVID = @TanevId
ORDER BY MENTESSEG.C_TANULOID, TARGY.TARGYNEV
-- BEJEGYZÉSEK
SELECT T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID,
C_TARTALOM BEJEGYZES,
C_TIPUS TIPUS
FROM T_TANULOESEMENY_OSSZES
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
and (C_KILEPESDATUM is null or C_KILEPESDATUM >= GETDATE())) TANCSOPORT
ON TANCSOPORT.C_TANULOID = T_TANULOESEMENY_OSSZES.C_TANULOID
WHERE TOROLT='F'
AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
AND T_TANULOESEMENY_OSSZES.C_TIPUS = 1551
AND T_TANULOESEMENY_OSSZES.C_TIPUS != 1534
AND T_TANULOESEMENY_OSSZES.C_TANEVID = @TanevId
ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID
--OSZTÁLY
SELECT
T_OSZTALYCSOPORT_OSSZES.C_NEV OSZTALYNEV,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV OSZTALYFONOKNEV
FROM T_OSZTALY_OSSZES
INNER JOIN T_FELHASZNALO_OSSZES ON T_OSZTALY_OSSZES.C_OSZTALYFONOKID = T_FELHASZNALO_OSSZES.ID and T_FELHASZNALO_OSSZES.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID and T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
WHERE T_OSZTALYCSOPORT_OSSZES.TOROLT='F'
AND T_OSZTALYCSOPORT_OSSZES.ID=@osztalyId
AND T_OSZTALY_OSSZES.C_ALTANEVID = @TanevId
END

View file

@ -0,0 +1,35 @@
GO
/****** Object: StoredProcedure [dbo].[sp_GetHelyettesitesIdoszakLetrehozoSzerepkor] Script Date: 2016.09.07. 9:52:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Dőrr Tamás
-- Create date: 2016.09.07.
-- Description:
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetHelyettesitesIdoszakLetrehozoSzerepkor]
@IntezmenyId int
,@TanevId int
,@HelyettesitesId int
AS
BEGIN
SET NOCOUNT ON;
declare @helyettesitesCreatorId int;
set @helyettesitesCreatorId = (
select
ISNULL(hi.CREATOR, 0)
from T_HELYETTESITESIIDOSZAK hi
where
hi.ID = @HelyettesitesId
and hi.C_INTEZMENYID = @IntezmenyId
and hi.C_TANEVID = @TanevId
)
exec [sp_GetUserRoles] @FELHASZNALOID = @helyettesitesCreatorId
END

View file

@ -0,0 +1,176 @@
/****** Object: StoredProcedure [dbo].[sp_GetHelyettesitesekOrarend] Script Date: 2016.06.19. 17:08:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Dőrr Tamás
-- Create date: 2016.06.08.
-- Description:
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetHelyettesitesekOrarend]
@IntezmenyId int,
@TanevId int,
@IdoszakKezdete datetime,
@IdoszakVege datetime,
@TanarId int,
@CsakOrarendiOrak bit
AS
BEGIN
SET NOCOUNT ON;
DECLARE @KezdoHet int = DATEPART( ISO_WEEK, @IdoszakKezdete);
DECLARE @ZaroHet int = DATEPART( ISO_WEEK, @IdoszakVege);
SELECT NAPTARINAP.Datum Datum
INTO #TEMPORARENDINAPOK
FROM (
(SELECT C_NAPDATUMA Datum FROM T_NAPTARINAP NAPTARINAP WHERE (TOROLT = 'F' AND C_NAPDATUMA BETWEEN @IdoszakKezdete AND @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId))
EXCEPT
(SELECT C_DATUM Datum FROM T_TANEVRENDJE TANEVRENDJE WHERE (TOROLT = 'F' AND (C_NAPTIPUSA IN (1386,1387,1389,1391,1392,1396,1397,1398,1399,1401) OR C_ORARENDINAP = 'F') AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId))
UNION
(SELECT Datum FROM (
SELECT
C_DATUM Datum,
COUNT (C_DATUM) DatumCounter
FROM
(SELECT C_DATUM, C_ORARENDINAP FROM T_TANEVRENDJE TANEVRENDJE WHERE (TOROLT = 'F') AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId) TANEVRENDJE1 GROUP BY C_ORARENDINAP, C_DATUM
) TANEVRENDJE2
GROUP BY Datum
HAVING COUNT(Datum) = 2
)
) NAPTARINAP
DECLARE @VegzosUtolsoTanitasiNap_spGetOrarend DATETIME;
SELECT
@VegzosUtolsoTanitasiNap_spGetOrarend = C_DATUM
FROM
T_TANEVRENDJE
WHERE
TOROLT = 'F'
AND C_TANEVID = (SELECT ID FROM T_TANEV WHERE TOROLT = 'F' AND C_AKTIV = 'T' AND C_INTEZMENYID = @IntezmenyId)
AND C_NAPTIPUSA = 1402 AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
/*Tanítási órák*/
SELECT
TANITASIORA.ID Id,
TANITASIORA.C_ORARENDIORAID ORARENDIID,
TANITASIORA.C_BONTOTT Bontott,
(SELECT T_NAPTARINAP.C_HETIREND FROM T_NAPTARINAP WHERE T_NAPTARINAP.ID = TANITASIORA.C_NAPTARINAPID) Hetirend,
TANITASIORA.C_HETNAPJA HetNapja,
'' ErvenyessegKezdete,
'' ErvenyessegVege,
TANITASIORA.C_ORAKEZDETE OraKezdete,
TANITASIORA.C_ORAVEGE OraVege,
TANITASIORA.C_ORASZAM Oraszam,
TARGY.C_ROVIDNEV TargyNev,
TANITASIORA.C_MEGTARTOTT Megtartott,
TANITASIORA.C_CSENGETESIRENDORAID CsengetesiRendOraID,
OSZTALY.C_NEV OsztalyNev,
TANAR.C_NYOMTATASINEV TanarNev,
TEREM.C_NEV TeremNev,
'TanitasiOra' OraTipus,
''Hianyzas,
'' Keses,
TANITASIORA.C_HELYETTESITOTANARID HelyettesitoTanarID,
TANAR.ID TanarID,
TANITASIORA.C_ADMINALTALKIIRT AdminAltalKiirt
INTO #TEMPORAK
FROM T_TANITASIORA TANITASIORA
LEFT JOIN T_TANTARGY TARGY ON (TARGY.ID = TANITASIORA.C_TANTARGYID AND TARGY.C_INTEZMENYID = @IntezmenyId AND TARGY.C_TANEVID=@TanevId)
LEFT JOIN T_ORAK_TANAROK ON TANITASIORA.ID = T_ORAK_TANAROK.C_ORAKID
LEFT JOIN T_FELHASZNALO TANAR ON T_ORAK_TANAROK.C_TANAROKID = TANAR.ID
LEFT JOIN T_OSZTALYCSOPORT OSZTALY ON (TANITASIORA.C_OSZTALYCSOPORTID = OSZTALY.ID AND OSZTALY.C_INTEZMENYID = @IntezmenyId AND OSZTALY.C_TANEVID=@TanevId)
LEFT JOIN T_TEREM TEREM ON (TEREM.id = TANITASIORA.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
WHERE
@CsakOrarendiOrak = 0 AND TANITASIORA.TOROLT='F' AND TANITASIORA.C_INTEZMENYID = @IntezmenyId AND TANITASIORA.C_TANEVID=@TanevId
AND TANITASIORA.C_CSENGETESIRENDORAID IS NOT NULL
AND (TANITASIORA.C_ORAKEZDETE >= @IdoszakKezdete
AND TANITASIORA.C_ORAVEGE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END))
AND (@TanarId IS NULL OR ( TANITASIORA.C_HELYETTESITOTANARID = @TanarId OR TANITASIORA.C_ORATULAJDONOSID = @TanarId OR T_ORAK_TANAROK.C_TANAROKID = @TanarId))
/*Órarendi órák*/
INSERT INTO #TEMPORAK
SELECT
OrarendiOrak.Id, ORARENDIID, Bontott, Hetirend, HetNapja, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, OraVege,
Oraszam, TargyNev, Megtartott, CsengetesiRendOraID, OsztalyNev, TanarNev, TeremNev, OraTipus, Hianyzas, Keses,
T_HELYETTESITESIIDOSZAK.C_HELYETTESTANAROKID HelyettesitoTanarID, TanarID,AdminAltalKiirt
FROM (
SELECT
T_ORARENDIORA.ID Id,
T_ORARENDIORA.ID ORARENDIID,
T_ORARENDIORA.C_BONTOTT Bontott,
T_ORARENDIORA.C_HETIREND Hetirend,
T_ORARENDIORA.C_HETNAPJA HetNapja,
T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE ErvenyessegKezdete,
T_ORARENDIORA.C_ORAERVENYESSEGVEGE ErvenyessegVege,
CASE
WHEN T_ORARENDIORA.C_ORAKEZDETE IS NULL THEN DATEADD(HOUR, DATEPART(HOUR, T_CSENGETESIRENDORA.C_KEZDETE), DATEADD(MINUTE, DATEPART(MINUTE,T_CSENGETESIRENDORA.C_KEZDETE), NAPTAR.C_NAPDATUMA))
ELSE T_ORARENDIORA.C_ORAKEZDETE
END OraKezdete,
CASE
WHEN T_ORARENDIORA.C_ORAVEGE IS NULL THEN DATEADD(HOUR, DATEPART(HOUR, T_CSENGETESIRENDORA.C_VEGE), DATEADD(MINUTE, DATEPART(MINUTE,T_CSENGETESIRENDORA.C_VEGE), NAPTAR.C_NAPDATUMA))
ELSE T_ORARENDIORA.C_ORAVEGE
END OraVege,
T_CSENGETESIRENDORA.C_ORASZAM Oraszam,
TARGY.C_ROVIDNEV TargyNev,
'F' Megtartott,
T_CSENGETESIRENDORA.ID CsengetesiRendOraID,
OSZTALY.C_NEV OsztalyNev,
TANAR.C_NYOMTATASINEV TanarNev,
TEREM.C_NEV TeremNev,
'OrarendiOra' OraTipus,
'F' Hianyzas,
'F' Keses,
TANAR.ID TanarID,
'F' AdminAltalKiirt
FROM
T_ORARENDIORA
INNER JOIN T_CSENGETESIRENDORA ON (T_CSENGETESIRENDORA.ID=T_ORARENDIORA.C_CSENGETESIRENDORAID AND T_CSENGETESIRENDORA.C_INTEZMENYID = @IntezmenyId AND T_CSENGETESIRENDORA.C_TANEVID=@TanevId)
INNER JOIN T_FOGLALKOZAS ON (T_FOGLALKOZAS.ID= T_ORARENDIORA.C_FOGLALKOZASID AND T_FOGLALKOZAS.C_INTEZMENYID = @IntezmenyId AND T_FOGLALKOZAS.C_TANEVID=@TanevId)
INNER JOIN T_NAPTARINAP NAPTAR ON (( T_ORARENDIORA.C_HETIREND = 1554 OR NAPTAR.C_HETIREND = T_ORARENDIORA.C_HETIREND ) AND NAPTAR.C_HETNAPJA = T_ORARENDIORA.C_HETNAPJA AND NAPTAR.C_INTEZMENYID = @IntezmenyId AND NAPTAR.C_TANEVID=@TanevId)
INNER JOIN #TEMPORARENDINAPOK ORARENDINAPOK ON ORARENDINAPOK.Datum = NAPTAR.C_NAPDATUMA
LEFT JOIN T_FOGLALKOZASOK_TANAROK ON T_FOGLALKOZASOK_TANAROK.C_FOGLALKOZASOKID = T_FOGLALKOZAS.ID
LEFT JOIN T_TANTARGY TARGY ON (TARGY.ID= T_FOGLALKOZAS.C_TANTARGYID AND TARGY.TOROLT = 'F' AND TARGY.C_INTEZMENYID = @IntezmenyId AND TARGY.C_TANEVID=@TanevId)
LEFT JOIN T_FELHASZNALO TANAR ON T_FOGLALKOZASOK_TANAROK.C_TANAROKID = TANAR.ID AND TANAR.TOROLT= 'F'
LEFT JOIN T_OSZTALYCSOPORT OSZTALY ON (T_FOGLALKOZAS.C_OSZTALYCSOPORTID = OSZTALY.ID AND OSZTALY.C_INTEZMENYID = @IntezmenyId AND OSZTALY.C_TANEVID=@TanevId)
LEFT JOIN T_TEREM TEREM ON (TEREM.id = T_ORARENDIORA.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
WHERE
T_ORARENDIORA.TOROLT='F'
AND T_ORARENDIORA.C_CSENGETESIRENDORAID IS NOT NULL
AND T_ORARENDIORA.C_INTEZMENYID = @IntezmenyId AND T_ORARENDIORA.C_TANEVID=@TanevId
AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE >= @IdoszakKezdete AND T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END)
AND NAPTAR.C_NAPDATUMA BETWEEN @IdoszakKezdete AND (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END)
--AND NAPTAR.C_NAPDATUMA BETWEEN CAST(T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AS DATE) AND CAST(T_ORARENDIORA.C_ORAERVENYESSEGVEGE AS DATE)
AND (
(NAPTAR.C_NAPDATUMA >= T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND NAPTAR.C_NAPDATUMA < T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
OR
(NAPTAR.C_NAPDATUMA = T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND NAPTAR.C_NAPDATUMA = T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
)
AND NOT EXISTS (
SELECT 1 FROM #TEMPORAK TANORAK WHERE TANORAK.ORARENDIID = T_ORARENDIORA.ID AND TANORAK.OraKezdete = [OraKezdete] AND TANORAK.OraVege = [OraVege]
)
) OrarendiOrak
LEFT JOIN T_HELYETTESITESIIDOSZAK ON (OrarendiOrak.ID = T_HELYETTESITESIIDOSZAK.C_HELYETTESITETTORARENDID And T_HELYETTESITESIIDOSZAK.C_HETSORSZAMA >= @KezdoHet AND (T_HELYETTESITESIIDOSZAK.C_HETSORSZAMA <= @ZaroHet)
) WHERE (@TanarId IS NULL OR OrarendiOrak.TanarID = @TanarId OR T_HELYETTESITESIIDOSZAK.C_HELYETTESTANAROKID = @TanarId)
--SELECT * FROM #TEMPORAK order by orakezdete
SELECT t.*, hi.ID as HelyettesitesId, f.C_NYOMTATASINEV as HelyettesitoTanarNev FROM #TEMPORAK t
LEFT JOIN T_HELYETTESITESIIDOSZAK hi ON hi.C_HELYETTESITETTORARENDID = t.ORARENDIID AND DATEDIFF(DAY, t.OraKezdete, hi.C_HELYETTESITESNAPJA) = 0
LEFT JOIN T_FELHASZNALO f ON f.ID = hi.C_HELYETTESTANAROKID
ORDER BY t.orakezdete
DROP TABLE #TEMPORAK
DROP TABLE #TEMPORARENDINAPOK
END

Some files were not shown because too many files have changed in this diff Show more