155 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
-- =============================================
 | 
						|
-- 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 |