kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/sp_GetHazifeladatOrarend.sql
2024-03-13 00:33:46 +01:00

260 lines
No EOL
6 KiB
Transact-SQL

-- =============================================
-- Author: Dőrr Tamás
-- Create date: 2017.12.14.
-- Description: -
-- =============================================
DROP PROCEDURE IF EXISTS [dbo].[sp_GetHazifeladatOrarend]
GO
CREATE PROCEDURE [dbo].[sp_GetHazifeladatOrarend]
@IntezmenyId int,
@TanevId int,
@IdoszakKezdete datetime,
@IdoszakVege datetime,
@TanarId int
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE #HaziFeladatok (
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)
,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
,HaziFeladatSzoveg nvarchar(max)
)
INSERT INTO #HaziFeladatok (
Id
,ORARENDIID
,Datum
,Bontott
,Hetirend
,HetNapja
,HetSorszam
,ErvenyessegKezdete
,ErvenyessegVege
,OraKezdete
,OraVege
,Oraszam
,TargyNev
,TargyNevForMobile
,TargykategoriaID
,Megtartott
,CsengetesiRendOraID
,CsengetesiRendID
,MaxNapiOraszam
,OsztalyNev
,TanevRendOsztalyCsoportId
,MegjelenesOka
,TanarNev
,TeremNev
,OraTipus
,Hianyzas
,Keses
,Ures
,HelyettesitoTanarID
,HelyettesitoTanarNev
,HelyettesitesId
,TanarID
,AdminAltalKiirt
,GroupId
,Tema
,TantargyId
,OsztCsopId
,HaziFeladatSzoveg
) SELECT h.ID Id
,null ORARENDIID
,h.C_FELADASDATUMA Datum
,'F' Bontott
,null Hetirend --minden héten?
,null HetNapja
,NULL HetSorszam
,h.C_FELADASDATUMA ErvenyessegKezdete
,h.C_HATARIDO ErvenyessegVege
,h.C_FELADASDATUMA OraKezdete
,h.C_FELADASDATUMA OraVege
,h.C_ORASZAM Oraszam
,ISNULL(t.C_ROVIDNEV, t.C_NEV) TargyNev
,COALESCE(t.C_ROVIDNEV, t.C_NEV) TargyNevForMobile
,NULL TargykategoriaID
,NULL Megtartott
,NULL CsengetesiRendOraID
,NULL CsengetesiRendID
,NULL MaxNapiOraszam
,ocs.C_NEV OsztalyNev
,NULL TanevRendOsztalyCsoportId
,NULL MegjelenesOka
,f.C_NYOMTATASINEV TanarNev
,NULL TeremNev
,'HaziFeladat' OraTipus
,NULL Hianyzas
,NULL Keses
,NULL Ures
,NULL HelyettesitoTanarID
,NULL HelyettesitoTanarNev
,NULL HelyettesitesId
,f.ID TanarID
,NULL AdminAltalKiirt
,NULL GroupId
,NULL Tema
,h.C_TANTARGYID TantargyId
,h.C_OSZTALYCSOPORTID OsztCsopId
,h.C_FELADATSZOVEGE HaziFeladatSzoveg
FROM T_HAZIFELADATOK h
INNER JOIN T_TANTARGY t ON t.id = h.C_TANTARGYID
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.id = h.C_OSZTALYCSOPORTID
INNER JOIN T_FELHASZNALO f ON f.id = h.C_ROGZITOID
WHERE f.id = @TanarId
CREATE TABLE #OrarendiOrakTanorak (
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)
,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
,OsztalyBontasId int
,IsEgyediNap char(1)
,TeremTobbOratLehetTartani char(1)
,KozpontiOraGroupId uniqueidentifier NULL
,KozpontilagToroltOraGroupId uniqueidentifier NULL
)
INSERT INTO #orarendiOrakTanorak (
Id
,ORARENDIID
,Datum
,Bontott
,Hetirend
,HetNapja
,HetSorszam
,ErvenyessegKezdete
,ErvenyessegVege
,OraKezdete
,OraVege
,Oraszam
,TargyNev
,TargyNevForMobile
,TargykategoriaID
,Megtartott
,CsengetesiRendOraID
,CsengetesiRendID
,MaxNapiOraszam
,OsztalyNev
,TanevRendOsztalyCsoportId
,MegjelenesOka
,TanarNev
,TeremNev
,OraTipus
,Hianyzas
,Keses
,Ures
,HelyettesitoTanarID
,HelyettesitoTanarNev
,HelyettesitesId
,TanarID
,AdminAltalKiirt
,GroupId
,Tema
,TantargyId
,OsztCsopId
,OsztalyBontasId
,IsEgyediNap
,TeremTobbOratLehetTartani
,KozpontiOraGroupId
,KozpontilagToroltOraGroupId
)
EXEC dbo.sp_GetOrarend
@pIntezmenyId = @IntezmenyId
,@pTanevId = @TanevId
,@pIdoszakKezdete = @IdoszakKezdete
,@pIdoszakVege = @IdoszakVege
,@pTanarId = @TanarId
,@pIsHelyettesitesNelkul = 0
,@pOsztalyCsoportId = NULL
,@pTanuloId = NULL
,@pTantargyId = NULL
,@pTeremId = NULL
,@pCsakOrarendiOrak = 0
,@pIsNapirend = 0 --utolsó paraméter: egyelőre csak órarendi (csengetési rendhez kötött) órák
INSERT INTO #HaziFeladatok
SELECT * ,NULL HaziFeladatSzoveg
FROM #orarendiOrakTanorak oot
WHERE NOT EXISTS (
SELECT 1
FROM #HaziFeladatok h
WHERE h.TanarID = oot.TanarID
AND h.TantargyId = oot.TantargyId
AND h.OsztCsopId = oot.OsztCsopId
AND h.Oraszam = oot.Oraszam)
SELECT * FROM #HaziFeladatok
END
GO