55 lines
2.4 KiB
Transact-SQL
55 lines
2.4 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS [dbo].[sp_GetOsszesNemBejegyzettOra]
|
|
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;
|
|
|
|
--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_ORARENDIORAGROUPID = T_ORARENDIORA.C_ORARENDIORAGROUPID AND T_TANITASIORA.C_DATUM BETWEEN T_ORARENDIORA.C_ORAERVENYESSEGKEZDETE AND T_ORARENDIORA.C_ORAERVENYESSEGVEGE 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
|
|
GO
|