129 lines
6.9 KiB
Transact-SQL
129 lines
6.9 KiB
Transact-SQL
IF OBJECT_ID('dbo.sp_GetNemNaplozottOrarendiOrak') IS NOT NULL BEGIN
|
||
DROP PROCEDURE dbo.sp_GetNemNaplozottOrarendiOrak
|
||
END
|
||
GO
|
||
|
||
CREATE PROCEDURE [dbo].[sp_GetNemNaplozottOrarendiOrak]
|
||
@IntezmenyId int,
|
||
@TanevId int,
|
||
@IdoszakKezdete datetime,
|
||
@IdoszakVege datetime,
|
||
@TanarId int,
|
||
@OsztalyCsoportId int,
|
||
@TantargyId int
|
||
AS
|
||
BEGIN
|
||
SET NOCOUNT ON;
|
||
|
||
DECLARE @CsakOrarendiOrak bit = 0;
|
||
DECLARE @OrarendTable TABLE (
|
||
Id int
|
||
,ORARENDIID int
|
||
,Bontott char(1)
|
||
,Hetirend int
|
||
,HetNapja int
|
||
,ErvenyessegKezdete datetime
|
||
,ErvenyessegVege datetime
|
||
,OraKezdete datetime
|
||
,OraVege datetime
|
||
,Oraszam int
|
||
,TargyNev nvarchar(300)
|
||
,TargyNevForMobile nvarchar(300)
|
||
,TargykategoriaID int
|
||
,Megtartott char(1)
|
||
,CsengetesiRendOraID 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)
|
||
,TanarID int
|
||
,HelyettesitesId int
|
||
,AdminAltalKiirt char(1)
|
||
,GroupId int
|
||
,Tema nvarchar(max)
|
||
,TargyId int
|
||
,OsztCsopId int
|
||
)
|
||
|
||
insert into @OrarendTable (
|
||
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,TargyId,OsztCsopId)
|
||
exec sp_GetOrarend @IntezmenyId,@TanevId,@IdoszakKezdete,@IdoszakVege,@TanarId,@OsztalyCsoportId,null,@CsakOrarendiOrak
|
||
|
||
insert into @OrarendTable (
|
||
Id,ORARENDIID,Bontott,Hetirend,HetNapja,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,
|
||
TargyNev,Megtartott,OsztalyNev,TanevRendOsztalyCsoportId,
|
||
TanarNev,TeremNev,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,TanarID,HelyettesitesId,AdminAltalKiirt,GroupId,Tema,TargyId,OsztCsopId)
|
||
exec sp_GetOrarendTanoranKivuli @IntezmenyId,@TanevId,@IdoszakKezdete,@IdoszakVege,@TanarId,@OsztalyCsoportId,null,@CsakOrarendiOrak
|
||
|
||
declare @tanevrendTable table (TrId int, Datum datetime, NapTipus int, OsszesOsztaly char(1), OrarendiNap char(1))
|
||
insert into @tanevrendTable
|
||
select
|
||
tr.ID, tr.C_DATUM, tr.C_NAPTIPUSA, tr.C_OSSZESCSOPORTRAVONATKOZIK, case when tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F' then tr.C_ORARENDINAP else nap.C_ORARENDINAP end
|
||
from T_TANEVRENDJE_OSSZES tr
|
||
join T_NAPTARINAP nap on nap.C_NAPDATUMA = tr.C_DATUM and nap.C_TANEVID = tr.C_TANEVID and nap.C_INTEZMENYID = tr.C_INTEZMENYID
|
||
where
|
||
tr.C_INTEZMENYID = @IntezmenyId and tr.C_TANEVID = @TanevId and C_DATUM between @IdoszakKezdete and @IdoszakVege and tr.TOROLT = 'F' and tr.C_AKTIV = 'T'
|
||
|
||
/*<EFBFBD>sszes <20>rarendi<64>ra*/
|
||
select distinct
|
||
Id, ORARENDIID, Bontott, Hetirend, HetNapja, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, OraVege, Oraszam, TargyNev, TargyNevForMobile,
|
||
TargykategoriaID, Megtartott, CsengetesiRendOraID, MaxNapiOraszam, OsztalyNev, MegjelenesOka, TanarNev, TeremNev,
|
||
OraTipus, Hianyzas, Keses, Ures, HelyettesitoTanarID, HelyettesitoTanarNev, TanarID, HelyettesitesId, AdminAltalKiirt, GroupId, Tema, TargyId,
|
||
OsztCsopId, case when tmp.HelyettesitoTanarID is not null then tmp.TanarNev else null end as HelyettesitettPedagogusNev
|
||
from @OrarendTable tmp
|
||
where
|
||
tmp.OraTipus = 'OrarendiOra' and (@TantargyId is null or tmp.TargyId = @TantargyId)
|
||
except /*Glob<EFBFBD>l tilt<6C>s*/
|
||
select distinct
|
||
Id,ORARENDIID ,Bontott,Hetirend ,HetNapja ,ErvenyessegKezdete ,ErvenyessegVege ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,TargyNevForMobile ,
|
||
TargykategoriaID ,Megtartott ,CsengetesiRendOraID ,MaxNapiOraszam ,OsztalyNev ,MegjelenesOka ,TanarNev ,TeremNev ,
|
||
OraTipus ,Hianyzas ,Keses ,Ures ,HelyettesitoTanarID ,HelyettesitoTanarNev ,TanarID ,HelyettesitesId ,AdminAltalKiirt ,GroupId ,Tema ,TargyId ,
|
||
OsztCsopId, case when tmp.HelyettesitoTanarID is not null then tmp.TanarNev else null end as HelyettesitettPedagogusNev
|
||
from @OrarendTable tmp
|
||
join @tanevrendTable tr on tr.Datum = cast(tmp.OraKezdete as date) and tr.OsszesOsztaly = 'T' and tr.OrarendiNap = 'F'
|
||
where
|
||
tmp.OraTipus = 'OrarendiOra' and (@TantargyId is null or tmp.TargyId = @TantargyId)
|
||
union /*Glob<EFBFBD>l enged<65>lyez<65>s*/
|
||
select distinct
|
||
Id,ORARENDIID ,Bontott,Hetirend ,HetNapja ,ErvenyessegKezdete ,ErvenyessegVege ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,TargyNevForMobile ,
|
||
TargykategoriaID ,Megtartott ,CsengetesiRendOraID ,MaxNapiOraszam ,OsztalyNev ,MegjelenesOka ,TanarNev ,TeremNev ,
|
||
OraTipus ,Hianyzas ,Keses ,Ures ,HelyettesitoTanarID ,HelyettesitoTanarNev ,TanarID ,HelyettesitesId ,AdminAltalKiirt ,GroupId ,Tema ,TargyId ,
|
||
OsztCsopId, case when tmp.HelyettesitoTanarID is not null then tmp.TanarNev else null end as HelyettesitettPedagogusNev
|
||
from @OrarendTable tmp
|
||
join @tanevrendTable tr on tr.Datum = cast(tmp.OraKezdete as date) and tr.OsszesOsztaly = 'T' and tr.OrarendiNap = 'T'
|
||
where
|
||
tmp.OraTipus = 'OrarendiOra' and (@TantargyId is null or tmp.TargyId = @TantargyId)
|
||
except /*Oszt<EFBFBD>ly tilt<6C>s*/
|
||
select distinct
|
||
Id,ORARENDIID ,Bontott,Hetirend ,HetNapja ,ErvenyessegKezdete ,ErvenyessegVege ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,TargyNevForMobile ,
|
||
TargykategoriaID ,Megtartott ,CsengetesiRendOraID ,MaxNapiOraszam ,OsztalyNev ,MegjelenesOka ,TanarNev ,TeremNev ,
|
||
OraTipus ,Hianyzas ,Keses ,Ures ,HelyettesitoTanarID ,HelyettesitoTanarNev ,TanarID ,HelyettesitesId ,AdminAltalKiirt ,GroupId ,Tema ,TargyId ,
|
||
OsztCsopId, case when tmp.HelyettesitoTanarID is not null then tmp.TanarNev else null end as HelyettesitettPedagogusNev
|
||
from @OrarendTable tmp
|
||
join @tanevrendTable tr on tr.Datum = cast(tmp.OraKezdete as date) and tr.OsszesOsztaly = 'F' and tr.OrarendiNap = 'F'
|
||
join T_OSZTALYCSOPORT_TANEVRENDJE ocstr on ocstr.C_OSZTALYCSOPORTID = tmp.OsztCsopId and ocstr.C_TANEVRENDJEID = tr.TrId
|
||
where
|
||
tmp.OraTipus = 'OrarendiOra' and (@TantargyId is null or tmp.TargyId = @TantargyId)
|
||
union /*Oszt<EFBFBD>ly enged<65>lyez<65>s*/
|
||
select distinct
|
||
Id,ORARENDIID ,Bontott,Hetirend ,HetNapja ,ErvenyessegKezdete ,ErvenyessegVege ,OraKezdete ,OraVege ,Oraszam ,TargyNev ,TargyNevForMobile ,
|
||
TargykategoriaID ,Megtartott ,CsengetesiRendOraID ,MaxNapiOraszam ,OsztalyNev ,MegjelenesOka ,TanarNev ,TeremNev ,
|
||
OraTipus ,Hianyzas ,Keses ,Ures ,HelyettesitoTanarID ,HelyettesitoTanarNev ,TanarID ,HelyettesitesId ,AdminAltalKiirt ,GroupId ,Tema ,TargyId ,
|
||
OsztCsopId, case when tmp.HelyettesitoTanarID is not null then tmp.TanarNev else null end as HelyettesitettPedagogusNev
|
||
from @OrarendTable tmp
|
||
join @tanevrendTable tr on tr.Datum = cast(tmp.OraKezdete as date) and tr.OsszesOsztaly = 'F' and tr.OrarendiNap = 'T'
|
||
join T_OSZTALYCSOPORT_TANEVRENDJE ocstr on ocstr.C_OSZTALYCSOPORTID = tmp.OsztCsopId and ocstr.C_TANEVRENDJEID = tr.TrId
|
||
where
|
||
tmp.OraTipus = 'OrarendiOra' and (@TantargyId is null or tmp.TargyId = @TantargyId)
|
||
|
||
END
|