50 lines
No EOL
2 KiB
Transact-SQL
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 |