kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20171017154046_KRETA_3776/sp_GetOsszesNemBejegyzettOra.sql
2024-03-13 00:33:46 +01:00

67 lines
2.5 KiB
Transact-SQL

GO
/****** Object: StoredProcedure [dbo].[sp_GetOsszesNemBejegyzettOra] Script Date: 2016.01.27. 11:35:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[DBO].[sp_GetOsszesNemBejegyzettOra]') IS NOT NULL BEGIN
DROP PROCEDURE [DBO].[sp_GetOsszesNemBejegyzettOra]
END
GO
-- =============================================
-- Author: <Kelemen Attila>
-- Create date: <2016. 01. 07.>
-- Description: <Azok a megtartott, vagy elmaradt órák, amik nincsenek bejegyezve a naplóba, havi bontásban, tanáronként>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetOsszesNemBejegyzettOra]
@tanevID int,
@mindenHeten int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
--Nem naplózott órák
select
MONTH(naptar.C_NAPDATUMA) Honap,
T_FELHASZNALO.C_NYOMTATASINEV TanarNeve,
COUNT(*)
FROM
T_ORARENDIORA
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.ID= T_ORARENDIORA.C_FOGLALKOZASID
inner join T_NAPTARINAP naptar on ((naptar.C_NAPDATUMA BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE)
AND (naptar.C_HETIREND = T_ORARENDIORA.C_HETIREND OR T_ORARENDIORA.C_HETIREND = @mindenHeten)) -- Minden héten
INNER JOIN T_CSENGETESIRENDORA on T_ORARENDIORA.C_CSENGETESIRENDORAID=T_CSENGETESIRENDORA.ID
LEFT JOIN T_TANITASIORA ON T_TANITASIORA.C_ORARENDIORAID = T_ORARENDIORA.ID AND T_TANITASIORA.TOROLT='F'
inner join T_FELHASZNALO on T_FOGLALKOZAS.C_TANARID = T_FELHASZNALO.ID
WHERE
T_ORARENDIORA.TOROLT='F'
AND naptar.TOROLT = 'F' AND T_FOGLALKOZAS.TOROLT='F'
AND T_FOGLALKOZAS.TOROLT='F'
AND T_FELHASZNALO.TOROLT='F'
AND GETDATE() >= naptar.C_NAPDATUMA
AND T_TANITASIORA.ID IS NULL
AND T_FOGLALKOZAS.C_TANEVID = @tanevID
group by MONTH(naptar.C_NAPDATUMA), T_FELHASZNALO.C_NYOMTATASINEV
order by case --Hónapok sorrendje
when MONTH(naptar.C_NAPDATUMA) = 9 then 1
when MONTH(naptar.C_NAPDATUMA) = 10 then 2
when MONTH(naptar.C_NAPDATUMA) = 11 then 3
when MONTH(naptar.C_NAPDATUMA) = 12 then 4
when MONTH(naptar.C_NAPDATUMA) = 1 then 5
when MONTH(naptar.C_NAPDATUMA) = 2 then 6
when MONTH(naptar.C_NAPDATUMA) = 3 then 7
when MONTH(naptar.C_NAPDATUMA) = 4 then 8
when MONTH(naptar.C_NAPDATUMA) = 5 then 9
when MONTH(naptar.C_NAPDATUMA) = 6 then 10
when MONTH(naptar.C_NAPDATUMA) = 7 then 11
when MONTH(naptar.C_NAPDATUMA) = 8 then 12
end;
END