kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/sp_GetHianyzoOrabeirasok.sql
2024-03-13 00:33:46 +01:00

51 lines
2.1 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS [dbo].[sp_GetHianyzoOrabeirasok]
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]
@pIdoszakVege DateTime
AS
BEGIN
SET NOCOUNT ON;
-- :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