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

129 lines
6.9 KiB
Transact-SQL
Raw Blame History

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