init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,177 @@
|
|||
IF OBJECT_ID('dbo.uspGetOsztalycsoportTantargyiMulasztasai') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE dbo.uspGetOsztalycsoportTantargyiMulasztasai
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.uspGetOsztalycsoportTantargyiMulasztasai
|
||||
@pOsztalyId int
|
||||
,@pTantargyId int
|
||||
,@pTanevid int
|
||||
,@pIntezmenyId int
|
||||
,@pCsakMegtartott bit /*0 - nem, 1 - igen */
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @isResultTableDeclered bit = 0;
|
||||
DECLARE @oraPerc INT;
|
||||
SET @oraPerc = (SELECT ISNULL(csp.C_ORAPERC, 45) FROM T_OSZTALYCSOPORT ocs
|
||||
LEFT JOIN T_CSOPORT cs on cs.ID = ocs.ID AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_CSOPORTTIPUS csp ON csp.ID = cs.C_TIPUSA AND cs.TOROLT = 'F'
|
||||
WHERE ocs.ID = @pOsztalyId AND ocs.TOROLT = 'F')
|
||||
|
||||
IF OBJECT_ID('tempdb..#OsztalyTanuloi') IS NOT NULL BEGIN
|
||||
DROP TABLE #OsztalyTanuloi
|
||||
END
|
||||
CREATE TABLE #OsztalyTanuloi (
|
||||
TanuloId int
|
||||
,Belepes datetime
|
||||
,Kilepes datetime
|
||||
,CONSTRAINT PK_OsztalyTanuloi PRIMARY KEY (TanuloId)
|
||||
)
|
||||
|
||||
INSERT INTO #OsztalyTanuloi (TanuloId)
|
||||
SELECT DISTINCT C_TANULOID
|
||||
FROM T_TANULOCSOPORT_OSSZES
|
||||
WHERE C_OSZTALYCSOPORTID = @pOsztalyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND TOROLT = 'F'
|
||||
|
||||
IF OBJECT_ID('tempdb..#Result') IS NULL BEGIN
|
||||
SET @isResultTableDeclered = 1;
|
||||
|
||||
CREATE TABLE #Result (
|
||||
TanuloId int
|
||||
,Mulasztas int
|
||||
,MegtartottOra int
|
||||
,HatralevoOra int
|
||||
,CONSTRAINT PK_Result PRIMARY KEY (TanuloId)
|
||||
)
|
||||
END
|
||||
|
||||
INSERT INTO #Result (
|
||||
TanuloId
|
||||
,Mulasztas
|
||||
,MegtartottOra
|
||||
,HatralevoOra
|
||||
) SELECT
|
||||
ot.TanuloId
|
||||
,SUM(IIF(C_TIPUS = 1500, 1, 0)) + (SUM(IIF(C_TIPUS = 1499, C_KESESPERCBEN, 0)) / @oraPerc) AS Mulasztas
|
||||
,COUNT(DISTINCT tn.ID) AS MegtartottOra
|
||||
,IIF(@pCsakMegtartott = 1, NULL, 0) AS HatralevoOra
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN #OsztalyTanuloi ot ON tcs.C_TANULOID = ot.TanuloId
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn
|
||||
ON tn.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID
|
||||
AND tn.C_BEJEGYZESIDEJE >= tcs.C_BELEPESDATUM
|
||||
AND tn.C_BEJEGYZESIDEJE < ISNULL(tcs.C_KILEPESDATUM, '21000101')
|
||||
LEFT JOIN T_TANULOMULASZTAS_OSSZES tm
|
||||
ON tm.C_TANITASIORAKID = tn.ID
|
||||
AND tm.C_ORATANULOIID = ot.TanuloId
|
||||
AND tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
WHERE tn.C_TANTARGYID = @pTantargyId
|
||||
GROUP BY ot.TanuloId
|
||||
|
||||
IF @pCsakMegtartott = 1 BEGIN
|
||||
IF @isResultTableDeclered = 1 BEGIN
|
||||
SELECT
|
||||
TanuloId
|
||||
,Mulasztas
|
||||
,MegtartottOra
|
||||
,HatralevoOra
|
||||
FROM #Result
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
CREATE TABLE #OrarendTable (
|
||||
Id int
|
||||
,ORARENDIID INT
|
||||
,Datum datetime
|
||||
,Bontott char(1)
|
||||
,Hetirend int
|
||||
,HetNapja int
|
||||
,HetSorszam int
|
||||
,ErvenyessegKezdete datetime
|
||||
,ErvenyessegVege datetime
|
||||
,OraKezdete datetime
|
||||
,OraVege datetime
|
||||
,Oraszam int
|
||||
,TargyNev nvarchar(300)
|
||||
,TargyNevForMobile nvarchar(300)
|
||||
,TargykategoriaID int
|
||||
,Megtartott char(1)
|
||||
,CsengetesiRendOraID int
|
||||
,CsengetesiRendID int
|
||||
,MaxNapiOraszam int
|
||||
,OsztalyNev nvarchar(255)
|
||||
,TanevRendOsztalyCsoportId int
|
||||
,MegjelenesOka nvarchar(300)
|
||||
,TanarNev nvarchar(255)
|
||||
,TeremNev nvarchar(255)
|
||||
,OraTipus nvarchar(200)
|
||||
,Hianyzas char(1)
|
||||
,Keses char(1)
|
||||
,Ures char(1)
|
||||
,HelyettesitoTanarID int
|
||||
,HelyettesitoTanarNev nvarchar(255)
|
||||
,TanarID int
|
||||
,HelyettesitesId int
|
||||
,AdminAltalKiirt char(1)
|
||||
,GroupId int
|
||||
,Tema nvarchar(max)
|
||||
,TantargyId int
|
||||
,OsztCsopId int
|
||||
,INDEX IX_TanevRendOsztalyCsoportId CLUSTERED (TanevRendOsztalyCsoportId)
|
||||
)
|
||||
|
||||
DECLARE @idoszakKezdete datetime = GETDATE()
|
||||
DECLARE @idoszakVege datetime
|
||||
|
||||
SELECT @idoszakVege = C_NAPDATUMA
|
||||
FROM T_NAPTARINAP
|
||||
WHERE C_NAPTIPUSA = 1395
|
||||
AND C_TANEVID = @pTanevId
|
||||
|
||||
INSERT INTO #OrarendTable (
|
||||
Id,ORARENDIID,Datum,Bontott,Hetirend,HetNapja,HetSorszam,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,Oraszam,
|
||||
TargyNev,TargyNevForMobile,TargykategoriaID,Megtartott,CsengetesiRendOraID,CsengetesiRendID,MaxNapiOraszam,OsztalyNev,TanevRendOsztalyCsoportId,
|
||||
MegjelenesOka,TanarNev,TeremNev,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,TanarID,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId)
|
||||
EXEC sp_GetOrarend
|
||||
@pIntezmenyId = @pIntezmenyId
|
||||
,@pTanevId = @pTanevId
|
||||
,@pIdoszakKezdete = @idoszakKezdete
|
||||
,@pIdoszakVege = @idoszakVege
|
||||
,@pTanarId = NULL
|
||||
,@pIsHelyettesitesNelkul = 0
|
||||
,@pOsztalyCsoportId = @pOsztalyId
|
||||
,@pTanuloId = NULL
|
||||
,@pTantargyId = @pTantargyId
|
||||
,@pTeremId = NULL
|
||||
,@pCsakOrarendiOrak = 0
|
||||
,@pIsNapirend = 0
|
||||
|
||||
UPDATE r
|
||||
SET
|
||||
r.HatralevoOra = ISNULL(o.HatralevoOra, 0)
|
||||
FROM #Result r
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
ot.TanuloId, COUNT(1) AS HatralevoOra
|
||||
FROM T_TANULOCSOPORT tcs
|
||||
INNER JOIN #OrarendTable oo ON tcs.C_OSZTALYCSOPORTID = oo.TanevRendOsztalyCsoportId
|
||||
INNER JOIN #OsztalyTanuloi ot ON tcs.C_TANULOID = ot.TanuloId AND oo.Datum >= tcs.C_BELEPESDATUM AND oo.Datum < ISNULL(tcs.C_KILEPESDATUM, '21000101')
|
||||
GROUP BY ot.TanuloId
|
||||
) o ON o.TanuloId = r.TanuloId
|
||||
|
||||
IF (@isResultTableDeclered = 1) BEGIN
|
||||
SELECT
|
||||
TanuloId
|
||||
,Mulasztas
|
||||
,MegtartottOra
|
||||
,HatralevoOra
|
||||
FROM #Result
|
||||
END
|
||||
END
|
||||
|
||||
END
|
||||
GO
|
Loading…
Add table
Add a link
Reference in a new issue