This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,135 @@
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
,Datum datetime
,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)
,TantargyId int
,OsztCsopId int
)
insert into @OrarendTable (
Id,ORARENDIID,Datum,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 sp_GetOrarend @IntezmenyId,@TanevId,@IdoszakKezdete,@IdoszakVege,@TanarId,@OsztalyCsoportId,null,@CsakOrarendiOrak,0
insert into @OrarendTable (
Id,ORARENDIID,Datum,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 sp_GetOrarend @IntezmenyId,@TanevId,@IdoszakKezdete,@IdoszakVege,@TanarId,@OsztalyCsoportId,null,@CsakOrarendiOrak,1
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'
/*Összes órarendió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, TantargyId,
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.TantargyId = @TantargyId)
and cast(tmp.OraKezdete as date) between tmp.ErvenyessegKezdete and tmp.ErvenyessegVege
except /*Globál tiltá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 ,TantargyId ,
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.TantargyId = @TantargyId)
and cast(tmp.OraKezdete as date) between tmp.ErvenyessegKezdete and tmp.ErvenyessegVege
union /*Globál engedélyezé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 ,TantargyId ,
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.TantargyId = @TantargyId)
and cast(tmp.OraKezdete as date) between tmp.ErvenyessegKezdete and tmp.ErvenyessegVege
except /*Osztály tiltá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 ,TantargyId ,
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.TantargyId = @TantargyId)
and cast(tmp.OraKezdete as date) between tmp.ErvenyessegKezdete and tmp.ErvenyessegVege
union /*Osztály engedélyezé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 ,TantargyId ,
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.TantargyId = @TantargyId)
and cast(tmp.OraKezdete as date) between tmp.ErvenyessegKezdete and tmp.ErvenyessegVege
END