Files
kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20180503165721_KRETA_5615/sp_GetDokumentumTanitasiNapokSorszama.sql
2024-03-13 00:33:46 +01:00

89 lines
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 IS NULL OR C_HETNAPJA BETWEEN 1408 AND 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 IS NULL OR C_HETNAPJA BETWEEN 1408 AND 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 IS NULL OR 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 IS NULL OR 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 BETWEEN 1408 AND 1412
UNION
SELECT
Datum
FROM @HetvegiTanitasiNapokTanevRendjeTable
END