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

62 lines
No EOL
1.9 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetHittanOraszamList
GO
CREATE PROCEDURE uspGetHittanOraszamList
@pIntezmenyId INT
,@pTanevId INT
,@pCsoportTipus INT
,@pHittanAdatszolgaltatasLetszamDatum DATETIME
,@pStartDate DATETIME
,@pEndDate DATETIME
,@pOktNevKatTipus INT
AS
BEGIN
SET NOCOUNT ON;
SELECT x.ID
,x.CsoportNev
,x.HittanTipus
,x.MegtartottDarabszam
,ISNULL(x.Darabszam, x.MegtartottDarabszam) AS Darabszam
,ISNULL(x.Letszam, x.SzamitottLetszam) AS Letszam
FROM (
SELECT cs.ID AS ID
,ocs.C_NEV AS CsoportNev
,ha.C_HITTANTIPUSID AS HittanTipus
,(
SELECT count(1)
FROM T_TANITASIORA_OSSZES t
WHERE t.C_OSZTALYCSOPORTID = cs.ID
AND t.TOROLT = 'F'
AND t.C_MEGTARTOTT = 'T'
AND t.C_ORAKEZDETE >= @pStartDate
AND t.C_ORAKEZDETE <= @pEndDate
) AS MegtartottDarabszam
,ha.C_EDDIGIORASZAM AS Darabszam
,(
SELECT count(1)
FROM T_TANULOCSOPORT_OSSZES t
WHERE t.C_OSZTALYCSOPORTID = cs.ID
AND t.TOROLT = 'F'
AND t.C_BELEPESDATUM <= @pHittanAdatszolgaltatasLetszamDatum
AND (
t.C_KILEPESDATUM >= @pHittanAdatszolgaltatasLetszamDatum
OR t.C_KILEPESDATUM IS NULL
)
) AS SzamitottLetszam
,ha.C_CSOPORTLETSZAM AS Letszam
FROM T_CSOPORT_OSSZES cs
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = cs.ID
AND ocs.TOROLT = 'F'
AND ocs.C_FELADATKATEGORIAID = @pOktNevKatTipus
LEFT JOIN T_HITTANADATSZOLGALTATAS_OSSZES ha ON ha.C_OSZTALYCSOPORTID = cs.ID
AND ha.TOROLT = 'F'
AND ha.CREATED >= @pStartDate
AND ha.CREATED <= @pEndDate
WHERE cs.TOROLT = 'F'
AND cs.C_TIPUSA = @pCsoportTipus
AND cs.C_ALINTEZMENYID = @pIntezmenyId
AND cs.C_ALTANEVID = @pTanevId
) AS x
END
GO