init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,185 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.uspGetHelyettesitesekAjanlasa
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[uspGetHelyettesitesekAjanlasa]
|
||||
@intezmenyId int
|
||||
,@tanevId int
|
||||
,@pHelyettesitettOrarendiOraId int
|
||||
,@pHelyettesitesDatuma DATE
|
||||
,@pSzakszeruId int = 1494
|
||||
,@pNemSzakszeruId int = 1495
|
||||
,@pOsszevonas int = 1496
|
||||
,@pFokozatNa int = 3040
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @OraKezdet DATETIME; DECLARE @Oraveg DATETIME;
|
||||
DECLARE @helyettesitettTanarId INT; DECLARE @Tulora CHAR(1);
|
||||
SELECT @OraKezdet = C_ORAKEZDETE, @Oraveg = C_ORAVEGE , @helyettesitettTanarId = C_TANARID, @Tulora = C_TULORA FROM T_ORARENDIORA WHERE ID = @pHelyettesitettOrarendiOraId
|
||||
|
||||
DECLARE @Datum DATETIME = (SELECT CAST(@pHelyettesitesDatuma AS date))
|
||||
DECLARE @DatumVeg DATETIME = (SELECT DATEADD(DAY, 1, (SELECT CAST(@pHelyettesitesDatuma AS date))))
|
||||
|
||||
DECLARE @KezdoDateTime DATETIME = (SELECT (@OraKezdet + CAST(@pHelyettesitesDatuma AS datetime)))
|
||||
DECLARE @VegeDateTime DATETIME = (SELECT (@Oraveg + CAST(@pHelyettesitesDatuma AS datetime)))
|
||||
|
||||
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
|
||||
,OsztalyBontasId int
|
||||
,IsEgyediNap char(1)
|
||||
,TeremTobbOratLehetTartani char(1)
|
||||
,KozpontiOraGroupId uniqueidentifier NULL
|
||||
,KozpontilagToroltOraGroupId uniqueidentifier NULL
|
||||
,INDEX IX01 CLUSTERED (OraTipus, OraKezdete, OraVege)
|
||||
)
|
||||
|
||||
CREATE TABLE #HelyettesitoTanarok (
|
||||
ID int
|
||||
,TanarId int
|
||||
,HelyettesitesTipusId int
|
||||
,TantargyId int
|
||||
,OsztalyCsoportId int
|
||||
,TanarNev nvarchar(550)
|
||||
,TanarOktatasiAzonosito nvarchar(40)
|
||||
,TantargyNev nvarchar(510)
|
||||
,OsztalycsoportNev nvarchar(255)
|
||||
,HelyettesitettOrarendiOraId int
|
||||
,HelyettesitesDatuma datetime
|
||||
,Tulora char(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,OsztalyBontasId,IsEgyediNap,TeremTobbOratLehetTartani,KozpontiOraGroupId,KozpontilagToroltOraGroupId)
|
||||
EXEC sp_GetOrarend
|
||||
@pIntezmenyId = @IntezmenyId
|
||||
,@pTanevId = @TanevId
|
||||
,@pIdoszakKezdete = @Datum
|
||||
,@pIdoszakVege = @DatumVeg
|
||||
,@pTanarId = NULL
|
||||
,@pIsHelyettesitesNelkul = 0
|
||||
,@pOsztalyCsoportId = NULL
|
||||
,@pTanuloId = NULL
|
||||
,@pTantargyId = NULL
|
||||
,@pTeremId = NULL
|
||||
,@pCsakOrarendiOrak = 0
|
||||
,@pIsNapirend = NULL
|
||||
|
||||
INSERT INTO #HelyettesitoTanarok
|
||||
SELECT
|
||||
NULL
|
||||
,f.ID
|
||||
,CASE
|
||||
MAX(CASE
|
||||
WHEN ot.OraKezdete < @VegeDateTime AND ot.OraVege > @KezdoDateTime THEN '3'
|
||||
WHEN ot.ID IS NULL AND ma.C_BESOROLASIFOKOZAT = @pFokozatNa THEN '2'
|
||||
WHEN ot.ID IS NULL AND ma.C_BESOROLASIFOKOZAT != @pFokozatNa THEN '1'
|
||||
WHEN ot.ID IS NOT NULL AND ot.ID = ot.ORARENDIID AND ot.HelyettesitesId IS NULL AND ma.C_BESOROLASIFOKOZAT = @pFokozatNa THEN '2'
|
||||
WHEN ot.ID IS NOT NULL AND ot.ID = ot.ORARENDIID AND ot.HelyettesitesId IS NULL AND ma.C_BESOROLASIFOKOZAT != @pFokozatNa THEN '1'
|
||||
WHEN ot.ID IS NOT NULL AND ot.ID != ot.ORARENDIID AND ot.Megtartott = 'T' THEN '3'
|
||||
WHEN ot.ID IS NOT NULL AND ot.ID != ot.ORARENDIID AND ot.Megtartott = 'F' AND ma.C_BESOROLASIFOKOZAT = @pFokozatNa THEN '2'
|
||||
WHEN ot.ID IS NOT NULL AND ot.ID != ot.ORARENDIID AND ot.Megtartott = 'F' AND ma.C_BESOROLASIFOKOZAT != @pFokozatNa THEN '1'
|
||||
WHEN ot.ID IS NOT NULL AND ot.ID = ot.ORARENDIID AND ot.HelyettesitesId IS NOT NULL AND a.ID = ot.TanarID AND ma.C_BESOROLASIFOKOZAT = @pFokozatNa THEN '2'
|
||||
WHEN ot.ID IS NOT NULL AND ot.ID = ot.ORARENDIID AND ot.HelyettesitesId IS NOT NULL AND a.ID = ot.TanarID AND ma.C_BESOROLASIFOKOZAT != @pFokozatNa THEN '1'
|
||||
WHEN ot.ID IS NOT NULL AND ot.ID = ot.ORARENDIID AND ot.HelyettesitesId IS NOT NULL AND a.ID = ot.HelyettesitoTanarID THEN '3'
|
||||
END)
|
||||
WHEN 1 THEN @pSzakszeruId
|
||||
WHEN 2 THEN @pNemSzakszeruId
|
||||
WHEN 3 THEN @pOsszevonas
|
||||
END
|
||||
,ot.TantargyId
|
||||
,ot.OsztCsopId
|
||||
,f.C_NYOMTATASINEV
|
||||
,ISNULL(f.C_OKTATASIAZONOSITO, '-')
|
||||
,t.C_NEV
|
||||
,ot.OsztalyNev
|
||||
,@pHelyettesitettOrarendiOraId
|
||||
,@pHelyettesitesDatuma
|
||||
,@Tulora
|
||||
FROM T_ALKALMAZOTT a
|
||||
INNER JOIN T_FELHASZNALO f on f.ID = a.ID AND f.TOROLT = 'F'
|
||||
INNER JOIN T_MUNKAUGYIADATOK ma ON ma.C_ALKALMAZOTTID = a.ID
|
||||
AND ma.C_BETOLTETLENALLASHELY = 'F'
|
||||
AND ma.C_TARTOSHELYETTESITES = 'F'
|
||||
AND ((C_ALKALMAZASKEZDETE <= @Datum OR C_ALKALMAZASKEZDETE IS NULL) AND (C_ALKALMAZASMEGSZUNESE >= @Datum OR C_ALKALMAZASMEGSZUNESE IS NULL))
|
||||
LEFT JOIN #OrarendTable ot on (ot.TanarID = a.ID or ot.HelyettesitoTanarID = a.ID)
|
||||
LEFT JOIN T_TANTARGY t on t.ID = ot.TantargyId AND t.TOROLT = 'F'
|
||||
WHERE a.TOROLT = 'F' AND a.C_ALTANEVID = @tanevId
|
||||
AND (TanarID <> @helyettesitettTanarId OR TanarID IS NULL)
|
||||
AND (ot.TantargyId IS NULL OR (ot.OraKezdete <= @VegeDateTime AND ot.OraVege >= @KezdoDateTime))
|
||||
GROUP BY f.ID, ot.TantargyId, ot.OsztCsopId,f.C_NYOMTATASINEV,f.C_OKTATASIAZONOSITO,t.C_NEV,ot.OsztalyNev, ot.Id
|
||||
|
||||
CREATE TABLE #nincsOraja(AlkalmazottId int,TanarNev nvarchar(128),HelyettesitesTipusa int)
|
||||
INSERT INTO #HelyettesitoTanarok
|
||||
SELECT
|
||||
NULL
|
||||
,a.ID
|
||||
,CASE
|
||||
WHEN ma.C_BESOROLASIFOKOZAT = @pFokozatNa THEN @pNemSzakszeruId
|
||||
WHEN ma.C_BESOROLASIFOKOZAT != @pFokozatNa THEN @pSzakszeruId
|
||||
END HelyettesitesTipusId
|
||||
,NULL
|
||||
,NULL
|
||||
,fh.C_NYOMTATASINEV
|
||||
,ISNULL(fh.C_OKTATASIAZONOSITO, '-')
|
||||
,NULL
|
||||
,NULL
|
||||
,@pHelyettesitettOrarendiOraId
|
||||
,@pHelyettesitesDatuma
|
||||
,@Tulora AS Tulora
|
||||
FROM T_ALKALMAZOTT a
|
||||
INNER JOIN T_FELHASZNALO fh ON fh.ID = a.ID
|
||||
INNER JOIN T_MUNKAUGYIADATOK ma ON ma.C_ALKALMAZOTTID = a.ID
|
||||
AND ma.C_BETOLTETLENALLASHELY = 'F'
|
||||
AND ma.C_TARTOSHELYETTESITES = 'F'
|
||||
AND ((C_ALKALMAZASKEZDETE <= @Datum OR C_ALKALMAZASKEZDETE IS NULL) AND (C_ALKALMAZASMEGSZUNESE >= @Datum OR C_ALKALMAZASMEGSZUNESE IS NULL))
|
||||
WHERE a.ID NOT IN(
|
||||
SELECT TanarId FROM #HelyettesitoTanarok
|
||||
UNION
|
||||
SELECT @helyettesitettTanarId
|
||||
)
|
||||
|
||||
SELECT * FROM #HelyettesitoTanarok
|
||||
ORDER BY HelyettesitesTipusId, TanarNev, TanarOktatasiAzonosito
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,158 @@
|
|||
DROP PROCEDURE IF EXISTS uspGetNemMegtartottOrakSzamaByHet
|
||||
|
||||
GO
|
||||
CREATE PROCEDURE uspGetNemMegtartottOrakSzamaByHet
|
||||
@pFeladatKategoriaId INT = NULL,
|
||||
@pIntezmenyId INT,
|
||||
@pTanevId INT,
|
||||
@pOsztalyId INT,
|
||||
@pHetSorszam INT,
|
||||
@pFeladatEllatasiHelyId INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @pCsakOrarendiOrak BIT = 0
|
||||
DECLARE @pIdoszakKezdete DATETIME = (SELECT MIN(C_HETKEZDONAPJA) FROM T_NAPTARIHET nh WHERE nh.C_INTEZMENYID = @pIntezmenyId AND nh.C_TANEVID = @pTanevId AND nh.TOROLT = 'F')
|
||||
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
|
||||
,OsztalyBontasId int
|
||||
,IsEgyediNap char(1)
|
||||
,TeremTobbOratLehetTartani char(1)
|
||||
,KozpontiOraGroupId uniqueidentifier NULL
|
||||
,KozpontilagToroltOraGroupId uniqueidentifier NULL
|
||||
)
|
||||
|
||||
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,OsztalyBontasId,IsEgyediNap,TeremTobbOratLehetTartani,KozpontiOraGroupId,KozpontilagToroltOraGroupId)
|
||||
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
|
||||
,tmp.IsEgyediNap as IsEgyediNap
|
||||
,IIF(tmp.HelyettesitoTanarNev IS NOT NULL, ISNULL(helyetesitoTanar.C_OKTATASIAZONOSITO, ''-''), ISNULL(tanar.C_OKTATASIAZONOSITO, ''-'')) as TanarOktatasiAzonosito
|
||||
FROM #OrarendTable tmp
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON tmp.OsztCsopId = ocs.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tanar ON tanar.ID = tmp.TanarID AND tanar.TOROLT = ''F''
|
||||
INNER JOIN T_ALKALMAZOTT_OSSZES alkalmazott ON alkalmazott.ID = tanar.ID and alkalmazott.TOROLT = ''F''
|
||||
LEFT JOIN (
|
||||
T_FELHASZNALO_OSSZES helyetesitoTanar
|
||||
INNER JOIN T_ALKALMAZOTT_OSSZES helyettesitoAlkalmazott ON helyettesitoAlkalmazott.ID = helyetesitoTanar.ID and helyettesitoAlkalmazott.TOROLT = ''F''
|
||||
) ON helyetesitoTanar.ID = tmp.HelyettesitoTanarID AND helyetesitoTanar.TOROLT = ''F''
|
||||
'
|
||||
|
||||
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 = @pFeladatEllatasiHelyId'
|
||||
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
|
Loading…
Add table
Add a link
Reference in a new issue