48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.9 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
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
  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
 | 
						|
  ,x.OsztalyCsoportId
 | 
						|
  ,d.C_INTEZMENYID
 | 
						|
  ,x.CsoportTipusId
 | 
						|
  ,x.OsztalyCsoportId
 | 
						|
FROM (
 | 
						|
 SELECT
 | 
						|
     tn.C_DATUM AS MulasztasDatuma
 | 
						|
    ,COUNT(tcs.C_TANULOID) AS MulasztasokSzama
 | 
						|
    ,tn.C_OSZTALYCSOPORTID AS OsztalyCsoportId
 | 
						|
    ,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
 | 
						|
    
 | 
						|
  WHERE tm.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, tn.C_OSZTALYCSOPORTID, cs.C_TIPUSA, ocs.C_NEV
 | 
						|
) x
 | 
						|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.C_VALUE = DATEPART(dw,x.MulasztasDatuma)
 | 
						|
  AND C_TYPE = N'HetnapjaTipus'
 | 
						|
  AND d.C_INTEZMENYID = @pIntezmenyId AND d.C_TANEVID = @pAktualisTanevId
 | 
						|
  AND x.OsztalyCsoportId = @pOsztalyCsoportId
 | 
						|
ORDER BY MulasztasDatuma DESC
 | 
						|
END
 | 
						|
GO |