99 lines
No EOL
3.1 KiB
Transact-SQL
99 lines
No EOL
3.1 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetNemMegtartottOrakSzamaPerHet
|
|
|
|
GO
|
|
CREATE PROCEDURE [uspGetNemMegtartottOrakSzamaPerHet]
|
|
@pFeladatKategoriaId int = NULL,
|
|
@pOsztalyId int,
|
|
@pFeladatEllatasiHelyId int = NULL,
|
|
@pIntezmenyId int,
|
|
@pTanevId int,
|
|
@pFelhasznaloId int
|
|
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @pCsakOrarendiOrak BIT = 0
|
|
DECLARE @pIdoszakKezdete DATETIME = (SELECT MIN(C_HETKEZDONAPJA) FROM T_NAPTARIHET nh WHERE nh.C_INTEZMENYID = @pIntezmenyId AND nh.C_TANEVID = @pTanevId AND nh.TOROLT = 'F')
|
|
DECLARE @pIdoszakVege DATETIME = GETDATE()
|
|
|
|
CREATE TABLE #OrarendTable (
|
|
Id int
|
|
,HetSorszam int
|
|
,OraVege datetime
|
|
,OraTipus nvarchar(200)
|
|
,OsztCsopId int
|
|
)
|
|
|
|
INSERT INTO #OrarendTable
|
|
(
|
|
Id
|
|
,HetSorszam
|
|
,OraVege
|
|
,OraTipus
|
|
,OsztCsopId
|
|
)
|
|
EXEC sp_GetOrarend
|
|
@pIntezmenyId = @pIntezmenyId
|
|
,@pTanevId = @pTanevId
|
|
,@pIdoszakKezdete = @pIdoszakKezdete
|
|
,@pIdoszakVege = @pIdoszakVege
|
|
,@pTanarId = NULL
|
|
,@pIsHelyettesitesNelkul = 0
|
|
,@pOsztalyCsoportId = @pOsztalyId
|
|
,@pTanuloId = NULL
|
|
,@pTantargyId = NULL
|
|
,@pTeremId = NULL
|
|
,@pCsakOrarendiOrak = @pCsakOrarendiOrak
|
|
,@pIsNapirend = NULL
|
|
,@pOszlopok = N'Id,HetSorszam,OraVege,OraTipus,OsztCsopId'
|
|
|
|
SELECT
|
|
nh.C_HETSORSZAMA AS HetSorszam
|
|
,ISNULL(nemBeirt.NemNaplozottOrakSzama, 0) AS NemNaplozottOrakSzama
|
|
,@pOsztalyId AS OsztalyID
|
|
,ISNULL(@pFeladatKategoriaId, '') AS feladatKategoriaId
|
|
,ISNULL(@pFeladatEllatasiHelyId, '') AS feladatEllatasiHelyId
|
|
,ell.EllenorzesId
|
|
,ISNULL(ell.EllenorzesDatuma, GETDATE()) AS EllenorzesDatuma
|
|
,ISNULL(ell.EllenorizteId, @pFelhasznaloId) AS EllenorizteId
|
|
,ISNULL(ell.Ellenorizte, lekerdezo.C_NYOMTATASINEV) AS Ellenorizte
|
|
,ell.EllenorzesMegjegyzes
|
|
FROM T_NAPTARIHET nh
|
|
LEFT JOIN (
|
|
SELECT
|
|
tmp.HetSorszam AS HetSorszam
|
|
,count(tmp.Id) AS NemNaplozottOrakSzama
|
|
FROM #OrarendTable tmp
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON tmp.OsztCsopId = ocs.ID
|
|
WHERE tmp.OraTipus = 'OrarendiOra'
|
|
AND tmp.OraVege < GETDATE()
|
|
AND (@pFeladatKategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId)
|
|
AND (@pFeladatEllatasiHelyId IS NULL OR ocs.C_FELADATELLATASIHELYID = @pFeladatEllatasiHelyId)
|
|
GROUP BY tmp.HetSorszam
|
|
) nemBeirt ON nemBeirt.HetSorszam = nh.C_HETSORSZAMA
|
|
LEFT JOIN
|
|
(
|
|
SELECT
|
|
ne.ID AS EllenorzesId
|
|
,ne.C_ELLENORZESDATUMA AS EllenorzesDatuma
|
|
,ne.C_ELLENORZOSZEMELYID AS EllenorizteId
|
|
,f.C_NYOMTATASINEV AS Ellenorizte
|
|
,ne.C_ESZREVETEL AS EllenorzesMegjegyzes
|
|
,ne.C_HETSORSZAMA
|
|
FROM T_NAPLOELLENORZES_OSSZES ne
|
|
LEFT JOIN T_FELHASZNALO f ON f.ID = ne.C_ELLENORZOSZEMELYID AND f.TOROLT = 'F'
|
|
WHERE ne.C_TANEVID = @pTanevId
|
|
AND ne.C_OSZTALYID = @pOsztalyId
|
|
AND ne.TOROLT = 'F'
|
|
) ell ON ell.C_HETSORSZAMA = nh.C_HETSORSZAMA
|
|
LEFT JOIN T_FELHASZNALO lekerdezo ON lekerdezo.ID = @pFelhasznaloId AND lekerdezo.TOROLT = 'F'
|
|
WHERE nh.C_HETIREND IS NOT NULL
|
|
AND nh.TOROLT = 'F'
|
|
AND nh.C_TANEVID = @pTanevId
|
|
AND nh.C_HETKEZDONAPJA < GETDATE()
|
|
ORDER BY nh.C_HETSORSZAMA
|
|
|
|
END
|
|
GO |