This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions
@@ -0,0 +1,250 @@
DROP PROCEDURE IF EXISTS uspGetNemNaplozottOrarendiOrak_Core
GO
CREATE PROCEDURE uspGetNemNaplozottOrarendiOrak_Core
@IntezmenyId int
,@TanevId int
,@IdoszakKezdete datetime
,@IdoszakVege datetime
,@TanarId int = NULL
,@OsztalyCsoportId int = NULL
,@TantargyId int = NULL
,@CsakAHelyettesiteseim bit = 0
,@HelyettesitettOraimIs bit = 0
,@pFeladatKategoriaId int = NULL
,@pDatum datetime = NULL
,@pOraszam int = NULL
,@pIdopont datetime = NULL
AS BEGIN
SET NOCOUNT ON;
SET DATEFIRST 1;
DECLARE
@CsakOrarendiOrak bit = 0
CREATE TABLE #OrarendiOrak (
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
,IsEgyediNap char(1)
,TeremTobbOratLehetTartani char(1)
,INDEX IX1 CLUSTERED(Datum, HetNapja, Oraszam, TanevRendOsztalyCsoportId, TantargyId, TanarID)
)
INSERT INTO #OrarendiOrak (
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
,IsEgyediNap
,TeremTobbOratLehetTartani
)
EXEC sp_GetOrarend
@pIntezmenyId = @IntezmenyId
,@pTanevId = @TanevId
,@pIdoszakKezdete = @IdoszakKezdete
,@pIdoszakVege = @IdoszakVege
,@pTanarId = @TanarId
,@pIsHelyettesitesNelkul = 0
,@pOsztalyCsoportId = @OsztalyCsoportId
,@pTanuloId = NULL
,@pTantargyId = @TantargyId
,@pTeremId = NULL
,@pCsakOrarendiOrak = 0
,@pIsNapirend = NULL
,@pFeladatKategoriaId = @pFeladatKategoriaId
INSERT INTO #NemNaplozottOrak (
Id
,ORARENDIID
,Bontott
,Hetirend
,HetNapja
,HetSorszam
,ErvenyessegKezdete
,ErvenyessegVege
,OraKezdete
,OraKezdeteDate
,OraKezdeteTimeText
,OraVege
,Oraszam
,TargyNev
,TargyNevForMobile
,TargykategoriaID
,Megtartott
,CsengetesiRendOraID
,CsengetesiRendID
,MaxNapiOraszam
,OsztalyNev
,MegjelenesOka
,TanarNev
,TanarOktAzon
,TeremNev
,OraTipus
,Hianyzas
,Keses
,Ures
,HelyettesitoTanarID
,HelyettesitoTanarNev
,HelyettesitesId
,TanarID
,AdminAltalKiirt
,GroupId
,Tema
,TantargyId
,OsztCsopId
,HelyettesitettPedagogusNev
,OraKezdeteDateST
,HetNapjaValos
,Datum
,HelyettesitoTanarOktAzon
)
SELECT
orak.Id
,orak.ORARENDIID
,orak.Bontott
,orak.Hetirend
,orak.HetNapja
,orak.HetSorszam
,orak.ErvenyessegKezdete
,orak.ErvenyessegVege
,orak.OraKezdete
,CONVERT(date, orak.OraKezdete) AS OraKezdeteDate
,CONVERT(varchar (5), orak.OraKezdete, 108) AS OraKezdeteTimeText
,orak.OraVege
,IIF(orak.CsengetesiRendID IS NOT NULL, orak.Oraszam, NULL) AS Oraszam
,t.C_NEV as TargyNev
,orak.TargyNevForMobile
,orak.TargykategoriaID
,orak.Megtartott
,orak.CsengetesiRendOraID
,orak.CsengetesiRendID
,orak.MaxNapiOraszam
,orak.OsztalyNev
,orak.MegjelenesOka
,orak.TanarNev
,f.C_OKTATASIAZONOSITO TanarOktAzon
,orak.TeremNev
,orak.OraTipus
,orak.Hianyzas
,orak.Keses
,orak.Ures
,orak.HelyettesitoTanarID
,orak.HelyettesitoTanarNev
,orak.HelyettesitesId
,orak.TanarID
,orak.AdminAltalKiirt
,orak.GroupId
,orak.Tema
,orak.TantargyId
,orak.OsztCsopId
,IIF(orak.HelyettesitoTanarID IS NOT NULL, orak.TanarNev, NULL) AS HelyettesitettPedagogusNev
,CONVERT(nvarchar (25), orak.OraKezdete, 102) AS OraKezdeteDateST
,DATEPART(w, orak.OraKezdete) + 1407 AS HetNapjaValos
,orak.Datum
,fh.C_OKTATASIAZONOSITO HelyettesitoTanarOktAzon
FROM #OrarendiOrak orak
INNER JOIN T_FELHASZNALO_OSSZES f ON orak.TanarID = f.ID
AND f.TOROLT ='F'
AND f.C_TANEVID = @TanevId
INNER JOIN T_TANTARGY_OSSZES t on t.ID = orak.TantargyId
AND t.TOROLT ='F'
AND t.C_TANEVID = @TanevId
LEFT JOIN T_FELHASZNALO_OSSZES fh ON orak.HelyettesitoTanarID = fh.ID
AND fh.TOROLT ='F'
AND fh.C_TANEVID = @TanevId
WHERE orak.OraTipus = 'OrarendiOra'
AND orak.OraKezdete <= @IdoszakVege
AND orak.OraVege >= @IdoszakKezdete
-- Admin feluleten nincs checkbox, ha nincs tanarra szurve, akkor hozza le az osszes nem naplozott orat
AND (@TanarId IS NULL OR (
-- ha 0 mindkét paraméter, adja vissza a tanar osszes sajat nem naplozott orajat + azokat ahol ő volt a helyettesito
((@CsakAHelyettesiteseim = 0 AND @HelyettesitettOraimIs = 0 AND (orak.HelyettesitoTanarID = @TanarId OR (orak.TanarID = @TanarId and orak.HelyettesitoTanarID IS NULL)))
-- ha csak a "csak a helyettesiteseim" parameter igaz, adja vissza a tanar azon nem naplozott orait, ahol ő volt a helyettesito
OR (@CsakAHelyettesiteseim = 1 AND @HelyettesitettOraimIs = 0 AND orak.HelyettesitoTanarID = @TanarId)
-- ha csak a "helyettesitett oram is" parameter igaz, adja vissza a tanar sajat nem naplozott orait + azokat ahol ő volt a helyettesito + ahol őt helyettesítették
OR (@CsakAHelyettesiteseim = 0 AND @HelyettesitettOraimIs = 1 AND (orak.HelyettesitoTanarID IS NOT NULL OR orak.TanarID = @TanarId))
-- ha a "csak a helyettesiteseim" es a "helyettesitett oraim is" parameter is igaz, adja vissza azokat a nem naplozott orakat ahol a tanar volt a helyettesito, vagy őt helyettesítették
OR (@CsakAHelyettesiteseim = 1 AND @HelyettesitettOraimIs = 1 AND (orak.HelyettesitoTanarID IS NOT NULL)))))
AND (ISNULL(@pDatum, CAST(OraKezdete as date)) = CAST(OraKezdete as date))
AND ((ISNULL(@pOraszam, Oraszam) = Oraszam) OR Oraszam IS NULL)
AND (
IIF(
@pIdopont IS NOT NULL,
CONVERT(varchar (5), @pIdopont, 108),
CONVERT(varchar (5), orak.OraKezdete, 108)
) = CONVERT(varchar (5), orak.OraKezdete, 108))
END
GO