kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170419134110_KRETA_358/sp_GetNemMegtartottOrakSzamaPerHet.sql
2024-03-13 00:33:46 +01:00

78 lines
No EOL
2.7 KiB
Transact-SQL

IF OBJECT_ID('sp_GetNemMegtartottOrakSzamaPerHet') IS NOT NULL
BEGIN
DROP PROCEDURE sp_GetNemMegtartottOrakSzamaPerHet
END
GO
CREATE PROCEDURE [sp_GetNemMegtartottOrakSzamaPerHet]
@osztalycsoportId int,
@intezmenyId int,
@tanevId int
AS
BEGIN
SELECT
HetSorszam HetSorszama
,count(ID) NemNaplozottOrakSzama
,@osztalycsoportId 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 naptar.C_ORARENDINAP='T'
AND (naptar.C_HETIREND = oo.C_HETIREND OR oo.C_HETIREND = 1554)
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_TANITASIORA_OSSZES tao ON
naptar.C_NAPDATUMA=tao.C_DATUM
AND oo.ID = tao.C_ORARENDIORAID
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(@osztalycsoportId))
AND naptar.C_NAPDATUMA <= 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
hi.C_HETSORSZAMA HetSorszam
,hi.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(@osztalycsoportId))
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 <= GETDATE()
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA tao WHERE tao.C_DATUM = CAST(hi.C_HELYETTESITESNAPJA AS DATE) AND tao.C_ORARENDIORAID=hi.C_HELYETTESITETTORARENDID AND tao.TOROLT='F')
)a
)a
GROUP BY HetSorszam
ORDER BY HetSorszam
END
GO