init
This commit is contained in:
+132
@@ -0,0 +1,132 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('dbo.sp_GetOrarendOsztalyonkent') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetOrarendOsztalyonkent
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetOrarendOsztalyonkent]
|
||||
@intezmenyId INT,
|
||||
@tanevId INT,
|
||||
@osztalyId INT,
|
||||
@aktivTanevId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @UtolsoNap DATE = (SELECT TOP 1 C_NAPDATUMA FROM T_NAPTARINAP_OSSZES WHERE C_NAPTIPUSA=1395 AND C_TANEVID=@tanevid AND TOROLT='F')
|
||||
,@HetEleje DATE
|
||||
,@HetVege DATE
|
||||
|
||||
DECLARE @osztalyNev NVARCHAR(MAX)=(SELECT ocs.C_NEV FROM T_OSZTALYCSOPORT_OSSZES OCS WHERE ocs.ID=@osztalyId)
|
||||
|
||||
IF (@tanevId = @AktivtanevId AND GETDATE() <= @UtolsoNap)
|
||||
BEGIN
|
||||
SET @HetEleje =(SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, NH.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
|
||||
SET @HetVege =(SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE CONVERT(DATE, GETDATE())>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND CONVERT(DATE, GETDATE())<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) and nh.TOROLT='F' and nh.C_TANEVID=@tanevid)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
|
||||
SET @HetEleje =(SELECT TOP 1 nh.C_HETKEZDONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
|
||||
SET @HetVege =(SELECT TOP 1 nh.C_HETUTOLSONAPJA FROM T_NAPTARIHET_OSSZES nh WHERE @UtolsoNap>=CONVERT(DATE, nh.C_HETKEZDONAPJA) AND @UtolsoNap<=CONVERT(DATE, nh.C_HETUTOLSONAPJA) AND nh.TOROLT='F' AND nh.C_TANEVID=@tanevId)
|
||||
END
|
||||
|
||||
DECLARE @temp TABLE (HetirendId INT, HetnapjaId INT, Oraszam INT, TantargyNev NVARCHAR(MAX), PedagogusNev NVARCHAR(MAX), TeremNev NVARCHAR(MAX))
|
||||
INSERT INTO @temp
|
||||
SELECT
|
||||
OrarendiOra.C_HETIREND HetirendId
|
||||
,OrarendiOra.C_HETNAPJA HetnapjaId
|
||||
,OrarendiOra.C_ORASZAM Oraszam
|
||||
,ISNULL(Tantargy.C_NEVNYOMTATVANYBAN, Tantargy.C_NEV) TantargyNev
|
||||
,Pedagogus.C_NYOMTATASINEV PedagogusNev
|
||||
,Terem.C_NEV TeremNev
|
||||
FROM T_ORARENDIORA_OSSZES OrarendiOra
|
||||
INNER JOIN fnGetKapcsolodoOsztalycsoportok(@osztalyId) Kapcsolodo ON Kapcsolodo.Id = OrarendiOra.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = OrarendiOra.C_TANTARGYID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Pedagogus ON Pedagogus.Id = OrarendiOra.C_TANARID
|
||||
INNER JOIN T_TEREM_OSSZES Terem ON Terem.Id = OrarendiOra.C_TEREMID
|
||||
WHERE
|
||||
OrarendiOra.Torolt = 'F'
|
||||
AND OrarendiOra.C_ORAERVENYESSEGKEZDETE <= @Hetvege
|
||||
AND OrarendiOra.C_ORAERVENYESSEGVEGE >= @Heteleje
|
||||
|
||||
DECLARE @Hetirendek TABLE (Id INT)
|
||||
DECLARE @HetirendCount INT = (SELECT COUNT(DISTINCT oo.C_HETIREND) FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId)
|
||||
|
||||
IF (@HetirendCount=1)
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.c_hetirend FROM T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @Hetirendek
|
||||
SELECT DISTINCT oo.C_HETIREND from T_ORARENDIORA_OSSZES oo WHERE oo.TOROLT='F' AND oo.C_TANEVID=@tanevId AND oo.C_HETIREND<>1554
|
||||
END
|
||||
|
||||
DECLARE @OsszesOra TABLE (Hetirend INT, Nap INT, Oraszam INT)
|
||||
INSERT INTO @OsszesOra
|
||||
SELECT DISTINCT oo.Id, Nap.Nap , OraSzam.OraSzam FROM @Hetirendek oo
|
||||
CROSS JOIN (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10)) OraSzam (OraSzam)
|
||||
CROSS JOIN (VALUES (1408),(1409),(1410),(1411),(1412), (1413)) Nap (Nap)
|
||||
|
||||
DECLARE @TenylegesOra TABLE (Hetirend INT, Nap INT, OraSzam INT, Foglalkozas NVARCHAR(MAX))
|
||||
DECLARE @Orarend TABLE (osztalyId INT, Ora INT, Hetirend INT, Nap INT, Foglalkozas NVARCHAR(MAX))
|
||||
|
||||
DECLARE kur CURSOR FOR
|
||||
SELECT Id FROM @Hetirendek
|
||||
|
||||
DECLARE @HetirendId int
|
||||
|
||||
OPEN kur
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO @TenylegesOra
|
||||
SELECT DISTINCT
|
||||
@HetirendId
|
||||
,veg.HetnapjaId
|
||||
,veg.Oraszam
|
||||
,STUFF((SELECT distinct ', ' + CAST(bveg.TantargyNev+' ('+bveg.PedagogusNev+', '+bveg.TeremNev+')' AS VARCHAR(max))
|
||||
FROM @temp bveg
|
||||
WHERE bveg.HetnapjaId=veg.HetnapjaId
|
||||
AND bveg.Oraszam=veg.Oraszam
|
||||
AND (bveg.HetirendId=@HetirendId OR bveg.HetirendId=1554)
|
||||
FOR XML PATH(''), TYPE)
|
||||
.value('.','NVARCHAR(MAX)'),1,2,' ') Foglalkozasok
|
||||
FROM @temp veg
|
||||
FETCH NEXT FROM kur INTO @HetirendId
|
||||
END
|
||||
CLOSE kur
|
||||
DEALLOCATE kur
|
||||
|
||||
/*Végleges órarend*/
|
||||
INSERT INTO @Orarend
|
||||
SELECT @osztalyId
|
||||
, OsszesOra.Oraszam
|
||||
, OsszesOra.Hetirend
|
||||
, OsszesOra.Nap
|
||||
, TenylegesOra.Foglalkozas
|
||||
FROM @OsszesOra OsszesOra
|
||||
LEFT JOIN @TenylegesOra TenylegesOra ON OsszesOra.Hetirend=TenylegesOra.Hetirend AND OsszesOra.Nap=TenylegesOra.Nap AND OsszesOra.Oraszam=TenylegesOra.Oraszam
|
||||
ORDER BY OsszesOra.Hetirend, OsszesOra.Nap, OsszesOra.Oraszam
|
||||
|
||||
SELECT
|
||||
pv.*
|
||||
, dic.C_NAME HETIREND_DNAME
|
||||
,@osztalyNev OsztalyNev
|
||||
FROM @Orarend
|
||||
PIVOT (MAX(Foglalkozas) FOR Nap in([1408],[1409],[1410],[1411],[1412],[1413]))pv
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dic ON dic.id=Hetirend AND dic.C_TANEVID = @tanevId
|
||||
ORDER BY Hetirend, Ora
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
+1263
File diff suppressed because it is too large
Load Diff
+62
@@ -0,0 +1,62 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetOsztalyOrarendOsszes]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetOsztalyOrarendOsszes]
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetOsztalyOrarendOsszes]
|
||||
@tanevID int,
|
||||
@intezmenyId int
|
||||
,@aktivTanevId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT DISTINCT
|
||||
ia.C_NEV as intezmeny
|
||||
,m.C_NEV as mukodesihely
|
||||
,d.C_NAME as oktatasiNevelesiFeladatTipus
|
||||
,ISNULL(ia.C_VAROS + ', ', '') + FORMAT(GETDATE(), 'yyyy. MMMM dd.', 'hu-hu') AS kelt
|
||||
FROM T_INTEZMENY_OSSZES i
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES IA ON IA.C_INTEZMENYID=I.ID
|
||||
INNER JOIN T_MUKODESIHELY_OSSZES m ON IA.C_INTEZMENYID = m.C_INTEZMENYID AND m.TOROLT = 'F'
|
||||
INNER JOIN T_FELADATELLATASIHELY_OSSZES f ON m.ID = f.C_MUKODESIHELYID AND f.TOROLT = 'F'
|
||||
INNER JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) d ON d.id = f.C_OKTATASINEVELESIFELADATTIPUS
|
||||
WHERE
|
||||
i.id=@intezmenyId
|
||||
AND I.TOROLT='F'
|
||||
|
||||
|
||||
declare @tabla table (osztalyId int, Ora int, Hetirend int, [1408] nvarchar(max), [1409] nvarchar(max), [1410] nvarchar(max), [1411] nvarchar(max), [1412] nvarchar(max), [1413] nvarchar(max), Hetirend_dname nvarchar(max),Osztalynev nvarchar(max))
|
||||
|
||||
DECLARE kurzor CURSOR FOR
|
||||
SELECT ocs.ID FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
inner join T_OSZTALY_OSSZES o on ocs.id=o.id
|
||||
where ocs.TOROLT='F' and ocs.C_TANEVID=@tanevID and ocs.C_INTEZMENYID=@intezmenyId
|
||||
|
||||
DECLARE @OsztalyId int
|
||||
|
||||
OPEN kurzor
|
||||
FETCH NEXT FROM kurzor INTO @OsztalyId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0 BEGIN
|
||||
INSERT INTO @tabla
|
||||
EXEC sp_GetOrarendOsztalyonkent @intezmenyId, @tanevID, @osztalyid, @aktivTanevId
|
||||
|
||||
FETCH NEXT FROM kurzor INTO @OsztalyId
|
||||
END
|
||||
|
||||
CLOSE kurzor
|
||||
DEALLOCATE kurzor
|
||||
|
||||
SELECT * from @tabla
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
Reference in New Issue
Block a user