Files
kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190715151638_AL_997/sp_GetNemNaplozottOrarendiOrak.sql
2024-03-13 00:33:46 +01:00

125 lines
4.4 KiB
Transact-SQL

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