59 lines
1.8 KiB
Transact-SQL
59 lines
1.8 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetNemNaplozottOrakSzama
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetNemNaplozottOrakSzama
|
|
@pTanevId int
|
|
,@pIntezmenyId int
|
|
,@pFeladatKategoriaId int = null
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE
|
|
@IdoszakKezdete DATE
|
|
,@IdoszakVege DATE = GETDATE();
|
|
|
|
SELECT @IdoszakKezdete = tv.C_KEZDONAP
|
|
FROM T_TANEV_OSSZES tv WHERE ID = @pTanevId;
|
|
|
|
SELECT
|
|
f.C_NYOMTATASINEV AS Tanar,
|
|
f.C_OKTATASIAZONOSITO AS TanarOktAzon,
|
|
RIGHT(CONCAT('00', o.Honap), 2) AS Honap,
|
|
o.Darab
|
|
FROM (
|
|
SELECT
|
|
ISNULL(oo.C_HELYETTESTANAROKID, oo.C_TANARID) AS C_TANARID,
|
|
MONTH(oo.C_DATUM) AS Honap,
|
|
COUNT(*) AS Darab
|
|
FROM T_ORARENDTELJES_OSSZES oo
|
|
WHERE oo.C_INTEZMENYID = @pIntezmenyId
|
|
AND oo.C_TANEVID = @pTanevId
|
|
AND oo.C_DATUM >= @IdoszakKezdete
|
|
AND oo.C_DATUM < @IdoszakVege
|
|
AND oo.C_FELADATKATEGORIAID = CASE WHEN @pFeladatKategoriaId IS NOT NULL THEN @pFeladatKategoriaId ELSE oo.C_FELADATKATEGORIAID END
|
|
AND NOT EXISTS(
|
|
SELECT *
|
|
FROM dbo.T_TANITASIORA_OSSZES tt
|
|
WHERE tt.TOROLT = 'F'
|
|
AND tt.C_INTEZMENYID = oo.C_INTEZMENYID
|
|
AND tt.C_TANEVID = oo.C_TANEVID
|
|
AND tt.C_DATUM = oo.C_DATUM
|
|
AND tt.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID
|
|
AND tt.C_TANTARGYID = oo.C_TANTARGYID
|
|
AND tt.C_TANARID = oo.C_TANARID
|
|
AND (
|
|
tt.C_ORASZAM = oo.C_ORASZAM
|
|
OR
|
|
(
|
|
tt.C_ORAKEZDETE = CAST(oo.C_DATUM AS DATETIME) + CAST(oo.C_ORAKEZDETE AS DATETIME)
|
|
AND
|
|
tt.C_ORAVEGE = CAST(oo.C_DATUM AS DATETIME) + CAST(oo.C_ORAVEGE AS DATETIME)
|
|
)
|
|
)
|
|
)
|
|
GROUP BY
|
|
ISNULL(oo.C_HELYETTESTANAROKID, oo.C_TANARID),
|
|
MONTH(oo.C_DATUM)
|
|
) o
|
|
LEFT JOIN T_FELHASZNALO_OSSZES f ON f.ID = o.C_TANARID and f.TOROLT = 'F'
|
|
GO
|