init
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
IF OBJECT_ID('[dbo].[fnGetKapcsolodoTantargyak]') IS NOT NULL BEGIN
|
||||
DROP FUNCTION [dbo].[fnGetKapcsolodoTantargyak]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [dbo].[fnGetKapcsolodoTantargyak] (@pTantargyId INT)
|
||||
RETURNS @return TABLE (
|
||||
ID INT,
|
||||
C_FOTARGYID INT,
|
||||
C_NEV NVARCHAR(255),
|
||||
C_TARGYKATEGORIA INT
|
||||
)
|
||||
BEGIN
|
||||
IF @pTantargyId IS NULL
|
||||
BEGIN
|
||||
INSERT INTO @return
|
||||
SELECT ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA FROM T_TANTARGY WHERE TOROLT = 'F'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @return
|
||||
SELECT ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA FROM T_TANTARGY WHERE ID = @pTantargyId AND TOROLT = 'F'
|
||||
UNION
|
||||
SELECT ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA FROM T_TANTARGY WHERE C_FOTARGYID = @pTantargyId AND TOROLT = 'F'
|
||||
UNION
|
||||
SELECT ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA FROM T_TANTARGY WHERE C_FOTARGYID = (SELECT C_FOTARGYID FROM T_TANTARGY WHERE ID = @pTantargyId AND TOROLT = 'F') AND TOROLT = 'F'
|
||||
UNION
|
||||
SELECT ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA FROM T_TANTARGY WHERE ID = (SELECT C_FOTARGYID FROM T_TANTARGY WHERE ID = @pTantargyId AND TOROLT = 'F') AND TOROLT = 'F'
|
||||
ORDER BY C_FOTARGYID ASC, C_NEV ASC
|
||||
END
|
||||
RETURN
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
@@ -0,0 +1,261 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GenerateErtekelesekTempTablaByTanulo]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GenerateErtekelesekTempTablaByTanulo]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <El<45>szedi az <20>rt<72>kel<65>seket, havi bont<6E>sban tant<6E>rgy <20>s oszt<7A>lycsoport alapj<70>n>
|
||||
-- NOTE: EZT A H<>ROM T<>ROLT ELJ<4C>R<EFBFBD>ST EGYBEN KELL KEZELNI, HA M<>DOS<4F>TJUK!!!
|
||||
-- - sp_GenerateErtekelesekTempTabla
|
||||
-- - sp_GenerateErtekelesekMagatartasSzorgalomTempTabla
|
||||
-- - sp_GenerateErtekelesekTempTablaByTanulo
|
||||
-- =============================================
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GenerateErtekelesekTempTablaByTanulo]
|
||||
-- Add the parameters for the stored procedure here
|
||||
@pTanuloId INT,
|
||||
@pFelevVege DATE,
|
||||
@pFotargyAltargyId INT = NULL,
|
||||
@pEvkozi INT,
|
||||
@pFelevi INT,
|
||||
@pEvvegi INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @TempErtekeles TABLE (
|
||||
ID INT,
|
||||
ErtekelesDatuma NVARCHAR(255),
|
||||
ErtekelesTipusa INT,
|
||||
ErtekelesSzoveg NVARCHAR(MAX),
|
||||
SzovegRovidNev NVARCHAR(3),
|
||||
Honap NVARCHAR(2),
|
||||
TantargyId INT,
|
||||
Nev NVARCHAR(255),
|
||||
Osztalyzat INT,
|
||||
Szazalek INT,
|
||||
Suly INT,
|
||||
TantargyKategoria INT,
|
||||
FotargyId INT
|
||||
)
|
||||
|
||||
INSERT INTO @TempErtekeles
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT DISTINCT
|
||||
tanuloErtekeles.ID ID,
|
||||
tanuloErtekeles.C_ERTEKELESDATUM ErtekelesDatuma,
|
||||
tanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa,
|
||||
tanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg,
|
||||
tanuloErtekeles.C_SZOVEGROVIDNEV SzovegRovidNev,
|
||||
CASE WHEN tanuloErtekeles.C_ERTEKELESTIPUSA = @pFelevi
|
||||
THEN 'I'
|
||||
WHEN tanuloErtekeles.C_ERTEKELESTIPUSA = @pEvvegi
|
||||
THEN 'II'
|
||||
ELSE
|
||||
CASE
|
||||
WHEN CAST(tanuloErtekeles.C_ERTEKELESDATUM AS DATE) > @pFelevVege
|
||||
THEN CAST(MONTH(tanuloErtekeles.C_ERTEKELESDATUM) + 1 AS NVARCHAR(2))
|
||||
ELSE CAST(MONTH(tanuloErtekeles.C_ERTEKELESDATUM) AS NVARCHAR(2))
|
||||
END
|
||||
END Honap,
|
||||
tantargy.ID TantargyId,
|
||||
tantargy.C_NEV Nev,
|
||||
osztalyzat.C_VALUE Osztalyzat,
|
||||
osztalyzatErtekeles.C_SZAZALEK Szazalek,
|
||||
tanariAtlagSuly.C_SULY Suly,
|
||||
tantargyKategoria.C_VALUE TantargyKategoria,
|
||||
tantargy.C_FOTARGYID FotargyId
|
||||
FROM (
|
||||
SELECT
|
||||
[ID],
|
||||
[C_NYOMTATASINEV]
|
||||
FROM
|
||||
[T_FELHASZNALO]
|
||||
WHERE
|
||||
[TOROLT] = 'F' AND
|
||||
[ID] = @pTanuloId
|
||||
) AS felhasznalo
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
[C_TANULOID],
|
||||
[C_OSZTALYCSOPORTID]
|
||||
FROM
|
||||
[T_TANULOCSOPORT]
|
||||
WHERE
|
||||
[TOROLT] = 'F'
|
||||
) AS tanuloCsoport
|
||||
ON tanuloCsoport.C_TANULOID = felhasznalo.ID
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
[ID]
|
||||
FROM
|
||||
[T_OSZTALYCSOPORT]
|
||||
WHERE
|
||||
[TOROLT] = 'F'
|
||||
) AS osztalyCsoport
|
||||
ON osztalyCsoport.ID = tanuloCsoport.C_OSZTALYCSOPORTID
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
[ID],
|
||||
[C_OSZTALYCSOPORTID],
|
||||
[C_TANTARGYID]
|
||||
FROM
|
||||
[T_ORARENDIORA]
|
||||
WHERE
|
||||
[TOROLT] = 'F'
|
||||
) AS orarendiOra
|
||||
ON orarendiOra.C_OSZTALYCSOPORTID = osztalyCsoport.ID
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
[ID],
|
||||
[C_NEV],
|
||||
[C_TARGYKATEGORIA],
|
||||
[C_FOTARGYID]
|
||||
FROM
|
||||
fnGetKapcsolodoTantargyak(@pFotargyAltargyId)
|
||||
) AS tantargy ON
|
||||
(tantargy.ID = orarendiOra.C_TANTARGYID AND @pFotargyAltargyId IS NULL)
|
||||
OR (tantargy.ID <> @pFotargyAltargyId)
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
[ID],
|
||||
[C_VALUE]
|
||||
FROM
|
||||
[T_DICTIONARYITEMBASE]
|
||||
WHERE
|
||||
[TOROLT] = 'F'
|
||||
) AS tantargyKategoria
|
||||
ON tantargyKategoria.ID = tantargy.C_TARGYKATEGORIA
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
[ID],
|
||||
[C_ERTEKELESDATUM],
|
||||
[C_ERTEKELESTIPUSA],
|
||||
[C_OSZTALYZAT],
|
||||
[C_ERTEKELESSZOVEG],
|
||||
[C_SZOVEGROVIDNEV],
|
||||
[C_TANTARGYID],
|
||||
[C_TANULOID]
|
||||
FROM
|
||||
[T_TANULOERTEKELES]
|
||||
WHERE
|
||||
[TOROLT] = 'F' AND
|
||||
[C_TANTARGYID] IS NOT NULL
|
||||
) AS tanuloErtekeles ON
|
||||
tanuloErtekeles.C_TANULOID = @pTanuloId
|
||||
AND tanuloErtekeles.C_TANTARGYID = tantargy.ID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
[ID],
|
||||
[C_SZAZALEK],
|
||||
[C_ERTEKELESMODJA]
|
||||
FROM
|
||||
[T_OSZTALYZATERTEKELES]
|
||||
WHERE
|
||||
[TOROLT] = 'F'
|
||||
) AS osztalyzatErtekeles
|
||||
ON osztalyzatErtekeles.ID = tanuloErtekeles.ID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
[ID],
|
||||
[C_VALUE]
|
||||
FROM
|
||||
[T_DICTIONARYITEMBASE]
|
||||
WHERE
|
||||
[TOROLT] = 'F'
|
||||
) AS osztalyzat
|
||||
ON osztalyzat.ID = tanuloErtekeles.C_OSZTALYZAT
|
||||
LEFT JOIN T_TANARIATLAGSULY tanariAtlagSuly
|
||||
ON tanariAtlagSuly.C_ERTEKELESMODJA = osztalyzatErtekeles.C_ERTEKELESMODJA AND
|
||||
tanuloErtekeles.C_OSZTALYZAT IS NOT NULL AND
|
||||
tanariAtlagSuly.TOROLT = 'F'
|
||||
) AS temp
|
||||
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
pivotErtekelesek.TantargyId ID,
|
||||
Nev Nev,
|
||||
[9] [09],
|
||||
[10] [10],
|
||||
[11] [11],
|
||||
[12] [12],
|
||||
[1] [01I],
|
||||
[2] [01II],
|
||||
[3] [02],
|
||||
[4] [03],
|
||||
[5] [04],
|
||||
[6] [05],
|
||||
[7] [06],
|
||||
[I] [I],
|
||||
[II] [II],
|
||||
atlag.Jegy Atlag,
|
||||
pivotErtekelesek.TantargyKategoria TantargyKategoria,
|
||||
pivotErtekelesek.FotargyId FotargyId
|
||||
FROM (
|
||||
SELECT DISTINCT
|
||||
tempErtekeles1.Nev,
|
||||
STUFF (
|
||||
(SELECT
|
||||
',' +
|
||||
ISNULL(CAST(tempErtekeles2.Osztalyzat AS VARCHAR(1)), '') +
|
||||
ISNULL(CAST(tempErtekeles2.Szazalek AS VARCHAR(2)), '') +
|
||||
ISNULL(CAST(
|
||||
CASE
|
||||
WHEN tempErtekeles2.ErtekelesSzoveg IS NULL OR LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(tempErtekeles2.ErtekelesSzoveg, CHAR(9), ''), CHAR(10), ''), CHAR(13), ''))) = ''
|
||||
THEN NULL
|
||||
ELSE
|
||||
ISNULL(tempErtekeles2.SzovegRovidNev, 'sz')
|
||||
END AS VARCHAR(2)), '')
|
||||
FROM
|
||||
@TempErtekeles tempErtekeles2
|
||||
WHERE
|
||||
tempErtekeles1.TantargyId = tempErtekeles2.TantargyId AND
|
||||
tempErtekeles1.Honap = tempErtekeles2.Honap
|
||||
FOR XML PATH ('')
|
||||
), 1, 1, ''
|
||||
) Ertekelesek,
|
||||
tempErtekeles1.Honap,
|
||||
tempErtekeles1.TantargyId,
|
||||
tempErtekeles1.TantargyKategoria,
|
||||
tempErtekeles1.FotargyId
|
||||
FROM
|
||||
@TempErtekeles tempErtekeles1
|
||||
) AS erdemjegyek
|
||||
PIVOT (
|
||||
MAX(Ertekelesek)
|
||||
FOR Honap
|
||||
IN ([I], [II], [9] ,[10] ,[11] ,[12] ,[1] ,[2] ,[3] ,[4] ,[5] ,[6], [7])
|
||||
) AS pivotErtekelesek
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
TantargyId TantargyId,
|
||||
ROUND(
|
||||
SUM(CAST(Osztalyzat AS FLOAT) * CAST(ISNULL(Suly, 100) AS FLOAT) / 100) / SUM(CAST(ISNULL(Suly, 100) AS FLOAT) / 100)
|
||||
, 2) Jegy
|
||||
FROM
|
||||
@TempErtekeles
|
||||
WHERE
|
||||
ErtekelesTipusa = @pEvkozi AND
|
||||
Osztalyzat IS NOT NULL
|
||||
GROUP BY
|
||||
TantargyId
|
||||
) AS atlag
|
||||
ON pivotErtekelesek.TantargyId = atlag.TantargyId
|
||||
) AS result
|
||||
|
||||
IF OBJECT_ID('tempdb..#TempErtekeles') IS NOT NULL DROP TABLE #TempErtekeles
|
||||
|
||||
END
|
||||
GO
|
||||
|
@@ -0,0 +1,76 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetErtekelesFotargyiFoglalkozasData]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetErtekelesFotargyiFoglalkozasData]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Felhaszn<7A>l<EFBFBD>hoz k<>thet<65> foglalkoz<6F>sok f<>t<EFBFBD>rgy adatai az <20>rt<72>kel<65>sek sz<73>r<EFBFBD>s<EFBFBD>hez>
|
||||
-- =============================================
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetErtekelesFotargyiFoglalkozasData]
|
||||
@pTanarId INT
|
||||
,@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT DISTINCT
|
||||
fotargy.ID TantargyId
|
||||
,osztalyCsoport.ID OsztalyCsoportId
|
||||
,osztalyCsoport.C_NEV + ' - ' + fotargy.C_NEV Nev
|
||||
,osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
|
||||
,fotargy.C_NEV FotargyNev
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES foglalkozas
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON
|
||||
osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
AND osztalyCsoport.C_TANEVID = @pTanevId
|
||||
AND osztalyCsoport.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES tantargy ON
|
||||
tantargy.ID = foglalkozas.C_TANTARGYID
|
||||
AND tantargy.C_TANEVID = @pTanevId
|
||||
AND tantargy.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES felhasznalo ON
|
||||
felhasznalo.ID = foglalkozas.C_TANARID
|
||||
AND felhasznalo.C_TANEVID = @pTanevId
|
||||
AND felhasznalo.TOROLT = 'F'
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES fotargy ON
|
||||
fotargy.C_FOTARGYE = 'T'
|
||||
AND fotargy.C_TANEVID = @pTanevId
|
||||
AND fotargy.TOROLT = 'F'
|
||||
AND fotargy.ID IN (
|
||||
SELECT
|
||||
C_FOTARGYID
|
||||
FROM
|
||||
T_TANTARGY_OSSZES
|
||||
WHERE
|
||||
ID = foglalkozas.C_TANTARGYID
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND TOROLT = 'F'
|
||||
)
|
||||
WHERE
|
||||
fotargy.ID IS NOT NULL
|
||||
AND foglalkozas.C_TANARID = @pTanarId
|
||||
AND foglalkozas.C_TANEVID = @pTanevId
|
||||
AND foglalkozas.TOROLT = 'F'
|
||||
ORDER BY
|
||||
osztalyCsoport.C_EVFOLYAMTIPUSA ASC,
|
||||
fotargy.C_NEV ASC
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
@@ -0,0 +1,60 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetFelhasznaloFoglalkozasokErtekelesekhez]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetFelhasznaloFoglalkozasokErtekelesekhez]
|
||||
END
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Felhaszn<7A>l<EFBFBD>hoz k<>thet<65> foglalkoz<6F>sok az <20>rt<72>kel<65>sek sz<73>r<EFBFBD>s<EFBFBD>hez>
|
||||
-- =============================================
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloFoglalkozasokErtekelesekhez]
|
||||
@pTanarId INT
|
||||
,@pTanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
foglalkozas.ID ID
|
||||
,foglalkozas.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
,foglalkozas.C_TANTARGYID TantargyId
|
||||
,osztalyCsoport.C_NEV + ' - ' + tantargy.C_Nev Nev
|
||||
,osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam
|
||||
FROM
|
||||
T_FOGLALKOZAS_OSSZES foglalkozas
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON
|
||||
osztalyCsoport.ID = foglalkozas.C_OSZTALYCSOPORTID
|
||||
AND osztalyCsoport.TOROLT = 'F'
|
||||
AND osztalyCsoport.C_TANEVID = @pTanevId
|
||||
LEFT JOIN
|
||||
T_TANTARGY_OSSZES tantargy ON
|
||||
tantargy.ID = foglalkozas.C_TANTARGYID
|
||||
AND tantargy.TOROLT = 'F'
|
||||
AND tantargy.C_TANEVID = @pTanevId
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES felhasznalo ON
|
||||
felhasznalo.ID = foglalkozas.C_TANARID
|
||||
AND felhasznalo.TOROLT = 'F'
|
||||
AND felhasznalo.C_TANEVID = @pTanevId
|
||||
WHERE
|
||||
foglalkozas.TOROLT = 'F'
|
||||
AND foglalkozas.C_TANEVID = @pTanevId
|
||||
AND foglalkozas.C_TANARID = @pTanarId
|
||||
ORDER BY
|
||||
osztalyCsoport.C_EVFOLYAMTIPUSA ASC,
|
||||
tantargy.C_NEV ASC
|
||||
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
|
Reference in New Issue
Block a user