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

50 lines
No EOL
2 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS dbo.uspGetMulasztasokDatumNezetDataByOsztalyCsoportId
GO
CREATE PROCEDURE dbo.uspGetMulasztasokDatumNezetDataByOsztalyCsoportId
@pMulasztasTipusJelenlet int
,@pMulasztasTipusUres int
,@pAktualisTanevId int
,@pOsztalyCsoportId int
,@pIntezmenyId int
,@pIsCsoportVezeto int
,@pHetnapjaTipusTypeId int = 40
AS
BEGIN
SET NOCOUNT ON;
SET DATEFIRST 1; -- Sets the first day of the week to a number from 1 (Monday) through 7 (Sunday).
SELECT
x.MulasztasDatuma
,x.MulasztasokSzama
,d.C_NAME AS MulasztasNapja
,@pOsztalyCsoportId AS OsztalyCsoportId
,d.C_INTEZMENYID
,x.CsoportTipusId
FROM (
SELECT
tn.C_DATUM AS MulasztasDatuma
,COUNT(tcs.C_TANULOID) AS MulasztasokSzama
,cs.C_TIPUSA AS CsoportTipusId
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_TANULOMULASZTAS_OSSZES tm ON tm.C_ORATANULOIID = tcs.C_TANULOID
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = tm.C_TANITASIORAKID AND (@pIsCsoportVezeto = 0 OR tn.C_OSZTALYCSOPORTID = @pOsztalyCsoportId)
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs on ocs.ID = tn.C_OSZTALYCSOPORTID
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = tcs.C_OSZTALYCSOPORTID
INNER JOIN fnGetKapcsolodoOsztalycsoportok(@pOsztalyCsoportId) kocs on kocs.ID = tn.C_OSZTALYCSOPORTID
WHERE tm.TOROLT = 'F'
AND tcs.TOROLT = 'F'
AND tn.TOROLT = 'F'
AND ocs.TOROLT = 'F'
AND tm.C_TANEVID = @pAktualisTanevId AND tm.C_INTEZMENYID = @pIntezmenyId
AND tm.C_IGAZOLT IS NULL AND tm.C_TIPUS <> @pMulasztasTipusJelenlet AND tm.C_TIPUS <> @pMulasztasTipusUres
AND tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND tcs.C_BELEPESDATUM <= tn.C_DATUM AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > tn.C_DATUM)
GROUP BY
tn.C_DATUM, cs.C_TIPUSA
) x
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.C_VALUE = DATEPART(dw,x.MulasztasDatuma)
AND d.C_DICTIONARYTYPEID = @pHetnapjaTipusTypeId
AND d.C_INTEZMENYID = @pIntezmenyId AND d.C_TANEVID = @pAktualisTanevId
ORDER BY MulasztasDatuma DESC
END
GO