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,75 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('fnGetIktatottDokumentumok') IS NOT NULL
BEGIN
DROP FUNCTION fnGetIktatottDokumentumok
END
GO
CREATE FUNCTION [dbo].[fnGetIktatottDokumentumok](
@pTanevId INT
,@pIntezmenyId INT
)
RETURNS @Result TABLE (
ID INT NOT NULL
,Kategoria INT NOT NULL
,DokumentumTipus INT NOT NULL
,DokumentumNeve NVARCHAR(MAX) NOT NULL
,FeladatellatasihelyId INT NULL
,FeladatellatasihelyNeve NVARCHAR(MAX) NULL
,Iktatoszam NVARCHAR(MAX) NULL
,IktatasDatuma DATETIME NULL
,IktatoSzemelye NVARCHAR(MAX) NOT NULL
,Statusz INT NOT NULL
,TanevNev NVARCHAR(MAX) NOT NULL
,ElektronikusPeldanyId INT NULL
,FoszamosDokumentumId INT NULL
) AS
BEGIN
INSERT INTO @Result (ID, Kategoria, DokumentumTipus, DokumentumNeve, FeladatellatasihelyId, FeladatellatasihelyNeve, Iktatoszam,
IktatasDatuma, IktatoSzemelye, Statusz, TanevNev, ElektronikusPeldanyId, FoszamosDokumentumId)
SELECT
iktd.ID,
iktd.C_DOKUMENTUMKATEGORIA Kategoria,
iktd.C_DOKUMENTUMTIPUS DokumentumTipus,
iktd.C_DOKUMENTUMNEVE DokumentumNeve,
iktd.C_FELADATELLATASIHELYID FeladatellatasihelyId,
CASE
-- Ahol m<>k<EFBFBD>d<EFBFBD>si hely van megadva feladatell<6C>t<EFBFBD>si helynek
WHEN iktd.C_DOKUMENTUMTIPUS IN (7430) THEN
IIF (iktd.C_FELADATELLATASIHELYID IS NULL, '', CONCAT(igaziMukodHely.C_NEV, ' - ', DIBM.C_NAME))
-- feladatell<6C>t<EFBFBD>si hely van megadva
ELSE
IIF (iktd.C_FELADATELLATASIHELYID is NULL, '', CONCAT(mukodHely.C_NEV, ' - ', DIB.C_NAME))
END AS FeladatellatasihelyNeve,
iktd.C_IKTATOSZAM Iktatoszam,
CASE iktd.C_DOKUMENTUMSTATUSZ
WHEN 7387 THEN iktd.C_GENERALASDATUMA
WHEN 7388 THEN iktd.C_IKTATASDATUMA
ELSE iktd.C_ELEKTRONIKUSPELDANYFELTOLTES
END IktatasDatuma,
felhasznalo.C_NYOMTATASINEV IktatoSzemelye,
iktd.C_DOKUMENTUMSTATUSZ Statusz,
tanev.C_NEV TanevNev,
iktd.C_ELEKTRONIKUSPELDANYID ElektronikusPeldanyId,
iktd.C_FOSZAMOSIKTATOTTDOKUMENTUMID FoszamosDokumentumId
FROM T_IKTATOTTDOKUMENTUM iktd
LEFT JOIN T_TANEV_OSSZES tanev ON tanev.ID = iktd.C_TANEVID and tanev.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = iktd.C_IKTATOSZEMELYID and felhasznalo.TOROLT = 'F'
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = iktd.C_FELADATELLATASIHELYID and feh.TOROLT = 'F' and feh.C_TANEVID = iktd.C_TANEVID
LEFT JOIN T_MUKODESIHELY_OSSZES mukodHely ON feh.C_MUKODESIHELYID = mukodHely.ID and mukodHely.TOROLT = 'F'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DIB ON feh.C_OKTATASINEVELESIFELADATTIPUS = DIB.ID
AND feh.C_INTEZMENYID = DIB.C_INTEZMENYID
AND feh.C_TANEVID = DIB.C_TANEVID
LEFT JOIN T_MUKODESIHELY_OSSZES igaziMukodHely ON iktd.C_FELADATELLATASIHELYID = igaziMukodHely.ID and igaziMukodHely.TOROLT = 'F'
LEFT JOIN T_FELADATELLATASIHELY_OSSZES igaziFeh ON igaziFeh.C_MUKODESIHELYID = igaziMukodHely.ID and igaziFeh.TOROLT = 'F' and igaziFeh.C_TANEVID = iktd.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DIBM ON igaziFeh.C_OKTATASINEVELESIFELADATTIPUS = DIBM.ID
AND igaziFeh.C_INTEZMENYID = DIBM.C_INTEZMENYID
AND igaziFeh.C_TANEVID = DIBm.C_TANEVID
WHERE iktd.TOROLT = 'F' AND iktd.C_TANEVID = @pTanevId AND iktd.C_INTEZMENYID = @pIntezmenyId
RETURN
END
GO

View File

@@ -0,0 +1,124 @@
DROP PROCEDURE IF EXISTS sp_GetNemNaplozottOrarendiOrak
GO
CREATE PROCEDURE sp_GetNemNaplozottOrarendiOrak
@IntezmenyId int
,@TanevId int
,@IdoszakKezdete datetime
,@IdoszakVege datetime
,@TanarId int = NULL
,@OsztalyCsoportId int = NULL
,@TantargyId int = NULL
AS
BEGIN
SET NOCOUNT ON;
SET DATEFIRST 1
DECLARE @CsakOrarendiOrak bit = 0;
DECLARE @OrarendTable TABLE (
Id int
,ORARENDIID INT
,Datum datetime
,Bontott char(1)
,Hetirend int
,HetNapja int
,HetSorszam int
,ErvenyessegKezdete datetime
,ErvenyessegVege datetime
,OraKezdete datetime
,OraVege datetime
,Oraszam int
,TargyNev nvarchar(300)
,TargyNevForMobile nvarchar(300)
,TargykategoriaID int
,Megtartott char(1)
,CsengetesiRendOraID int
,CsengetesiRendID int
,MaxNapiOraszam int
,OsztalyNev nvarchar(255)
,TanevRendOsztalyCsoportId int
,MegjelenesOka nvarchar(300)
,TanarNev nvarchar(255)
,TeremNev nvarchar(255)
,TeremId int
,OraTipus nvarchar(200)
,Hianyzas char(1)
,Keses char(1)
,Ures char(1)
,HelyettesitoTanarID int
,HelyettesitoTanarNev nvarchar(255)
,HelyettesitesId int
,TanarID int
,AdminAltalKiirt char(1)
,GroupId int
,Tema nvarchar(max)
,TantargyId int
,OsztCsopId int
)
INSERT INTO @OrarendTable (
Id,ORARENDIID,Datum,Bontott,Hetirend,HetNapja,HetSorszam,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,Oraszam,
TargyNev,TargyNevForMobile,TargykategoriaID,Megtartott,CsengetesiRendOraID,CsengetesiRendID,MaxNapiOraszam,OsztalyNev,TanevRendOsztalyCsoportId,
MegjelenesOka,TanarNev,TeremNev,TeremId,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,HelyettesitesId,TanarID,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId)
EXEC sp_GetOrarend
@pIntezmenyId = @IntezmenyId
,@pTanevId = @TanevId
,@pIdoszakKezdete = @IdoszakKezdete
,@pIdoszakVege = @IdoszakVege
,@pTanarId = @TanarId
,@pIsHelyettesitesNelkul = 0
,@pOsztalyCsoportId = @OsztalyCsoportId
,@pTanuloId = NULL
,@pTantargyId = @TantargyId
,@pTeremId = NULL
,@pCsakOrarendiOrak = @CsakOrarendiOrak
,@pIsNapirend = NULL
SELECT DISTINCT
Id, ORARENDIID, Bontott, Hetirend, HetNapja,HetSorszam, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, CONVERT(date, OraKezdete) as OraKezdeteDate, CONVERT(varchar(5), OraKezdete, 108) as OraKezdeteTimeText, OraVege, IIF(tmp.CsengetesiRendID IS NOT NULL, tmp.Oraszam, NULL) as Oraszam,
TargyNev, TargyNevForMobile,
TargykategoriaID, Megtartott, CsengetesiRendOraID, CsengetesiRendID,MaxNapiOraszam, OsztalyNev, MegjelenesOka, TanarNev, TeremNev,
OraTipus, Hianyzas, Keses, Ures, HelyettesitoTanarID, HelyettesitoTanarNev, HelyettesitesId, TanarID, AdminAltalKiirt, GroupId, Tema, TantargyId,
OsztCsopId, IIF(tmp.HelyettesitoTanarID IS NOT NULL, tmp.TanarNev, NULL) as HelyettesitettPedagogusNev, CONVERT(nvarchar(25), OraKezdete, 102) as OraKezdeteDateST,
DATEPART(w, OraKezdete) + 1407 AS HetNapjaValos
FROM @OrarendTable tmp
WHERE tmp.OraTipus = 'OrarendiOra' AND OraKezdete <= @IdoszakVege AND OraVege >= @IdoszakKezdete
-- Iktatás adatok
SELECT
@OsztalyCsoportId AS OsztalyId,
ocs.C_EVFOLYAMTIPUSA AS Evfolyam,
ocs.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId,
o.C_KEPZESIFORMA AS KepzesiForma,
o.C_OSZTALYFONOKID AS OsztalyFonokId,
o.C_TANTERVID AS TantervId,
o.C_SZAKMACSOPORT AS SzakmaCsoport,
o.C_AGAZAT AS Agazat,
o.C_SZAKKEPESITES AS Szakkepesites,
o.C_RESZSZAKKEPESITES AS Reszszakkepesites,
ocs.C_KERESZTFELEVES AS OJCSJKeresztfeleves,
o.C_TECHNIKAIOSZTALY AS OJTechnikaiOsztaly,
o.C_NEMZETISEGI AS OJNemzetisegi,
o.C_KETTANNYELVU AS OJKettannyelvu,
o.C_NYELVIELOKESZITO AS OJNyelviElokeszito,
o.C_LOGOPEDIAI AS OJLogopediai,
o.C_SPORT AS OJSportOsztaly,
o.C_AJPROGRAM AS OJAranyJanosProgram,
o.C_GYOGYPEDAGOGIAI AS OJGyogypedagogiai
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID
WHERE ocs.ID = @OsztalyCsoportId AND ocs.TOROLT = 'F'
AND ocs.C_TANEVID = @TanevId;
-- Tanár iktatás adatok
SELECT DISTINCT
f.ID AS TanarId
,f.C_OKTATASIAZONOSITO TanarOktAzon
FROM T_ALKALMAZOTT_OSSZES a
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = a.ID
LEFT JOIN @OrarendTable ot ON ot.TanarID = f.ID
WHERE f.C_INTEZMENYID = @IntezmenyId AND f.C_TANEVID = @TanevId
AND (@TanarId IS NULL OR f.ID = @TanarId)
END
GO

View File

@@ -0,0 +1,68 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS sp_GetOsztalyokEvesOraszama
GO
CREATE PROCEDURE sp_GetOsztalyokEvesOraszama
@tanevID int,
@tanitasiHetekSzamaVegzos INT = 32,
@tanitasiHetekSzamaNemVegzos INT = 36,
@isAltantargyBeszamitasa BIT
AS
BEGIN
declare @osztalyok TABLE (
OsztalyId INT
,OsztalyNev NVARCHAR(255)
)
INSERT INTO @osztalyok SELECT * FROM fnGetDokumentumOsztalyokTanevenkent(@tanevID) ORDER BY OsztalyId ASC
SELECT * FROM @osztalyok
DECLARE kurzor CURSOR FOR
SELECT OsztalyId, OsztalyNev FROM @osztalyok
LEFT JOIN (
SELECT
COUNT(T_TANULOCSOPORT_OSSZES.C_TANULOID) tanuloCount,
T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID
FROM
T_TANULOCSOPORT_OSSZES
INNER JOIN
T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
WHERE
T_TANULOCSOPORT_OSSZES.TOROLT = 'F' AND
T_TANULOCSOPORT_OSSZES.C_TANEVID = @tanevID
GROUP BY T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID
) tanuloSzam ON tanuloSzam.C_OSZTALYCSOPORTID = OsztalyId
WHERE
tanuloCount > 0
ORDER BY OsztalyId
DECLARE @OsztalyId int, @OsztalyNev nvarchar(255)
OPEN kurzor
FETCH NEXT FROM kurzor INTO @OsztalyId, @OsztalyNev
WHILE @@FETCH_STATUS = 0 BEGIN
SELECT DISTINCT
tanulo.C_NYOMTATASINEV TanuloNev
,tantargy.C_NEV TantargyNev
,oraszamok.Oraszam EvesOraszam
,@OsztalyNev AS OsztalyNev
,@OsztalyId AS OsztalyId
FROM fnGetDokumentumTanulokEvesOraszamaiOsztalyonkent(@tanevID, @OsztalyId, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos, @isAltantargyBeszamitasa) oraszamok
INNER JOIN T_FELHASZNALO_OSSZES tanulo ON tanulo.ID = oraszamok.TanuloId
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.ID = oraszamok.TantargyID
FETCH NEXT FROM kurzor INTO @OsztalyId, @OsztalyNev
END
CLOSE kurzor
DEALLOCATE kurzor
END
GO

View File

@@ -0,0 +1,45 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS [dbo].[sp_GetTanevKozbenKilepettTanulok]
GO
-- =============================================
-- Author: Rudlof Kristóf
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetTanevKozbenKilepettTanulok]
@tanevID int
AS
BEGIN
SELECT
c_nev OsztalyNev
FROM T_OSZTALY_OSSZES o
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID=o.ID AND ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
WHERE o.TOROLT='F' AND o.C_ALTANEVID=@tanevId
SELECT ocs.C_NEV COLUMN379
, f.C_NYOMTATASINEV COLUMN20
, FORMAT(tcs.C_BELEPESDATUM, 'yyyy.MM.dd.') COLUMN3784
, FORMAT(tcs.C_KILEPESDATUM, 'yyyy.MM.dd.') COLUMN1
,tcs.C_ZARADEK COLUMN1557
,o.ID AS OsztalyId
,f.C_OKTATASIAZONOSITO AS TanuloOktAzon
,f.ID AS TanuloId
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_OSZTALY_OSSZES o on tcs.C_OSZTALYCSOPORTID=o.ID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on o.ID=ocs.ID
INNER JOIN T_FELHASZNALO_OSSZES f on f.ID=tcs.C_TANULOID
WHERE
tcs.C_KILEPESDATUM IS NOT NULL
and tcs.C_TANEVID=@tanevId
and tcs.TOROLT='F'
ORDER BY f.C_NYOMTATASINEV
END
GO

View File

@@ -0,0 +1,70 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('uspGetIktatottDokumentumKulcsszavak') IS NOT NULL
BEGIN
DROP PROCEDURE uspGetIktatottDokumentumKulcsszavak
END
GO
CREATE PROCEDURE dbo.uspGetIktatottDokumentumKulcsszavak
@pIntezmenyId INT,
@pTanevId INT,
@pIktatottDokumentumId INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @dokumentumTipus int = (SELECT C_DOKUMENTUMTIPUS FROM T_IKTATOTTDOKUMENTUM_OSSZES WHERE ID = @pIktatottDokumentumId)
SELECT
ksz.C_DOKUMENTUMKULCSSZOTIPUS tipus, ertek =
CASE
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7399 THEN (SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = ksze.C_ERTEK)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7400 THEN (SELECT dti.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dti WHERE id = ksze.C_ERTEK AND dti.C_INTEZMENYID=@pIntezmenyId AND dti.C_TANEVID=@pTanevId)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7401 THEN
CASE
-- Ahol m<>k<EFBFBD>d<EFBFBD>si hely van megadva feladatell<6C>t<EFBFBD>si helynek
WHEN @dokumentumTipus IN (7430) THEN
(SELECT C_NEV FROM T_MUKODESIHELY_OSSZES mh
WHERE mh.C_INTEZMENYID=@pIntezmenyId AND mh.C_TANEVID=@pTanevId AND mh.ID = ksze.C_ERTEK
)
-- feladatell<6C>t<EFBFBD>si hely van megadva
ELSE
(SELECT C_NEV FROM T_MUKODESIHELY_OSSZES mh
INNER JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.C_MUKODESIHELYID = mh.ID
WHERE mh.C_INTEZMENYID=@pIntezmenyId AND mh.C_TANEVID=@pTanevId AND feh.ID = ksze.C_ERTEK
)
END
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7402 THEN (SELECT dti.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dti WHERE id = ksze.C_ERTEK AND dti.C_INTEZMENYID=@pIntezmenyId AND dti.C_TANEVID=@pTanevId)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7403 THEN (SELECT C_NYOMTATASINEV FROM T_FELHASZNALO WHERE ID = ksze.C_ERTEK)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7404 THEN (SELECT C_NEV FROM T_TANTERV_OSSZES WHERE ID = ksze.C_ERTEK)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7405 THEN ksze.C_ERTEK
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7406 THEN (SELECT dti.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dti WHERE id = ksze.C_ERTEK AND dti.C_INTEZMENYID=@pIntezmenyId AND dti.C_TANEVID=@pTanevId)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7407 THEN (SELECT dti.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dti WHERE id = ksze.C_ERTEK AND dti.C_INTEZMENYID=@pIntezmenyId AND dti.C_TANEVID=@pTanevId)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7408 THEN (SELECT dti.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dti WHERE id = ksze.C_ERTEK AND dti.C_INTEZMENYID=@pIntezmenyId AND dti.C_TANEVID=@pTanevId)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7409 THEN (SELECT dti.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dti WHERE id = ksze.C_ERTEK AND dti.C_INTEZMENYID=@pIntezmenyId AND dti.C_TANEVID=@pTanevId)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7410 THEN (SELECT C_NEV FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = ksze.C_ERTEK)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7411 THEN (SELECT dti.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dti WHERE id = ksze.C_ERTEK AND dti.C_INTEZMENYID=@pIntezmenyId AND dti.C_TANEVID=@pTanevId)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7412 THEN (SELECT C_NYOMTATASINEV FROM T_FELHASZNALO_OSSZES WHERE ID = ksze.C_ERTEK)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7413 THEN ksze.C_ERTEK
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7414 THEN ksze.C_ERTEK
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7415 THEN (SELECT C_NYOMTATASINEV FROM T_FELHASZNALO_OSSZES WHERE ID = ksze.C_ERTEK)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7416 THEN ksze.C_ERTEK
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7417 THEN ksze.C_ERTEK
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7418 THEN ksze.C_ERTEK
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7419 THEN (SELECT dti.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dti WHERE id = ksze.C_ERTEK AND dti.C_INTEZMENYID=@pIntezmenyId AND dti.C_TANEVID=@pTanevId)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7420 THEN (SELECT C_NYOMTATASINEV FROM T_FELHASZNALO_OSSZES WHERE ID = ksze.C_ERTEK)
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7561 THEN ksze.C_ERTEK
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7562 THEN ksze.C_ERTEK
WHEN ksz.C_DOKUMENTUMKULCSSZOTIPUS = 7674 THEN (SELECT C_NEV FROM T_TEREM_OSSZES WHERE ID = ksze.C_ERTEK)
ELSE CONCAT('*', ksze.C_ERTEK)
END
FROM T_DOKUMENTUMKULCSSZO_OSSZES ksz
INNER JOIN T_DOKUMENTUMKULCSSZOERTEK_OSSZES ksze ON ksz.C_DOKUMENTUMKULCSSZOERTEKID = ksze.ID
WHERE ksz.C_IKTATOTTDOKUMENTUMID = @pIktatottDokumentumId
END
GO

View File

@@ -0,0 +1,240 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS uspGetNyomtatvanyokOrarendOsszes
GO
CREATE PROCEDURE uspGetNyomtatvanyokOrarendOsszes
@intezmenyId int
,@tanevID int
,@pIdoszakKezdete datetime
,@pIdoszakVege datetime
,@pTanarId int = NULL
,@pIsHelyettesitesNelkul bit = 0
,@pOsztalyCsoportId int = NULL
,@pTanuloId int = NULL
,@pTantargyId int = NULL
,@pTeremId int = NULL
,@pCsakOrarendiOrak bit = 0
,@pIsNapirend bit /*0 csak orarendi ora, 1 csak napirend, NULL mindkett?*/
,@pKapcsolodoCsoportokMegjelenitese bit = NULL
,@pOsztalyBontasokMegjelenitese bit = NULL
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE #OrarendTable (
Id int
,ORARENDIID int
,Datum datetime
,Bontott char(1)
,Hetirend int
,HetNapja int
,HetSorszam int
,ErvenyessegKezdete datetime
,ErvenyessegVege datetime
,OraKezdete datetime
,OraVege datetime
,Oraszam int
,TargyNev nvarchar(300)
,TargyNevForMobile nvarchar(300)
,TargykategoriaID int
,Megtartott char(1)
,CsengetesiRendOraID int
,CsengetesiRendID int
,MaxNapiOraszam int
,OsztalyNev nvarchar(255)
,TanevRendOsztalyCsoportId int
,MegjelenesOka nvarchar(300)
,TanarNev nvarchar(255)
,TeremNev nvarchar(255)
,TeremId int
,OraTipus nvarchar(200)
,Hianyzas char(1)
,Keses char(1)
,Ures char(1)
,HelyettesitoTanarID int
,HelyettesitoTanarNev nvarchar(255)
,HelyettesitesId int
,TanarID int
,AdminAltalKiirt char(1)
,GroupId int
,Tema nvarchar(max)
,TantargyId int
,OsztCsopId int
);
INSERT INTO #OrarendTable
EXEC sp_GetOrarend
@pIntezmenyId = @intezmenyId
,@pTanevId = @tanevID
,@pIdoszakKezdete = @pIdoszakKezdete
,@pIdoszakVege = @pIdoszakVege
,@pTanarId = @pTanarId
,@pIsHelyettesitesNelkul = @pIsHelyettesitesNelkul
,@pOsztalyCsoportId = @pOsztalyCsoportId
,@pTanuloId = @pTanuloId
,@pTantargyId = @pTantargyId
,@pTeremId = @pTeremId
,@pCsakOrarendiOrak = @pCsakOrarendiOrak
,@pIsNapirend = @pIsNapirend
-- a lek<65>rt <20>rarendben a minden h<>ten <20>r<EFBFBD>kat <20>t<EFBFBD>ll<6C>tjuk a h<>tsotsz<73>mnak megfelel<65> hetirendre
UPDATE o
SET o.Hetirend = ISNULL(hr.Hetirend, o.Hetirend)
FROM #OrarendTable o
LEFT JOIN
(
SELECT DISTINCT Hetirend, HetSorszam FROM #OrarendTable WHERE Hetirend <> 1554
) hr ON hr.HetSorszam = o.HetSorszam
WHERE
o.Hetirend = 1554
-- kapcsol<6F>d<EFBFBD> csoportok <20>r<EFBFBD>inak t<>rl<72>se
IF @pKapcsolodoCsoportokMegjelenitese IS NOT NULL AND @pKapcsolodoCsoportokMegjelenitese = 0
BEGIN
DELETE o FROM #OrarendTable o
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = o.OsztCsopId AND cs.C_OSZTALYBONTASID IS NULL
WHERE OsztCsopId != @pOsztalyCsoportId
END
-- oszt<7A>lybontott csoportok <20>r<EFBFBD>inak t<>rl<72>se
IF @pOsztalyBontasokMegjelenitese IS NOT NULL AND @pOsztalyBontasokMegjelenitese = 0
BEGIN
DELETE o FROM #OrarendTable o
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = o.OsztCsopId AND cs.C_OSZTALYBONTASID IS NOT NULL
WHERE OsztCsopId != @pOsztalyCsoportId
END
declare @intezmenyNev NVARCHAR(510) = (SELECT C_NEV FROM T_INTEZMENYADATOK_OSSZES WHERE C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevID and TOROLT = 'F')
CREATE TABLE #Oraszamok (Oraszam int, PRIMARY KEY(Oraszam))
INSERT INTO #Oraszamok
SELECT DISTINCT
C_ORASZAM
FROM T_ORARENDIORA_OSSZES
WHERE C_INTEZMENYID = @intezmenyId
AND C_TANEVID = @tanevID
AND C_ORASZAM IS NOT NULL
SELECT DISTINCT
COALESCE(@pTanarId, @pTeremId, @pOsztalyCsoportId) as Id
,STUFF((SELECT DISTINCT
', ' + IIF(@pTanarId IS NOT NULL, bo.TanarNev, IIF(@pTeremId IS NOT NULL, bo.TeremNev, IIF(@pOsztalyCsoportId IS NOT NULL, bo.OsztalyNev,'')))
FROM #OrarendTable bo
WHERE bo.Hetirend = o.Hetirend
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,2,'') as Nev
,@intezmenyNev as IntezmenyNev
,STUFF((
SELECT DISTINCT ', ' + dic.C_NAME
FROM #OrarendTable qw
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dic ON dic.C_TANEVID = @tanevID and dic.TOROLT = 'F' and dic.ID = qw.Hetirend
WHERE o.Hetirend = qw.Hetirend
FOR XML PATH(''),TYPE).value('(./text())[1]','VARCHAR(MAX)'), 1, 2, '') AS Hetirend
FROM #OrarendTable o
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dic on o.Hetirend = dic.ID and dic.C_TANEVID = @tanevID
SELECT
COALESCE(@pTanarId, @pTeremId, @pOsztalyCsoportId) as Id
,IIF(@pIsNapirend = 0, CAST(t.Oraszam as NVARCHAR(3)), ISNULL(t.OraKezdete + ' - ' + t.OraVege, '')) as Ora
,t.Hetirend as HetirendId
,[1408] AS Hetfo
,[1409] AS Kedd
,[1410] AS Szerda
,[1411] AS Csutortok
,[1412] AS Pentek
,[1413] AS Szombat
,t.HetirendNev as HetirendNev
FROM ( SELECT *
FROM
( SELECT
STUFF(( SELECT
CONVERT(NVARCHAR(MAX),bo.TargyNev + NCHAR(13) + NCHAR(10) + bo.OsztalyNev + NCHAR(13) + NCHAR(10) + bo.TeremNev + NCHAR(10) + NCHAR(10))
FROM #OrarendTable bo
WHERE bo.OraKezdete = o.OraKezdete
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,0,'') as TargyNev
,HetNapja
,Oraszam
,CONVERT(CHAR(5), OraKezdete, 108) OraKezdete
,CONVERT(CHAR(5), OraVege, 108) OraVege
,dic.C_NAME AS HetirendNev
,Hetirend AS Hetirend
FROM #OrarendTable o
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dic ON dic.C_TANEVID = @tanevID and dic.TOROLT = 'F' and dic.ID = o.Hetirend
) as ot
PIVOT (MAX(ot.TargyNev) FOR ot.HetNapja in([1408],[1409],[1410],[1411],[1412],[1413])) as pv
) as t
ORDER BY HetirendNev,
CASE WHEN @pIsNapirend = 0 then t.Oraszam else CAST(t.OraKezdete AS DATETIME) END
-- Iktat<61>si adatok
IF @pOsztalyCsoportId IS NOT NULL BEGIN
-- Oszt<7A>ly adatok
SELECT
@pOsztalyCsoportId OsztalyId
,o.C_OSZTALYFONOKID OsztalyfonokId
,ocs.C_EVFOLYAMTIPUSA EvfolyamTipusa
,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId
,o.C_TANTERVID TantervId
,o.C_KEPZESIFORMA KepzesiForma
,o.C_AGAZAT Agazat
,o.C_SZAKMACSOPORT SzakmaCsoport
,o.C_SZAKKEPESITES Szakkepesites
,o.C_RESZSZAKKEPESITES Reszszakkepesites
,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves
,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu
,o.C_TECHNIKAIOSZTALY OJTechnikaiOsztaly
,o.C_NEMZETISEGI OJNemzetisegi
,o.C_KETTANNYELVU OJKettannyelvu
,o.C_NYELVIELOKESZITO OJNyelviElokeszito
,o.C_LOGOPEDIAI OJLogopediai
,o.C_SPORT OJSportOsztaly
,o.C_AJPROGRAM OJAranyJanosProgram
,o.C_GYOGYPEDAGOGIAI OJGyogypedagogiai
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt='F'
WHERE ocs.ID = @pOsztalyCsoportId
-- Oszt<7A>ly csoportok
SELECT DISTINCT
ot.OsztCsopId AS CsoportId
FROM #OrarendTable ot
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = ot.OsztCsopId
-- Alkalmazottak
SELECT DISTINCT
ot.TanarID AS TanarId
,f.C_OKTATASIAZONOSITO AS TanarOktAzon
FROM #OrarendTable ot
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = ot.TanarID
-- Tanul<75>k
SELECT DISTINCT
f.ID AS TanuloId
,f.C_NYOMTATASINEV AS TanuloNeve
,f.C_OKTATASIAZONOSITO AS TanuloOktAzon
FROM #OrarendTable ot
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ot.OsztCsopId and tcs.C_TANEVID = @tanevID
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID
END
ELSE IF @pTanarId IS NOT NULL BEGIN
-- Alkalmazottak
SELECT DISTINCT
ot.TanarID AS TanarId
,f.C_OKTATASIAZONOSITO AS TanarOktAzon
,mua.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
FROM #OrarendTable ot
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = ot.TanarID
INNER JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = ot.TanarID
END
ELSE IF @pTeremId IS NOT NULL BEGIN
SELECT
t.ID AS TeremId,
t.C_MUKODESIHELYID AS FeladatEllatasiHelyId
FROM T_TEREM_OSSZES AS t
WHERE ID = @pTeremId
END
END
GO

View File

@@ -0,0 +1,128 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DROP PROCEDURE IF EXISTS dbo.uspIktatottDokumentumLetezik
GO
CREATE PROCEDURE dbo.uspIktatottDokumentumLetezik
@intezmenyId INT,
@tanevId INT = NULL,
@dokumentumKategoria INT,
@dokumentumTipus INT,
@elemiSzint INT,
@osztalyId INT = NULL,
@csoportId INT = NULL,
@tanarId INT = NULL,
@evfolyamId INT = NULL,
@gondviseloNeve NVARCHAR(50) = NULL,
@tanuloNeve NVARCHAR(50) = NULL,
@tanuloEgyediAzon NVARCHAR(15) = NULL,
@alkalmazottEgyediAzon NVARCHAR(15) = NULL,
@teremId INT = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @paramDefinition nvarchar(MAX)
declare @nct int = 0
set @nct = case when @osztalyId IS NOT NULL then 1 else 0 END+
case when @csoportId IS NOT NULL then 1 else 0 END+
case when @tanarId IS NOT NULL then 1 else 0 END+
case when @evfolyamId IS NOT NULL then 1 else 0 END+
case when @gondviseloNeve IS NOT NULL then 1 else 0 END+
case when @tanuloNeve IS NOT NULL then 1 else 0 END+
case when @tanuloEgyediAzon IS NOT NULL then 1 else 0 END+
case when @alkalmazottEgyediAzon IS NOT NULL then 1 else 0 END+
case when @teremId IS NOT NULL then 1 else 0 END
DECLARE @whereCondition NVARCHAR(MAX) = ''
declare @sql NVARCHAR(MAX) = CONCAT(N'SELECT ID FROM (
SELECT kulcsszotipusok.iktdID ID, COUNT(kulcsszotipusok.darab) AS darab FROM (
SELECT iktd.ID iktdID, ', IIF(@nct > 0, 'dksz.C_DOKUMENTUMKULCSSZOTIPUS, ', ''), N'COUNT(iktd.C_INTEZMENYID) AS darab FROM T_IKTATOTTDOKUMENTUM iktd', IIF(@nct > 0, N'
LEFT JOIN T_DOKUMENTUMKULCSSZO_OSSZES dksz ON dksz.C_IKTATOTTDOKUMENTUMID = iktd.ID
LEFT JOIN T_DOKUMENTUMKULCSSZOERTEK_OSSZES dksze ON dksze.ID = dksz.C_DOKUMENTUMKULCSSZOERTEKID', ''), N'
WHERE iktd.TOROLT = ''F''
AND iktd.C_INTEZMENYID = @intezmenyId', IIF(@tanevId IS NOT NULL, N'
AND iktd.C_TANEVID = @tanevId', ''), N'
AND iktd.C_DOKUMENTUMKATEGORIA = @dokumentumKategoria
AND iktd.C_DOKUMENTUMTIPUS = @dokumentumTipus
AND iktd.C_DOKUMENTUMELEMISZINT = @elemiSzint'
)
IF @nct > 0 BEGIN
IF @osztalyId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (',''), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7399 AND dksze.C_ERTEK = CAST(@osztalyId as nvarchar))')
END
IF @csoportId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7410 AND dksze.C_ERTEK = CAST(@csoportId as nvarchar))')
END
IF @tanarId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7415 AND dksze.C_ERTEK = CAST(@tanarId as nvarchar))')
END
IF @evfolyamId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7400 AND dksze.C_ERTEK = CAST(@evfolyamId as nvarchar))')
END
IF @tanuloNeve IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7414 AND LOWER(dksze.C_ERTEK) LIKE ''%'' + @tanuloNeve + ''%'')')
END
IF @gondviseloNeve IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7416 AND LOWER(dksze.C_ERTEK) LIKE ''%'' + @gondviseloNeve + ''%'')')
END
IF @tanuloEgyediAzon IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7561 AND LOWER(dksze.C_ERTEK) LIKE ''%'' + @tanuloEgyediAzon + ''%'')')
END
IF @alkalmazottEgyediAzon IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7562 AND LOWER(dksze.C_ERTEK) LIKE ''%'' + @alkalmazottEgyediAzon + ''%'')')
END
IF @teremId IS NOT NULL BEGIN
SET @whereCondition += CONCAT(IIF(@whereCondition='', N' AND (', N' OR '), N'(dksz.C_DOKUMENTUMKULCSSZOTIPUS = 7674 AND dksze.C_ERTEK = CAST(@teremId as nvarchar))')
END
SET @whereCondition += IIF(@whereCondition != '', ')', '')
SET @sql += @whereCondition
END
SET @sql += CONCAT(N'
GROUP BY iktd.ID', IIF(@nct > 0, N', dksz.C_DOKUMENTUMKULCSSZOTIPUS', ''), N'
) AS kulcsszotipusok
GROUP BY kulcsszotipusok.iktdID
) AS doksik
WHERE doksik.darab = ', IIF(@nct > 0, '@cnt', '1'), ' ORDER BY ID ASC')
SET @paramDefinition = N'@intezmenyId int,
@tanevId int,
@dokumentumKategoria int,
@dokumentumTipus int,
@elemiSzint int,
@osztalyId int,
@csoportId int,
@tanarId int,
@evfolyamId int,
@tanuloNeve nvarchar,
@gondviseloNeve nvarchar,
@tanuloEgyediAzon nvarchar,
@alkalmazottEgyediAzon nvarchar,
@teremId int,
@cnt int
'
EXEC sp_executesql @sql, @paramDefinition,
@intezmenyId = @intezmenyId,
@tanevId = @tanevId,
@dokumentumKategoria = @dokumentumKategoria,
@dokumentumTipus = @dokumentumTipus,
@elemiSzint = @elemiSzint,
@osztalyId = @osztalyId,
@csoportId = @csoportId,
@tanarId = @tanarId,
@evfolyamId = @evfolyamId,
@tanuloNeve = @tanuloNeve,
@gondviseloNeve = @gondviseloNeve,
@tanuloEgyediAzon = @tanuloEgyediAzon,
@alkalmazottEgyediAzon = @alkalmazottEgyediAzon,
@teremId = @teremId,
@cnt = @nct
END
GO