init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,48 @@
|
|||
DISABLE TRIGGER tr_ORARENDIORALog ON T_ORARENDIORA
|
||||
GO
|
||||
|
||||
DISABLE TRIGGER tr_TANITASIORALog ON T_TANITASIORA
|
||||
GO
|
||||
|
||||
UPDATE T_ORARENDIORA_OSSZES
|
||||
SET C_ORARENDIORAGROUPID = ID
|
||||
WHERE ID IN (
|
||||
SELECT TOP(1000) ID
|
||||
FROM T_ORARENDIORA_OSSZES
|
||||
WHERE C_ORARENDIORAGROUPID IS NULL)
|
||||
|
||||
WHILE @@ROWCOUNT <> 0 BEGIN
|
||||
UPDATE T_ORARENDIORA_OSSZES
|
||||
SET C_ORARENDIORAGROUPID = ID
|
||||
WHERE ID IN (
|
||||
SELECT TOP(1000) ID
|
||||
FROM T_ORARENDIORA_OSSZES
|
||||
WHERE C_ORARENDIORAGROUPID IS NULL)
|
||||
END
|
||||
|
||||
GO
|
||||
|
||||
UPDATE T_TANITASIORA_OSSZES
|
||||
SET C_ORARENDIORAGROUPID = C_ORARENDIORAID
|
||||
WHERE ID IN (
|
||||
SELECT TOP(1000) ID
|
||||
FROM T_TANITASIORA_OSSZES
|
||||
WHERE C_ORARENDIORAGROUPID IS NULL
|
||||
AND C_ORARENDIORAID IS NOT NULL)
|
||||
|
||||
WHILE @@ROWCOUNT <> 0 BEGIN
|
||||
UPDATE T_TANITASIORA_OSSZES
|
||||
SET C_ORARENDIORAGROUPID = C_ORARENDIORAID
|
||||
WHERE ID IN (
|
||||
SELECT TOP(1000) ID
|
||||
FROM T_TANITASIORA_OSSZES
|
||||
WHERE C_ORARENDIORAGROUPID IS NULL
|
||||
AND C_ORARENDIORAID IS NOT NULL)
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
ENABLE TRIGGER tr_ORARENDIORALog ON T_ORARENDIORA
|
||||
|
||||
GO
|
||||
ENABLE TRIGGER tr_TANITASIORALog ON T_TANITASIORA
|
|
@ -0,0 +1,43 @@
|
|||
IF OBJECT_ID('fnGetUtkozesByOsztalycsoport') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetUtkozesByOsztalycsoport
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [fnGetUtkozesByOsztalycsoport] (
|
||||
@startTime datetime,
|
||||
@endTime datetime,
|
||||
@osztalyCsoportId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
) RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT o.ID AS OrarendiOraId, NULL AS TanitasioraId, NULL as NemKotottMunkaido
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = n.C_NAPDATUMA
|
||||
INNER JOIN T_ORARENDIORA_OSSZES o ON (ISNULL(tr.C_HETIREND, n.C_HETIREND) = o.C_HETIREND OR o.C_HETIREND = 1554)
|
||||
AND ISNULL(tr.C_HETNAPJA, n.C_HETNAPJA) = o.C_HETNAPJA
|
||||
AND n.C_INTEZMENYID = o.C_INTEZMENYID
|
||||
AND n.C_TANEVID = o.C_TANEVID
|
||||
WHERE
|
||||
CAST(CAST(@startTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAKEZDETE AS TIME) AS DATETIME) < @endTime
|
||||
AND CAST(CAST(@endTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAVEGE AS TIME) AS DATETIME) > @startTime
|
||||
AND o.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@osztalyCsoportId))
|
||||
AND n.C_TANEVID = @tanevId
|
||||
AND n.C_INTEZMENYID = @intezmenyId
|
||||
AND n.C_NAPDATUMA >= CAST(@startTime AS DATE) AND n.C_NAPDATUMA <= CAST(@endTime AS DATE)
|
||||
AND n.TOROLT = 'F' AND (tr.TOROLT = 'F' OR tr.TOROLT IS NULL) AND o.TOROLT = 'F' and o.C_PARHUZAMOSORA = 'F'
|
||||
AND o.C_ORAERVENYESSEGKEZDETE <= CAST(@endTime AS DATE) AND o.C_ORAERVENYESSEGVEGE >= CAST(@startTime AS DATE)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT o.ID AS OrarendiOraId, tn.ID AS TanitasioraId, NULL as NemKotottMunkaido
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
LEFT JOIN T_ORARENDIORA o ON tn.C_ORARENDIORAGROUPID = o.C_ORARENDIORAGROUPID AND tn.C_DATUM BETWEEN o.C_ORAERVENYESSEGKEZDETE AND o.C_ORAERVENYESSEGVEGE
|
||||
WHERE tn.C_ORAKEZDETE <= @endTime
|
||||
AND tn.C_ORAVEGE >= @startTime
|
||||
AND tn.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@osztalyCsoportId))
|
||||
AND tn.C_TANEVID = @tanevId
|
||||
AND tn.C_INTEZMENYID = @intezmenyId
|
||||
AND tn.TOROLT = 'F' and tn.C_PARHUZAMOSORA = 'F'
|
||||
);
|
||||
GO
|
|
@ -0,0 +1,69 @@
|
|||
IF OBJECT_ID('fnGetUtkozesByTanar') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetUtkozesByTanar
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [fnGetUtkozesByTanar] (
|
||||
@startTime datetime,
|
||||
@endTime datetime,
|
||||
@tanarId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
) RETURNS TABLE
|
||||
RETURN (
|
||||
|
||||
SELECT
|
||||
o.ID AS OrarendiOraId
|
||||
,NULL AS TanitasiOraId
|
||||
,NULL as NemKotottMunkaido
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = n.C_NAPDATUMA
|
||||
INNER JOIN T_ORARENDIORA_OSSZES o ON (ISNULL(tr.C_HETIREND, n.C_HETIREND) = o.C_HETIREND OR o.C_HETIREND = 1554)
|
||||
AND ISNULL(tr.C_HETNAPJA, n.C_HETNAPJA) = o.C_HETNAPJA
|
||||
AND n.C_INTEZMENYID = o.C_INTEZMENYID
|
||||
AND n.C_TANEVID = o.C_TANEVID
|
||||
WHERE
|
||||
CAST(CAST(@startTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAKEZDETE AS TIME) AS DATETIME) < @endTime
|
||||
AND CAST(CAST(@endTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAVEGE AS TIME) AS DATETIME) > @startTime
|
||||
AND o.C_TANARID = @tanarId
|
||||
AND n.C_TANEVID = @tanevId
|
||||
AND n.C_INTEZMENYID = @intezmenyId
|
||||
AND n.C_NAPDATUMA >= CAST(@startTime AS DATE) AND n.C_NAPDATUMA <= CAST(@endTime AS DATE)
|
||||
AND n.TOROLT = 'F' AND (tr.TOROLT = 'F' OR tr.TOROLT IS NULL) AND o.TOROLT = 'F' and o.C_PARHUZAMOSORA = 'F'
|
||||
AND o.C_ORAERVENYESSEGKEZDETE <= CAST(@endTime AS DATE) AND o.C_ORAERVENYESSEGVEGE >= CAST(@startTime AS DATE)
|
||||
UNION
|
||||
SELECT
|
||||
o.ID AS OrarendiOraId
|
||||
,tn.ID AS TanitasioraId
|
||||
,NULL as NemKotottMunkaido
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
LEFT JOIN T_ORARENDIORA o ON tn.C_ORARENDIORAGROUPID = o.C_ORARENDIORAGROUPID AND tn.C_DATUM BETWEEN o.C_ORAERVENYESSEGKEZDETE AND o.C_ORAERVENYESSEGVEGE
|
||||
WHERE
|
||||
tn.C_ORAKEZDETE <= @endTime
|
||||
AND tn.C_ORAVEGE >= @startTime
|
||||
AND ISNULL(tn.C_HELYETTESITOTANARID, tn.C_ORATULAJDONOSID) = @tanarId
|
||||
AND tn.C_TANEVID = @tanevId
|
||||
AND tn.C_INTEZMENYID = @intezmenyId
|
||||
AND tn.TOROLT = 'F' and tn.C_PARHUZAMOSORA = 'F'
|
||||
UNION
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
NULL AS OrarendiOraId
|
||||
,NULL AS TanitasiOraId
|
||||
,IIF(COUNT(*) > 0, COUNT(*), NULL) AS NemKotottMunkaido
|
||||
FROM T_NEMKOTOTTMUNKAIDO nkm
|
||||
WHERE
|
||||
nkm.C_TANEVID = @tanevId
|
||||
AND nkm.C_INTEZMENYID = @intezmenyId
|
||||
AND nkm.TOROLT = 'F'
|
||||
AND nkm.C_TANARID = @tanarId
|
||||
AND nkm.C_KEZDETE <= @endTime
|
||||
AND nkm.C_VEGE >= @startTime
|
||||
) AS nkmselect
|
||||
WHERE
|
||||
nkmselect.NemKotottMunkaido IS NOT NULL
|
||||
);
|
||||
GO
|
|
@ -0,0 +1,53 @@
|
|||
IF OBJECT_ID('[dbo].[sp_CheckTanarOra]') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_CheckTanarOra]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_CheckTanarOra]
|
||||
@tanarId int,
|
||||
@start datetime,
|
||||
@end datetime,
|
||||
@IntezmenyId int,
|
||||
@TanevId int
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
declare @startDate datetime;
|
||||
set @startDate = CAST(@start AS DATE)
|
||||
|
||||
declare @csengetesiRendId int;
|
||||
set @csengetesiRendId = (select C_AKTIVCSENGETESIRENDID from T_NAPTARINAP nn where nn.C_NAPDATUMA = @startDate and nn.C_INTEZMENYID = @IntezmenyId and nn.C_TANEVID = @TanevId and nn.TOROLT = 'F')
|
||||
|
||||
declare @hetNapId int;
|
||||
set @hetNapId = (select C_HETNAPJA from T_NAPTARINAP nn where nn.C_NAPDATUMA = @startDate and nn.C_INTEZMENYID = @IntezmenyId and nn.C_TANEVID = @TanevId and nn.TOROLT = 'F')
|
||||
|
||||
if(@csengetesiRendId is null) set @csengetesiRendId = (select ID from T_CSENGETESIREND where C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and C_AKTIV = 'T' and TOROLT = 'F')
|
||||
|
||||
declare @csengetesiRendOraId int;
|
||||
set @csengetesiRendOraId = (select ID from T_CSENGETESIRENDORA where C_CSENGETESIRENDID = @csengetesiRendId and CAST(C_KEZDETE as TIME) = CAST(@start AS Time) and CAST(C_VEGE as TIME) = CAST(@end AS Time) and C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and TOROLT = 'F')
|
||||
|
||||
if ((select count(*) from T_ORARENDIORA where C_TANARID = @tanarId and C_CSENGETESIRENDORAID = @csengetesiRendOraId and C_HETNAPJA = @hetNapId and C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and TOROLT = 'F' and CAST(@start as date) >= C_ORAERVENYESSEGKEZDETE and CAST(@start as date) <= C_ORAERVENYESSEGVEGE and CAST(@end as date) >= C_ORAERVENYESSEGKEZDETE and CAST(@end as date) <= C_ORAERVENYESSEGVEGE) = 1)
|
||||
begin
|
||||
declare @orarendiOraId int;
|
||||
set @orarendiOraId = (select ID from T_ORARENDIORA where C_TANARID = @tanarId and C_CSENGETESIRENDORAID = @csengetesiRendOraId and C_HETNAPJA = @hetNapId and C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and TOROLT = 'F' and CAST(@start as date) >= C_ORAERVENYESSEGKEZDETE and CAST(@start as date) <= C_ORAERVENYESSEGVEGE and CAST(@end as date) >= C_ORAERVENYESSEGKEZDETE and CAST(@end as date) <= C_ORAERVENYESSEGVEGE)
|
||||
|
||||
declare @orarendiOraGroupId int;
|
||||
set @orarendiOraGroupId = (select C_ORARENDIORAGROUPID from T_ORARENDIORA where ID = @orarendiOraId)
|
||||
|
||||
declare @tanitasiOraId int;
|
||||
set @tanitasiOraId = (select ID from T_TANITASIORA where C_ORARENDIORAGROUPID = @orarendiOraGroupId and C_ORAKEZDETE = @start and C_ORAVEGE = @end and C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and TOROLT = 'F')
|
||||
|
||||
if(@tanitasiOraId is null)
|
||||
select C_FOGLALKOZASID, C_TEREMID, C_TANTARGYID, C_OSZTALYCSOPORTID, ID as C_ORARENDIORAID from T_ORARENDIORA where Id = @orarendiOraId and C_INTEZMENYID = @IntezmenyId and C_TANEVID = @TanevId and TOROLT = 'F'
|
||||
else
|
||||
select C_FOGLALKOZASID, C_TEREMID, C_TANTARGYID, C_OSZTALYCSOPORTID, ID as C_ORARENDIORAID from T_ORARENDIORA where Id = -1
|
||||
end
|
||||
else
|
||||
begin
|
||||
select C_FOGLALKOZASID, C_TEREMID, C_TANTARGYID, C_OSZTALYCSOPORTID, ID as C_ORARENDIORAID from T_ORARENDIORA where Id = -1
|
||||
end
|
||||
|
||||
END
|
|
@ -0,0 +1,75 @@
|
|||
-- =============================================
|
||||
-- Description: Foglalkozások egész évben megtartandó óráinak száma.
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetFoglalkozasokMegtartandoOraSzama]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetFoglalkozasokMegtartandoOraSzama]
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFoglalkozasokMegtartandoOraSzama]
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
select ID foglalkozasID, count(OraID) OraSzam from(
|
||||
select t_foglalkozas_OSSZES.ID ID, T_ORARENDIORA_OSSZES.ID OraID from
|
||||
T_ORARENDIORA_OSSZES
|
||||
inner join t_foglalkozas_OSSZES on T_ORARENDIORA_OSSZES.C_FOGLALKOZASID = T_FOGLALKOZAS_OSSZES.ID
|
||||
inner join T_NAPTARINAP_OSSZES on T_ORARENDIORA_OSSZES.C_HETNAPJA = T_NAPTARINAP_OSSZES.C_HETNAPJA
|
||||
and (T_ORARENDIORA_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_ORARENDIORA_OSSZES.C_HETIREND = 1554)
|
||||
|
||||
|
||||
INNER JOIN T_TANEV_OSSZES ON T_NAPTARINAP_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID and t_foglalkozas_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
left join T_TANITASIORA_OSSZES on T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANITASIORA_OSSZES.C_DATUM
|
||||
and T_TANITASIORA_OSSZES.C_ORARENDIORAGROUPID = T_ORARENDIORA_OSSZES.C_ORARENDIORAGROUPID
|
||||
and T_TANITASIORA_OSSZES.C_DATUM BETWEEN T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE
|
||||
and T_TANITASIORA_OSSZES.C_MEGTARTOTT ='F'
|
||||
and T_TANITASIORA_OSSZES.TOROLT='F'
|
||||
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
|
||||
|
||||
where NOT EXISTS (Select 1 from
|
||||
T_TANEVRENDJE_OSSZES
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on t_foglalkozas_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
WHERE T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANEVRENDJE_OSSZES.C_DATUM
|
||||
and (T_TANEVRENDJE_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_TANEVRENDJE_OSSZES.C_HETIREND = 1554)
|
||||
and T_TANEVRENDJE_OSSZES.C_ORARENDINAP ='F'
|
||||
and (T_TANEVRENDJE_OSSZES.C_OSSZESCSOPORTRAVONATKOZIK='T' OR T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
and T_TANEVRENDJE_OSSZES.TOROLT='F'
|
||||
and T_NAPTARINAP_OSSZES.C_NAPDATUMA >= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE
|
||||
and T_NAPTARINAP_OSSZES.C_NAPDATUMA <= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE
|
||||
))
|
||||
AND T_TANITASIORA_OSSZES.ID is null
|
||||
AND T_TANEV_OSSZES.C_AKTIV = 'T' AND T_TANEV_OSSZES.TOROLT='F'
|
||||
|
||||
union all
|
||||
|
||||
select foglalkozas.ID ID, T_TANITASIORA_OSSZES.id OraID
|
||||
from T_TANITASIORA_OSSZES
|
||||
inner join ( select ID, C_OSZTALYCSOPORTID from t_foglalkozas_OSSZES where torolt='F' ) foglalkozas on T_TANITASIORA_OSSZES.C_FOGLALKOZASID = foglalkozas.ID
|
||||
inner join T_NAPTARINAP_OSSZES on T_TANITASIORA_OSSZES.C_HETNAPJA = T_NAPTARINAP_OSSZES.C_HETNAPJA
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on foglalkozas.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
where
|
||||
C_ORARENDIORAGROUPID is null and T_TANITASIORA_OSSZES.TOROLT='F'
|
||||
and
|
||||
NOT EXISTS (Select 1 from
|
||||
T_TANEVRENDJE_OSSZES
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on foglalkozas.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
WHERE T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANEVRENDJE_OSSZES.C_DATUM
|
||||
and (T_TANEVRENDJE_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_TANEVRENDJE_OSSZES.C_HETIREND = 1554)
|
||||
and T_TANEVRENDJE_OSSZES.C_ORARENDINAP ='F'
|
||||
and (T_TANEVRENDJE_OSSZES.C_OSSZESCSOPORTRAVONATKOZIK='T' OR T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
and T_TANEVRENDJE_OSSZES.TOROLT='F'))
|
||||
) orak
|
||||
|
||||
Group by ID
|
||||
END
|
|
@ -0,0 +1,199 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('dbo.sp_GetHelyettesitesekOrarend') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetHelyettesitesekOrarend
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetHelyettesitesekOrarend]
|
||||
@IntezmenyId int,
|
||||
@TanevId int,
|
||||
@IdoszakKezdete datetime,
|
||||
@IdoszakVege datetime,
|
||||
@TanarId int,
|
||||
@CsakOrarendiOrak bit
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @KezdoHet int = DATEPART( ISO_WEEK, @IdoszakKezdete);
|
||||
DECLARE @ZaroHet int = DATEPART( ISO_WEEK, @IdoszakVege);
|
||||
|
||||
|
||||
SELECT Distinct
|
||||
Datum,
|
||||
ISNULL(TanevHetirend, NapHetirend) Hetirend,
|
||||
ISNULL(TanevHetNapja, NapHetNapja) HetNapja,
|
||||
OsztalyCsoportId
|
||||
INTO #TEMPORARENDINAPOK
|
||||
FROM (
|
||||
SELECT
|
||||
NAPTARINAP.Datum Datum,
|
||||
NAPTARINAP.NapHetirend,
|
||||
NAPTARINAP.NapHetNapja,
|
||||
NAPTARINAP.TanevHetirend,
|
||||
NAPTARINAP.TanevHetNapja,
|
||||
NAPTARINAP.OsztalyCsoportId
|
||||
FROM (
|
||||
(
|
||||
SELECT
|
||||
C_NAPDATUMA Datum,
|
||||
C_HETIREND NapHetirend,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), C_HETNAPJA) NapHetNapja,
|
||||
null TanevHetirend,
|
||||
null TanevHetNapja,
|
||||
null OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
WHERE (TOROLT = 'F' AND C_NAPDATUMA >= @IdoszakKezdete AND C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
union
|
||||
(
|
||||
SELECT
|
||||
NAPTARINAP.C_NAPDATUMA Datum,
|
||||
NAPTARINAP.C_HETIREND NapHetirend,
|
||||
IIF(NAPTARINAP.C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), NAPTARINAP.C_HETNAPJA) NapHetNapja,
|
||||
tanevRendHetirend.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja,
|
||||
tanevRendHetirend.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES NAPTARINAP
|
||||
inner JOIN (
|
||||
SELECT
|
||||
C_DATUM,
|
||||
C_HETIREND,
|
||||
T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_DATUM), C_HETNAPJA) AS C_HETNAPJA
|
||||
from T_TANEVRENDJE_OSSZES
|
||||
inner Join T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
WHERE TOROLT = 'F' AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId And TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.C_NAPDATUMA
|
||||
WHERE (TOROLT = 'F' AND NAPTARINAP.C_NAPDATUMA >= @IdoszakKezdete AND NAPTARINAP.C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
) NAPTARINAP
|
||||
) result
|
||||
|
||||
DECLARE @VegzosUtolsoTanitasiNap_spGetOrarend DATETIME;
|
||||
SELECT
|
||||
@VegzosUtolsoTanitasiNap_spGetOrarend = C_DATUM
|
||||
FROM
|
||||
T_TANEVRENDJE
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_TANEVID = (SELECT ID FROM T_TANEV WHERE TOROLT = 'F' AND C_AKTIV = 'T' AND C_INTEZMENYID = @IntezmenyId)
|
||||
AND C_NAPTIPUSA = 1402 AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
|
||||
/*Tanítási órák*/
|
||||
SELECT
|
||||
TANITASIORA.ID Id,
|
||||
oo.ID ORARENDIID,
|
||||
TANITASIORA.C_BONTOTT Bontott,
|
||||
(SELECT T_NAPTARINAP.C_HETIREND FROM T_NAPTARINAP WHERE T_NAPTARINAP.ID = TANITASIORA.C_NAPTARINAPID) Hetirend,
|
||||
TANITASIORA.C_HETNAPJA HetNapja,
|
||||
'' ErvenyessegKezdete,
|
||||
'' ErvenyessegVege,
|
||||
TANITASIORA.C_ORAKEZDETE OraKezdete,
|
||||
TANITASIORA.C_ORAVEGE OraVege,
|
||||
TANITASIORA.C_ORASZAM Oraszam,
|
||||
ISNULL(TARGY.C_ROVIDNEV, TARGY.C_NEV) TargyNev,
|
||||
TANITASIORA.C_MEGTARTOTT Megtartott,
|
||||
TANITASIORA.C_CSENGETESIRENDORAID CsengetesiRendOraID,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
CAST(null AS int) TanevRendOsztalyCsoportId,
|
||||
TANAR.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'TanitasiOra' OraTipus,
|
||||
''Hianyzas,
|
||||
'' Keses,
|
||||
TANITASIORA.C_HELYETTESITOTANARID HelyettesitoTanarID,
|
||||
TANAR.ID TanarID,
|
||||
TANITASIORA.C_ADMINALTALKIIRT AdminAltalKiirt,
|
||||
HELYETTESTANAR.C_NYOMTATASINEV HelyettesitoTanarNev,
|
||||
null as HelyettesitesId
|
||||
INTO #TEMPORAK
|
||||
FROM T_TANITASIORA TANITASIORA
|
||||
LEFT JOIN T_TANTARGY TARGY ON (TARGY.ID = TANITASIORA.C_TANTARGYID AND TARGY.C_INTEZMENYID = @IntezmenyId AND TARGY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_ORAK_TANAROK ON TANITASIORA.ID = T_ORAK_TANAROK.C_ORAKID
|
||||
LEFT JOIN T_FELHASZNALO TANAR ON T_ORAK_TANAROK.C_TANAROKID = TANAR.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT OSZTALY ON (TANITASIORA.C_OSZTALYCSOPORTID = OSZTALY.ID AND OSZTALY.C_INTEZMENYID = @IntezmenyId AND OSZTALY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_TEREM TEREM ON (TEREM.id = TANITASIORA.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_FELHASZNALO HELYETTESTANAR on TANITASIORA.C_HELYETTESITOTANARID = HELYETTESTANAR.ID
|
||||
LEFT JOIN T_ORARENDIORA oo ON TANITASIORA.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND TANITASIORA.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
WHERE
|
||||
@CsakOrarendiOrak = 0 AND TANITASIORA.TOROLT='F' AND TANITASIORA.C_INTEZMENYID = @IntezmenyId AND TANITASIORA.C_TANEVID=@TanevId
|
||||
AND TANITASIORA.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND (TANITASIORA.C_ORAKEZDETE >= @IdoszakKezdete
|
||||
AND TANITASIORA.C_ORAVEGE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END))
|
||||
AND (@TanarId IS NULL OR ( TANITASIORA.C_HELYETTESITOTANARID = @TanarId OR TANITASIORA.C_ORATULAJDONOSID = @TanarId OR T_ORAK_TANAROK.C_TANAROKID = @TanarId))
|
||||
|
||||
|
||||
/*Órarendi órák*/
|
||||
INSERT INTO #TEMPORAK
|
||||
SELECT DISTINCT
|
||||
OrarendiOrak.Id, ORARENDIID, Bontott, Hetirend, HetNapja, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, OraVege,
|
||||
Oraszam, TargyNev, Megtartott, CsengetesiRendOraID, OsztalyNev, TanevRendOsztalyCsoportId,TanarNev, TeremNev, OraTipus, Hianyzas, Keses,
|
||||
T_HELYETTESITESIIDOSZAK.C_HELYETTESTANAROKID HelyettesitoTanarID, TanarID,AdminAltalKiirt,HELYETTESTANAR.C_NYOMTATASINEV as HelyettesitoTanarNev, T_HELYETTESITESIIDOSZAK.ID as HelyettesitesId
|
||||
FROM (
|
||||
SELECT
|
||||
T_ORARENDIORA.ID Id,
|
||||
T_ORARENDIORA.ID ORARENDIID,
|
||||
T_ORARENDIORA.C_BONTOTT Bontott,
|
||||
T_ORARENDIORA.C_HETIREND Hetirend,
|
||||
T_ORARENDIORA.C_HETNAPJA HetNapja,
|
||||
T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE ErvenyessegKezdete,
|
||||
T_ORARENDIORA.C_ORAERVENYESSEGVEGE ErvenyessegVege,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA.C_ORAKEZDETE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA.C_ORAKEZDETE), ORARENDINAPOK.DATUM)) OraKezdete,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA.C_ORAVEGE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA.C_ORAVEGE), ORARENDINAPOK.DATUM)) OraVege,
|
||||
T_ORARENDIORA.C_ORASZAM Oraszam,
|
||||
ISNULL(TARGY.C_ROVIDNEV, TARGY.C_NEV) TargyNev,
|
||||
'F' Megtartott,
|
||||
T_ORARENDIORA.C_CSENGETESIRENDORAID CsengetesiRendOraID,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
ORARENDINAPOK.OsztalyCsoportId TanevRendOsztalyCsoportId,
|
||||
TANAR.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'OrarendiOra' OraTipus,
|
||||
'F' Hianyzas,
|
||||
'F' Keses,
|
||||
TANAR.ID TanarID,
|
||||
'F' AdminAltalKiirt
|
||||
FROM
|
||||
T_ORARENDIORA
|
||||
INNER JOIN #TEMPORARENDINAPOK ORARENDINAPOK ON (( T_ORARENDIORA.C_HETIREND = 1554 OR ORARENDINAPOK.HETIREND = T_ORARENDIORA.C_HETIREND ) AND ORARENDINAPOK.HETNAPJA = T_ORARENDIORA.C_HETNAPJA And (T_ORARENDIORA.C_OSZTALYCSOPORTID = ORARENDINAPOK.OsztalyCsoportId or ORARENDINAPOK.OsztalyCsoportId is null) )
|
||||
LEFT JOIN T_TANTARGY TARGY ON TARGY.ID = T_ORARENDIORA.C_TANTARGYID AND TARGY.TOROLT = 'F' AND TARGY.C_INTEZMENYID = @IntezmenyId AND TARGY.C_TANEVID=@TanevId
|
||||
LEFT JOIN T_FELHASZNALO TANAR ON TANAR.ID = T_ORARENDIORA.C_TANARID AND TANAR.TOROLT= 'F'
|
||||
LEFT JOIN T_OSZTALYCSOPORT OSZTALY ON T_ORARENDIORA.C_OSZTALYCSOPORTID = OSZTALY.ID AND OSZTALY.C_INTEZMENYID = @IntezmenyId AND OSZTALY.C_TANEVID=@TanevId
|
||||
LEFT JOIN T_TEREM TEREM ON (TEREM.id = T_ORARENDIORA.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
|
||||
WHERE
|
||||
T_ORARENDIORA.TOROLT='F'
|
||||
AND T_ORARENDIORA.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND T_ORARENDIORA.C_INTEZMENYID = @IntezmenyId
|
||||
AND T_ORARENDIORA.C_TANEVID=@TanevId
|
||||
AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE >= @IdoszakKezdete
|
||||
AND T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END)
|
||||
AND ORARENDINAPOK.DATUM BETWEEN @IdoszakKezdete AND (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END)
|
||||
AND (
|
||||
(ORARENDINAPOK.DATUM >= T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM < T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
|
||||
OR
|
||||
(ORARENDINAPOK.DATUM = T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM = T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
|
||||
)
|
||||
|
||||
) OrarendiOrak
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK ON (OrarendiOrak.ID = T_HELYETTESITESIIDOSZAK.C_HELYETTESITETTORARENDID
|
||||
And T_HELYETTESITESIIDOSZAK.C_HETSORSZAMA >= @KezdoHet
|
||||
AND (T_HELYETTESITESIIDOSZAK.C_HETSORSZAMA <= @ZaroHet)
|
||||
And T_HELYETTESITESIIDOSZAK.TOROLT = 'F' AND DATEDIFF(DAY, OrarendiOrak.OraKezdete, T_HELYETTESITESIIDOSZAK.C_HELYETTESITESNAPJA) = 0)
|
||||
LEFT JOIN T_FELHASZNALO HELYETTESTANAR ON HELYETTESTANAR.ID = T_HELYETTESITESIIDOSZAK.C_HELYETTESTANAROKID
|
||||
WHERE (@TanarId IS NULL OR OrarendiOrak.TanarID = @TanarId OR T_HELYETTESITESIIDOSZAK.C_HELYETTESTANAROKID = @TanarId)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM #TEMPORAK TANORAK
|
||||
WHERE TANORAK.ORARENDIID = OrarendiOrak.ID
|
||||
AND DATEDIFF(DAY, TANORAK.OraKezdete, OrarendiOrak.OraKezdete) = 0
|
||||
AND DATEDIFF(DAY, TANORAK.OraVege, OrarendiOrak.OraVege) = 0
|
||||
)
|
||||
|
||||
SELECT * FROM #TEMPORAK order by orakezdete
|
||||
|
||||
DROP TABLE #TEMPORAK
|
||||
DROP TABLE #TEMPORARENDINAPOK
|
||||
END
|
|
@ -0,0 +1,27 @@
|
|||
IF OBJECT_ID('dbo.sp_GetHelyettesitoTanarTanorahoz') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetHelyettesitoTanarTanorahoz
|
||||
END
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: <Zsiga Attila>
|
||||
-- Create date: <2016.03.09.>
|
||||
-- Description: <Tanorahoz tartozo helyettesito tanar>
|
||||
-- =============================================
|
||||
Create PROCEDURE [dbo].[sp_GetHelyettesitoTanarTanorahoz]
|
||||
-- Add the parameters for the stored procedure here
|
||||
@pOrarendiOraID int,
|
||||
@pDatum DateTime
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
tto.C_HELYETTESITOTANARID HelyettesitoID
|
||||
FROM T_ORARENDIORA oo
|
||||
JOIN T_TANITASIORA tto ON tto.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND tto.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
WHERE
|
||||
oo.ID = @pOrarendiOraID
|
||||
AND tto.C_DATUM = @pDatum
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,58 @@
|
|||
IF OBJECT_ID('dbo.sp_GetHianyzoOrabeirasok') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetHianyzoOrabeirasok
|
||||
END
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: <Zsiga Attila>
|
||||
-- Create date: <2016.03.09.>
|
||||
-- Description: <Hiányzó órabeírások (órarendióra, ami nem lett lenaplózva tanításiórává) értesítés generáláshoz>
|
||||
-- =============================================
|
||||
Create PROCEDURE [dbo].[sp_GetHianyzoOrabeirasok]
|
||||
-- Add the parameters for the stored procedure here
|
||||
@pIdoszakVege DateTime
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Insert statements for procedure here
|
||||
|
||||
-- :TOKNOW:
|
||||
-- 1608: Hiányzó óra naplózás
|
||||
-- 1554: Minden héten
|
||||
|
||||
DECLARE @pIdoszakKezdete DateTime;
|
||||
SET @pIdoszakKezdete =
|
||||
(
|
||||
SELECT
|
||||
TOP 1 CREATED LastCreated
|
||||
FROM
|
||||
T_ERTESITES
|
||||
WHERE
|
||||
T_ERTESITES.C_TIPUS = 1608
|
||||
ORDER BY
|
||||
T_ERTESITES.CREATED DESC
|
||||
);
|
||||
|
||||
DECLARE @pLastCreated DateTime;
|
||||
SET @pLastCreated = @pIdoszakKezdete;
|
||||
|
||||
SELECT
|
||||
T_ORARENDIORA.ID OrarendiOraID,
|
||||
T_NAPTARINAP.C_NAPDATUMA Datum,
|
||||
T_ORARENDIORA.C_ORASZAM Oraszam
|
||||
FROM
|
||||
(SELECT * FROM T_ORARENDIORA WHERE T_ORARENDIORA.TOROLT = 'F' AND ((T_ORARENDIORA.C_ORAERVENYESSEGVEGE >= @pIdoszakKezdete AND T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE <= @pIdoszakVege) OR (T_ORARENDIORA.CREATED > @pLastCreated AND T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE <= @pIdoszakVege))) T_ORARENDIORA
|
||||
LEFT JOIN T_NAPTARINAP ON
|
||||
T_NAPTARINAP.C_NAPDATUMA >= CONVERT(DATE, T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE) AND T_NAPTARINAP.C_NAPDATUMA <= CONVERT(DATE, T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
|
||||
AND ((T_NAPTARINAP.C_NAPDATUMA >= @pIdoszakKezdete AND T_NAPTARINAP.C_NAPDATUMA <= @pIdoszakVege) OR (T_ORARENDIORA.CREATED > @pLastCreated AND T_NAPTARINAP.C_NAPDATUMA <= @pIdoszakVege))
|
||||
AND T_NAPTARINAP.C_HETNAPJA = T_ORARENDIORA.C_HETNAPJA
|
||||
AND (T_ORARENDIORA.C_HETIREND = 1554 OR T_NAPTARINAP.C_HETIREND = T_ORARENDIORA.C_HETIREND)
|
||||
AND T_NAPTARINAP.TOROLT = 'F'
|
||||
LEFT JOIN T_TANITASIORA ON T_TANITASIORA.C_ORARENDIORAGROUPID = T_ORARENDIORA.C_ORARENDIORAGROUPID AND T_TANITASIORA.C_DATUM BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE AND T_TANITASIORA.C_DATUM = T_NAPTARINAP.C_NAPDATUMA AND T_TANITASIORA.TOROLT = 'F'
|
||||
WHERE
|
||||
T_TANITASIORA.C_MEGTARTOTT IS NULL
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,145 @@
|
|||
IF OBJECT_ID('dbo.sp_GetNaploEllenorzes') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetNaploEllenorzes
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[DBO].[sp_GetNaploEllenorzes]') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE [DBO].[sp_GetNaploEllenorzes]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: Kelemen Attila
|
||||
-- Create date: 2016.03.21.
|
||||
-- Description: Naplóellenőrzés összegzése
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetNaploEllenorzes]
|
||||
@osztalyId int
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
select
|
||||
'' Osszegzes,
|
||||
Eszrevetelek.EV,
|
||||
Eszrevetelek.HetSzama ID,
|
||||
count(1) NemNaplozottOrakSzama,
|
||||
(case when T_NAPLOELLENORZES.ID IS NULL then 'F' else 'T' end) Ellenorizve,
|
||||
T_NAPLOELLENORZES.ID EllenorzesID,
|
||||
Ellenorzo.C_NYOMTATASINEV EllenorzoSzemely,
|
||||
T_NAPLOELLENORZES.C_ELLENORZESDATUMA EllenorzesDatum,
|
||||
T_NAPLOELLENORZES.C_ESZREVETEL Eszrevetel,
|
||||
Eszrevetelek.OsztalyID
|
||||
from (
|
||||
select KapcsolodoCsoportok.OsztalyID osztalyID,
|
||||
KapcsolodoCsoportok.OsztalyNev OsztalyNev,
|
||||
naptar.C_HETSORSZAMA HetSzama,
|
||||
YEAR(naptar.c_napdatuma) EV
|
||||
from T_ORARENDIORA
|
||||
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.ID= T_ORARENDIORA.C_FOGLALKOZASID
|
||||
left join T_TANTARGY on T_TANTARGY.ID= T_FOGLALKOZAS.C_TANTARGYID
|
||||
inner join T_NAPTARINAP naptar on (( CONVERT(date,naptar.C_NAPDATUMA) BETWEEN CONVERT(date,T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE) AND CONVERT(date,T_ORARENDIORA.C_ORAERVENYESSEGVEGE))
|
||||
AND (naptar.C_HETIREND = T_ORARENDIORA.C_HETIREND OR T_ORARENDIORA.C_HETIREND = 1554
|
||||
AND naptar.C_HETNAPJA = T_ORARENDIORA.C_HETNAPJA) )
|
||||
LEFT JOIN T_TANITASIORA ON (T_TANITASIORA.C_ORARENDIORAGROUPID = T_ORARENDIORA.C_ORARENDIORAGROUPID AND T_TANITASIORA.C_DATUM BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE AND T_TANITASIORA.TOROLT='F' AND naptar.C_NAPDATUMA = T_TANITASIORA.C_DATUM)
|
||||
left join (select T_OSZTALYCSOPORT.ID OsztalyID,
|
||||
T_OSZTALYCSOPORT.C_NEV OsztalyNev,
|
||||
kcs.CsoportID
|
||||
from T_OSZTALYCSOPORT
|
||||
--Az osztályhoz kapcsolódó csoportok óráit is listázzuk
|
||||
left join (Select OsztalyID,
|
||||
OsztalyNev,
|
||||
CsoportID
|
||||
from (select C_OSZTALYCSOPORTID OsztalyID,
|
||||
T_OSZTALYCSOPORT.C_NEV OsztalyNev,
|
||||
C_TANULOID TanuloID
|
||||
from T_TANULOCSOPORT
|
||||
INNER JOIN T_OSZTALY on T_TANULOCSOPORT.C_OSZTALYCSOPORTID = T_OSZTALY.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT on T_OSZTALY.ID = T_OSZTALYCSOPORT.ID
|
||||
where T_TANULOCSOPORT.TOROLT='F'
|
||||
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
|
||||
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())) OsztalyTanuloi
|
||||
inner join
|
||||
(select T_CSOPORT.ID CsoportID,
|
||||
C_TANULOID TanuloID
|
||||
from T_TANULOCSOPORT
|
||||
inner join T_CSOPORT on T_TANULOCSOPORT.ID=T_CSOPORT.ID
|
||||
where T_CSOPORT.TOROLT='F'
|
||||
and T_TANULOCSOPORT.TOROLT='F'
|
||||
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
|
||||
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())) Csoportok
|
||||
on OsztalyTanuloi.TanuloID = Csoportok.TanuloID) kcs
|
||||
on kcs.OsztalyID = T_OSZTALYCSOPORT.ID
|
||||
where T_OSZTALYCSOPORt.TOROLT = 'F') KapcsolodoCsoportok
|
||||
on KapcsolodoCsoportok.OsztalyID = @osztalyId
|
||||
and KapcsolodoCsoportok.OsztalyID = T_FOGLALKOZAS.C_OSZTALYCSOPORTID
|
||||
|
||||
where
|
||||
T_ORARENDIORA.TOROLT='F'
|
||||
and naptar.TOROLT = 'F'
|
||||
and T_FOGLALKOZAS.TOROLT='F'
|
||||
and GETDATE() >= naptar.C_NAPDATUMA
|
||||
and T_TANITASIORA.ID IS NULL
|
||||
and KapcsolodoCsoportok.OsztalyID = @osztalyId
|
||||
|
||||
union all
|
||||
|
||||
select KapcsolodoCsoportok.OsztalyID osztalyID,
|
||||
KapcsolodoCsoportok.OsztalyNev OsztalyNev,
|
||||
naptar.C_HETSORSZAMA HetSzama,
|
||||
YEAR(naptar.c_napdatuma) EV
|
||||
from T_TANITASIORA
|
||||
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.ID= T_TANITASIORA.C_FOGLALKOZASID
|
||||
inner join T_NAPTARINAP naptar on T_TANITASIORA.C_DATUM = naptar.C_NAPDATUMA
|
||||
left join (select T_OSZTALYCSOPORT.ID OsztalyID,
|
||||
T_OSZTALYCSOPORT.C_NEV OsztalyNev,
|
||||
kcs.CsoportID
|
||||
from T_OSZTALYCSOPORT
|
||||
left join (Select OsztalyID,
|
||||
OsztalyNev,
|
||||
CsoportID
|
||||
from
|
||||
(select C_OSZTALYCSOPORTID OsztalyID,
|
||||
T_OSZTALYCSOPORT.C_NEV OsztalyNev,
|
||||
C_TANULOID TanuloID
|
||||
from T_TANULOCSOPORT
|
||||
inner join T_OSZTALY on T_TANULOCSOPORT.C_OSZTALYCSOPORTID = T_OSZTALY.ID
|
||||
inner join T_OSZTALYCSOPORT on T_OSZTALY.ID = T_OSZTALYCSOPORT.ID
|
||||
where T_TANULOCSOPORT.TOROLT='F'
|
||||
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
|
||||
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())) OsztalyTanuloi
|
||||
inner join
|
||||
(select T_CSOPORT.ID CsoportID,
|
||||
C_TANULOID TanuloID
|
||||
from T_TANULOCSOPORT
|
||||
inner join T_CSOPORT on T_TANULOCSOPORT.ID=T_CSOPORT.ID
|
||||
where T_CSOPORT.TOROLT='F'
|
||||
and T_TANULOCSOPORT.TOROLT='F'
|
||||
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
|
||||
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())
|
||||
) Csoportok on OsztalyTanuloi.TanuloID = Csoportok.TanuloID) kcs
|
||||
on kcs.OsztalyID = T_OSZTALYCSOPORT.ID
|
||||
where T_OSZTALYCSOPORt.TOROLT = 'F')
|
||||
KapcsolodoCsoportok on
|
||||
KapcsolodoCsoportok.OsztalyID = @osztalyId
|
||||
and KapcsolodoCsoportok.OsztalyID = T_FOGLALKOZAS.C_OSZTALYCSOPORTID
|
||||
where T_TANITASIORA.C_ORARENDIORAGROUPID is null
|
||||
and T_TANITASIORA.C_MEGTARTOTT is null
|
||||
and KapcsolodoCsoportok.OsztalyID = @osztalyId
|
||||
) Eszrevetelek
|
||||
left join T_NAPLOELLENORZES on ( T_NAPLOELLENORZES.C_OSZTALYID = @osztalyId
|
||||
AND T_NAPLOELLENORZES.C_HETSORSZAMA = Eszrevetelek.HetSzama
|
||||
AND T_NAPLOELLENORZES.TOROLT = 'F')
|
||||
left join T_FELHASZNALO Ellenorzo on Ellenorzo.ID = T_NAPLOELLENORZES.C_ELLENORZOSZEMELYID
|
||||
group by Eszrevetelek.EV,
|
||||
Eszrevetelek.HetSzama,
|
||||
T_NAPLOELLENORZES.ID,
|
||||
Ellenorzo.C_NYOMTATASINEV,
|
||||
T_NAPLOELLENORZES.C_ELLENORZESDATUMA,
|
||||
T_NAPLOELLENORZES.C_ESZREVETEL,
|
||||
T_NAPLOELLENORZES.C_OSZTALYID,
|
||||
Eszrevetelek.OsztalyID
|
||||
|
||||
order by EV desc, Eszrevetelek.HetSzama desc
|
||||
END
|
|
@ -0,0 +1,120 @@
|
|||
IF OBJECT_ID('dbo.sp_GetNaploEllenorzesTetelek') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetNaploEllenorzesTetelek
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[DBO].[sp_GetNaploEllenorzesTetelek]') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE [DBO].[sp_GetNaploEllenorzesTetelek]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: Kelemen Attila
|
||||
-- Create date: 2016.03.21.
|
||||
-- Description: Naplóellenőrzés tételei
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetNaploEllenorzesTetelek]
|
||||
@osztalyId int,
|
||||
@hetSorszam int
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
select * from
|
||||
(
|
||||
--Órarendi órák, amikhez nem tartozik tanóra
|
||||
select T_ORARENDIORA.ID Id,
|
||||
naptar.C_HETSORSZAMA HetSzama,
|
||||
naptar.C_NAPDATUMA Datum,
|
||||
naptar.C_HETNAPJA Hetnapja,
|
||||
T_ORARENDIORA.C_ORASZAM Oraszam,
|
||||
osztaly.C_NEV OsztalyNev,
|
||||
T_TANTARGY.C_NEV TargyNev,
|
||||
--Ha van helyettesítő, akkor annak a nevére van szükségünk
|
||||
(select top 1 tanar.C_NYOMTATASINEV from T_FELHASZNALO tanar
|
||||
where ((T_TANITASIORA.C_HELYETTESITOTANARID IS null and T_FOGLALKOZAS.C_TANARID = tanar.ID)
|
||||
OR (T_TANITASIORA.C_HELYETTESITOTANARID IS not null and T_TANITASIORA.C_HELYETTESITOTANARID= tanar.ID))) TanarNev
|
||||
FROM
|
||||
T_ORARENDIORA
|
||||
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.ID= T_ORARENDIORA.C_FOGLALKOZASID AND T_FOGLALKOZAS.TOROLT='F'
|
||||
left join T_TANTARGY on T_TANTARGY.ID= T_FOGLALKOZAS.C_TANTARGYID
|
||||
|
||||
inner join T_NAPTARINAP naptar on (( CONVERT(date,naptar.C_NAPDATUMA) BETWEEN CONVERT(date,T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE) AND CONVERT(date,T_ORARENDIORA.C_ORAERVENYESSEGVEGE))
|
||||
AND
|
||||
(naptar.C_HETIREND = T_ORARENDIORA.C_HETIREND OR T_ORARENDIORA.C_HETIREND = 1554
|
||||
AND naptar.C_HETNAPJA = T_ORARENDIORA.C_HETNAPJA) )
|
||||
LEFT JOIN T_TANITASIORA ON (T_TANITASIORA.C_ORARENDIORAGROUPID = T_ORARENDIORA.C_ORARENDIORAGROUPID AND T_TANITASIORA.C_DATUM BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE AND T_TANITASIORA.TOROLT='F' AND naptar.C_NAPDATUMA = T_TANITASIORA.C_DATUM)
|
||||
|
||||
inner join T_OSZTALYCSOPORT osztaly on T_FOGLALKOZAS.C_OSZTALYCSOPORTID = osztaly.ID AND osztaly.TOROLT='F'
|
||||
|
||||
--Az osztályhoz kapcsolódó csoportok óráit is listázzuk
|
||||
left join (Select OsztalyID, CsoportID from
|
||||
(select C_OSZTALYCSOPORTID OsztalyID, C_TANULOID TanuloID from T_TANULOCSOPORT INNER JOIN T_OSZTALY ON T_TANULOCSOPORT.C_OSZTALYCSOPORTID = T_OSZTALY.ID
|
||||
WHERE T_TANULOCSOPORT.TOROLT='F'
|
||||
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
|
||||
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())) OsztalyTanuloi
|
||||
INNER JOIN
|
||||
(SELECT T_CSOPORT.ID CsoportID, C_TANULOID TanuloID FROM T_TANULOCSOPORT
|
||||
INNER JOIN T_CSOPORT ON T_TANULOCSOPORT.ID=T_CSOPORT.ID
|
||||
WHERE T_CSOPORT.TOROLT='F'
|
||||
AND T_TANULOCSOPORT.TOROLT='F'
|
||||
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
|
||||
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())
|
||||
) Csoportok ON OsztalyTanuloi.TanuloID = Csoportok.TanuloID) KapcsolodoCsoportok ON
|
||||
KapcsolodoCsoportok.OsztalyID = @osztalyId
|
||||
|
||||
where T_ORARENDIORA.TOROLT='F'
|
||||
AND naptar.TOROLT = 'F'
|
||||
AND GETDATE() >= naptar.C_NAPDATUMA
|
||||
AND T_TANITASIORA.ID IS NULL
|
||||
AND (osztaly.ID = @osztalyId OR osztaly.ID = KapcsolodoCsoportok.CsoportID)
|
||||
and naptar.C_HETSORSZAMA = @hetSorszam
|
||||
UNION ALL
|
||||
|
||||
|
||||
--Tanítási órák, amikhez nem tartozik órarendi óra
|
||||
select T_TANITASIORA.ID Id,
|
||||
naptar.C_HETSORSZAMA HetSzama,
|
||||
naptar.C_NAPDATUMA Datum,
|
||||
naptar.C_HETNAPJA Hetnapja,
|
||||
T_TANITASIORA.C_ORASZAM Oraszam,
|
||||
osztaly.C_NEV OsztalyNev,
|
||||
T_TANTARGY.C_NEV TargyNev,
|
||||
tanar.C_NYOMTATASINEV TanarNev
|
||||
|
||||
from T_TANITASIORA
|
||||
inner join T_NAPTARINAP naptar on (T_TANITASIORA.C_DATUM = naptar.C_NAPDATUMA)
|
||||
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.ID= T_TANITASIORA.C_FOGLALKOZASID
|
||||
left join T_OSZTALYCSOPORT osztaly on T_FOGLALKOZAS.C_OSZTALYCSOPORTID = osztaly.ID
|
||||
left join T_TANTARGY on T_TANTARGY.ID= T_FOGLALKOZAS.C_TANTARGYID
|
||||
|
||||
left join T_FELHASZNALO tanar on
|
||||
--Ha van helyettesítő, akkor aszerint joinolunk
|
||||
(case when T_TANITASIORA.C_HELYETTESITOTANARID IS not null then T_TANITASIORA.C_HELYETTESITOTANARID
|
||||
else T_FOGLALKOZAS.C_TANARID end) = tanar.ID
|
||||
|
||||
|
||||
left join (Select OsztalyID, CsoportID from
|
||||
(select C_OSZTALYCSOPORTID OsztalyID, C_TANULOID TanuloID from T_TANULOCSOPORT INNER JOIN T_OSZTALY ON T_TANULOCSOPORT.C_OSZTALYCSOPORTID = T_OSZTALY.ID
|
||||
WHERE T_TANULOCSOPORT.TOROLT='F'
|
||||
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
|
||||
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())) OsztalyTanuloi
|
||||
INNER JOIN
|
||||
(SELECT T_CSOPORT.ID CsoportID, C_TANULOID TanuloID FROM T_TANULOCSOPORT
|
||||
INNER JOIN T_CSOPORT ON T_TANULOCSOPORT.ID=T_CSOPORT.ID
|
||||
WHERE T_CSOPORT.TOROLT='F'
|
||||
AND T_TANULOCSOPORT.TOROLT='F'
|
||||
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
|
||||
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())
|
||||
) Csoportok ON OsztalyTanuloi.TanuloID = Csoportok.TanuloID) KapcsolodoCsoportok ON
|
||||
KapcsolodoCsoportok.OsztalyID = @osztalyId
|
||||
|
||||
where T_TANITASIORA.C_ORARENDIORAGROUPID is null
|
||||
AND T_TANITASIORA.C_MEGTARTOTT is null
|
||||
AND (osztaly.ID = @osztalyId OR osztaly.ID = KapcsolodoCsoportok.CsoportID)
|
||||
and naptar.C_HETSORSZAMA = @hetSorszam
|
||||
) Orak
|
||||
|
||||
ORDER BY Datum DESC
|
||||
END
|
|
@ -0,0 +1,168 @@
|
|||
IF OBJECT_ID('sp_GetNemMegtartottOrakSzamaByHet') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetNemMegtartottOrakSzamaByHet
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetNemMegtartottOrakSzamaByHet
|
||||
@osztalyId INT
|
||||
,@intezmenyId INT
|
||||
,@tanevId INT
|
||||
,@hetSorszam INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @vegzosUtolsoNapDatuma DATE = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND TOROLT = 'F' AND C_NAPTIPUSA = 1402)
|
||||
|
||||
DECLARE @vegzosOsztalyokCsoportok TABLE (osztalyId INT)
|
||||
INSERT INTO @vegzosOsztalyokCsoportok
|
||||
SELECT ID FROM T_OSZTALYCSOPORT_OSSZES WHERE C_VEGZOSEVFOLYAM = 'T' AND C_TANEVID = @tanevID AND TOROLT = 'F'
|
||||
|
||||
DECLARE @aktualisHetHetirendje INT = (SELECT C_HETIREND FROM T_NAPTARIHET_OSSZES WHERE C_HETSORSZAMA=@hetSorszam AND TOROLT='F' AND C_TANEVID=@tanevId)
|
||||
|
||||
DECLARE @OsszesNap TABLE (Datum DATE, Hetirend INT, OrarendiNap NVARCHAR(1), OsztalyCsoportId INT)
|
||||
INSERT INTO @OsszesNap
|
||||
SELECT DISTINCT
|
||||
C_NAPDATUMA
|
||||
,C_HETIREND
|
||||
,C_ORARENDINAP
|
||||
,kapcsolodo.Id
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
CROSS JOIN fnGetKapcsolodoOsztalycsoportok(@osztalyId) kapcsolodo
|
||||
WHERE
|
||||
C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
|
||||
DECLARE @TanevRendje TABLE (Datum DATE, Hetirend INT, OsztalyCsoportId INT, OrarendiNap NVARCHAR(1))
|
||||
INSERT INTO @TanevRendje
|
||||
SELECT
|
||||
C_DATUM
|
||||
,C_HETIREND
|
||||
,kapcsolodo.Id
|
||||
,C_ORARENDINAP
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
CROSS JOIN fnGetKapcsolodoOsztalycsoportok(@osztalyId) kapcsolodo
|
||||
WHERE
|
||||
C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
AND C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
|
||||
DECLARE @TanevRendjeOsztalyCsoportonkent TABLE (Datum DATE, Hetirend INT, OsztalyCsoportId INT, OrarendiNap NVARCHAR(1))
|
||||
INSERT INTO @TanevRendjeOsztalyCsoportonkent
|
||||
SELECT
|
||||
C_DATUM
|
||||
,C_HETIREND
|
||||
,C_OSZTALYCSOPORTID
|
||||
,C_ORARENDINAP
|
||||
FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
|
||||
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
INNER JOIN fnGetKapcsolodoOsztalycsoportok(@osztalyId) kapcsolodo ON kapcsolodo.Id = C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
|
||||
DECLARE @OrarendiNapok TABLE (Datum DATE, OsztalyCsoportId INT, Hetirend INT)
|
||||
INSERT INTO @OrarendiNapok
|
||||
SELECT
|
||||
Datum
|
||||
,OsztalyCsoportId
|
||||
,Hetirend
|
||||
FROM
|
||||
(SELECT
|
||||
OsszesNap.Datum
|
||||
,OsszesNap.OsztalyCsoportId
|
||||
,COALESCE(trocs.OrarendiNap, tr.OrarendiNap, OsszesNap.OrarendiNap) OrarendiNap
|
||||
,COALESCE(trocs.Hetirend, tr.Hetirend, OsszesNap.Hetirend) Hetirend
|
||||
FROM @OsszesNap OsszesNap
|
||||
LEFT JOIN @TanevRendje tr ON tr.Datum = OsszesNap.Datum AND tr.OsztalyCsoportId = OsszesNap.OsztalyCsoportId
|
||||
LEFT JOIN @TanevRendjeOsztalyCsoportonkent trocs ON trocs.Datum = OsszesNap.Datum AND trocs.OsztalyCsoportId = OsszesNap.OsztalyCsoportId
|
||||
WHERE
|
||||
OsszesNap.OrarendiNap = 'T' OR tr.OrarendiNap = 'T' OR trocs.OrarendiNap = 'T'
|
||||
) a
|
||||
WHERE OrarendiNap ='T'
|
||||
|
||||
SELECT
|
||||
Id AS Id
|
||||
,@hetSorszam AS HetSzama
|
||||
,C_NAPDATUMA AS Datum
|
||||
,C_HETNAPJA AS Hetnapja
|
||||
,C_ORASZAM AS Oraszam
|
||||
,C_NEV AS OsztalyNev
|
||||
,tant AS TargyNev
|
||||
,Nev AS TanarNev
|
||||
FROM
|
||||
(
|
||||
SELECT DISTINCT
|
||||
oo.id
|
||||
,naptar.C_NAPDATUMA
|
||||
,naptar.C_HETNAPJA
|
||||
,oo.C_ORASZAM
|
||||
,ocs.C_NEV
|
||||
,t.C_NEV tant
|
||||
,ISNULL(fh.C_NYOMTATASINEV, f.C_NYOMTATASINEV) Nev
|
||||
FROM T_ORARENDIORA_OSSZES oo
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar ON
|
||||
((naptar.C_NAPDATUMA >=oo.C_ORAERVENYESSEGKEZDETE AND naptar.C_NAPDATUMA < oo.C_ORAERVENYESSEGVEGE)
|
||||
OR
|
||||
(naptar.C_NAPDATUMA = oo.C_ORAERVENYESSEGKEZDETE AND naptar.C_NAPDATUMA = oo.C_ORAERVENYESSEGVEGE))
|
||||
AND oo.C_HETNAPJA=naptar.C_HETNAPJA
|
||||
AND (naptar.C_NAPTIPUSA NOT IN (1386,1387,1389,1391,1392,1396,1397,1398,1399,1401))
|
||||
INNER JOIN @OrarendiNapok OrarendiNapok ON OrarendiNapok.OsztalyCsoportId = oo.C_OSZTALYCSOPORTID AND OrarendiNapok.Datum = naptar.C_NAPDATUMA AND (OrarendiNapok.Hetirend = oo.C_HETIREND OR oo.C_HETIREND = 1554)
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao ON
|
||||
naptar.C_NAPDATUMA = tao.C_DATUM
|
||||
AND tao.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID
|
||||
AND tao.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
AND tao.TOROLT='F'
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES hely ON hely.C_HELYETTESITETTORARENDID=oo.ID AND CAST(hely.C_HELYETTESITESNAPJA AS DATE) = naptar.C_NAPDATUMA
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON oo.C_TANARID = f.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON hely.C_HELYETTESTANAROKID = f.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID=oo.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID=oo.C_TANTARGYID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID=oo.C_HETIREND AND d.C_TANEVID=oo.C_TANEVID AND d.C_INTEZMENYID=oo.C_INTEZMENYID
|
||||
WHERE
|
||||
oo.TOROLT='F'
|
||||
AND oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@osztalyId))
|
||||
AND naptar.C_NAPDATUMA <= IIF(@osztalyId IN (SELECT osztalyId FROM @vegzosOsztalyokCsoportok) AND GETDATE() >= @vegzosUtolsoNapDatuma, @vegzosUtolsoNapDatuma, GETDATE())
|
||||
AND tao.ID IS NULL
|
||||
AND hely.ID IS NULL
|
||||
AND (oo.C_TANORANKIVULIFOGLALKOZAS = 'F' OR oo.C_TANORANKIVULIFOGLALKOZAS IS NULL)
|
||||
AND oo.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND naptar.C_TANEVID = @tanevId
|
||||
AND naptar.C_HETSORSZAMA = @hetSorszam
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
oo.id
|
||||
,naptar.C_NAPDATUMA
|
||||
,naptar.C_HETNAPJA
|
||||
,oo.C_ORASZAM
|
||||
,ocs.C_NEV
|
||||
,t.C_NEV
|
||||
,f.C_NYOMTATASINEV +' (' + fh.C_NYOMTATASINEV +')'
|
||||
FROM T_HELYETTESITESIIDOSZAK_OSSZES hi
|
||||
INNER JOIN T_ORARENDIORA_OSSZES oo on oo.Id=hi.C_HELYETTESITETTORARENDID
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar on naptar.C_NAPDATUMA = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND naptar.C_TANEVID=hi.C_TANEVID AND naptar.C_INTEZMENYID=hi.C_INTEZMENYID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON oo.C_TANARID = f.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON hi.C_HELYETTESTANAROKID = fH.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID=oo.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES t ON t.ID=oo.C_TANTARGYID
|
||||
LEFT JOIN T_TEREM_OSSZES ter ON ter.ID=oo.C_TEREMID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=oo.C_HETIREND AND d.C_TANEVID=oo.C_TANEVID AND d.C_INTEZMENYID=oo.C_INTEZMENYID
|
||||
WHERE
|
||||
oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@osztalyId))
|
||||
AND (oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA=1034) OR oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES))
|
||||
AND hi.TOROLT='F'
|
||||
AND naptar.C_HETSORSZAMA = @hetSorszam
|
||||
AND (oo.C_TANORANKIVULIFOGLALKOZAS = 'F' OR oo.C_TANORANKIVULIFOGLALKOZAS IS NULL)
|
||||
AND oo.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND oo.TOROLT='F'
|
||||
AND hi.C_HELYETTESITESNAPJA <= IIF(oo.C_OSZTALYCSOPORTID IN (SELECT osztalyId FROM @vegzosOsztalyokCsoportok) AND GETDATE() >= @vegzosUtolsoNapDatuma, @vegzosUtolsoNapDatuma, GETDATE())
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM T_ORARENDIORA_OSSZES ooo
|
||||
JOIN T_TANITASIORA_OSSZES tao ON tao.C_ORARENDIORAGROUPID = ooo.C_ORARENDIORAGROUPID AND tao.C_DATUM BETWEEN ooo.C_ORAERVENYESSEGKEZDETE AND ooo.C_ORAERVENYESSEGVEGE
|
||||
WHERE tao.C_DATUM = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND ooo.ID=hi.C_HELYETTESITETTORARENDID AND tao.TOROLT='F')
|
||||
)a
|
||||
ORDER BY Datum, Oraszam
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,147 @@
|
|||
IF OBJECT_ID('sp_GetNemMegtartottOrakSzamaPerHet') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE sp_GetNemMegtartottOrakSzamaPerHet
|
||||
END
|
||||
|
||||
GO
|
||||
CREATE PROCEDURE [sp_GetNemMegtartottOrakSzamaPerHet]
|
||||
@osztalyId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @vegzosUtolsoNapDatuma DATE = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND TOROLT = 'F' AND C_NAPTIPUSA = 1402)
|
||||
|
||||
DECLARE @vegzosOsztalyokCsoportok TABLE (osztalyId INT)
|
||||
INSERT INTO @vegzosOsztalyokCsoportok
|
||||
SELECT ID FROM T_OSZTALYCSOPORT_OSSZES WHERE C_VEGZOSEVFOLYAM = 'T' AND C_TANEVID = @tanevID AND TOROLT = 'F'
|
||||
|
||||
DECLARE @OsszesNap TABLE (Datum DATE, Hetirend INT, OrarendiNap NVARCHAR(1), OsztalyCsoportId INT)
|
||||
INSERT INTO @OsszesNap
|
||||
SELECT DISTINCT
|
||||
C_NAPDATUMA
|
||||
,C_HETIREND
|
||||
,C_ORARENDINAP
|
||||
,kapcsolodo.Id
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
CROSS JOIN fnGetKapcsolodoOsztalycsoportok(@osztalyId) kapcsolodo
|
||||
WHERE
|
||||
C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
|
||||
DECLARE @TanevRendje TABLE (Datum DATE, Hetirend INT, OsztalyCsoportId INT, OrarendiNap NVARCHAR(1))
|
||||
INSERT INTO @TanevRendje
|
||||
SELECT
|
||||
C_DATUM
|
||||
,C_HETIREND
|
||||
,kapcsolodo.Id
|
||||
,C_ORARENDINAP
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
CROSS JOIN fnGetKapcsolodoOsztalycsoportok(@osztalyId) kapcsolodo
|
||||
WHERE
|
||||
C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
AND C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
|
||||
DECLARE @TanevRendjeOsztalyCsoportonkent TABLE (Datum DATE, Hetirend INT, OsztalyCsoportId INT, OrarendiNap NVARCHAR(1))
|
||||
INSERT INTO @TanevRendjeOsztalyCsoportonkent
|
||||
SELECT
|
||||
C_DATUM
|
||||
,C_HETIREND
|
||||
,C_OSZTALYCSOPORTID
|
||||
,C_ORARENDINAP
|
||||
FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
|
||||
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
INNER JOIN fnGetKapcsolodoOsztalycsoportok(@osztalyId) kapcsolodo ON kapcsolodo.Id = C_OSZTALYCSOPORTID
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
|
||||
DECLARE @OrarendiNapok TABLE (Datum DATE, OsztalyCsoportId INT, Hetirend INT)
|
||||
INSERT INTO @OrarendiNapok
|
||||
SELECT
|
||||
Datum
|
||||
,OsztalyCsoportId
|
||||
,Hetirend
|
||||
FROM
|
||||
(SELECT
|
||||
OsszesNap.Datum
|
||||
,OsszesNap.OsztalyCsoportId
|
||||
,COALESCE(trocs.OrarendiNap, tr.OrarendiNap, OsszesNap.OrarendiNap) OrarendiNap
|
||||
,COALESCE(trocs.Hetirend, tr.Hetirend, OsszesNap.Hetirend) Hetirend
|
||||
FROM @OsszesNap OsszesNap
|
||||
LEFT JOIN @TanevRendje tr ON tr.Datum = OsszesNap.Datum AND tr.OsztalyCsoportId = OsszesNap.OsztalyCsoportId
|
||||
LEFT JOIN @TanevRendjeOsztalyCsoportonkent trocs ON trocs.Datum = OsszesNap.Datum AND trocs.OsztalyCsoportId = OsszesNap.OsztalyCsoportId
|
||||
WHERE
|
||||
OsszesNap.OrarendiNap = 'T' OR tr.OrarendiNap = 'T' OR trocs.OrarendiNap = 'T'
|
||||
) a
|
||||
WHERE OrarendiNap ='T'
|
||||
|
||||
SELECT
|
||||
HetSorszam HetSorszama
|
||||
,count(ID) NemNaplozottOrakSzama
|
||||
,@osztalyId OsztalyID
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
Id
|
||||
,HetSorszam
|
||||
FROM
|
||||
(
|
||||
SELECT DISTINCT
|
||||
naptar.C_HETSORSZAMA HetSorszam
|
||||
,oo.Id Id
|
||||
FROM T_ORARENDIORA_OSSZES oo
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar ON
|
||||
((naptar.C_NAPDATUMA >=oo.C_ORAERVENYESSEGKEZDETE AND naptar.C_NAPDATUMA < oo.C_ORAERVENYESSEGVEGE)
|
||||
OR
|
||||
(naptar.C_NAPDATUMA = oo.C_ORAERVENYESSEGKEZDETE AND naptar.C_NAPDATUMA = oo.C_ORAERVENYESSEGVEGE))
|
||||
AND oo.C_HETNAPJA=naptar.C_HETNAPJA
|
||||
AND (naptar.C_NAPTIPUSA NOT IN (1386,1387,1389,1391,1392,1396,1397,1398,1399,1401))
|
||||
INNER JOIN @OrarendiNapok OrarendiNapok ON OrarendiNapok.OsztalyCsoportId = oo.C_OSZTALYCSOPORTID AND OrarendiNapok.Datum = naptar.C_NAPDATUMA AND (OrarendiNapok.Hetirend = oo.C_HETIREND OR oo.C_HETIREND = 1554)
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao ON
|
||||
naptar.C_NAPDATUMA = tao.C_DATUM
|
||||
AND tao.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID
|
||||
AND tao.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
AND tao.TOROLT='F'
|
||||
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES hely ON hely.C_HELYETTESITETTORARENDID=oo.ID AND CAST(hely.C_HELYETTESITESNAPJA AS DATE) = naptar.C_NAPDATUMA
|
||||
WHERE
|
||||
oo.TOROLT='F'
|
||||
AND oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@osztalyId))
|
||||
AND naptar.C_NAPDATUMA <= IIF(@osztalyId IN (SELECT osztalyId FROM @vegzosOsztalyokCsoportok) AND GETDATE() >= @vegzosUtolsoNapDatuma, @vegzosUtolsoNapDatuma, GETDATE())
|
||||
AND tao.ID IS NULL
|
||||
AND hely.ID IS NULL
|
||||
AND (oo.C_TANORANKIVULIFOGLALKOZAS = 'F' OR oo.C_TANORANKIVULIFOGLALKOZAS IS NULL)
|
||||
AND oo.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND naptar.C_TANEVID = @tanevId
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
naptar.C_HETSORSZAMA HetSorszam
|
||||
,hi.ID Id
|
||||
FROM T_HELYETTESITESIIDOSZAK_OSSZES hi
|
||||
INNER JOIN T_ORARENDIORA_OSSZES oo on oo.Id=hi.C_HELYETTESITETTORARENDID
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar on naptar.C_NAPDATUMA = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND naptar.C_TANEVID=hi.C_TANEVID AND naptar.C_INTEZMENYID=hi.C_INTEZMENYID
|
||||
WHERE
|
||||
oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(@osztalyId))
|
||||
AND (oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA=1034) OR oo.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES))
|
||||
AND hi.TOROLT='F'
|
||||
AND (oo.C_TANORANKIVULIFOGLALKOZAS = 'F' OR oo.C_TANORANKIVULIFOGLALKOZAS IS NULL)
|
||||
AND oo.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND oo.TOROLT='F'
|
||||
AND hi.C_HELYETTESITESNAPJA <= IIF(oo.C_OSZTALYCSOPORTID IN (SELECT osztalyId FROM @vegzosOsztalyokCsoportok) AND GETDATE() >= @vegzosUtolsoNapDatuma, @vegzosUtolsoNapDatuma, GETDATE())
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM T_ORARENDIORA_OSSZES ooo
|
||||
JOIN T_TANITASIORA_OSSZES tao ON tao.C_ORARENDIORAGROUPID = ooo.C_ORARENDIORAGROUPID AND tao.C_DATUM BETWEEN ooo.C_ORAERVENYESSEGKEZDETE AND ooo.C_ORAERVENYESSEGVEGE
|
||||
WHERE tao.C_DATUM = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND ooo.ID=hi.C_HELYETTESITETTORARENDID AND tao.TOROLT='F'
|
||||
)
|
||||
|
||||
)a
|
||||
)a
|
||||
GROUP BY HetSorszam
|
||||
ORDER BY HetSorszam
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,137 @@
|
|||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetOralatogatasok') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOralatogatasok
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetOralatogatasok]
|
||||
@IntezmenyId int,
|
||||
@TanevId int,
|
||||
@IdoszakKezdete datetime,
|
||||
@IdoszakVege datetime,
|
||||
@TanarId int
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @KezdoHet int = DATEPART( ISO_WEEK, @IdoszakKezdete);
|
||||
DECLARE @ZaroHet int = DATEPART( ISO_WEEK, @IdoszakVege);
|
||||
|
||||
SELECT
|
||||
Datum,
|
||||
CASE
|
||||
WHEN TanevHetirend is null THEN NapHetirend
|
||||
ELSE TanevHetirend
|
||||
END Hetirend,
|
||||
CASE
|
||||
WHEN TanevHetNapja is null THEN NapHetNapja
|
||||
ELSE TanevHetNapja
|
||||
END HetNapja
|
||||
INTO
|
||||
#TEMPORARENDINAPOK
|
||||
from(
|
||||
SELECT
|
||||
NAPTARINAP.Datum Datum,
|
||||
napHetirend.C_HETIREND NapHetirend,
|
||||
napHetirend.C_HETNAPJA NapHetNapja,
|
||||
tanevRendHetirend.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja
|
||||
FROM /*ÁTÍRANDÓÓÓ*/
|
||||
(
|
||||
/*Minden naptári nap, ami az időintervallumba beleesik.*/
|
||||
(SELECT C_NAPDATUMA Datum FROM T_NAPTARINAP_OSSZES NAPTARINAP WHERE (TOROLT = 'F' AND C_NAPDATUMA BETWEEN @IdoszakKezdete AND @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId))
|
||||
EXCEPT /*Kivéve, ha van aznap kiemelt típusú tanévrendje esemény, vagy olyan esemény, aminél C_ORARENDINAP = 'F'.*/
|
||||
(SELECT C_DATUM Datum FROM T_TANEVRENDJE_OSSZES TANEVRENDJE WHERE (TOROLT = 'F' AND (C_NAPTIPUSA IN (1386,1387,1389,1391,1392,1396,1397,1398,1399,1401) OR C_ORARENDINAP = 'F') AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId))
|
||||
UNION /*Azokat a dátumokat vegyük hozzá, amely napokon van C_ORARENDINAP = 'T' és C_ORARENDINAP = 'F' esemény is felvéve.*/
|
||||
(
|
||||
SELECT
|
||||
Datum
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
C_DATUM Datum,
|
||||
COUNT (C_DATUM) DatumCounter
|
||||
FROM
|
||||
(SELECT C_DATUM, C_ORARENDINAP FROM T_TANEVRENDJE_OSSZES TANEVRENDJE WHERE (TOROLT = 'F') AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId) TANEVRENDJE1
|
||||
GROUP BY
|
||||
C_ORARENDINAP,
|
||||
C_DATUM
|
||||
) TANEVRENDJE2
|
||||
GROUP BY
|
||||
Datum
|
||||
HAVING
|
||||
COUNT(Datum) = 2
|
||||
)
|
||||
) NAPTARINAP
|
||||
left join (select C_NAPDATUMA, C_HETIREND, C_HETNAPJA from T_NAPTARINAP_OSSZES WHERE TOROLT = 'F') napHetirend on napHetirend.C_NAPDATUMA = NAPTARINAP.Datum
|
||||
left join (select C_DATUM, C_HETIREND, C_HETNAPJA from T_TANEVRENDJE_OSSZES WHERE TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.Datum
|
||||
) NapokHetirenddel
|
||||
|
||||
-- Vegzosok utolso tanitasi napja
|
||||
DECLARE @VegzosUtolsoTanitasiNap_spGetOrarend DATETIME;
|
||||
SELECT
|
||||
@VegzosUtolsoTanitasiNap_spGetOrarend = C_DATUM
|
||||
FROM
|
||||
T_TANEVRENDJE_OSSZES
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_TANEVID = (SELECT ID FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND C_AKTIV = 'T' AND C_INTEZMENYID = @IntezmenyId)
|
||||
AND C_NAPTIPUSA = 1402 AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
|
||||
|
||||
-- Tanítási órák
|
||||
SELECT
|
||||
TANITASIORA.ID Id,
|
||||
oo.ID ORARENDIID,
|
||||
TANITASIORA.C_BONTOTT Bontott,
|
||||
( SELECT
|
||||
T_NAPTARINAP_OSSZES.C_HETIREND
|
||||
FROM
|
||||
T_NAPTARINAP_OSSZES
|
||||
WHERE
|
||||
T_NAPTARINAP_OSSZES.ID = TANITASIORA.C_NAPTARINAPID
|
||||
) Hetirend,
|
||||
TANITASIORA.C_HETNAPJA HetNapja,
|
||||
'' ErvenyessegKezdete,
|
||||
'' ErvenyessegVege,
|
||||
TANITASIORA.C_ORAKEZDETE OraKezdete,
|
||||
TANITASIORA.C_ORAVEGE OraVege,
|
||||
TANITASIORA.C_ORASZAM Oraszam,
|
||||
TARGY.C_ROVIDNEV TargyNev,
|
||||
TANITASIORA.C_MEGTARTOTT Megtartott,
|
||||
TANITASIORA.C_CSENGETESIRENDORAID CsengetesiRendOraID,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
TANAR.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'TanitasiOra' OraTipus,
|
||||
TANITASIORA.C_HELYETTESITOTANARID HelyettesitoTanarID,
|
||||
TANAR.ID TanarID
|
||||
INTO #TEMPORAK
|
||||
FROM
|
||||
T_TANITASIORA_OSSZES TANITASIORA
|
||||
LEFT JOIN T_TANTARGY_OSSZES TARGY ON (TARGY.ID = TANITASIORA.C_TANTARGYID AND TARGY.C_INTEZMENYID = @IntezmenyId AND TARGY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_ORAK_TANAROK ON TANITASIORA.ID = T_ORAK_TANAROK.C_ORAKID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES TANAR on T_ORAK_TANAROK.C_TANAROKID = TANAR.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OSZTALY on (TANITASIORA.C_OSZTALYCSOPORTID = OSZTALY.ID AND OSZTALY.C_INTEZMENYID = @IntezmenyId AND OSZTALY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_TEREM_OSSZES TEREM on (TEREM.id = TANITASIORA.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_ORARENDIORA oo ON TANITASIORA.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND TANITASIORA.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
WHERE
|
||||
TANITASIORA.TOROLT='F' AND TANITASIORA.C_INTEZMENYID = @IntezmenyId AND TANITASIORA.C_TANEVID=@TanevId
|
||||
AND TANITASIORA.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND TANITASIORA.C_MEGTARTOTT = 'T'
|
||||
AND (TANITASIORA.C_ORAKEZDETE >= @IdoszakKezdete
|
||||
AND TANITASIORA.C_ORAVEGE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END))
|
||||
AND (@TanarId IS NULL OR ( TANITASIORA.C_HELYETTESITOTANARID = @TanarId OR TANITASIORA.C_ORATULAJDONOSID = @TanarId OR T_ORAK_TANAROK.C_TANAROKID = @TanarId ))
|
||||
|
||||
SELECT * FROM #TEMPORAK order by orakezdete
|
||||
|
||||
DROP TABLE #TEMPORAK
|
||||
DROP TABLE #TEMPORARENDINAPOK
|
||||
END
|
|
@ -0,0 +1,275 @@
|
|||
-- =============================================
|
||||
-- Author: Sólyom Péter
|
||||
-- Create date: 2016.02.16.
|
||||
-- Description: Órarend lekérdezése.
|
||||
-- =============================================
|
||||
IF OBJECT_ID('dbo.sp_GetOrarend') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetOrarend
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetOrarend]
|
||||
@IntezmenyId int,
|
||||
@TanevId int,
|
||||
@IdoszakKezdete datetime,
|
||||
@IdoszakVege datetime,
|
||||
@TanarId int,
|
||||
@OsztalyCsoportId int,
|
||||
@TanuloId int,
|
||||
@CsakOrarendiOrak bit
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE
|
||||
@KezdoHet int = DATEPART( ISO_WEEK, @IdoszakKezdete),
|
||||
@ZaroHet int = DATEPART( ISO_WEEK, @IdoszakVege);
|
||||
|
||||
SELECT Distinct
|
||||
Datum,
|
||||
ISNULL(TanevHetirend, NapHetirend) Hetirend,
|
||||
ISNULL(TanevHetNapja, NapHetNapja) HetNapja,
|
||||
OsztalyCsoportId
|
||||
INTO #TEMPORARENDINAPOK
|
||||
FROM (
|
||||
SELECT
|
||||
NAPTARINAP.Datum Datum,
|
||||
NAPTARINAP.NapHetirend,
|
||||
NAPTARINAP.NapHetNapja,
|
||||
NAPTARINAP.TanevHetirend,
|
||||
NAPTARINAP.TanevHetNapja,
|
||||
NAPTARINAP.OsztalyCsoportId
|
||||
FROM (
|
||||
(
|
||||
SELECT
|
||||
C_NAPDATUMA Datum,
|
||||
C_HETIREND NapHetirend,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), C_HETNAPJA) NapHetNapja,
|
||||
null TanevHetirend,
|
||||
null TanevHetNapja,
|
||||
null OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
WHERE (TOROLT = 'F' AND C_NAPDATUMA >= @IdoszakKezdete AND C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
union
|
||||
(
|
||||
SELECT
|
||||
NAPTARINAP.C_NAPDATUMA Datum,
|
||||
NAPTARINAP.C_HETIREND NapHetirend,
|
||||
IIF(NAPTARINAP.C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), NAPTARINAP.C_HETNAPJA) NapHetNapja,
|
||||
tanevRendHetirend.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja,
|
||||
tanevRendHetirend.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES NAPTARINAP
|
||||
inner JOIN (
|
||||
SELECT
|
||||
C_DATUM,
|
||||
C_HETIREND,
|
||||
T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_DATUM), C_HETNAPJA) AS C_HETNAPJA
|
||||
from T_TANEVRENDJE_OSSZES
|
||||
inner Join T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
WHERE TOROLT = 'F' AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId And TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.C_NAPDATUMA
|
||||
WHERE (TOROLT = 'F' AND NAPTARINAP.C_NAPDATUMA >= @IdoszakKezdete AND NAPTARINAP.C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
) NAPTARINAP
|
||||
) result
|
||||
|
||||
|
||||
-- Vegzosok utolso tanitasi napja
|
||||
DECLARE @VegzosUtolsoTanitasiNap_spGetOrarend DATETIME;
|
||||
SELECT
|
||||
@VegzosUtolsoTanitasiNap_spGetOrarend = C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_TANEVID = (SELECT ID FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND C_AKTIV = 'T' AND C_INTEZMENYID = @IntezmenyId)
|
||||
AND C_NAPTIPUSA = 1402 AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
|
||||
DECLARE @tempCsoportok TABLE (CsoportID int PRIMARY KEY, Oka nvarchar(20))
|
||||
IF @OsztalyCsoportId IS NOT NULL
|
||||
BEGIN
|
||||
INSERT INTO @tempCsoportok (CsoportID, Oka)
|
||||
SELECT ID as CsoportID, OKA AS Oka
|
||||
FROM dbo.fnGetKapcsolodoOsztalycsoportokByDate(@OsztalyCsoportId,@IdoszakKezdete,@IdoszakVege)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @tempCsoportok (CsoportID, Oka)
|
||||
SELECT ID as CsoportID, '' AS Oka
|
||||
FROM T_OSZTALYCSOPORT_OSSZES WHERE C_TANEVID = @TanevId
|
||||
END
|
||||
|
||||
|
||||
-- Tanítási órák
|
||||
SELECT
|
||||
TANITASIORA.ID Id,
|
||||
oo.ID ORARENDIID,
|
||||
TANITASIORA.C_BONTOTT Bontott,
|
||||
(
|
||||
SELECT T_NAPTARINAP_OSSZES.C_HETIREND
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
WHERE T_NAPTARINAP_OSSZES.ID = TANITASIORA.C_NAPTARINAPID
|
||||
) Hetirend,
|
||||
TANITASIORA.C_HETNAPJA HetNapja,
|
||||
CAST(null AS datetime) ErvenyessegKezdete,
|
||||
CAST(null AS datetime) ErvenyessegVege,
|
||||
TANITASIORA.C_ORAKEZDETE OraKezdete,
|
||||
TANITASIORA.C_ORAVEGE OraVege,
|
||||
TANITASIORA.C_ORASZAM Oraszam,
|
||||
ISNULL(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNev,
|
||||
COALESCE(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNevForMobile,
|
||||
TARGY.C_TARGYKATEGORIA TargykategoriaID,
|
||||
TANITASIORA.C_MEGTARTOTT Megtartott,
|
||||
TANITASIORA.C_CSENGETESIRENDORAID CsengetesiRendOraID,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
CAST(null AS int) TanevRendOsztalyCsoportId,
|
||||
tcs.OKA AS MegjelenesOka,
|
||||
TANAR.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'TanitasiOra' OraTipus,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1500 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.hianyzas
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Hianyzas,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1499 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.keses
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Keses,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1817 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.ures
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Ures,
|
||||
TANITASIORA.C_HELYETTESITOTANARID HelyettesitoTanarID,
|
||||
HELYETTESTANAR.C_NYOMTATASINEV HelyettesitoTanarNev,
|
||||
TANAR.ID TanarID,
|
||||
TANITASIORA.C_ADMINALTALKIIRT AdminAltalKiirt,
|
||||
TANITASIORA.C_TEMA as Tema
|
||||
INTO #TEMPORAK
|
||||
FROM T_TANITASIORA_OSSZES TANITASIORA
|
||||
INNER JOIN @tempCsoportok tcs ON tcs.CsoportID = TANITASIORA.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES TARGY ON (TARGY.ID = TANITASIORA.C_TANTARGYID AND TARGY.C_INTEZMENYID = @IntezmenyId AND TARGY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_ORAK_TANAROK ON TANITASIORA.ID = T_ORAK_TANAROK.C_ORAKID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES TANAR on T_ORAK_TANAROK.C_TANAROKID = TANAR.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OSZTALY on (TANITASIORA.C_OSZTALYCSOPORTID = OSZTALY.ID AND OSZTALY.C_INTEZMENYID = @IntezmenyId AND OSZTALY.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_TEREM_OSSZES TEREM on (TEREM.id = TANITASIORA.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES HELYETTESTANAR on TANITASIORA.C_HELYETTESITOTANARID = HELYETTESTANAR.ID
|
||||
LEFT JOIN T_ORARENDIORA_OSSZES oo ON TANITASIORA.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND TANITASIORA.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
WHERE @CsakOrarendiOrak = 0
|
||||
AND TANITASIORA.TOROLT='F' AND TANITASIORA.C_INTEZMENYID = @IntezmenyId AND TANITASIORA.C_TANEVID=@TanevId
|
||||
AND TANITASIORA.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND (TANITASIORA.C_ORAKEZDETE >= @IdoszakKezdete
|
||||
AND TANITASIORA.C_ORAVEGE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN DATEADD(DAY, 1, @VegzosUtolsoTanitasiNap_spGetOrarend) ELSE @IdoszakVege END))
|
||||
AND (@TanarId IS NULL OR ( TANITASIORA.C_HELYETTESITOTANARID = @TanarId OR TANITASIORA.C_ORATULAJDONOSID = @TanarId OR T_ORAK_TANAROK.C_TANAROKID = @TanarId ))
|
||||
AND ( @TanuloId IS NULL OR EXISTS (
|
||||
SELECT 1 FROM T_TANULOCSOPORT_OSSZES TANCSOP
|
||||
WHERE
|
||||
TANCSOP.C_OSZTALYCSOPORTID = TANITASIORA.C_OSZTALYCSOPORTID
|
||||
AND TANCSOP.TOROLT = 'F' AND TANCSOP.C_INTEZMENYID = @IntezmenyId AND TANCSOP.C_TANEVID=@TanevId
|
||||
AND TANCSOP.C_BELEPESDATUM < GETDATE()
|
||||
AND (TANCSOP.C_KILEPESDATUM IS NULL OR TANCSOP.C_KILEPESDATUM >= GETDATE())
|
||||
AND TANCSOP.C_TANULOID = @TanuloId
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
-- Órarendi órák
|
||||
INSERT INTO #TEMPORAK
|
||||
SELECT
|
||||
OrarendiOrak.Id, ORARENDIID, Bontott, Hetirend, HetNapja, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, OraVege,
|
||||
Oraszam, TargyNev, TargyNevForMobile, TargykategoriaID, Megtartott, CsengetesiRendOraID, OsztalyNev,TanevRendOsztalyCsoportId, MegjelenesOka, TanarNev, TeremNev, OraTipus, Hianyzas, Keses, Ures,
|
||||
T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESTANAROKID HelyettesitoTanarID, HELYETTESTANAR.C_NYOMTATASINEV HelyettesitoTanarNev, TanarID,AdminAltalKiirt, Tema
|
||||
FROM (
|
||||
SELECT
|
||||
T_ORARENDIORA_OSSZES.ID Id,
|
||||
T_ORARENDIORA_OSSZES.ID ORARENDIID,
|
||||
T_ORARENDIORA_OSSZES.C_BONTOTT Bontott,
|
||||
T_ORARENDIORA_OSSZES.C_HETIREND Hetirend,
|
||||
T_ORARENDIORA_OSSZES.C_HETNAPJA HetNapja,
|
||||
T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE ErvenyessegKezdete,
|
||||
T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE ErvenyessegVege,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA_OSSZES.C_ORAKEZDETE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA_OSSZES.C_ORAKEZDETE), ORARENDINAPOK.DATUM)) OraKezdete,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA_OSSZES.C_ORAVEGE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA_OSSZES.C_ORAVEGE), ORARENDINAPOK.DATUM)) OraVege,
|
||||
T_ORARENDIORA_OSSZES.C_ORASZAM Oraszam,
|
||||
ISNULL(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNev,
|
||||
COALESCE(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNevForMobile,
|
||||
TARGY.C_TARGYKATEGORIA TargykategoriaID,
|
||||
'F' Megtartott,
|
||||
T_ORARENDIORA_OSSZES.C_CSENGETESIRENDORAID CsengetesiRendOraID,
|
||||
OSZTALY.C_NEV AS OsztalyNev,
|
||||
ORARENDINAPOK.OsztalyCsoportId TanevRendOsztalyCsoportId,
|
||||
tcs.OKA AS MegjelenesOka,
|
||||
TANAR.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'OrarendiOra' OraTipus,
|
||||
'F' Hianyzas,
|
||||
'F' Keses,
|
||||
'F' Ures,
|
||||
TANAR.ID TanarID,
|
||||
'F' AdminAltalKiirt,
|
||||
NULL AS Tema
|
||||
FROM T_ORARENDIORA_OSSZES
|
||||
INNER JOIN @tempCsoportok tcs ON tcs.CsoportID = T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID
|
||||
INNER JOIN #TEMPORARENDINAPOK ORARENDINAPOK ON (( T_ORARENDIORA_OSSZES.C_HETIREND = 1554 OR ORARENDINAPOK.HETIREND = T_ORARENDIORA_OSSZES.C_HETIREND ) AND ORARENDINAPOK.HETNAPJA = T_ORARENDIORA_OSSZES.C_HETNAPJA And (T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID = ORARENDINAPOK.OsztalyCsoportId or ORARENDINAPOK.OsztalyCsoportId is null) )
|
||||
LEFT JOIN T_TANTARGY_OSSZES TARGY ON TARGY.ID = T_ORARENDIORA_OSSZES.C_TANTARGYID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES TANAR ON TANAR.ID = T_ORARENDIORA_OSSZES.C_TANARID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OSZTALY ON T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID = OSZTALY.ID
|
||||
LEFT JOIN T_TEREM_OSSZES TEREM on (TEREM.id = T_ORARENDIORA_OSSZES.C_TEREMID AND TEREM.C_INTEZMENYID = @IntezmenyId AND TEREM.C_TANEVID=@TanevId)
|
||||
WHERE
|
||||
T_ORARENDIORA_OSSZES.TOROLT='F'
|
||||
AND T_ORARENDIORA_OSSZES.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND T_ORARENDIORA_OSSZES.C_INTEZMENYID = @IntezmenyId
|
||||
AND T_ORARENDIORA_OSSZES.C_TANEVID = @TanevId
|
||||
AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE >= @IdoszakKezdete
|
||||
AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END)
|
||||
AND ORARENDINAPOK.DATUM BETWEEN @IdoszakKezdete AND (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap_spGetOrarend IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap_spGetOrarend THEN @VegzosUtolsoTanitasiNap_spGetOrarend ELSE @IdoszakVege END)
|
||||
AND (
|
||||
(ORARENDINAPOK.DATUM >= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM < T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE)
|
||||
OR
|
||||
(ORARENDINAPOK.DATUM = T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM = T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE)
|
||||
)
|
||||
AND (@TanuloId IS NULL OR EXISTS (
|
||||
SELECT 1 FROM T_TANULOCSOPORT_OSSZES TANCSOP
|
||||
WHERE
|
||||
TANCSOP.C_OSZTALYCSOPORTID = T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID
|
||||
AND TANCSOP.TOROLT = 'F' AND TANCSOP.C_INTEZMENYID = @IntezmenyId AND TANCSOP.C_TANEVID=@TanevId
|
||||
AND TANCSOP.C_BELEPESDATUM < GETDATE()
|
||||
AND (TANCSOP.C_KILEPESDATUM IS NULL OR TANCSOP.C_KILEPESDATUM >= GETDATE())
|
||||
AND TANCSOP.C_TANULOID = @TanuloId )
|
||||
)
|
||||
) OrarendiOrak
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES on (OrarendiOrak.ID = T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESITETTORARENDID
|
||||
And T_HELYETTESITESIIDOSZAK_OSSZES.C_HETSORSZAMA >= @KezdoHet
|
||||
And (T_HELYETTESITESIIDOSZAK_OSSZES.C_HETSORSZAMA <= @ZaroHet) And T_HELYETTESITESIIDOSZAK_OSSZES.TOROLT = 'F' AND DATEDIFF(DAY, OrarendiOrak.OraKezdete, T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESITESNAPJA) = 0
|
||||
)
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES HELYETTESTANAR ON HELYETTESTANAR.ID = T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESTANAROKID
|
||||
WHERE (@TanarId IS NULL OR OrarendiOrak.TanarID = @TanarId Or T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESTANAROKID = @TanarId)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM #TEMPORAK TANORAK
|
||||
WHERE TANORAK.ORARENDIID = OrarendiOrak.ID
|
||||
AND DATEDIFF(DAY, TANORAK.OraKezdete, OrarendiOrak.OraKezdete) = 0
|
||||
AND DATEDIFF(DAY, TANORAK.OraVege, OrarendiOrak.OraVege) = 0
|
||||
)
|
||||
|
||||
SELECT * FROM #TEMPORAK order by orakezdete
|
||||
|
||||
DROP TABLE #TEMPORAK
|
||||
DROP TABLE #TEMPORARENDINAPOK
|
||||
END
|
|
@ -0,0 +1,270 @@
|
|||
-- =============================================
|
||||
-- Author: Sólyom Péter
|
||||
-- Create date: 2016.02.16.
|
||||
-- Description: Órarend lekérdezése.
|
||||
-- =============================================
|
||||
|
||||
IF OBJECT_ID('sp_GetOrarendTanoranKivuli') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE sp_GetOrarendTanoranKivuli
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [sp_GetOrarendTanoranKivuli]
|
||||
@IntezmenyId int,
|
||||
@TanevId int,
|
||||
@IdoszakKezdete datetime,
|
||||
@IdoszakVege datetime,
|
||||
@TanarId int,
|
||||
@OsztalyCsoportId int,
|
||||
@TanuloId int,
|
||||
@CsakOrarendiOrak bit
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @KezdoHet int = DATEPART( ISO_WEEK, @IdoszakKezdete);
|
||||
DECLARE @ZaroHet int = DATEPART( ISO_WEEK, @IdoszakVege);
|
||||
|
||||
SELECT Distinct
|
||||
Datum,
|
||||
ISNULL(TanevHetirend, NapHetirend) Hetirend,
|
||||
ISNULL(TanevHetNapja, NapHetNapja) HetNapja,
|
||||
OsztalyCsoportId
|
||||
INTO #TEMPORARENDINAPOK
|
||||
FROM (
|
||||
SELECT
|
||||
NAPTARINAP.Datum Datum,
|
||||
NAPTARINAP.NapHetirend,
|
||||
NAPTARINAP.NapHetNapja,
|
||||
NAPTARINAP.TanevHetirend,
|
||||
NAPTARINAP.TanevHetNapja,
|
||||
NAPTARINAP.OsztalyCsoportId
|
||||
FROM (
|
||||
(
|
||||
SELECT
|
||||
C_NAPDATUMA Datum,
|
||||
C_HETIREND NapHetirend,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), C_HETNAPJA) NapHetNapja,
|
||||
null TanevHetirend,
|
||||
null TanevHetNapja,
|
||||
null OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES
|
||||
WHERE (TOROLT = 'F' AND C_NAPDATUMA >= @IdoszakKezdete AND C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
union
|
||||
(
|
||||
SELECT
|
||||
NAPTARINAP.C_NAPDATUMA Datum,
|
||||
NAPTARINAP.C_HETIREND NapHetirend,
|
||||
IIF(NAPTARINAP.C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_NAPDATUMA), NAPTARINAP.C_HETNAPJA) NapHetNapja,
|
||||
tanevRendHetirend.C_HETIREND TanevHetirend,
|
||||
tanevRendHetirend.C_HETNAPJA TanevHetNapja,
|
||||
tanevRendHetirend.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
FROM T_NAPTARINAP_OSSZES NAPTARINAP
|
||||
inner JOIN (
|
||||
SELECT
|
||||
C_DATUM,
|
||||
C_HETIREND,
|
||||
T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID,
|
||||
IIF(C_HETNAPJA = 1407, dbo.fnGetHetNapja(C_DATUM), C_HETNAPJA) AS C_HETNAPJA
|
||||
from T_TANEVRENDJE_OSSZES
|
||||
inner Join T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
WHERE TOROLT = 'F' AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId And TOROLT = 'F') tanevRendHetirend on tanevRendHetirend.C_DATUM = NAPTARINAP.C_NAPDATUMA
|
||||
WHERE (TOROLT = 'F' AND NAPTARINAP.C_NAPDATUMA >= @IdoszakKezdete AND NAPTARINAP.C_NAPDATUMA < @IdoszakVege AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId)
|
||||
)
|
||||
) NAPTARINAP
|
||||
) result
|
||||
|
||||
-- Vegzosok utolso tanitasi napja
|
||||
DECLARE @VegzosUtolsoTanitasiNap DATETIME;
|
||||
SELECT
|
||||
@VegzosUtolsoTanitasiNap = C_DATUM
|
||||
FROM
|
||||
T_TANEVRENDJE_OSSZES
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND C_TANEVID = (SELECT ID FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND C_AKTIV = 'T' AND C_INTEZMENYID = @IntezmenyId)
|
||||
AND C_NAPTIPUSA = 1402 AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
|
||||
DECLARE @TEMPCSOPORTOK TABLE (CsoportID int PRIMARY KEY, Oka nvarchar(20))
|
||||
IF @OsztalyCsoportId IS NOT NULL
|
||||
BEGIN
|
||||
INSERT INTO @tempCsoportok (CsoportID, Oka)
|
||||
SELECT ID as CsoportID, OKA AS Oka
|
||||
FROM dbo.fnGetKapcsolodoOsztalycsoportokByDate(@OsztalyCsoportId,@IdoszakKezdete,@IdoszakVege)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @tempCsoportok (CsoportID, Oka)
|
||||
SELECT ID as CsoportID, '' AS Oka
|
||||
FROM T_OSZTALYCSOPORT_OSSZES WHERE C_TANEVID = @TanevId
|
||||
END
|
||||
|
||||
-- Tanítási órák
|
||||
SELECT
|
||||
TANITASIORA.ID Id,
|
||||
oo.ID ORARENDIID,
|
||||
TANITASIORA.C_BONTOTT Bontott,
|
||||
( SELECT
|
||||
T_NAPTARINAP_OSSZES.C_HETIREND
|
||||
FROM
|
||||
T_NAPTARINAP_OSSZES
|
||||
WHERE
|
||||
T_NAPTARINAP_OSSZES.ID = TANITASIORA.C_NAPTARINAPID
|
||||
) Hetirend,
|
||||
TANITASIORA.C_HETNAPJA HetNapja,
|
||||
CAST('19000101' AS DATETIME) ErvenyessegKezdete,
|
||||
CAST('19000101' AS DATETIME) ErvenyessegVege,
|
||||
TANITASIORA.C_ORAKEZDETE OraKezdete,
|
||||
TANITASIORA.C_ORAVEGE OraVege,
|
||||
ISNULL(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNev,
|
||||
TANITASIORA.C_MEGTARTOTT Megtartott,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
CAST(null AS int) TanevRendOsztalyCsoportId,
|
||||
fh.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'TanitasiOra' OraTipus,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1500 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.hianyzas
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Hianyzas,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1499 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.keses
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Keses,
|
||||
CASE WHEN (@TanuloId IS NOT NULL AND
|
||||
(SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS_OSSZES MULASZTAS
|
||||
WHERE MULASZTAS.C_ORATANULOIID = @TanuloId
|
||||
AND MULASZTAS.C_TANITASIORAKID = TANITASIORA.ID AND C_INTEZMENYID = @IntezmenyId AND C_TANEVID=@TanevId
|
||||
AND MULASZTAS.C_TIPUS = 1817 AND MULASZTAS.TOROLT = 'F') > 0) --Kreta.Enums.MulasztasTipusEnum.ures
|
||||
THEN 'T'
|
||||
ELSE 'F'
|
||||
END AS Ures,
|
||||
TANITASIORA.C_HELYETTESITOTANARID HelyettesitoTanarID,
|
||||
HELYETTESTANAR.C_NYOMTATASINEV HelyettesitoTanarNev,
|
||||
fh.ID TanarID,
|
||||
null as HelyettesitesId,
|
||||
TANITASIORA.C_ADMINALTALKIIRT AdminAltalKiirt,
|
||||
TANITASIORA.C_TEMA as Tema
|
||||
INTO #TEMPORAK
|
||||
FROM T_TANITASIORA_OSSZES TANITASIORA
|
||||
INNER JOIN @TEMPCSOPORTOK tcs ON tcs.CsoportID = TANITASIORA.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES TARGY ON (TARGY.ID = TANITASIORA.C_TANTARGYID)
|
||||
LEFT JOIN T_ORAK_TANAROK ON TANITASIORA.ID = T_ORAK_TANAROK.C_ORAKID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh on T_ORAK_TANAROK.C_TANAROKID = fh.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OSZTALY on (TANITASIORA.C_OSZTALYCSOPORTID = OSZTALY.ID )
|
||||
LEFT JOIN T_TEREM_OSSZES TEREM on (TEREM.id = TANITASIORA.C_TEREMID )
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES HELYETTESTANAR on TANITASIORA.C_HELYETTESITOTANARID = HELYETTESTANAR.ID
|
||||
LEFT JOIN T_ORARENDIORA_OSSZES oo ON TANITASIORA.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND TANITASIORA.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
WHERE @CsakOrarendiOrak = 0 -- TANÓRA IS
|
||||
AND TANITASIORA.TOROLT='F' AND TANITASIORA.C_INTEZMENYID = @IntezmenyId AND TANITASIORA.C_TANEVID=@TanevId
|
||||
AND TANITASIORA.C_CSENGETESIRENDORAID IS NULL
|
||||
AND (TANITASIORA.C_ORAKEZDETE >= @IdoszakKezdete
|
||||
AND TANITASIORA.C_ORAVEGE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap THEN DATEADD(DAY, 1, @VegzosUtolsoTanitasiNap) ELSE @IdoszakVege END))
|
||||
AND (@TanarId IS NULL OR ( TANITASIORA.C_HELYETTESITOTANARID = @TanarId OR TANITASIORA.C_ORATULAJDONOSID = @TanarId OR T_ORAK_TANAROK.C_TANAROKID = @TanarId))
|
||||
AND ( @TanuloId IS NULL
|
||||
OR EXISTS (SELECT 1
|
||||
FROM T_TANULOCSOPORT_OSSZES TANCSOP
|
||||
WHERE TANCSOP.C_OSZTALYCSOPORTID = TANITASIORA.C_OSZTALYCSOPORTID
|
||||
AND TANCSOP.TOROLT = 'F' AND TANCSOP.C_INTEZMENYID = @IntezmenyId AND TANCSOP.C_TANEVID=@TanevId
|
||||
AND TANCSOP.C_BELEPESDATUM < GETDATE()
|
||||
AND (TANCSOP.C_KILEPESDATUM IS NULL OR TANCSOP.C_KILEPESDATUM >= GETDATE()) -- TÖRÖLT
|
||||
AND TANCSOP.C_TANULOID = @TanuloId )
|
||||
)
|
||||
|
||||
-- Órarendi órák
|
||||
INSERT INTO #TEMPORAK
|
||||
Select
|
||||
OrarendiOrak.Id, ORARENDIID, Bontott, Hetirend, HetNapja, ErvenyessegKezdete, ErvenyessegVege, OraKezdete, OraVege,
|
||||
TargyNev, Megtartott, OsztalyNev,TanevRendOsztalyCsoportId, TanarNev, TeremNev, OraTipus, Hianyzas, Keses, Ures,
|
||||
C_HELYETTESTANAROKID HelyettesitoTanarID, HELYETTESTANAR.C_NYOMTATASINEV HelyettesitoTanarNev, TanarID, T_HELYETTESITESIIDOSZAK_OSSZES.ID,AdminAltalKiirt, Tema
|
||||
FROM (
|
||||
SELECT
|
||||
T_ORARENDIORA_OSSZES.ID Id,
|
||||
T_ORARENDIORA_OSSZES.ID ORARENDIID,
|
||||
T_ORARENDIORA_OSSZES.C_BONTOTT Bontott,
|
||||
T_ORARENDIORA_OSSZES.C_HETIREND Hetirend,
|
||||
T_ORARENDIORA_OSSZES.C_HETNAPJA HetNapja,
|
||||
T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE ErvenyessegKezdete,
|
||||
T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE ErvenyessegVege,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA_OSSZES.C_ORAKEZDETE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA_OSSZES.C_ORAKEZDETE), ORARENDINAPOK.DATUM)) OraKezdete,
|
||||
DATEADD(HOUR, DATEPART(HOUR, T_ORARENDIORA_OSSZES.C_ORAVEGE), DATEADD(MINUTE, DATEPART(MINUTE, T_ORARENDIORA_OSSZES.C_ORAVEGE), ORARENDINAPOK.DATUM)) OraVege,
|
||||
ISNULL(TARGY.C_ROVIDNEV, targy.C_NEV) TargyNev,
|
||||
'F' Megtartott,
|
||||
OSZTALY.C_NEV OsztalyNev,
|
||||
ORARENDINAPOK.OsztalyCsoportId TanevRendOsztalyCsoportId,
|
||||
fh.C_NYOMTATASINEV TanarNev,
|
||||
TEREM.C_NEV TeremNev,
|
||||
'OrarendiOra' OraTipus,
|
||||
'F' Hianyzas,
|
||||
'F' Keses,
|
||||
'F' Ures,
|
||||
fh.ID TanarID,
|
||||
'F' AdminAltalKiirt,
|
||||
NULL AS Tema
|
||||
FROM T_ORARENDIORA_OSSZES
|
||||
INNER JOIN @TEMPCSOPORTOK tcs ON tcs.CsoportID = T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID
|
||||
INNER JOIN #TEMPORARENDINAPOK ORARENDINAPOK ON (( T_ORARENDIORA_OSSZES.C_HETIREND = 1554 OR ORARENDINAPOK.HETIREND = T_ORARENDIORA_OSSZES.C_HETIREND ) AND ORARENDINAPOK.HETNAPJA = T_ORARENDIORA_OSSZES.C_HETNAPJA And (T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID = ORARENDINAPOK.OsztalyCsoportId or ORARENDINAPOK.OsztalyCsoportId is null) )
|
||||
LEFT JOIN T_TANTARGY_OSSZES TARGY ON TARGY.ID = T_ORARENDIORA_OSSZES.C_TANTARGYID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = T_ORARENDIORA_OSSZES.C_TANARID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES OSZTALY ON T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID = OSZTALY.ID
|
||||
LEFT JOIN T_TEREM_OSSZES TEREM on (TEREM.id = T_ORARENDIORA_OSSZES.C_TEREMID )
|
||||
WHERE
|
||||
T_ORARENDIORA_OSSZES.TOROLT= 'F'
|
||||
AND T_ORARENDIORA_OSSZES.C_CSENGETESIRENDORAID IS NULL
|
||||
AND T_ORARENDIORA_OSSZES.C_INTEZMENYID = @IntezmenyId
|
||||
AND T_ORARENDIORA_OSSZES.C_TANEVID = @TanevId
|
||||
AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE >= @IdoszakKezdete
|
||||
AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE <= (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap THEN @VegzosUtolsoTanitasiNap ELSE @IdoszakVege END)
|
||||
AND ORARENDINAPOK.DATUM BETWEEN @IdoszakKezdete AND (CASE WHEN OSZTALY.C_VEGZOSEVFOLYAM = 'T' AND @VegzosUtolsoTanitasiNap IS NOT NULL AND @IdoszakVege > @VegzosUtolsoTanitasiNap THEN @VegzosUtolsoTanitasiNap ELSE @IdoszakVege END)
|
||||
AND TEREM.C_TANEVID = @TanevId
|
||||
AND (
|
||||
(ORARENDINAPOK.DATUM >= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM < T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE)
|
||||
OR
|
||||
(ORARENDINAPOK.DATUM = T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND ORARENDINAPOK.DATUM = T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE)
|
||||
)
|
||||
AND ( @TanuloId IS NULL
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM T_TANULOCSOPORT_OSSZES TANCSOP
|
||||
WHERE TANCSOP.C_OSZTALYCSOPORTID = T_ORARENDIORA_OSSZES.C_OSZTALYCSOPORTID
|
||||
AND TANCSOP.TOROLT = 'F'
|
||||
AND TANCSOP.C_INTEZMENYID = @IntezmenyId
|
||||
AND TANCSOP.C_TANEVID = @TanevId
|
||||
AND TANCSOP.C_BELEPESDATUM < GETDATE()
|
||||
AND (TANCSOP.C_KILEPESDATUM IS NULL OR TANCSOP.C_KILEPESDATUM >= GETDATE()) -- TÖRÖLT
|
||||
AND TANCSOP.C_TANULOID = @TanuloId )
|
||||
)
|
||||
|
||||
) OrarendiOrak
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES on (OrarendiOrak.ID = T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESITETTORARENDID
|
||||
And T_HELYETTESITESIIDOSZAK_OSSZES.C_HETSORSZAMA >= @KezdoHet
|
||||
And (T_HELYETTESITESIIDOSZAK_OSSZES.C_HETSORSZAMA <= @ZaroHet) And T_HELYETTESITESIIDOSZAK_OSSZES.TOROLT = 'F' AND DATEDIFF(DAY, OrarendiOrak.OraKezdete, T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESITESNAPJA) = 0
|
||||
)
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES HELYETTESTANAR ON HELYETTESTANAR.ID = T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESTANAROKID
|
||||
WHERE (@TanarId IS NULL OR OrarendiOrak.TanarID = @TanarId Or T_HELYETTESITESIIDOSZAK_OSSZES.C_HELYETTESTANAROKID = @TanarId)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM #TEMPORAK TANORAK
|
||||
WHERE TANORAK.ORARENDIID = OrarendiOrak.ID
|
||||
AND DATEDIFF(DAY, TANORAK.OraKezdete, OrarendiOrak.OraKezdete) = 0
|
||||
AND DATEDIFF(DAY, TANORAK.OraVege, OrarendiOrak.OraVege) = 0
|
||||
) -- HA MÁR VAN TANÍTÁSI ÓRA, AMELYIK VALAMELYIK ÓRARENDI ÓRÁBÓL JÖN, AKKOR NEM KELL AHHOZ AZ ÓRARENDI ÓRA IS
|
||||
|
||||
SELECT * FROM #TEMPORAK order by orakezdete
|
||||
|
||||
DROP TABLE #TEMPORAK
|
||||
DROP TABLE #TEMPORARENDINAPOK
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
IF OBJECT_ID('dbo.sp_GetOsszesNemBejegyzettOra') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.sp_GetOsszesNemBejegyzettOra
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[DBO].[sp_GetOsszesNemBejegyzettOra]') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE [DBO].[sp_GetOsszesNemBejegyzettOra]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: <Kelemen Attila>
|
||||
-- Create date: <2016. 01. 07.>
|
||||
-- Description: <Azok a megtartott, vagy elmaradt órák, amik nincsenek bejegyezve a naplóba, havi bontásban, tanáronként>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_GetOsszesNemBejegyzettOra]
|
||||
@tanevID int,
|
||||
@mindenHeten int
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
|
||||
--Nem naplózott órák
|
||||
select
|
||||
MONTH(naptar.C_NAPDATUMA) Honap,
|
||||
T_FELHASZNALO.C_NYOMTATASINEV TanarNeve,
|
||||
COUNT(*)
|
||||
|
||||
FROM
|
||||
T_ORARENDIORA
|
||||
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.ID= T_ORARENDIORA.C_FOGLALKOZASID
|
||||
inner join T_NAPTARINAP naptar on ((naptar.C_NAPDATUMA BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
|
||||
AND (naptar.C_HETIREND = T_ORARENDIORA.C_HETIREND OR T_ORARENDIORA.C_HETIREND = @mindenHeten)) -- Minden héten
|
||||
INNER JOIN T_CSENGETESIRENDORA on T_ORARENDIORA.C_CSENGETESIRENDORAID=T_CSENGETESIRENDORA.ID
|
||||
LEFT JOIN T_TANITASIORA ON T_TANITASIORA.C_ORARENDIORAGROUPID = T_ORARENDIORA.C_ORARENDIORAGROUPID AND T_TANITASIORA.C_DATUM BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE AND T_TANITASIORA.TOROLT='F'
|
||||
inner join T_FELHASZNALO on T_FOGLALKOZAS.C_TANARID = T_FELHASZNALO.ID
|
||||
WHERE
|
||||
T_ORARENDIORA.TOROLT='F'
|
||||
AND naptar.TOROLT = 'F' AND T_FOGLALKOZAS.TOROLT='F'
|
||||
AND T_FOGLALKOZAS.TOROLT='F'
|
||||
AND T_FELHASZNALO.TOROLT='F'
|
||||
AND GETDATE() >= naptar.C_NAPDATUMA
|
||||
AND T_TANITASIORA.ID IS NULL
|
||||
AND T_FOGLALKOZAS.C_TANEVID = @tanevID
|
||||
|
||||
|
||||
group by MONTH(naptar.C_NAPDATUMA), T_FELHASZNALO.C_NYOMTATASINEV
|
||||
order by case --Hónapok sorrendje
|
||||
when MONTH(naptar.C_NAPDATUMA) = 9 then 1
|
||||
when MONTH(naptar.C_NAPDATUMA) = 10 then 2
|
||||
when MONTH(naptar.C_NAPDATUMA) = 11 then 3
|
||||
when MONTH(naptar.C_NAPDATUMA) = 12 then 4
|
||||
when MONTH(naptar.C_NAPDATUMA) = 1 then 5
|
||||
when MONTH(naptar.C_NAPDATUMA) = 2 then 6
|
||||
when MONTH(naptar.C_NAPDATUMA) = 3 then 7
|
||||
when MONTH(naptar.C_NAPDATUMA) = 4 then 8
|
||||
when MONTH(naptar.C_NAPDATUMA) = 5 then 9
|
||||
when MONTH(naptar.C_NAPDATUMA) = 6 then 10
|
||||
when MONTH(naptar.C_NAPDATUMA) = 7 then 11
|
||||
when MONTH(naptar.C_NAPDATUMA) = 8 then 12
|
||||
end;
|
||||
END
|
|
@ -0,0 +1,82 @@
|
|||
-- =============================================
|
||||
-- Description: Tanulók egész évben megtartandó óráinak száma
|
||||
-- =============================================
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanulokMegtartandoOraSzama]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanulokMegtartandoOraSzama]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanulokMegtartandoOraSzama]
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
select TanuloId, count(OrarendId) OraSzam
|
||||
from (
|
||||
select T_TANULOCSOPORT_OSSZES.C_TANULOID TanuloId, T_ORARENDIORA_OSSZES.id OrarendId
|
||||
from T_ORARENDIORA_OSSZES
|
||||
inner join ( select ID, C_OSZTALYCSOPORTID from t_foglalkozas_OSSZES where torolt='F' ) foglalkozas on T_ORARENDIORA_OSSZES.C_FOGLALKOZASID = foglalkozas.ID
|
||||
inner join T_NAPTARINAP_OSSZES on T_ORARENDIORA_OSSZES.C_HETNAPJA = T_NAPTARINAP_OSSZES.C_HETNAPJA
|
||||
and (T_ORARENDIORA_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_ORARENDIORA_OSSZES.C_HETIREND = 1554)
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES ON foglalkozas.C_OSZTALYCSOPORTID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID
|
||||
AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
||||
AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM > GETDATE())
|
||||
AND T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
||||
LEFT JOIN T_TANITASIORA_OSSZES ON (T_TANITASIORA_OSSZES.C_ORARENDIORAGROUPID = T_ORARENDIORA_OSSZES.C_ORARENDIORAGROUPID
|
||||
AND T_TANITASIORA_OSSZES.C_DATUM BETWEEN T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE
|
||||
AND T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANITASIORA_OSSZES.C_DATUM
|
||||
AND T_TANITASIORA_OSSZES.C_MEGTARTOTT !='T'
|
||||
AND T_TANITASIORA_OSSZES.TOROLT='F')
|
||||
|
||||
inner join T_TANEV_OSSZES on T_NAPTARINAP_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
|
||||
where NOT EXISTS (Select 1 from
|
||||
T_TANEVRENDJE_OSSZES
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on foglalkozas.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
WHERE T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANEVRENDJE_OSSZES.C_DATUM
|
||||
and (T_TANEVRENDJE_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_TANEVRENDJE_OSSZES.C_HETIREND = 1554)
|
||||
and T_TANEVRENDJE_OSSZES.C_ORARENDINAP ='F'
|
||||
and (T_TANEVRENDJE_OSSZES.C_OSSZESCSOPORTRAVONATKOZIK='T' OR T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
and T_TANEVRENDJE_OSSZES.TOROLT='F'
|
||||
and T_NAPTARINAP_OSSZES.C_NAPDATUMA >= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGKEZDETE
|
||||
and T_NAPTARINAP_OSSZES.C_NAPDATUMA <= T_ORARENDIORA_OSSZES.C_ORAERVENYESSEGVEGE
|
||||
))
|
||||
|
||||
AND T_TANITASIORA_OSSZES.ID is null
|
||||
AND T_TANEV_OSSZES.C_AKTIV='T' AND T_TANEV_OSSZES.TOROLT='F'
|
||||
union all
|
||||
select T_TANULOCSOPORT_OSSZES.C_TANULOID TanuloId, T_TANITASIORA_OSSZES.id OrarendId
|
||||
from T_TANITASIORA_OSSZES
|
||||
inner join ( select ID, C_OSZTALYCSOPORTID from t_foglalkozas_OSSZES where torolt='F' ) foglalkozas on T_TANITASIORA_OSSZES.C_FOGLALKOZASID = foglalkozas.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES ON foglalkozas.C_OSZTALYCSOPORTID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID
|
||||
AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM > GETDATE())
|
||||
AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
||||
AND T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
||||
inner join T_NAPTARINAP_OSSZES on T_NAPTARINAP_OSSZES.ID = T_TANITASIORA_OSSZES.C_NAPTARINAPID
|
||||
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on foglalkozas.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
inner join T_TANEV_OSSZES on T_NAPTARINAP_OSSZES.C_TANEVID = T_TANEV_OSSZES.ID
|
||||
|
||||
where C_ORARENDIORAGROUPID is null and T_TANITASIORA_OSSZES.TOROLT='F'
|
||||
|
||||
and
|
||||
NOT EXISTS (Select 1 from
|
||||
T_TANEVRENDJE_OSSZES
|
||||
left join T_OSZTALYCSOPORT_TANEVRENDJE on foglalkozas.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID
|
||||
WHERE T_NAPTARINAP_OSSZES.C_NAPDATUMA = T_TANEVRENDJE_OSSZES.C_DATUM
|
||||
and (T_TANEVRENDJE_OSSZES.C_HETIREND = T_NAPTARINAP_OSSZES.C_HETIREND OR T_TANEVRENDJE_OSSZES.C_HETIREND = 1554)
|
||||
and T_TANEVRENDJE_OSSZES.C_ORARENDINAP ='F'
|
||||
and (T_TANEVRENDJE_OSSZES.C_OSSZESCSOPORTRAVONATKOZIK='T' OR T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID
|
||||
and T_TANEVRENDJE_OSSZES.TOROLT='F'))
|
||||
AND T_TANEV_OSSZES.C_AKTIV='T' AND T_TANEV_OSSZES.TOROLT='F'
|
||||
) orak
|
||||
group by TanuloId
|
||||
END
|
||||
|
|
@ -0,0 +1,147 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanulokMulasztasokReszletezese]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanulokMulasztasokReszletezese]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanulokMulasztasokReszletezese]
|
||||
@OsztalyId INT,
|
||||
@TanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @Diakok TABLE (DiakId INT)
|
||||
INSERT INTO @Diakok
|
||||
SELECT
|
||||
T_FELHASZNALO_OSSZES.ID
|
||||
FROM T_FELHASZNALO_OSSZES
|
||||
JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F') TANCSOPORT ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID
|
||||
WHERE T_FELHASZNALO_OSSZES.TOROLT='F'
|
||||
AND T_FELHASZNALO_OSSZES.C_TANEVID = @TanevId
|
||||
AND TANCSOPORT.C_OSZTALYCSOPORTID = @OsztalyId
|
||||
order by T_FELHASZNALO_OSSZES.C_NYOMTATASINEV
|
||||
|
||||
DECLARE @Mulasztasok TABLE (MulasztasId INT)
|
||||
INSERT INTO @Mulasztasok
|
||||
SELECT ID FROM T_MULASZTASTIPUS_OSSZES
|
||||
WHERE ID != 1497
|
||||
AND ID != 1498
|
||||
AND ID != 1817
|
||||
AND C_ALTANEVID = @TanevId
|
||||
|
||||
DECLARE @tmp TABLE (OSZTALY NVARCHAR(255), INT_NEV NVARCHAR(255), INT_OMKOD int, INT_VAROS NVARCHAR(255)
|
||||
, INT_CIM NVARCHAR(255), INT_IGAZGATO_NEV NVARCHAR(255), OSZTFO_NEV NVARCHAR(255))
|
||||
|
||||
INSERT INTO @tmp
|
||||
SELECT TOP 1
|
||||
ocs.C_NEV
|
||||
, i.C_NEV AS INT_NEV
|
||||
,i.C_OMKOD AS INT_OMKOD
|
||||
,i.C_VAROS AS INT_VAROS
|
||||
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS INT_CIM
|
||||
,i.C_IGAZGATONEVE AS INT_IGAZGATO_NEV
|
||||
,osztf.C_VEZETEKNEV + ' ' + osztf.C_UTONEV AS OSZTFO_NEV
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.TOROLT = 'F'
|
||||
JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID AND f.TOROLT = 'F'
|
||||
LEFT OUTER JOIN T_INTEZMENYADATOK_OSSZES i ON i.C_INTEZMENYID = ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.TOROLT = 'F'
|
||||
LEFT OUTER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT OUTER JOIN T_FELHASZNALO_OSSZES osztf ON osztf.ID = o.C_OSZTALYFONOKID AND osztf.TOROLT = 'F'
|
||||
where
|
||||
tcs.C_OSZTALYCSOPORTID = @OsztalyId
|
||||
AND ocs.C_TANEVID = @TanevId
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND ocs.TOROLT = 'F'
|
||||
|
||||
declare @TenylegesMulasztasok table (DiakId INT, MulasztasId int, NEV NVARCHAR(255), OSZTALY NVARCHAR(255), DATUM DATETIME
|
||||
, ORA INT, MULASZTASJELLEG NVARCHAR(255), KESESPERC int, OSZTALYCSOPORT NVARCHAR(255)
|
||||
, TANTARGY NVARCHAR(255), INT_NEV NVARCHAR(255), INT_OMKOD NVARCHAR(255), INT_VAROS NVARCHAR(255)
|
||||
, INT_CIM NVARCHAR(255), INT_IGAZGATO_NEV NVARCHAR(255), OSZTFO_NEV NVARCHAR(255))
|
||||
|
||||
INSERT INTO @TenylegesMulasztasok
|
||||
SELECT
|
||||
f.Id
|
||||
,tm.C_TIPUS
|
||||
,f.C_VEZETEKNEV + ' ' + f.C_UTONEV AS NEV
|
||||
,ocs.C_NEV AS OSZTALY
|
||||
,tno.C_DATUM AS DATUM
|
||||
,oo.C_ORASZAM AS ORA
|
||||
,tm.C_TIPUS as MULASZTASJELLEG
|
||||
,tm.C_KESESPERCBEN AS KESESPERC
|
||||
,ocs.C_NEV AS OSZTALYCSOPORT
|
||||
,tt.C_NEV AS TANTARGY
|
||||
,i.C_NEV AS INT_NEV
|
||||
,i.C_OMKOD AS INT_OMKOD
|
||||
,i.C_VAROS AS INT_VAROS
|
||||
,dbo.fnGetDokumentumIntezmenyCime(@tanevId) AS INT_CIM
|
||||
,i.C_IGAZGATONEVE AS INT_IGAZGATO_NEV
|
||||
,osztf.C_VEZETEKNEV + ' ' + osztf.C_UTONEV AS OSZTFO_NEV
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.TOROLT = 'F'
|
||||
JOIN T_FELHASZNALO_OSSZES f on f.ID = tcs.C_TANULOID AND f.TOROLT = 'F'
|
||||
LEFT JOIN T_TANULOMULASZTAS_OSSZES tm ON tm.C_ORATANULOIID = tcs.C_TANULOID and tm.TOROLT = 'F'
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tno ON tno.ID = tm.C_TANITASIORAKID AND tno.TOROLT = 'F'
|
||||
LEFT JOIN T_TANTARGY_OSSZES tt ON tt.ID = tno.C_TANTARGYID AND tt.TOROLT = 'F'
|
||||
LEFT JOIN T_ORARENDIORA_OSSZES oo ON tno.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND tno.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE AND oo.TOROLT = 'F'
|
||||
LEFT OUTER JOIN T_INTEZMENYADATOK_OSSZES i ON i.C_INTEZMENYID = ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.TOROLT = 'F'
|
||||
LEFT OUTER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
||||
LEFT OUTER JOIN T_FELHASZNALO_OSSZES osztf ON osztf.ID = o.C_OSZTALYFONOKID AND osztf.TOROLT = 'F'
|
||||
WHERE
|
||||
tcs.C_OSZTALYCSOPORTID = @OsztalyId
|
||||
AND ocs.C_TANEVID = @TanevId
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND ocs.TOROLT = 'F'
|
||||
|
||||
DECLARE @tmp2 TABLE (DiakId INT, MulasztasId INT, Cnt INT)
|
||||
INSERT INTO @tmp2
|
||||
SELECT
|
||||
N.DiakId
|
||||
,O.MulasztasId
|
||||
,count(*) AS Cnt
|
||||
FROM @Diakok N
|
||||
CROSS JOIN @Mulasztasok O
|
||||
JOIN @TenylegesMulasztasok T ON T.DiakId = N.DiakId AND T.MulasztasId = O.MulasztasId
|
||||
GROUP BY N.DiakId,O.MulasztasId
|
||||
|
||||
SELECT
|
||||
N.DiakId
|
||||
,O.MulasztasId
|
||||
,O.MulasztasId AS Mulasztas
|
||||
,f.C_VEZETEKNEV + ' ' + f.C_UTONEV AS NEV
|
||||
,(select OSZTALY FROM @tmp) AS OSZTALY
|
||||
,DATUM
|
||||
,ORA
|
||||
,T.MulasztasId AS MULASZTASJELLEG
|
||||
,KESESPERC
|
||||
,OSZTALYCSOPORT
|
||||
,TANTARGY
|
||||
,(SELECT INT_NEV FROM @tmp) AS INT_NEV
|
||||
,(SELECT INT_OMKOD FROM @tmp) AS INT_OMKOD
|
||||
,(SELECT INT_VAROS FROM @tmp) AS INT_VAROS
|
||||
,(SELECT INT_CIM FROM @tmp) AS INT_CIM
|
||||
,(SELECT INT_IGAZGATO_NEV FROM @tmp) AS INT_IGAZGATO_NEV
|
||||
,(SELECT OSZTFO_NEV FROM @tmp) as OSZTFO_NEV
|
||||
,isnull(Cntr.Cnt, 0) AS Cntr
|
||||
,f.C_NYOMTATASINEV + ' ' + cast(N.DiakId as nvarchar) AS GROUPPARAMETER
|
||||
FROM @Diakok N
|
||||
CROSS JOIN @Mulasztasok O
|
||||
LEFT JOIN @TenylegesMulasztasok T ON T.DiakId = N.DiakId AND T.MulasztasId = O.MulasztasId
|
||||
JOIN T_FELHASZNALO_OSSZES f ON f.ID = N.DiakId AND f.TOROLT = 'F'
|
||||
LEFT JOIN @tmp2 Cntr ON Cntr.DiakId = N.DiakId AND Cntr.MulasztasId = O.MulasztasId
|
||||
ORDER BY f.C_NYOMTATASINEV
|
||||
|
||||
SELECT C_OSZTALYFONOKID PartnerID FROM T_OSZTALY_OSSZES
|
||||
WHERE
|
||||
T_OSZTALY_OSSZES.ID = @OsztalyId
|
||||
AND T_OSZTALY_OSSZES.TOROLT='F'
|
||||
AND T_OSZTALY_OSSZES.C_ALTANEVID = @TanevId
|
||||
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,122 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetTanulokTantargyMulasztasokReszletezese]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetTanulokTantargyMulasztasokReszletezese]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetTanulokTantargyMulasztasokReszletezese]
|
||||
@OsztalyId int,
|
||||
@TanevId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @Diakok TABLE (DiakId INT)
|
||||
INSERT INTO @Diakok
|
||||
SELECT
|
||||
TanuloId
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@TanevId, @OsztalyId, 'T')
|
||||
|
||||
declare @Mulasztasok table (MulasztasId int) insert into @Mulasztasok select ID from T_MULASZTASTIPUS_OSSZES where ID != 1497 and ID != 1498 and ID !=1817 and C_ALTANEVID = @TanevId
|
||||
|
||||
declare @tmp table (OSZTALY nvarchar(255), INT_NEV nvarchar(255), INT_OMKOD int, INT_VAROS nvarchar(255), INT_CIM nvarchar(255), INT_IGAZGATO_NEV nvarchar(255), OSZTFO_NEV nvarchar(255))
|
||||
insert into @tmp select top(1) ocs.C_NEV, i.C_NEV as INT_NEV,i.C_OMKOD as INT_OMKOD,i.C_VAROS as INT_VAROS,dbo.fnGetDokumentumIntezmenyCime(@tanevId) as INT_CIM,
|
||||
i.C_IGAZGATONEVE as INT_IGAZGATO_NEV,osztf.C_VEZETEKNEV + ' ' + osztf.C_UTONEV as OSZTFO_NEV
|
||||
from T_OSZTALYCSOPORT_OSSZES ocs
|
||||
join T_TANULOCSOPORT_OSSZES tcs on tcs.C_OSZTALYCSOPORTID = ocs.ID and tcs.TOROLT = 'F'
|
||||
join T_FELHASZNALO_OSSZES f on f.ID = tcs.C_TANULOID and f.TOROLT = 'F'
|
||||
left outer join T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID = ocs.C_INTEZMENYID and i.C_TANEVID = ocs.C_TANEVID and i.TOROLT = 'F'
|
||||
left outer join T_OSZTALY_OSSZES o on o.ID = ocs.ID and o.TOROLT = 'F'
|
||||
left outer join T_FELHASZNALO_OSSZES osztf on osztf.ID = o.C_OSZTALYFONOKID and osztf.TOROLT = 'F'
|
||||
where
|
||||
tcs.C_OSZTALYCSOPORTID = @OsztalyId
|
||||
and ocs.C_TANEVID = @TanevId
|
||||
and ocs.TOROLT = 'F'
|
||||
and tcs.TOROLT = 'F'
|
||||
and tcs.C_BELEPESDATUM < GETDATE()
|
||||
and (tcs.C_KILEPESDATUM is null or tcs.C_KILEPESDATUM >= GETDATE())
|
||||
|
||||
declare @TenylegesMulasztasok table (DiakId int, MulasztasId int, NEV nvarchar(100), OSZTALY nvarchar(100), DATUM datetime, ORA int, MULASZTASJELLEG nvarchar(100), KESESPERC int, OSZTALYCSOPORT nvarchar(100),
|
||||
TANTARGYID int, TANTARGY nvarchar(100), INT_NEV nvarchar(255), INT_OMKOD nvarchar(100), INT_VAROS nvarchar(100), INT_CIM nvarchar(255), INT_IGAZGATO_NEV nvarchar(100), OSZTFO_NEV nvarchar(100), IGAZOLT nvarchar(1),IG_TIPUS nvarchar(100))
|
||||
insert into @TenylegesMulasztasok select f.Id,tm.C_TIPUS,f.C_VEZETEKNEV + ' ' + f.C_UTONEV as NEV,ocs.C_NEV as OSZTALY,tno.C_DATUM as DATUM,oo.C_ORASZAM as ORA,tm.C_TIPUS as MULASZTASJELLEG,
|
||||
tm.C_KESESPERCBEN as KESESPERC,ocs.C_NEV as OSZTALYCSOPORT,tt.ID as TANTARGYID, tt.C_NEV as TANTARGY,i.C_NEV as INT_NEV,i.C_OMKOD as INT_OMKOD,i.C_VAROS as INT_VAROS,dbo.fnGetDokumentumIntezmenyCime(@tanevId) as INT_CIM,
|
||||
i.C_IGAZGATONEVE as INT_IGAZGATO_NEV,osztf.C_VEZETEKNEV + ' ' + osztf.C_UTONEV as OSZTFO_NEV, tm.C_IGAZOLT as IGAZOLT, tm.C_IGAZOLASTIPUSA as IG_TIPUS
|
||||
from T_OSZTALYCSOPORT_OSSZES ocs
|
||||
join T_TANULOCSOPORT_OSSZES tcs on tcs.C_OSZTALYCSOPORTID = ocs.ID and tcs.TOROLT = 'F'
|
||||
join T_FELHASZNALO_OSSZES f on f.ID = tcs.C_TANULOID and f.TOROLT = 'F'
|
||||
left join T_TANULOMULASZTAS_OSSZES tm on tm.C_ORATANULOIID = tcs.C_TANULOID and tm.TOROLT = 'F' and tm.C_TIPUS != 1817
|
||||
left join T_TANITASIORA_OSSZES tno on tno.ID = tm.C_TANITASIORAKID and tno.TOROLT = 'F'
|
||||
left join T_TANTARGY_OSSZES tt on tt.ID = tno.C_TANTARGYID and tt.TOROLT = 'F'
|
||||
left join T_ORARENDIORA_OSSZES oo ON tno.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID AND tno.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE and oo.TOROLT = 'F'
|
||||
left outer join T_INTEZMENYADATOK_OSSZES i on i.C_INTEZMENYID = ocs.C_INTEZMENYID and i.C_TANEVID = ocs.C_TANEVID and i.TOROLT = 'F'
|
||||
left outer join T_OSZTALY_OSSZES o on o.ID = ocs.ID and o.TOROLT = 'F'
|
||||
left outer join T_FELHASZNALO_OSSZES osztf on osztf.ID = o.C_OSZTALYFONOKID and osztf.TOROLT = 'F'
|
||||
where
|
||||
tcs.C_OSZTALYCSOPORTID = @OsztalyId
|
||||
and ocs.C_TANEVID = @TanevId
|
||||
and ocs.TOROLT = 'F'
|
||||
and tcs.TOROLT = 'F'
|
||||
and tcs.C_BELEPESDATUM < GETDATE()
|
||||
and (tcs.C_KILEPESDATUM is null or tcs.C_KILEPESDATUM >= GETDATE())
|
||||
|
||||
|
||||
declare @tmp2 table (DiakId int, TantargyId int, Cnt int)
|
||||
insert into @tmp2
|
||||
select
|
||||
N.DiakId
|
||||
,T.TANTARGYID
|
||||
,count(*) as Cnt
|
||||
from @Diakok N
|
||||
cross join @Mulasztasok O
|
||||
join @TenylegesMulasztasok T on T.DiakId = N.DiakId and T.MulasztasId = O.MulasztasId
|
||||
group by N.DiakId,T.TANTARGYID
|
||||
|
||||
--select * from @tmp2
|
||||
|
||||
select
|
||||
N.DiakId
|
||||
,O.MulasztasId
|
||||
,O.MulasztasId as Mulasztas
|
||||
,f.C_VEZETEKNEV + ' ' + f.C_UTONEV as NEV
|
||||
,(select OSZTALY from @tmp) as OSZTALY
|
||||
,DATUM
|
||||
,ORA
|
||||
,T.MulasztasId as MULASZTASJELLEG
|
||||
,IGAZOLT
|
||||
,IG_TIPUS
|
||||
,KESESPERC
|
||||
,OSZTALYCSOPORT
|
||||
,T.TANTARGYID
|
||||
,TANTARGY
|
||||
,(select INT_NEV from @tmp) as INT_NEV
|
||||
,(select INT_OMKOD from @tmp) as INT_OMKOD
|
||||
,(select INT_VAROS from @tmp) as INT_VAROS
|
||||
,(select INT_CIM from @tmp) as INT_CIM
|
||||
,(select INT_IGAZGATO_NEV from @tmp) as INT_IGAZGATO_NEV
|
||||
,(select OSZTFO_NEV from @tmp) as OSZTFO_NEV
|
||||
,isnull(Cntr.Cnt, 0) as Cntr
|
||||
,f.C_NYOMTATASINEV + ' ' + cast(N.DiakId as nvarchar) as GROUPPARAMETER
|
||||
from @Diakok N
|
||||
cross join @Mulasztasok O
|
||||
left join @TenylegesMulasztasok T on T.DiakId = N.DiakId and T.MulasztasId = O.MulasztasId
|
||||
join T_FELHASZNALO_OSSZES f on f.ID = N.DiakId and f.TOROLT = 'F'
|
||||
left join @tmp2 Cntr on Cntr.DiakId = N.DiakId and Cntr.TantargyId = T.TANTARGYID
|
||||
where T.TANTARGYID is not null
|
||||
order by f.C_NYOMTATASINEV
|
||||
|
||||
select
|
||||
DiakId,
|
||||
TANTARGY,
|
||||
isnull(count(1),0) as Ossz
|
||||
from @TenylegesMulasztasok
|
||||
group by DiakId,TANTARGY
|
||||
order by DiakId,TANTARGY
|
||||
|
||||
select C_OSZTALYFONOKID PartnerID From T_OSZTALY_OSSZES WHERE T_OSZTALY_OSSZES.ID = @OsztalyId AND T_OSZTALY_OSSZES.TOROLT='F' and T_OSZTALY_OSSZES.C_ALTANEVID = @TanevId
|
||||
|
||||
END
|
|
@ -0,0 +1,121 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_PedagogusNemBejegyzettOrai]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_PedagogusNemBejegyzettOrai]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_PedagogusNemBejegyzettOrai]
|
||||
@tanevID INT,
|
||||
@mindenHeten INT,
|
||||
@tanarID INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @vegzosUtolsoNapDatuma DATE = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_TANEVID = @tanevId AND TOROLT = 'F' AND C_NAPTIPUSA = 1402)
|
||||
|
||||
DECLARE @OsztalyCsoportokTanevRendje TABLE (OsztalyCsoportId INT, Datum DATE, isOrarendiNap NVARCHAR(1))
|
||||
INSERT INTO @OsztalyCsoportokTanevRendje
|
||||
SELECT
|
||||
C_OSZTALYCSOPORTID
|
||||
,C_DATUM
|
||||
,C_ORARENDINAP
|
||||
FROM T_OSZTALYCSOPORT_TANEVRENDJE ocstr
|
||||
INNER JOIN T_TANEVRENDJE_OSSZES tr ON tr.Id = ocstr.C_TANEVRENDJEID
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
||||
AND tr.C_ORARENDINAP = 'F'
|
||||
|
||||
SELECT
|
||||
CONVERT(NVARCHAR(10),ROW_NUMBER() OVER (ORDER BY Napdatuma ))+'.' COLUMN440
|
||||
,FORMAT(Napdatuma, 'yyyy.MM.dd.') COLUMN273
|
||||
,Oraszam COLUMN274
|
||||
,OsztalyNev COLUMN673
|
||||
,TanarNev COLUMN456
|
||||
,TantargyNev COLUMN252
|
||||
,TeremNev COLUMN2477
|
||||
,Hetirend COLUMN4252
|
||||
FROM (
|
||||
SELECT
|
||||
naptar.C_NAPDATUMA Napdatuma
|
||||
,oo.C_ORASZAM Oraszam
|
||||
,ocs.C_NEV OsztalyNev
|
||||
,f.C_NYOMTATASINEV TanarNev
|
||||
,t.C_NEV TantargyNev
|
||||
,ter.C_NEV TeremNev
|
||||
,d.C_NAME Hetirend
|
||||
FROM T_ORARENDIORA_OSSZES oo
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar ON ((naptar.C_NAPDATUMA >= oo.C_ORAERVENYESSEGKEZDETE
|
||||
AND oo.C_ORAERVENYESSEGVEGE> naptar.C_NAPDATUMA) OR (naptar.C_NAPDATUMA=oo.C_ORAERVENYESSEGKEZDETE AND naptar.C_NAPDATUMA=oo.C_ORAERVENYESSEGVEGE))
|
||||
AND (naptar.C_HETIREND = oo.C_HETIREND OR oo.C_HETIREND = @mindenHeten)
|
||||
AND oo.C_HETNAPJA=naptar.C_HETNAPJA
|
||||
AND (naptar.C_NAPTIPUSA NOT IN (1386,1387,1389,1391,1392,1396,1397,1398,1399,1401))
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = naptar.C_NAPDATUMA AND tr.C_TANEVID = naptar.C_TANEVID AND tr.TOROLT = 'F' AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
LEFT JOIN @OsztalyCsoportokTanevRendje OsztalyCsoportokTanevRendje ON OsztalyCsoportokTanevRendje.Datum = naptar.C_NAPDATUMA AND OsztalyCsoportokTanevRendje.OsztalyCsoportId = oo.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.C_ORARENDIORAGROUPID = oo.C_ORARENDIORAGROUPID
|
||||
AND tao.C_DATUM BETWEEN oo.C_ORAERVENYESSEGKEZDETE AND oo.C_ORAERVENYESSEGVEGE
|
||||
AND naptar.C_NAPDATUMA=tao.C_DATUM
|
||||
AND tao.TOROLT='F'
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES hely ON hely.C_HELYETTESITETTORARENDID=oo.ID AND CAST(hely.C_HELYETTESITESNAPJA AS DATE) = naptar.C_NAPDATUMA
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = oo.C_TANARID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID=oo.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID=oo.C_TANTARGYID
|
||||
INNER JOIN T_TEREM_OSSZES ter ON ter.ID=oo.C_TEREMID
|
||||
INNER JOIN (SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE_OSSZES) d ON d.ID=oo.C_HETIREND
|
||||
WHERE
|
||||
oo.C_TANEVID=@tanevId
|
||||
AND oo.TOROLT='F'
|
||||
AND oo.C_TANARID = @tanarID
|
||||
AND naptar.C_NAPDATUMA <= IIF(C_VEGZOSEVFOLYAM = 'T' AND @vegzosUtolsoNapDatuma < GETDATE(), @vegzosUtolsoNapDatuma, GETDATE())
|
||||
AND tao.ID IS NULL
|
||||
AND hely.ID IS NULL
|
||||
AND oo.TOROLT='F'
|
||||
AND (oo.C_TANORANKIVULIFOGLALKOZAS = 'F' OR oo.C_TANORANKIVULIFOGLALKOZAS IS NULL)
|
||||
AND oo.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND naptar.C_TANEVID = @tanevID
|
||||
AND (tr.C_ORARENDINAP = 'T' OR tr.C_ORARENDINAP IS NULL)
|
||||
AND (OsztalyCsoportokTanevRendje.isOrarendiNap = 'T' OR OsztalyCsoportokTanevRendje.isOrarendiNap IS NULL)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
naptar.C_NAPDATUMA
|
||||
,oo.C_ORASZAM
|
||||
,ocs.C_NEV
|
||||
,f.C_NYOMTATASINEV
|
||||
,t.C_NEV
|
||||
,ter.C_NEV
|
||||
,d.C_NAME
|
||||
FROM T_HELYETTESITESIIDOSZAK_OSSZES hi
|
||||
INNER JOIN T_ORARENDIORA_OSSZES oo on oo.Id=hi.C_HELYETTESITETTORARENDID
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar on naptar.C_NAPDATUMA = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND naptar.C_TANEVID=hi.C_TANEVID AND naptar.C_INTEZMENYID=hi.C_INTEZMENYID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES f ON oo.C_TANARID = f.ID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES fh ON hi.C_HELYETTESTANAROKID = f.ID
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID=oo.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANTARGY_OSSZES t ON t.ID=oo.C_TANTARGYID
|
||||
LEFT JOIN T_TEREM_OSSZES ter ON ter.ID=oo.C_TEREMID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=oo.C_HETIREND AND d.C_TANEVID=oo.C_TANEVID AND d.C_INTEZMENYID=oo.C_INTEZMENYID
|
||||
WHERE
|
||||
hi.C_HELYETTESITESNAPJA <= IIF(C_VEGZOSEVFOLYAM = 'T', @vegzosUtolsoNapDatuma, GETDATE())
|
||||
AND hi.TOROLT='F'
|
||||
AND (oo.C_TANORANKIVULIFOGLALKOZAS = 'F' OR oo.C_TANORANKIVULIFOGLALKOZAS IS NULL)
|
||||
AND oo.C_CSENGETESIRENDORAID IS NOT NULL
|
||||
AND oo.TOROLT='F'
|
||||
AND hi.C_HELYETTESTANAROKID = @tanarID
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM T_ORARENDIORA ooo
|
||||
JOIN T_TANITASIORA tao ON tao.C_ORARENDIORAGROUPID = ooo.C_ORARENDIORAGROUPID AND tao.C_DATUM BETWEEN ooo.C_ORAERVENYESSEGKEZDETE AND ooo.C_ORAERVENYESSEGVEGE
|
||||
WHERE tao.C_DATUM = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND ooo.ID=hi.C_HELYETTESITETTORARENDID AND tao.TOROLT='F'
|
||||
)
|
||||
)orak
|
||||
ORDER BY Napdatuma, Oraszam
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,329 @@
|
|||
GO
|
||||
/****** Object: StoredProcedure [dbo].[sp_SetRendszerErtesitesek] Script Date: 2016.06.09. 14:34:01 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('dbo.sp_SetRendszerErtesitesek') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_SetRendszerErtesitesek]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: DT
|
||||
-- Create date: 2016-03-21
|
||||
-- Description: Rendszer értesítések tábla frissítése
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_SetRendszerErtesitesek]
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
|
||||
/*Globál UPDATE*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_FRISSITESIDEJE = GETDATE()
|
||||
,LASTCHANGED = GETDATE()
|
||||
,C_KELLFRISSITES = 'F'
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
/*Az elektronikus naplóban nincs beállítva a visszamenőleges beírás korlátozása!*/
|
||||
|
||||
|
||||
/*
|
||||
A rendszerben ...
|
||||
tanuló nincs osztályba sorolva!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANULOKOSZTALYBASOROLASA =
|
||||
( SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
LEFT JOIN T_TANULOCSOPORT TCS ON ( TCS.C_TANULOID = t.ID
|
||||
AND TCS.TOROLT = 'F'
|
||||
AND TCS.C_BELEPESDATUM < GETDATE()
|
||||
AND (TCS.C_KILEPESDATUM is null OR TCS.C_KILEPESDATUM >= GETDATE())
|
||||
AND T_RENDSZERERTESITESEK.C_INTEZMENYID = TCS.C_INTEZMENYID
|
||||
AND T_RENDSZERERTESITESEK.C_TANEVID = TCS.C_TANEVID
|
||||
)
|
||||
WHERE T.TOROLT = 'F' AND TCS.ID IS NULL
|
||||
AND T_RENDSZERERTESITESEK.C_INTEZMENYID = T.C_ALINTEZMENYID
|
||||
AND T_RENDSZERERTESITESEK.C_TANEVID = T.C_ALTANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
/*
|
||||
Az órarendben ... órában tanulóütközés van,
|
||||
azonos órában a tanulónak több tanóra IS rögzítve van!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_ORARENDTANULOUTKOZESEK =
|
||||
( SELECT count(1)
|
||||
FROM (
|
||||
SELECT sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID, sub.C_TANULOID, COUNT(1) AS cnt
|
||||
FROM (
|
||||
SELECT o.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, tcs.C_TANULOID--, COUNT(1)
|
||||
FROM T_ORARENDIORA o
|
||||
INNER JOIN T_FOGLALKOZAS F ON F.ID = o.C_FOGLALKOZASID AND F.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT OCS ON OCS.ID = F.C_OSZTALYCSOPORTID AND OCS.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT TCS ON TCS.C_OSZTALYCSOPORTID = OCS.ID AND TCS.TOROLT = 'F'
|
||||
WHERE o.TOROLT = 'F'
|
||||
AND F.C_FOGLALKOZASTIPUSA IN (1339, 1368)
|
||||
AND o.C_ORAERVENYESSEGKEZDETE < GETDATE()
|
||||
AND (o.C_ORAERVENYESSEGVEGE > GETDATE() OR o.C_ORAERVENYESSEGVEGE IS NULL)
|
||||
AND tcs.C_BELEPESDATUM < GETDATE()
|
||||
AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
UNION ALL
|
||||
|
||||
SELECT n.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, tcs.C_TANULOID
|
||||
FROM T_TANITASIORA o
|
||||
INNER JOIN T_FOGLALKOZAS F ON F.ID = o.C_FOGLALKOZASID AND F.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT OCS ON OCS.ID = F.C_OSZTALYCSOPORTID AND OCS.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT TCS ON TCS.C_OSZTALYCSOPORTID = OCS.ID AND TCS.TOROLT = 'F'
|
||||
INNER JOIN T_NAPTARINAP n ON n.ID = o.C_NAPTARINAPID AND n.TOROLT = 'F'
|
||||
WHERE o.TOROLT = 'F'
|
||||
AND F.C_FOGLALKOZASTIPUSA IN (1339, 1368)
|
||||
AND tcs.C_BELEPESDATUM < GETDATE()
|
||||
AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND o.C_ORARENDIORAGROUPID IS NULL
|
||||
AND o.C_DATUM > getdate() - 1
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
) sub
|
||||
GROUP BY sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID, sub.C_TANULOID
|
||||
HAVING COUNT(1) > 1
|
||||
) A )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
Az intézménynek hiányosan vannak kitöltve az adatai!
|
||||
Ennek következményeként a dokumentumokban az intézmény adatai nem jelennek meg!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_INTEZMENYHIANYOSADATOK = IIF(
|
||||
(SELECT count(1)
|
||||
FROM T_INTEZMENYADATOK i
|
||||
WHERE i.TOROLT = 'F'
|
||||
AND (C_NEV IS NULL
|
||||
OR C_OMKOD IS NULL
|
||||
OR C_IRANYITOSZAM IS NULL
|
||||
OR C_VAROS IS NULL
|
||||
OR C_KOZTERULETNEV IS NULL
|
||||
OR C_KOZTERULETJELLEG IS NULL
|
||||
OR C_HAZSZAM IS NULL
|
||||
OR C_IGAZGATONEVE IS NULL)
|
||||
AND I.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND I.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
) > 0, 'T', 'F' )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
A rendszerben ...
|
||||
tanulónak nem megfelelő formátumú az oktatási azonosítója.
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANULOHIANYOSOKTATASIAZONOSI = (
|
||||
SELECT count(1)
|
||||
FROM T_TANULO t
|
||||
INNER JOIN T_FELHASZNALO f ON f.ID = t.ID AND f.TOROLT = 'F'
|
||||
WHERE t.TOROLT = 'F'
|
||||
AND (f.C_OKTATASIAZONOSITO NOT LIKE '7%'
|
||||
OR f.C_OKTATASIAZONOSITO LIKE '%[^0-9]%'
|
||||
OR LEN(f.C_OKTATASIAZONOSITO) <> 11)
|
||||
AND T.C_ALINTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND T.C_ALTANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
A rendszerben ...
|
||||
tanárnak nem megfelelő formátumú az oktatási azonosítója.
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANAROKHIANYOSOKTATASIAZONOS = (
|
||||
SELECT count(1)
|
||||
FROM T_ALKALMAZOTT a
|
||||
INNER JOIN T_FELHASZNALO f ON f.ID = a.ID AND f.TOROLT = 'F'
|
||||
WHERE a.TOROLT = 'F'
|
||||
AND (f.C_OKTATASIAZONOSITO not like '7%'
|
||||
or f.C_OKTATASIAZONOSITO LIKE '%[^0-9]%'
|
||||
or LEN(f.C_OKTATASIAZONOSITO) <> 11)
|
||||
AND A.C_ALINTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND A.C_ALTANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
/*
|
||||
A tantárgyfelosztásban ...
|
||||
tanár nem szerepel!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANTARGYFELOSZTASTANARNINCSE = (
|
||||
SELECT COUNT(1)
|
||||
FROM T_ALKALMAZOTT a
|
||||
LEFT JOIN T_FOGLALKOZAS F ON ( A.ID = F.C_TANARID AND F.TOROLT = 'F'
|
||||
AND F.C_INTEZMENYID = A.C_ALINTEZMENYID
|
||||
AND F.C_TANEVID = A.C_ALTANEVID
|
||||
)
|
||||
WHERE a.TOROLT = 'F' AND f.ID IS NULL
|
||||
AND A.C_ALINTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND A.C_ALTANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
A tantárgyak közül ...
|
||||
tantárgy nem szerepel a tantárgyfelosztásban!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANTARGYFELOSZTASTANTARGYNIN = (
|
||||
SELECT count(1)
|
||||
FROM T_TANTARGY tt
|
||||
LEFT JOIN T_FOGLALKOZAS f ON ( f.C_TANTARGYID = tt.ID AND f.TOROLT = 'F'
|
||||
AND F.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND F.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE f.ID IS NULL AND TT.TOROLT = 'F'
|
||||
AND TT.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND TT.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
Az osztályok ill. tanórai célú csoportok közül ...
|
||||
nem szerepel a tantárgyfelosztásban!
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANTARGYFELOSZTASOSZTALYOKNI = (
|
||||
SELECT count(1)
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
LEFT JOIN T_FOGLALKOZAS f ON ( f.C_OSZTALYCSOPORTID = ocs.ID AND f.TOROLT = 'F'
|
||||
AND F.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND F.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE ocs.TOROLT = 'F' AND f.ID IS NULL
|
||||
AND ( EXISTS ( SELECT 1 FROM T_OSZTALY WHERE T_OSZTALY.ID = OCS.ID ) -- OSZTÁLY
|
||||
OR
|
||||
EXISTS ( SELECT 1 FROM T_CSOPORT WHERE T_CSOPORT.C_TIPUSA = 1034 AND T_CSOPORT.ID = OCS.ID) -- CSOPORT
|
||||
)
|
||||
AND ocs.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND ocs.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
)
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
Az órarendben ... órában teremütközés van,
|
||||
azonos teremben több óra IS szerepel!
|
||||
*/
|
||||
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_ORARENDTEREMUTKOZES = ( SELECT COUNT(1)
|
||||
FROM (
|
||||
SELECT sub.C_HETIREND, sub.C_HETNAPJA, sub.C_TEREMID, sub.C_CSENGETESIRENDORAID, COUNT(1) cnt
|
||||
FROM (
|
||||
SELECT DISTINCT o.C_HETIREND, o.C_HETNAPJA, o.C_TEREMID, o.C_CSENGETESIRENDORAID, o.C_FOGLALKOZASID
|
||||
FROM T_ORARENDIORA o
|
||||
INNER JOIN T_TEREM t ON t.ID = o.C_TEREMID AND t.TOROLT = 'F'
|
||||
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
|
||||
WHERE o.C_ORAERVENYESSEGKEZDETE < GETDATE() AND (o.C_ORAERVENYESSEGVEGE > GETDATE() OR o.C_ORAERVENYESSEGVEGE IS NULL)
|
||||
AND t.C_TOBBORATLEHETTARTANI = 'F'
|
||||
AND o.TOROLT = 'F'
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT n.C_HETIREND , n.C_HETNAPJA, o.C_TEREMID, o.C_CSENGETESIRENDORAID, o.C_FOGLALKOZASID
|
||||
FROM T_TANITASIORA o
|
||||
INNER JOIN T_NAPTARINAP n ON n.ID = o.C_NAPTARINAPID AND n.TOROLT = 'F'
|
||||
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
|
||||
INNER JOIN T_TEREM t ON t.ID = o.C_TEREMID AND t.TOROLT = 'F'
|
||||
WHERE o.C_ORARENDIORAGROUPID IS NULL
|
||||
AND n.C_NAPDATUMA > GETDATE() - 1
|
||||
AND t.C_TOBBORATLEHETTARTANI = 'F'
|
||||
AND o.TOROLT = 'F'
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
) sub
|
||||
GROUP BY sub.C_HETIREND, sub.C_HETNAPJA, sub.C_TEREMID, sub.C_CSENGETESIRENDORAID
|
||||
HAVING COUNT(1) > 1
|
||||
) tbl )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
/*
|
||||
Az órarendben ... órában tanárütközés szerepel,
|
||||
azonos órában a pedagógushoz több tanóra IS tartozik.
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_ORARENDTANARUTKOZES = ( SELECT count(1)
|
||||
FROM (
|
||||
SELECT sub.C_TANARID, sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID, COUNT(1) cnt
|
||||
FROM (
|
||||
SELECT f.C_TANARID, o.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, o.C_TEREMID
|
||||
FROM T_ORARENDIORA o
|
||||
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
|
||||
WHERE o.TOROLT = 'F'
|
||||
AND o.C_ORAERVENYESSEGKEZDETE < GETDATE()
|
||||
AND (o.C_ORAERVENYESSEGVEGE > GETDATE() OR o.C_ORAERVENYESSEGVEGE IS NULL)
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
|
||||
UNION
|
||||
|
||||
SELECT ISNULL(o.C_HELYETTESITOTANARID, f.C_TANARID) AS C_TANAROKID, n.C_HETIREND, o.C_HETNAPJA, o.C_CSENGETESIRENDORAID, o.C_TEREMID
|
||||
FROM T_TANITASIORA o
|
||||
INNER JOIN T_FOGLALKOZAS f ON f.ID = o.C_FOGLALKOZASID AND f.TOROLT = 'F'
|
||||
INNER JOIN T_NAPTARINAP n ON n.ID = o.C_NAPTARINAPID AND n.TOROLT = 'F'
|
||||
WHERE o.TOROLT = 'F'
|
||||
AND o.C_ORARENDIORAGROUPID IS NULL
|
||||
AND o.C_DATUM > getdate() - 1
|
||||
AND O.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND O.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
) sub
|
||||
GROUP BY sub.C_TANARID, sub.C_HETIREND, sub.C_HETNAPJA, sub.C_CSENGETESIRENDORAID
|
||||
HAVING COUNT(1) > 1
|
||||
) tbl )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
/*
|
||||
Azon tanulók száma, akik osztályba vannak sorolva, de nincs tantervük
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_TANTERVNELKULITANULOK = (
|
||||
SELECT count(1)
|
||||
FROM (
|
||||
select distinct T_TANULO.ID
|
||||
from T_TANULOCSOPORT
|
||||
inner join T_TANULO on (T_TANULO.ID = T_TANULOCSOPORT.C_TANULOID and T_TANULO.TOROLT = 'F')
|
||||
where T_TANULO.C_TANTERVID is null
|
||||
and T_TANULOCSOPORT.TOROLT = 'F'
|
||||
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
|
||||
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM > GETDATE())
|
||||
AND T_TANULOCSOPORT.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND T_TANULOCSOPORT.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID
|
||||
) tbl )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Nincs beállítva aktív csengetési rend
|
||||
*/
|
||||
UPDATE T_RENDSZERERTESITESEK
|
||||
SET C_AKTIVCSENGETESIREND = ( SELECT IIF(EXISTS(SELECT 1
|
||||
FROM T_CSENGETESIREND
|
||||
WHERE C_AKTIV = 'T'
|
||||
AND T_CSENGETESIREND.C_INTEZMENYID = T_RENDSZERERTESITESEK.C_INTEZMENYID
|
||||
AND T_CSENGETESIREND.C_TANEVID = T_RENDSZERERTESITESEK.C_TANEVID),
|
||||
'F', 'T') )
|
||||
WHERE TOROLT = 'F'
|
||||
|
||||
END
|
Loading…
Add table
Add a link
Reference in a new issue