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

View File

@@ -0,0 +1,76 @@
IF OBJECT_ID('dbo.fnGetDokumentumPedagogusOraszam') IS NOT NULL BEGIN
DROP FUNCTION dbo.fnGetDokumentumPedagogusOraszam
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION dbo.fnGetDokumentumPedagogusOraszam (@PedagogusId INT, @isKlebersberg BIT)
RETURNS NVARCHAR(MAX)
BEGIN
DECLARE @value NVARCHAR(MAX)
IF (@isKlebersberg = 0)
BEGIN
SET @value = (SELECT TOP 1 CAST(C_KOTELEZOORASZAM AS NVARCHAR(MAX)) FROM T_MUNKAUGYIADATOK_OSSZES WHERE C_ALKALMAZOTTID = @PedagogusId AND TOROLT = 'F')
END
ELSE
BEGIN
DECLARE @isKollegium INT =(
SELECT TOP 1
munk.C_ALKALMAZOTTID
FROM T_MUNKAUGYIADATOK_OSSZES munk
INNER JOIN T_FELADATELLATASIHELY_OSSZES fhely ON fhely.Id = munk.C_FELADATELLATASIHELYID
WHERE
fhely.C_OKTATASINEVELESIFELADATTIPUS = 1165
AND munk.TOROLT = 'F'
AND fhely.TOROLT = 'F'
AND munk.C_ALKALMAZOTTID = @PedagogusId)
DECLARE @isEgyMi INT=(
SELECT TOP 1
munk.C_ALKALMAZOTTID
FROM T_MUNKAUGYIADATOK_OSSZES munk
INNER JOIN T_FELADATELLATASIHELY_OSSZES fhely ON fhely.Id = munk.C_FELADATELLATASIHELYID
WHERE
fhely.C_OKTATASINEVELESIFELADATTIPUS IN (1177 /* óvoda gyógy.*/, 1178 /*ált. isk. gyógyp.*/, 6711 /*utazó gyógyp.*/, 1173 /*konduktív ped. ell*/, 6570 /*fejlesztő nev-okt*/)
AND munk.C_MUNKAKORTIPUSA IN (597 /*gyógypedagógus*/, 598 /*konduktor*/, 555 /*logopédus*/, 6421 /*pszichopedagógus*/)
AND munk.C_ALKALMAZOTTID = @PedagogusId
AND munk.TOROLT = 'F'
AND fhely.TOROLT = 'F')
SELECT DISTINCT @value =
IIF(C_VEZETOIORASZAMOK != 6571, CAST(C_KOTELEZOORASZAM AS NVARCHAR(MAX)) + ' (vezető)', --van vezetői óraszáma, ha nincs
--ha teljes munkaidős
CASE
WHEN C_FOGLALKOZTATASTIPUS = 6465 --ha teljes munkaidős
THEN IIF(@isKollegium IS NOT NULL, '30', --ha kollégiumi feh-n alkalmazott, ha nem
IIF(C_BESOROLASIFOKOZAT = 3048, '18', --ha mesterpedagógus, ha nem
IIF(@isEgyMi IS NOT NULL, '20', --ha gyógypedagógus, ha nem
IIF(C_BESOROLASIFOKOZAT = 3044, '20', --ha gyakornok, ha nem akkor
'22-26'))))
WHEN C_FOGLALKOZTATASTIPUS = 6466 --Részmunkaidős
THEN CAST(C_RESZMUNKAIDOSZAZALEK AS NVARCHAR(MAX)) + '%'
WHEN C_FOGLALKOZTATASTIPUS = 6467 --Óraadó
THEN
CAST(C_KOTELEZOORASZAM AS NVARCHAR(MAX))
ELSE --betöltetlen álláshely
'-'
END
)
FROM T_MUNKAUGYIADATOK_OSSZES munk
WHERE
munk.TOROLT = 'F'
AND munk.C_ALKALMAZOTTID = @PedagogusId
END
RETURN @value
END;

View File

@@ -0,0 +1,138 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('sp_GetElfogadottTantargyfelosztasok') IS NOT NULL
BEGIN
DROP PROCEDURE sp_GetElfogadottTantargyfelosztasok
END
GO
CREATE PROCEDURE sp_GetElfogadottTantargyfelosztasok
@tanevId INT,
@intezmenyId INT,
@isElfogadott BIT,
@isKlebersberg BIT
AS
BEGIN
SET NOCOUNT ON;
--Fejléc
SELECT
intezmenyAdatok.C_NEV IntezmenyNeve
,tanev.C_NEV Tanev
,intezmenyAdatok.C_ENGEDELYEZETTALLASHELYEK EngedelyezettAllashelyek
,ISNULL('Hatályos: <b>' + FORMAT(intezmenyAdatSzolgaltatas.C_ELFOGADOTTTTFDATUMA, 'yyyy.MM.dd.') +'</b> napjától','') ElfogadasDatuma
FROM T_INTEZMENYADATOK_OSSZES intezmenyAdatok
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = intezmenyAdatok.C_TANEVID
INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON
intezmenyAdatSzolgaltatas.C_INTEZMENYID = intezmenyAdatok.C_INTEZMENYID
AND intezmenyAdatSzolgaltatas.C_TANEVID = tanev.ID
WHERE
intezmenyAdatok.C_TANEVID = @tanevId
IF @isElfogadott = 0
BEGIN
--Pedagógusok
SELECT
foglalkozasokTanarok.C_TANAROKID PedagogusId
,felhasznalo.C_NYOMTATASINEV PedagogusNev
,munkakor.C_NAME Munkakor
,kepesites.C_NAME Kepesites
,dbo.fnGetDokumentumPedagogusOraszam(foglalkozasokTanarok.C_TANAROKID, @isKlebersberg) KotelezoOraszam
,munkaugyiAdatok.C_MUNKAIDOKEDVEZMENYORASZAM MunkaidoKedvezmenyOraszam
,munkaidoKedvezmenyOka.C_NAME MunkaidoKedvezmenyOka
,SUM(foglalkozas.C_ORASZAM) HetiOraszam
,ISNULL(munkaugyiAdatok.C_MUNKAIDOKEDVEZMENYORASZAM, 0) + SUM(foglalkozas.C_ORASZAM) LekotottOraszam
FROM T_FOGLALKOZASOK_TANAROK foglalkozasokTanarok
INNER JOIN T_MUNKAUGYIADATOK_OSSZES munkaugyiAdatok ON munkaugyiAdatok.C_ALKALMAZOTTID = foglalkozasokTanarok.C_TANAROKID
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = foglalkozasokTanarok.C_TANAROKID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES munkakor ON munkakor.ID = munkaugyiAdatok.C_MUNKAKORTIPUSA AND munkaugyiAdatok.C_TANEVID = munkakor.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES kepesites ON kepesites.ID = munkaugyiAdatok.C_BESOROLASIFOKOZAT AND munkaugyiAdatok.C_TANEVID = kepesites.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES munkaidoKedvezmenyOka ON munkaidoKedvezmenyOka.ID = munkaugyiAdatok.C_MUNKAIDOKEDVEZMENYOKA AND munkaugyiAdatok.C_TANEVID = munkaidoKedvezmenyOka.C_TANEVID
INNER JOIN T_FOGLALKOZAS_OSSZES foglalkozas ON foglalkozas.ID = foglalkozasokTanarok.C_FOGLALKOZASOKID AND foglalkozas.TOROLT = 'F'
INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON intezmenyAdatSzolgaltatas.C_TANEVID = foglalkozas.C_TANEVID AND intezmenyAdatSzolgaltatas.TOROLT = 'F'
WHERE
foglalkozas.C_TANEVID = @tanevId
AND munkaugyiAdatok.TOROLT = 'F'
GROUP BY C_TANAROKID, C_NYOMTATASINEV, munkakor.C_NAME, kepesites.C_NAME, C_KOTELEZOORASZAM, C_MUNKAIDOKEDVEZMENYORASZAM, munkaidoKedvezmenyOka.C_NAME
ORDER BY felhasznalo.C_NYOMTATASINEV
--Osztályok / csoportok
SELECT
ocs.C_NEV OsztalyCsoport
,SUM(C_ORASZAM) Osszesoraszam
FROM T_FOGLALKOZAS_OSSZES foglalkozas
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = foglalkozas.C_OSZTALYCSOPORTID
INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON intezmenyAdatSzolgaltatas.C_TANEVID = foglalkozas.C_TANEVID AND intezmenyAdatSzolgaltatas.TOROLT = 'F'
WHERE
foglalkozas.TOROLT = 'F'
AND foglalkozas.C_TANEVID = @tanevId
GROUP BY ocs.C_NEV
--Tantárgyfelosztás
SELECT
felhasznalo.C_NYOMTATASINEV PedagogusNeve
,osztalyCsoport.C_NEV OsztalyCsoport
,tantargy.C_NEV Tantargy
,foglalkozas.C_ORASZAM Oraszam
FROM T_FOGLALKOZAS_OSSZES foglalkozas
INNER JOIN T_FOGLALKOZASOK_TANAROK foglalkozasokTanarok ON foglalkozas.ID = foglalkozasokTanarok.C_FOGLALKOZASOKID
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = foglalkozasokTanarok.C_TANAROKID
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = foglalkozas.C_TANTARGYID
INNER JOIN T_INTEZMENYADATSZOLGALTATAS_OSSZES intezmenyAdatSzolgaltatas ON intezmenyAdatSzolgaltatas.C_TANEVID = foglalkozas.C_TANEVID AND intezmenyAdatSzolgaltatas.TOROLT = 'F'
WHERE
foglalkozas.C_TANEVID = @tanevId
AND foglalkozas.TOROLT = 'F'
ORDER BY felhasznalo.C_NYOMTATASINEV
END
ELSE
BEGIN
--Pedagógusok
SELECT
C_TANARNEVE PedagogusNev
,C_TANARMUNKAKORE Munkakor
,C_TANARPEDAGOGIAIKEPESITESE Kepesites
,C_TANARKOTELEZOORASZAMA KotelezoOraszam
,C_TANARMUNKAIDOKEDVEZMENYE MunkaidoKedvezmenyOraszam
,C_TANARMUNKAIDOKEDVEZMENYOKA MunkaidoKedvezmenyOka
,SUM(C_ORASZAM) HetiOraszam
,ISNULL(C_TANARMUNKAIDOKEDVEZMENYE, 0) + SUM(C_ORASZAM) LekotottOraszam
FROM T_FOGLALKOZASARCHIV_OSSZES
WHERE
C_TANEVID = @tanevId
AND C_INTEZMENYID = @intezmenyId
AND TOROLT = 'F'
GROUP BY C_TANARNEVE, C_TANARMUNKAKORE, C_TANARPEDAGOGIAIKEPESITESE, C_TANARKOTELEZOORASZAMA, C_TANARMUNKAIDOKEDVEZMENYE, C_TANARMUNKAIDOKEDVEZMENYOKA
ORDER BY C_TANARNEVE
--Osztályok / csoportok
SELECT
C_OSZTALYCSOPORTNEVE OsztalyCsoport
,SUM(C_ORASZAM) OsszesOraszam
FROM T_FOGLALKOZASARCHIV_OSSZES
WHERE
TOROLT = 'F'
AND C_TANEVID = @tanevId
AND C_INTEZMENYID = @intezmenyId
GROUP BY C_OSZTALYCSOPORTNEVE
--Tantárgyfelosztás
SELECT
C_TANARNEVE PedagogusNeve
,C_OSZTALYCSOPORTNEVE OsztalyCsoport
,C_TANTARGYNEVE Tantargy
,C_ORASZAM Oraszam
FROM T_FOGLALKOZASARCHIV_OSSZES
WHERE
TOROLT = 'F'
AND C_TANEVID = @tanevId
AND C_INTEZMENYID = @intezmenyId
ORDER BY C_TANARNEVE
END
END
GO