78 lines
No EOL
2.7 KiB
Transact-SQL
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 |