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,152 @@
DROP PROCEDURE IF EXISTS sp_GetNemMegtartottOrakSzamaByHet
GO
CREATE PROCEDURE sp_GetNemMegtartottOrakSzamaByHet
@pFeladatKategoriaId INT = NULL,
@pIntezmenyId INT,
@pTanevId INT,
@pOsztalyId INT,
@pHetSorszam INT,
@pFeladatEllatasiHelyId INT = NULL
AS
BEGIN
DECLARE @pCsakOrarendiOrak bit = 0;
DECLARE @pIdoszakKezdete datetime;
DECLARE @pIdoszakVege datetime;
DECLARE
@sql nvarchar(max)
,@OrarendSql nvarchar(max)
,@selectSql nvarchar(max)
,@whereSql nvarchar(max)
,@orderSql nvarchar(max) = ''
SET @OrarendSql = N'
CREATE TABLE #OrarendTable (
Id int
,ORARENDIID int
,Datum datetime
,Bontott char(1)
,Hetirend int
,HetNapja int
,HetSorszam int
,ErvenyessegKezdete datetime
,ErvenyessegVege datetime
,OraKezdete datetime
,OraVege datetime
,Oraszam int
,TargyNev nvarchar(300)
,TargyNevForMobile nvarchar(300)
,TargykategoriaID int
,Megtartott char(1)
,CsengetesiRendOraID int
,CsengetesiRendID int
,MaxNapiOraszam int
,OsztalyNev nvarchar(255)
,TanevRendOsztalyCsoportId int
,MegjelenesOka nvarchar(300)
,TanarNev nvarchar(255)
,TeremNev nvarchar(255)
,TeremId int
,OraTipus nvarchar(200)
,Hianyzas char(1)
,Keses char(1)
,Ures char(1)
,HelyettesitoTanarID int
,HelyettesitoTanarNev nvarchar(255)
,HelyettesitesId int
,TanarID int
,AdminAltalKiirt char(1)
,GroupId int
,Tema nvarchar(max)
,TantargyId int
,OsztCsopId int
)
SELECT
@pIdoszakKezdete = nh.C_HETKEZDONAPJA
,@pIdoszakVege = nh.C_HETUTOLSONAPJA
FROM T_NAPTARIHET nh
WHERE nh.C_INTEZMENYID = @pIntezmenyId
AND nh.C_TANEVID = @pTanevId
AND nh.TOROLT = ''F''
AND nh.C_HETSORSZAMA = @pHetSorszam
INSERT INTO #OrarendTable (
Id,ORARENDIID,Datum,Bontott,Hetirend,HetNapja,HetSorszam,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,Oraszam,
TargyNev,TargyNevForMobile,TargykategoriaID,Megtartott,CsengetesiRendOraID,CsengetesiRendID,MaxNapiOraszam,OsztalyNev,TanevRendOsztalyCsoportId,
MegjelenesOka,TanarNev,TeremNev,TeremId,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,HelyettesitesId,TanarID,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId)
EXEC sp_GetOrarend
@pIntezmenyId = @pIntezmenyId
,@pTanevId = @pTanevId
,@pIdoszakKezdete = @pIdoszakKezdete
,@pIdoszakVege = @pIdoszakVege
,@pTanarId = NULL
,@pIsHelyettesitesNelkul = 0
,@pOsztalyCsoportId = @pOsztalyId
,@pTanuloId = NULL
,@pTantargyId = NULL
,@pTeremId = NULL
,@pCsakOrarendiOrak = @pCsakOrarendiOrak
,@pIsNapirend = NULL'
SET @selectSql = N'
SELECT DISTINCT
tmp.Id AS Id
,tmp.HetSorszam AS HetSzama
,tmp.Datum AS Datum
,tmp.HetNapja AS HetNapja
,tmp.Oraszam AS Oraszam
,tmp.OsztalyNev AS OsztalyNev
,tmp.TargyNev AS TargyNev
,ISNULL(tmp.HelyettesitoTanarNev, tmp.TanarNev) AS TanarNev
,tmp.OraKezdete AS OraKezdete
,tmp.OraVege AS OraVege
,tmp.CsengetesiRendID AS CsengetesiRend
FROM #OrarendTable tmp
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON tmp.OsztCsopId = ocs.ID'
SET @whereSql = N'
WHERE tmp.OraTipus = ''OrarendiOra''
AND tmp.HetSorszam = @pHetSorszam
AND tmp.OraVege < GETDATE()'
IF @pFeladatKategoriaId IS NOT NULL BEGIN
SET @whereSql += N'
AND ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId'
END
IF @pFeladatEllatasiHelyId IS NOT NULL BEGIN
SET @whereSql += N'
AND ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId'
END
SET @orderSql = N'
ORDER BY tmp.Datum ASC,tmp.Oraszam ASC'
SET @sql = @OrarendSql + @selectSql + @whereSql + @orderSql
EXEC sp_executesql @sql, N'
@pIntezmenyId INT
,@pTanevId INT
,@pIdoszakKezdete DATETIME
,@pIdoszakVege DATETIME
,@pOsztalyId INT
,@pCsakOrarendiOrak BIT
,@pHetSorszam INT
,@pFeladatKategoriaId INT
,@pFeladatEllatasiHelyId INT'
,@pIntezmenyId = @pIntezmenyId
,@pTanevId = @pTanevId
,@pIdoszakKezdete = @pIdoszakKezdete
,@pIdoszakVege = @pIdoszakVege
,@pOsztalyId = @pOsztalyId
,@pCsakOrarendiOrak = @pCsakOrarendiOrak
,@pHetSorszam = @pHetSorszam
,@pFeladatKategoriaId = @pFeladatKategoriaId
,@pFeladatEllatasiHelyId = @pFeladatEllatasiHelyId
END
GO

View file

@ -0,0 +1,145 @@
DROP PROCEDURE IF EXISTS sp_GetNemMegtartottOrakSzamaPerHet
GO
CREATE PROCEDURE sp_GetNemMegtartottOrakSzamaPerHet
@pFeladatKategoriaId INT = NULL,
@pOsztalyId INT,
@pFeladatEllatasiHelyId INT = NULL,
@pIntezmenyId INT,
@pTanevId INT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @pCsakOrarendiOrak BIT = 0;
DECLARE @pIdoszakKezdete DATETIME;
DECLARE @pIdoszakVege DATETIME = GETDATE()
DECLARE
@sql nvarchar(max)
,@OrarendSql nvarchar(max)
,@selectSql nvarchar(max)
,@whereSql nvarchar(max)
,@orderSql nvarchar(max) = ''
SET @OrarendSql = N'
CREATE TABLE #OrarendTable (
Id int
,ORARENDIID int
,Datum datetime
,Bontott char(1)
,Hetirend int
,HetNapja int
,HetSorszam int
,ErvenyessegKezdete datetime
,ErvenyessegVege datetime
,OraKezdete datetime
,OraVege datetime
,Oraszam int
,TargyNev nvarchar(300)
,TargyNevForMobile nvarchar(300)
,TargykategoriaID int
,Megtartott char(1)
,CsengetesiRendOraID int
,CsengetesiRendID int
,MaxNapiOraszam int
,OsztalyNev nvarchar(255)
,TanevRendOsztalyCsoportId int
,MegjelenesOka nvarchar(300)
,TanarNev nvarchar(255)
,TeremNev nvarchar(255)
,TeremId int
,OraTipus nvarchar(200)
,Hianyzas char(1)
,Keses char(1)
,Ures char(1)
,HelyettesitoTanarID int
,HelyettesitoTanarNev nvarchar(255)
,HelyettesitesId int
,TanarID int
,AdminAltalKiirt char(1)
,GroupId int
,Tema nvarchar(max)
,TantargyId int
,OsztCsopId int
)
SELECT
@pIdoszakKezdete = nh.C_HETKEZDONAPJA
FROM T_NAPTARIHET nh
WHERE
nh.C_INTEZMENYID = @pIntezmenyId AND nh.C_TANEVID = @pTanevId AND nh.TOROLT = ''F''
AND nh.C_HETSORSZAMA = 1
INSERT INTO #OrarendTable (
Id,ORARENDIID,Datum,Bontott,Hetirend,HetNapja,HetSorszam,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,Oraszam,
TargyNev,TargyNevForMobile,TargykategoriaID,Megtartott,CsengetesiRendOraID,CsengetesiRendID,MaxNapiOraszam,OsztalyNev,TanevRendOsztalyCsoportId,
MegjelenesOka,TanarNev,TeremNev,TeremId,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,HelyettesitesId,TanarID,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId)
EXEC sp_GetOrarend
@pIntezmenyId = @pIntezmenyId
,@pTanevId = @pTanevId
,@pIdoszakKezdete = @pIdoszakKezdete
,@pIdoszakVege = @pIdoszakVege
,@pTanarId = NULL
,@pIsHelyettesitesNelkul = 0
,@pOsztalyCsoportId = @pOsztalyId
,@pTanuloId = NULL
,@pTantargyId = NULL
,@pTeremId = NULL
,@pCsakOrarendiOrak = @pCsakOrarendiOrak
,@pIsNapirend = NULL'
SET @selectSql = N'
SELECT DISTINCT
tmp.HetSorszam AS HetSorszam
,COUNT(tmp.id) AS NemNaplozottOrakSzama
,@pOsztalyId AS OsztalyID
,ISNULL(@pFeladatKategoriaId, '''') as feladatKategoriaId
,ISNULL(@pFeladatEllatasiHelyId, '''') as feladatEllatasiHelyId
FROM #OrarendTable tmp
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON tmp.OsztCsopId = ocs.ID'
SET @whereSql = N'
WHERE tmp.OraTipus = ''OrarendiOra''
AND tmp.OraVege < GETDATE()'
IF @pFeladatKategoriaId IS NOT NULL BEGIN
SET @whereSql += N'
AND ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId'
END
IF @pFeladatEllatasiHelyId IS NOT NULL BEGIN
SET @whereSql += N'
AND ocs.C_FELADATELLATASIHELYID = @pFeladatEllatasiHelyId'
END
SET @orderSql = N'
GROUP BY tmp.HetSorszam
ORDER BY tmp.HetSorszam'
SET @sql = @OrarendSql + @selectSql + @whereSql + @orderSql
EXEC sp_executesql @sql, N'
@pIntezmenyId INT
,@pTanevId INT
,@pIdoszakKezdete DATETIME
,@pIdoszakVege DATETIME
,@pOsztalyId INT
,@pCsakOrarendiOrak BIT
,@pFeladatKategoriaId INT
,@pFeladatEllatasiHelyId INT'
,@pIntezmenyId = @pIntezmenyId
,@pTanevId = @pTanevId
,@pIdoszakKezdete = @pIdoszakKezdete
,@pIdoszakVege = @pIdoszakVege
,@pOsztalyId = @pOsztalyId
,@pCsakOrarendiOrak = @pCsakOrarendiOrak
,@pFeladatKategoriaId = @pFeladatKategoriaId
,@pFeladatEllatasiHelyId = @pFeladatEllatasiHelyId
END
GO