-- ============================================= -- Author: Dőrr Tamás -- Create date: 2017.12.14. -- Description: - -- ============================================= IF OBJECT_ID('dbo.sp_GetHazifeladatOrarend') IS NOT NULL BEGIN DROP PROCEDURE dbo.sp_GetHazifeladatOrarend END GO CREATE PROCEDURE [dbo].[sp_GetHazifeladatOrarend] @IntezmenyId int, @TanevId int, @IdoszakKezdete datetime, @IdoszakVege datetime, @TanarId int AS BEGIN SET NOCOUNT ON; DECLARE @HaziFeladatok TABLE ( Id int ,ORARENDIID int --null ,Bontott char(1) --false ,Hetirend int --mindenhét null? ,HetNapja int --null ,ErvenyessegKezdete datetime --feladás dátuma ,ErvenyessegVege datetime --határidő ,OraKezdete datetime --feladás dátuma ,OraVege datetime --feladás dátuma ,Oraszam int ,TargyNev nvarchar(255) ,TargyNevForMobile nvarchar(255) ,TargykategoriaID int --null ,Megtartott char(1) --null ,CsengetesiRendOraID int --null ,MaxNapiOraszam int --null ,OsztalyNev nvarchar(255) ,TanevRendOsztalyCsoportId int --null ,MegjelenesOka nvarchar(255) --null ,TanarNev nvarchar(255) ,TeremNev nvarchar(255) --null ,OraTipus nvarchar(255) --hazifeladat tipusa id (9?) ,Hianyzas nvarchar(255) --null ,Keses nvarchar(255) --null ,Ures nvarchar(255) --null ,HelyettesitoTanarID int --null ,HelyettesitoTanarNev nvarchar(255) --null ,TanarID int ,AdminAltalKiirt char(1) --null ,GroupId int --null ,Tema nvarchar(255) --null ,TantargyId int ,OsztCsopId int ,HaziFeladatSzoveg nvarchar(max) ) INSERT INTO @HaziFeladatok ( Id,ORARENDIID,Bontott,Hetirend,HetNapja,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,Oraszam,TargyNev ,TargyNevForMobile,TargykategoriaID,Megtartott,CsengetesiRendOraID,MaxNapiOraszam,OsztalyNev,TanevRendOsztalyCsoportId ,MegjelenesOka,TanarNev,TeremNev,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,TanarID ,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId,HaziFeladatSzoveg ) SELECT h.ID Id ,null ORARENDIID ,'F' Bontott ,null Hetirend --minden héten? ,null HetNapja ,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 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 ,h.C_FELHASZNALOID 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_FELHASZNALOID DECLARE @orarendiOrakTanorak TABLE ( Id int ,ORARENDIID int ,Bontott char(1) ,Hetirend int ,HetNapja int ,ErvenyessegKezdete datetime ,ErvenyessegVege datetime ,OraKezdete datetime ,OraVege datetime ,Oraszam int ,TargyNev nvarchar(255) ,TargyNevForMobile nvarchar(255) ,TargykategoriaID int ,Megtartott char(1) ,CsengetesiRendOraID int ,MaxNapiOraszam int ,OsztalyNev nvarchar(255) ,TanevRendOsztalyCsoportId int ,MegjelenesOka nvarchar(255) ,TanarNev nvarchar(255) ,TeremNev nvarchar(255) ,OraTipus nvarchar(255) ,Hianyzas nvarchar(255) ,Keses nvarchar(255) ,Ures nvarchar(255) ,HelyettesitoTanarID int ,HelyettesitoTanarNev nvarchar(255) ,TanarID int ,AdminAltalKiirt char(1) ,GroupId int ,Tema nvarchar(255) ,TantargyId int ,OsztCsopId int ) BEGIN INSERT INTO @orarendiOrakTanorak ( Id,ORARENDIID,Bontott,Hetirend,HetNapja,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,Oraszam,TargyNev ,TargyNevForMobile,TargykategoriaID,Megtartott,CsengetesiRendOraID,MaxNapiOraszam,OsztalyNev,TanevRendOsztalyCsoportId ,MegjelenesOka,TanarNev,TeremNev,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,TanarID ,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId ) EXEC dbo.sp_GetOrarend @IntezmenyId, @TanevId, @IdoszakKezdete, @IdoszakVege, @TanarId, null, null, 0 END 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