89 lines
No EOL
2.5 KiB
Transact-SQL
89 lines
No EOL
2.5 KiB
Transact-SQL
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
IF OBJECT_ID('dbo.sp_GetDokumentumTanitasiNapokSorszama') IS NOT NULL
|
|
BEGIN
|
|
DROP PROCEDURE dbo.sp_GetDokumentumTanitasiNapokSorszama
|
|
END
|
|
GO
|
|
|
|
CREATE PROCEDURE dbo.sp_GetDokumentumTanitasiNapokSorszama
|
|
@tanevId INT,
|
|
@osztalyId INT
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
--Tanítás nélküli hétköznapok
|
|
DECLARE @TanitasNelkuliNapokTanevRendjeTable TABLE (Datum DATE)
|
|
INSERT INTO @TanitasNelkuliNapokTanevRendjeTable
|
|
SELECT
|
|
C_DATUM
|
|
FROM T_TANEVRENDJE_OSSZES TanevRendje
|
|
WHERE
|
|
C_TANEVID = @tanevId
|
|
AND TOROLT = 'F'
|
|
AND C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
|
AND C_NAPTIPUSA NOT IN (1384, 1385, 1389, 1393, 1394, 1395, 1400, 1401, 1402, 1403, 1404, 1649)
|
|
AND C_HETNAPJA IN (1408, 1409, 1410, 1411, 1412)
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
C_DATUM
|
|
FROM T_TANEVRENDJE_OSSZES TanevRendje
|
|
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE OsztalyCsoportTanevRendje ON OsztalyCsoportTanevRendje.C_TANEVRENDJEID = TanevRendje.ID
|
|
WHERE
|
|
C_TANEVID = @tanevId
|
|
AND TOROLT = 'F'
|
|
AND C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
|
AND C_NAPTIPUSA NOT IN (1384, 1385, 1389, 1393, 1394, 1395, 1400, 1401, 1402, 1403, 1404, 1649)
|
|
AND C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyId, @tanevId))
|
|
AND C_HETNAPJA IN (1408, 1409, 1410, 1411, 1412)
|
|
|
|
--Hétvégi tanítási napok
|
|
DECLARE @HetvegiTanitasiNapokTanevRendjeTable TABLE (Datum DATE)
|
|
INSERT INTO @HetvegiTanitasiNapokTanevRendjeTable
|
|
SELECT
|
|
C_DATUM
|
|
FROM T_TANEVRENDJE_OSSZES TanevRendje
|
|
WHERE
|
|
C_TANEVID = @tanevId
|
|
AND TOROLT = 'F'
|
|
AND C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
|
AND C_NAPTIPUSA IN (1384, 1385, 1389, 1393, 1394, 1395, 1400, 1401, 1402, 1403, 1404, 1649)
|
|
AND C_HETNAPJA IN (1413, 1414)
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
C_DATUM
|
|
FROM T_TANEVRENDJE_OSSZES TanevRendje
|
|
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE OsztalyCsoportTanevRendje ON OsztalyCsoportTanevRendje.C_TANEVRENDJEID = TanevRendje.ID
|
|
WHERE
|
|
C_TANEVID = @tanevId
|
|
AND TOROLT = 'F'
|
|
AND C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
|
AND C_NAPTIPUSA IN (1384, 1385, 1389, 1393, 1394, 1395, 1400, 1401, 1402, 1403, 1404, 1649)
|
|
AND C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyId, @tanevId))
|
|
AND C_HETNAPJA IN (1413, 1414)
|
|
|
|
--Result
|
|
SELECT
|
|
C_NAPDATUMA
|
|
FROM T_NAPTARINAP_OSSZES NaptariNap
|
|
WHERE
|
|
NaptariNap.TOROLT = 'F'
|
|
AND C_TANEVID = @tanevId
|
|
AND C_NAPDATUMA NOT IN (SELECT Datum FROM @TanitasNelkuliNapokTanevRendjeTable)
|
|
AND C_HETNAPJA IN (1408, 1409, 1410, 1411, 1412)
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
Datum
|
|
FROM @HetvegiTanitasiNapokTanevRendjeTable
|
|
|
|
END |