112 lines
No EOL
4.6 KiB
Transact-SQL
112 lines
No EOL
4.6 KiB
Transact-SQL
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
|
||
IF OBJECT_ID('[dbo].[sp_GetTeremOrarend]') IS NOT NULL
|
||
BEGIN
|
||
DROP PROCEDURE [dbo].[sp_GetTeremOrarend]
|
||
END
|
||
GO
|
||
|
||
CREATE PROCEDURE [dbo].[sp_GetTeremOrarend]
|
||
@TeremId int,
|
||
@TanevId int
|
||
AS
|
||
BEGIN
|
||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||
-- interfering with SELECT statements.
|
||
-- Insert statements for procedure here
|
||
-- <20>rarend
|
||
|
||
IF OBJECT_ID('tempdb..#tempszorzat') IS NOT NULL drop table #tempszorzat
|
||
IF OBJECT_ID('tempdb..#orarend') IS NOT NULL drop table #orarend
|
||
|
||
SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve, T_INTEZMENYADATOK_OSSZES.C_OMKOD IntezmenyOMKod --Fejl<6A>c
|
||
FROM T_INTEZMENYADATOK_OSSZES
|
||
WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F'
|
||
AND T_INTEZMENYADATOK_OSSZES.C_TANEVID = @TanevId
|
||
|
||
declare @intezmenyid int=(select C_INTEZMENYID from T_TEREM_OSSZES where id=@TeremId)
|
||
declare @AktualisHetEleje date=(select top 1 C_HETKEZDONAPJA from T_NAPTARIHET_OSSZES
|
||
where c_intezmenyid=@intezmenyid and c_tanevid=@tanevId
|
||
and torolt='F' and C_HETKEZDONAPJA<=convert(date,GETDATE())
|
||
and C_HETUTOLSONAPJA>=convert(date,GETDATE())
|
||
)
|
||
|
||
declare @AktualisHetVege date=( select top 1 C_HETUTOLSONAPJA from T_NAPTARIHET_OSSZES
|
||
where c_intezmenyid=@intezmenyid and c_tanevid=@tanevId
|
||
and torolt='F' and C_HETKEZDONAPJA<=convert(date,GETDATE())
|
||
and C_HETUTOLSONAPJA>=convert(date,GETDATE())
|
||
)
|
||
|
||
declare @tmpTable table (oraszam int,hetirend int, [1408] nvarchar(MAX), [1409] nvarchar(MAX), [1410] nvarchar(MAX), [1411] nvarchar(MAX), [1412] nvarchar(MAX), [1413] nvarchar(MAX))
|
||
select * into #tempszorzat from (select ID as Hetnapja from T_DICTIONARYITEMBASE_OSSZES where id between 1408 and 1413 and torolt = 'F' and c_tanevid = @TanevId) napok,(select C_oraszam as Oraszam from T_ORARENDIORA_OSSZES where torolt = 'F' and c_tanevid = @TanevId and C_INTEZMENYID=@intezmenyid) as oraszam
|
||
|
||
|
||
DECLARE @ID INT = 0
|
||
WHILE (1 = 1)
|
||
BEGIN
|
||
IF OBJECT_ID('tempdb..#orarend') IS NOT NULL drop table #orarend
|
||
SELECT TOP 1 @ID = ID FROM T_HETIRENDTIPUS_OSSZES WHERE TOROLT ='F' and ID != 1554 and ID > @ID and C_ALTANEVID = @TanevId ORDER BY ID
|
||
IF @@ROWCOUNT = 0 BREAK;
|
||
|
||
|
||
select #tempszorzat.Hetnapja,#tempszorzat.Oraszam,
|
||
(case
|
||
WHEN orak.HetiRend is null
|
||
THEN @ID
|
||
ELSE orak.HetiRend
|
||
END) as Hetirend
|
||
,orak.ADAT Into #orarend from #tempszorzat
|
||
left join (
|
||
SELECT ora.C_HETIREND HetiRend,
|
||
ora.C_HETNAPJA HetNapja,
|
||
ora.C_ORASZAM Oraszam,
|
||
STUFF((select ', '+t.c_nev+'- '+f.c_nev
|
||
from T_ORARENDIORA_OSSZES bo
|
||
inner join T_FOGLALKOZAS_OSSZES f on f.id=bo.C_FOGLALKOZASID
|
||
inner join T_TEREM_OSSZES t on t.id=bo.c_teremid
|
||
where
|
||
bo.C_HETNAPJA=ora.C_HETNAPJA and
|
||
bo.C_ORASZAM=ora.C_ORASZAM and
|
||
bo.C_HETIREND=ora.C_HETIREND AND
|
||
((bo.C_ORAERVENYESSEGKEZDETE<=@AktualisHetEleje) and (bo.c_oraervenyessegvege>=@AktualisHetVege)or
|
||
(bo.C_ORAERVENYESSEGKEZDETE>=@AktualisHetEleje) and (bo.C_ORAERVENYESSEGKEZDETE<=@AktualisHetVege))
|
||
and bo.C_TEREMID=@teremId
|
||
and bo.torolt='F'
|
||
FOR XML PATH(''), TYPE).value('.','NVARCHAR(MAX)'),1,2,' ') Adat
|
||
FROM T_ORARENDIORA_OSSZES ora
|
||
JOIN T_FOGLALKOZAS_OSSZES ON T_FOGLALKOZAS_OSSZES.ID = ora.C_FOGLALKOZASID
|
||
JOIN T_TANTARGY_OSSZES targy ON targy.ID = T_FOGLALKOZAS_OSSZES.C_TANTARGYID
|
||
JOIN T_FOGLALKOZASOK_TANAROK ON T_FOGLALKOZAS_OSSZES.ID = T_FOGLALKOZASOK_TANAROK.C_FOGLALKOZASOKID
|
||
JOIN T_FELHASZNALO_OSSZES tanar ON T_FOGLALKOZASOK_TANAROK.C_TANAROKID = tanar.ID
|
||
JOIN T_OSZTALYCSOPORT_OSSZES OSZTCSOP ON OSZTCSOP.ID = T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID
|
||
WHERE ora.TOROLT = 'F'
|
||
AND ora.C_TEREMID = @TeremId
|
||
and ora.C_TANEVID = @TanevId
|
||
GROUP BY ora.C_HETIREND, ora.C_HETNAPJA, ora.C_ORASZAM,OSZTCSOP.C_NEV, targy.C_NEV, tanar.C_NYOMTATASINEV,T_FOGLALKOZAS_OSSZES.ID) orak on #tempszorzat.Oraszam = orak.Oraszam and (#tempszorzat.HetNapja = orak.HetNapja or orak.HetNapja = 1554)
|
||
|
||
insert into @tmpTable
|
||
select * from
|
||
(
|
||
select oraszam,hetnapja,adat, @ID as Hetirend
|
||
from #orarend where Hetirend = @ID or Hetirend = 1554
|
||
|
||
) o1
|
||
PIVOT
|
||
(
|
||
max (adat)
|
||
FOR hetnapja
|
||
IN ([1408], [1409], [1410], [1411], [1412], [1413])
|
||
) p1
|
||
|
||
END
|
||
|
||
select * from @tmpTable
|
||
IF OBJECT_ID('tempdb..#tempszorzat') IS NOT NULL drop table #tempszorzat
|
||
IF OBJECT_ID('tempdb..#orarend') IS NOT NULL drop table #orarend
|
||
|
||
END
|
||
|
||
GO |