This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,218 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GenerateErtekelesekMagatartasSzorgalomTempTabla]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GenerateErtekelesekMagatartasSzorgalomTempTabla]
END
GO
-- =============================================
-- Description: <Elõszedi a magatartas szorgalom értékeléseket, havi bontásban osztálycsoport alapján>
-- NOTE: EZT A NÉGY TÁROLT ELJÁRÁST EGYBEN KELL KEZELNI, HA MÓDOSÍTJUK!!!
-- - sp_GenerateErtekelesekTempTabla
-- - sp_GenerateErtekelesekTempTablaByFoglalkozas
-- - sp_GenerateErtekelesekMagatartasSzorgalomTempTabla
-- - sp_GenerateErtekelesekTempTablaByTanulo
-- =============================================
CREATE PROCEDURE [dbo].[sp_GenerateErtekelesekMagatartasSzorgalomTempTabla]
-- Add the parameters for the stored procedure here
@pOsztalyId INT,
@pFelevVege DATE,
@pEvkozi INT,
@pFelevi INT,
@pEvvegi INT,
@pErtekelesDatum DATE = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
IF @pErtekelesDatum IS NULL
SET @pErtekelesDatum = GETDATE()
DECLARE @TempErtekeles TABLE (
ID INT,
ErtekelesDatuma NVARCHAR(255),
ErtekelesTipusa INT,
ErtekelesSzoveg NVARCHAR(MAX),
SzovegRovidNev NVARCHAR(3),
Honap NVARCHAR(2),
TanuloId INT,
Nev NVARCHAR(255),
Osztalyzat INT,
Magatartas INT,
Szorgalom INT
)
INSERT INTO @TempErtekeles
SELECT DISTINCT *
FROM (
SELECT
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,
tanuloCsoport.C_TANULOID TanuloId,
felhasznalo.C_NYOMTATASINEV Nev,
osztalyzat.C_VALUE Osztalyzat,
magatartas.C_Value Magatartas,
szorgalom.C_Value Szorgalom
FROM (
SELECT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F' AND
[C_BELEPESDATUM] <= @pErtekelesDatum AND
([C_KILEPESDATUM] IS NULL OR [C_KILEPESDATUM] >= @pErtekelesDatum) AND
[C_OSZTALYCSOPORTID] = @pOsztalyId
) AS tanuloCsoport
INNER JOIN (
SELECT
[ID],
[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
) AS felhasznalo
ON felhasznalo.ID = tanuloCsoport.C_TANULOID
LEFT JOIN (
SELECT
[ID],
[C_ERTEKELESDATUM],
[C_ERTEKELESTIPUSA],
[C_OSZTALYZAT],
[C_ERTEKELESSZOVEG],
[C_SZOVEGROVIDNEV],
[C_TANULOID]
FROM
[T_TANULOERTEKELES]
WHERE
[TOROLT] = 'F' AND
[C_TANTARGYID] IS NULL
) AS tanuloErtekeles
ON tanuloErtekeles.C_TANULOID = tanuloCsoport.C_TANULOID
LEFT JOIN (
SELECT
[ID],
[C_MAGATARTAS],
[C_SZORGALOM]
FROM
[T_OSZTALYFONOKIERTEKELES]
WHERE
[TOROLT] = 'F'
) AS osztalyfonokiErtekeles
ON osztalyfonokiErtekeles.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 (
SELECT
[ID],
[C_VALUE]
FROM
[T_DICTIONARYITEMBASE]
WHERE
[TOROLT] = 'F'
) AS magatartas
ON magatartas.ID = osztalyfonokiErtekeles.C_MAGATARTAS
LEFT JOIN (
SELECT
[ID],
[C_VALUE]
FROM
[T_DICTIONARYITEMBASE]
WHERE
[TOROLT] = 'F'
) AS szorgalom
ON szorgalom.ID = osztalyfonokiErtekeles.C_SZORGALOM
) AS temp
SELECT *
FROM (
SELECT
pivotErtekelesek.TanuloId 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],
'' Ertekeles,
'' ErtekelesSzoveg,
'' SzovegRovidNev,
'' Magatartas,
'' Szorgalom
FROM (
SELECT DISTINCT
tempErtekeles1.Nev,
STUFF (
(SELECT
',' +
ISNULL(CAST(tempErtekeles2.Osztalyzat AS VARCHAR(1)), '') +
ISNULL(CAST(tempErtekeles2.Magatartas AS varchar(15)), '') + ',' + ISNULL(CAST(tempErtekeles2.Szorgalom AS varchar(15)), '') +
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.TanuloId = tempErtekeles2.TanuloId AND
tempErtekeles1.Honap = tempErtekeles2.Honap
FOR XML PATH ('')
), 1, 1, ''
) Ertekelesek,
tempErtekeles1.Honap,
tempErtekeles1.TanuloId
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
) AS result
IF OBJECT_ID('tempdb..#TempErtekeles') IS NOT NULL DROP TABLE #TempErtekeles
END

View file

@ -0,0 +1,249 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GenerateErtekelesekTempTabla]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GenerateErtekelesekTempTabla]
END
GO
-- =============================================
-- Description: <Elõszedi az értékeléseket, havi bontásban tantárgy és osztálycsoport alapján>
-- NOTE: EZT A NÉGY TÁROLT ELJÁRÁST EGYBEN KELL KEZELNI, HA MÓDOSÍTJUK!!!
-- - sp_GenerateErtekelesekTempTabla
-- - sp_GenerateErtekelesekTempTablaByFoglalkozas
-- - sp_GenerateErtekelesekMagatartasSzorgalomTempTabla
-- - sp_GenerateErtekelesekTempTablaByTanulo
-- =============================================
CREATE PROCEDURE [dbo].[sp_GenerateErtekelesekTempTabla]
-- Add the parameters for the stored procedure here
@pTantargyId INT,
@pOsztalyId INT,
@pFelevVege DATE,
@pEvkozi INT,
@pFelevi INT,
@pEvvegi INT,
@pErtekelesDatum DATE = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
IF @pErtekelesDatum IS NULL
SET @pErtekelesDatum = GETDATE()
DECLARE @TempErtekeles TABLE (
ID INT,
ErtekelesDatuma NVARCHAR(255),
ErtekelesTipusa INT,
ErtekelesSzoveg NVARCHAR(MAX),
SzovegRovidNev NVARCHAR(3),
Honap NVARCHAR(2),
TanuloId INT,
Nev NVARCHAR(255),
Osztalyzat INT,
Szazalek INT,
Suly INT
)
INSERT INTO @TempErtekeles
SELECT DISTINCT *
FROM (
SELECT
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,
tanuloCsoport.C_TANULOID TanuloId,
felhasznalo.C_NYOMTATASINEV Nev,
osztalyzat.C_VALUE Osztalyzat,
osztalyzatErtekeles.C_SZAZALEK Szazalek,
tanariAtlagSuly.C_SULY Suly
FROM (
SELECT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F' AND
[C_BELEPESDATUM] <= @pErtekelesDatum AND
([C_KILEPESDATUM] IS NULL OR [C_KILEPESDATUM] >= @pErtekelesDatum) AND
[C_OSZTALYCSOPORTID] = @pOsztalyId
) AS tanuloCsoport
INNER JOIN (
SELECT
[ID],
[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
) AS felhasznalo
ON felhasznalo.ID = tanuloCsoport.C_TANULOID
LEFT JOIN (
SELECT
[ID],
[C_ERTEKELESDATUM],
[C_ERTEKELESTIPUSA],
[C_OSZTALYZAT],
[C_ERTEKELESSZOVEG],
[C_SZOVEGROVIDNEV],
[C_TANULOID]
FROM
[T_TANULOERTEKELES]
WHERE
[TOROLT] = 'F' AND
[C_TANTARGYID] = @pTantargyId
) AS tanuloErtekeles
ON tanuloErtekeles.C_TANULOID = tanuloCsoport.C_TANULOID
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
result.*
,result2.ErtkelesMentesseg
,result2.SzovegesenErtekelheto
FROM (
SELECT
pivotErtekelesek.TanuloId 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,
'' Ertekeles,
'' ErtekelesSzoveg,
'' SzovegRovidNev,
'' Szazalekos,
@pTantargyId TantargyId
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.TanuloId = tempErtekeles2.TanuloId AND
tempErtekeles1.Honap = tempErtekeles2.Honap
FOR XML PATH ('')
), 1, 1, ''
) Ertekelesek,
tempErtekeles1.Honap,
tempErtekeles1.TanuloId
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
TanuloId TanuloId,
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
TanuloId
) AS atlag
ON pivotErtekelesek.TanuloId = atlag.TanuloId
) AS result
JOIN (
SELECT
felhasznalo.ID ID,
tanuloMentesseg.C_ERTEKELESMENTESITES ErtkelesMentesseg,
tanuloMentesseg.C_SZOVEGESENERTEKELHETO SzovegesenErtekelheto
FROM
T_TANULOCSOPORT AS tanuloCsoport
INNER JOIN T_FELHASZNALO felhasznalo ON
felhasznalo.ID = tanuloCsoport.C_TANULOID
LEFT JOIN T_TARGYTANULOATLAG targyTanuloAtlag ON
targyTanuloAtlag.C_TANTARGYID = @pTantargyId AND
targyTanuloAtlag.C_TANULOID = felhasznalo.ID
LEFT JOIN T_TANULOMENTESSEG tanuloMentesseg ON
tanuloMentesseg.C_TANULOID = felhasznalo.ID AND
tanuloMentesseg.TOROLT = 'F' AND
tanuloMentesseg.C_TANTARGYID = @pTantargyId AND
(tanuloMentesseg.C_KEZDETE IS NULL OR tanuloMentesseg.C_KEZDETE <= @pErtekelesDatum) AND
(tanuloMentesseg.C_VEGE IS NULL OR tanuloMentesseg.C_VEGE >= @pErtekelesDatum)
WHERE
tanuloCsoport.TOROLT = 'F' AND
tanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyId AND
tanuloCsoport.C_BELEPESDATUM <= @pErtekelesDatum AND
(tanuloCsoport.C_KILEPESDATUM IS NULL OR tanuloCsoport.C_KILEPESDATUM >= @pErtekelesDatum)
) AS result2
ON result2.ID = result.ID
IF OBJECT_ID('tempdb..#TempErtekeles') IS NOT NULL DROP TABLE #TempErtekeles
END
GO

View file

@ -0,0 +1,259 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GenerateErtekelesekTempTablaByFoglalkozas]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GenerateErtekelesekTempTablaByFoglalkozas]
END
GO
-- =============================================
-- Description: <Előszedi az értékeléseket, havi bontásban foglalkozás alapján>
-- NOTE: EZT A NÉGY TÁROLT ELJÁRÁST EGYBEN KELL KEZELNI, HA MÓDOSÍTJUK!!!
-- - sp_GenerateErtekelesekTempTabla
-- - sp_GenerateErtekelesekTempTablaByFoglalkozas
-- - sp_GenerateErtekelesekMagatartasSzorgalomTempTabla
-- - sp_GenerateErtekelesekTempTablaByTanulo
-- =============================================
CREATE PROCEDURE [dbo].[sp_GenerateErtekelesekTempTablaByFoglalkozas]
-- Add the parameters for the stored procedure here
@pFoglalkozasId INT,
@pFelevVege DATE,
@pEvkozi INT,
@pFelevi INT,
@pEvvegi INT,
@pErtekelesDatum DATE = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
IF @pErtekelesDatum IS NULL
SET @pErtekelesDatum = GETDATE()
DECLARE @OsztalyId INT;
DECLARE @TantargyId INT;
SELECT
@OsztalyId = foglalkozas.C_OSZTALYCSOPORTID,
@TantargyId = foglalkozas.C_TANTARGYID
FROM
T_FOGLALKOZAS foglalkozas
WHERE
foglalkozas.ID = @pFoglalkozasId
DECLARE @TempErtekeles TABLE (
ID INT,
ErtekelesDatuma NVARCHAR(255),
ErtekelesTipusa INT,
ErtekelesSzoveg NVARCHAR(MAX),
SzovegRovidNev NVARCHAR(3),
Honap NVARCHAR(2),
TanuloId INT,
Nev NVARCHAR(255),
Osztalyzat INT,
Szazalek INT,
Suly INT
)
INSERT INTO @TempErtekeles
SELECT DISTINCT *
FROM (
SELECT
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,
tanuloCsoport.C_TANULOID TanuloId,
felhasznalo.C_NYOMTATASINEV Nev,
osztalyzat.C_VALUE Osztalyzat,
osztalyzatErtekeles.C_SZAZALEK Szazalek,
tanariAtlagSuly.C_SULY Suly
FROM (
SELECT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F' AND
[C_BELEPESDATUM] <= @pErtekelesDatum AND
([C_KILEPESDATUM] IS NULL OR [C_KILEPESDATUM] >= @pErtekelesDatum) AND
[C_OSZTALYCSOPORTID] = @OsztalyId
) AS tanuloCsoport
INNER JOIN (
SELECT
[ID],
[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
) AS felhasznalo
ON felhasznalo.ID = tanuloCsoport.C_TANULOID
LEFT JOIN (
SELECT
[ID],
[C_ERTEKELESDATUM],
[C_ERTEKELESTIPUSA],
[C_OSZTALYZAT],
[C_ERTEKELESSZOVEG],
[C_SZOVEGROVIDNEV],
[C_TANULOID]
FROM
[T_TANULOERTEKELES]
WHERE
[TOROLT] = 'F' AND
[C_TANTARGYID] = @TantargyId
) AS tanuloErtekeles
ON tanuloErtekeles.C_TANULOID = tanuloCsoport.C_TANULOID
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
result.*
,result2.ErtkelesMentesseg
,result2.SzovegesenErtekelheto
FROM (
SELECT
pivotErtekelesek.TanuloId 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,
'' Ertekeles,
'' ErtekelesSzoveg,
'' SzovegRovidNev,
'' Szazalekos,
@TantargyId TantargyId
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.TanuloId = tempErtekeles2.TanuloId AND
tempErtekeles1.Honap = tempErtekeles2.Honap
FOR XML PATH ('')
), 1, 1, ''
) Ertekelesek,
tempErtekeles1.Honap,
tempErtekeles1.TanuloId
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
TanuloId TanuloId,
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
TanuloId
) AS atlag
ON pivotErtekelesek.TanuloId = atlag.TanuloId
) AS result
JOIN (
SELECT
felhasznalo.ID ID,
tanuloMentesseg.C_ERTEKELESMENTESITES ErtkelesMentesseg,
tanuloMentesseg.C_SZOVEGESENERTEKELHETO SzovegesenErtekelheto
FROM
T_TANULOCSOPORT AS tanuloCsoport
INNER JOIN T_FELHASZNALO felhasznalo ON
felhasznalo.ID = tanuloCsoport.C_TANULOID
LEFT JOIN T_TARGYTANULOATLAG targyTanuloAtlag ON
targyTanuloAtlag.C_TANTARGYID = @TantargyId AND
targyTanuloAtlag.C_TANULOID = felhasznalo.ID
LEFT JOIN T_TANULOMENTESSEG tanuloMentesseg ON
tanuloMentesseg.C_TANULOID = felhasznalo.ID AND
tanuloMentesseg.TOROLT = 'F' AND
tanuloMentesseg.C_TANTARGYID = @TantargyId AND
(tanuloMentesseg.C_KEZDETE IS NULL OR tanuloMentesseg.C_KEZDETE <= @pErtekelesDatum) AND
(tanuloMentesseg.C_VEGE IS NULL OR tanuloMentesseg.C_VEGE >= @pErtekelesDatum)
WHERE
tanuloCsoport.TOROLT = 'F' AND
tanuloCsoport.C_OSZTALYCSOPORTID = @OsztalyId AND
tanuloCsoport.C_BELEPESDATUM <= @pErtekelesDatum AND
(tanuloCsoport.C_KILEPESDATUM IS NULL OR tanuloCsoport.C_KILEPESDATUM >= @pErtekelesDatum)
) AS result2
ON result2.ID = result.ID
IF OBJECT_ID('tempdb..#TempErtekeles') IS NOT NULL DROP TABLE #TempErtekeles
END
GO

View file

@ -0,0 +1,227 @@
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õszedi az értékeléseket, havi bontásban tantárgy és osztálycsoport alapján>
-- NOTE: EZT A NÉGY TÁROLT ELJÁRÁST EGYBEN KELL KEZELNI, HA MÓDOSÍTJUK!!!
-- - sp_GenerateErtekelesekTempTabla
-- - sp_GenerateErtekelesekTempTablaByFoglalkozas
-- - sp_GenerateErtekelesekMagatartasSzorgalomTempTabla
-- - sp_GenerateErtekelesekTempTablaByTanulo
-- =============================================
CREATE PROCEDURE [dbo].[sp_GenerateErtekelesekTempTablaByTanulo]
-- Add the parameters for the stored procedure here
@pTanuloId INT,
@pFelevVege DATE,
@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),
Honap NVARCHAR(2),
SzovegRovidNev NVARCHAR(3),
TantargyId INT,
Nev NVARCHAR(255),
Osztalyzat INT,
Szazalek INT,
Suly INT,
TantargyKategoria INT
)
INSERT INTO @TempErtekeles
SELECT DISTINCT *
FROM (
SELECT
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,
tanuloErtekeles.C_TANTARGYID TantargyId,
tantargy.C_NEV Nev,
osztalyzat.C_VALUE Osztalyzat,
osztalyzatErtekeles.C_SZAZALEK Szazalek,
tanariAtlagSuly.C_SULY Suly,
tantargyKategoria.C_VALUE TantargyKategoria
FROM (
SELECT
[ID],
[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F' AND
[ID] = @pTanuloId
) AS felhasznalo
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
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_NEV],
[C_TARGYKATEGORIA]
FROM
[T_TANTARGY]
WHERE
[TOROLT] = 'F'
) AS tantargy
ON tantargy.ID = tanuloErtekeles.C_TANTARGYID
LEFT JOIN (
SELECT
[ID],
[C_VALUE]
FROM
[T_DICTIONARYITEMBASE]
WHERE
[TOROLT] = 'F'
) AS osztalyzat
ON osztalyzat.ID = tanuloErtekeles.C_OSZTALYZAT
LEFT JOIN (
SELECT
[ID],
[C_VALUE]
FROM
[T_DICTIONARYITEMBASE]
WHERE
[TOROLT] = 'F'
) AS tantargyKategoria
ON tantargyKategoria.ID = tantargy.C_TARGYKATEGORIA
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,
@pTanuloId TanuloId,
pivotErtekelesek.TantargyKategoria TantargyKategoria
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
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

View file

@ -0,0 +1,88 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetErtekelesMegtekinteseReszletek]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetErtekelesMegtekinteseReszletek]
END
GO
-- =============================================
-- Author: <Szikora Zoltán>
-- Create date: <2016. 09. 02.>
-- Description: <Előszedjük a tanuló értékeléseit részletesen>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetErtekelesMegtekinteseReszletek]
@pTanuloId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
TanuloErtekeles.ID ID
,TanuloErtekeles.C_ERTEKELESDATUM ErtekelesDatuma
,TanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa
,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
,TanuloErtekeles.C_SZOVEGROVIDNEV SzovegRovidNev
,TanuloErtekeles.C_OSZTALYZAT Osztalyzat
,TanuloErtekeles.C_TANORAID TanoraID
,OsztalyzatErtekeles.C_ERTEKELESMODJA ErtekelesModja
,OsztalyzatErtekeles.C_SZAZALEK Szazalek
,OsztalyzatErtekeles.C_TEMA Tema
,TanuloCsoport.C_TANULOID TanuloId
,Felhasznalo.C_NYOMTATASINEV Ertekelo
FROM(
SELECT DISTINCT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F'
AND [C_TANULOID] = @pTanuloId
) AS TanuloCsoport
INNER JOIN (
SELECT
[ID]
,[C_ERTEKELESDATUM]
,[C_ERTEKELESTIPUSA]
,[C_ERTEKELESSZOVEG]
,[C_SZOVEGROVIDNEV]
,[C_OSZTALYZAT]
,[C_TANULOID]
,[C_ERTEKELOID]
,[C_TANORAID]
FROM
[T_TANULOERTEKELES]
WHERE
[TOROLT] = 'F'
) AS TanuloErtekeles
ON TanuloCsoport.C_TANULOID = TanuloErtekeles.C_TANULOID
INNER JOIN (
SELECT
[ID]
,[C_ERTEKELESMODJA]
,[C_SZAZALEK]
,[C_TEMA]
FROM
[T_OSZTALYZATERTEKELES]
WHERE
[TOROLT] = 'F'
) AS OsztalyzatErtekeles
ON OsztalyzatErtekeles.ID = TanuloErtekeles.ID
INNER JOIN (
SELECT
[ID]
,[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
) AS Felhasznalo
ON Felhasznalo.ID = TanuloErtekeles.C_ERTEKELOID
END

View file

@ -0,0 +1,56 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetErtekelesMondatbankData]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetErtekelesMondatbankData]
END
GO
-- =============================================
-- Description: <Előszedjük az intézmény értékelés mondatbank adatait a bemenő paraméterek alapján>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetErtekelesMondatbankData]
@pIntezmenyId INT
,@pTanevId INT
,@pErtekelesTipusId INT = NULL
,@pEvfolyamTipusId INT = NULL
,@pTantargyId INT = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
ErtekelesMondatbank.ID ID
,ErtekelesMondatbank.C_ROVIDNEV RovidNev
,ErtekelesMondatbank.C_SZOVEG Szoveg
,ErtekelesMondatbank.C_ERTEKELESTIPUSA ErtekelesTipus
,ErtekelesMondatbank.C_EVFOLYAMTIPUSA EvfolyamTipus
,Tantargy.C_NEV TantargyNev
FROM
T_ERTEKELESMONDATBANK_OSSZES ErtekelesMondatbank
LEFT JOIN
T_TANTARGY_OSSZES Tantargy ON
Tantargy.ID = ErtekelesMondatbank.C_TANTARGYID
AND Tantargy.C_INTEZMENYID = @pIntezmenyId
AND Tantargy.C_TANEVID = @pTanevId
AND Tantargy.TOROLT = 'F'
WHERE
(@pErtekelesTipusId IS NULL OR ErtekelesMondatbank.C_ERTEKELESTIPUSA IS NULL OR ErtekelesMondatbank.C_ERTEKELESTIPUSA = @pErtekelesTipusId)
AND (@pEvfolyamTipusId IS NULL OR ErtekelesMondatbank.C_EVFOLYAMTIPUSA IS NULL OR ErtekelesMondatbank.C_EVFOLYAMTIPUSA = @pEvfolyamTipusId)
AND (@pTantargyId IS NULL OR ErtekelesMondatbank.C_TANTARGYID IS NULL OR ErtekelesMondatbank.C_TANTARGYID = @pTantargyId)
AND ErtekelesMondatbank.C_INTEZMENYID = @pIntezmenyId
AND ErtekelesMondatbank.C_TANEVID = @pTanevId
AND ErtekelesMondatbank.TOROLT = 'F'
END
GO

View file

@ -0,0 +1,125 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetErtekelesReszletek]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetErtekelesReszletek]
END
GO
-- =============================================
-- Description: <Előszedjük a tanuló értékeléseit részletesen tantárgy szerint>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetErtekelesReszletek]
@pIntezmenyId INT,
@pTanevId INT,
@pTanuloId INT,
@pTantargyId INT,
@pToroltElemek CHAR = 'F',
@pTanarId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
TanuloErtekeles.ID ID
,TanuloErtekeles.C_ERTEKELESDATUM ErtekelesDatuma
,TanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa
,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
,TanuloErtekeles.C_SZOVEGROVIDNEV SzovegRovidNev
,TanuloErtekeles.C_OSZTALYZAT Osztalyzat
,TanuloErtekeles.C_TANORAID TanoraID
,OsztalyzatErtekeles.C_ERTEKELESMODJA ErtekelesModja
,OsztalyzatErtekeles.C_SZAZALEK Szazalek
,OsztalyzatErtekeles.C_TEMA Tema
,TanariAtlagSuly.C_SULY Suly
,TanuloErtekeles.TOROLT Torolt
,TanuloCsoport.C_TANULOID TanuloId
,Felhasznalo.C_NYOMTATASINEV Ertekelo
,CASE
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId
THEN 'T'
ELSE 'F'
END Modosithato
FROM(
SELECT DISTINCT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F'
AND [C_TANULOID] = @pTanuloId
AND [C_INTEZMENYID] = @pIntezmenyId
AND [C_TANEVID] = @pTanevId
) AS TanuloCsoport
INNER JOIN (
SELECT
[ID]
,[C_ERTEKELESDATUM]
,[C_ERTEKELESTIPUSA]
,[C_ERTEKELESSZOVEG]
,[C_SZOVEGROVIDNEV]
,[C_OSZTALYZAT]
,[C_TANULOID]
,[C_ERTEKELOID]
,[C_TANORAID]
,[TOROLT]
,[CREATOR]
FROM
[T_TANULOERTEKELES_OSSZES]
WHERE
[C_TANTARGYID] = @pTantargyId
--Ha a törölt flag True, a törölt elemeket is visszaadjuk
AND [TOROLT] = IIF(@pToroltElemek = 'T', [TOROLT], 'F')
AND [C_INTEZMENYID] = @pIntezmenyId
AND [C_TANEVID] = @pTanevId
) AS TanuloErtekeles
ON TanuloCsoport.C_TANULOID = TanuloErtekeles.C_TANULOID
INNER JOIN (
SELECT
[ID]
,[C_ERTEKELESMODJA]
,[C_SZAZALEK]
,[C_TEMA]
,[TOROLT]
FROM
[T_OSZTALYZATERTEKELES_OSSZES]
WHERE
--Ha a törölt flag True, a törölt elemeket is visszaadjuk
[TOROLT] = IIF(@pToroltElemek = 'T', [TOROLT], 'F')
AND [C_ALINTEZMENYID] = @pIntezmenyId
AND [C_ALTANEVID] = @pTanevId
) AS OsztalyzatErtekeles
ON OsztalyzatErtekeles.ID = TanuloErtekeles.ID
INNER JOIN (
SELECT
[ID]
,[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
AND [C_INTEZMENYID] = @pIntezmenyId
AND [C_TANEVID] = @pTanevId
) AS Felhasznalo
ON Felhasznalo.ID = TanuloErtekeles.C_ERTEKELOID
LEFT JOIN (
SELECT
[C_SULY]
,[C_ERTEKELESMODJA]
FROM
[T_TANARIATLAGSULY_OSSZES]
WHERE
[TOROLT] = 'F'
AND [C_INTEZMENYID] = @pIntezmenyId
AND [C_TANEVID] = @pTanevId
) AS TanariAtlagSuly
ON TanariAtlagSuly.C_ERTEKELESMODJA = OsztalyzatErtekeles.C_ERTEKELESMODJA
END

View file

@ -0,0 +1,107 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetMagatartasSzorgalomErtekelesReszletek]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetMagatartasSzorgalomErtekelesReszletek]
END
GO
-- =============================================
-- Description: <Előszedjük a tanuló magatartás, szorgalom értékeléseit részletesen>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetMagatartasSzorgalomErtekelesReszletek]
@pIntezmenyId INT,
@pTanevId INT,
@pTanuloId INT,
@pToroltElemek CHAR = 'F',
@pTanarId INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT
TanuloErtekeles.ID ID
,TanuloErtekeles.C_ERTEKELESDATUM ErtekelesDatuma
,TanuloErtekeles.C_ERTEKELESTIPUSA ErtekelesTipusa
,TanuloErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
,TanuloErtekeles.C_SZOVEGROVIDNEV SzovegRovidNev
,TanuloErtekeles.C_OSZTALYZAT Osztalyzat
,TanuloErtekeles.C_TANORAID TanoraID
,OsztalyfonokiErtekeles.C_MAGATARTAS Magatartas
,OsztalyfonokiErtekeles.C_SZORGALOM Szorgalom
,TanuloErtekeles.TOROLT Torolt
,TanuloCsoport.C_TANULOID TanuloId
,Felhasznalo.C_NYOMTATASINEV Ertekelo
,CASE
WHEN TanuloErtekeles.C_ERTEKELOID = @pTanarId
THEN 'T'
ELSE 'F'
END Modosithato
FROM(
SELECT DISTINCT
[C_TANULOID]
FROM
[T_TANULOCSOPORT]
WHERE
[TOROLT] = 'F'
AND [C_TANULOID] = @pTanuloId
AND [C_INTEZMENYID] = @pIntezmenyId
AND [C_TANEVID] = @pTanevId
) AS TanuloCsoport
INNER JOIN (
SELECT
[ID]
,[C_ERTEKELESDATUM]
,[C_ERTEKELESTIPUSA]
,[C_ERTEKELESSZOVEG]
,[C_SZOVEGROVIDNEV]
,[C_OSZTALYZAT]
,[C_TANULOID]
,[C_ERTEKELOID]
,[C_TANORAID]
,[TOROLT]
,[CREATOR]
FROM
[T_TANULOERTEKELES_OSSZES]
WHERE
--Ha a törölt flag True, a törölt elemeket is visszaadjuk
[TOROLT] = IIF(@pToroltElemek = 'T', [TOROLT], 'F')
AND [C_INTEZMENYID] = @pIntezmenyId
AND [C_TANEVID] = @pTanevId
) AS TanuloErtekeles
ON TanuloCsoport.C_TANULOID = TanuloErtekeles.C_TANULOID
INNER JOIN (
SELECT
[ID]
,[C_MAGATARTAS]
,[C_SZORGALOM]
,[TOROLT]
FROM
[T_OSZTALYFONOKIERTEKELES_OSSZES]
WHERE
--Ha a törölt flag True, a törölt elemeket is visszaadjuk
[TOROLT] = IIF(@pToroltElemek = 'T', [TOROLT], 'F')
AND [C_ALINTEZMENYID] = @pIntezmenyId
AND [C_ALTANEVID] = @pTanevId
) AS OsztalyfonokiErtekeles
ON OsztalyfonokiErtekeles.ID = TanuloErtekeles.ID
INNER JOIN (
SELECT
[ID]
,[C_NYOMTATASINEV]
FROM
[T_FELHASZNALO]
WHERE
[TOROLT] = 'F'
AND [C_INTEZMENYID] = @pIntezmenyId
AND [C_TANEVID] = @pTanevId
) AS Felhasznalo
ON Felhasznalo.ID = TanuloErtekeles.C_ERTEKELOID
END

View file

@ -0,0 +1,101 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_ImportErtekelesMondatbank]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_ImportErtekelesMondatbank]
END
GO
-- =============================================
-- Description: <Beimportáljuk az értékelés mondatbankot>
-- =============================================
CREATE PROCEDURE [dbo].[sp_ImportErtekelesMondatbank]
@pIntezmenyId INT
,@pTanevId INT
,@pFelhasznaloId INT
,@pErtekelesMondatbankImportDataXml XML
,@pErtekelesTipusId INT = NULL
,@pEvfolyamTipusId INT = NULL
,@pTantargyId INT = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @tempErtekelesMondatbankImportData TABLE (
RovidNev NVARCHAR(3) NOT NULL
,Szoveg NVARCHAR(MAX) NULL
)
DECLARE @currentDateTime DATETIME
SET @currentDateTime = (SELECT GETDATE())
-- XML paraméter értelmezése
INSERT INTO
@tempErtekelesMondatbankImportData
SELECT
--Egyszerû import adatok
ErtekelesMondatbankItem.value('(RovidNev)[1]', 'NVARCHAR(3)') RovidNev
,ErtekelesMondatbankItem.value('(Szoveg)[1]', 'NVARCHAR(MAX)') Szoveg
FROM
@pErtekelesMondatbankImportDataXml.nodes('/ErtekelesMondatbankImport/ErtekelesMondatbank/ErtekelesMondatbankItem') AS ErtekelesMondatbank(ErtekelesMondatbankItem)
BEGIN TRY
SET XACT_ABORT ON
BEGIN TRANSACTION
INSERT INTO T_ERTEKELESMONDATBANK_OSSZES (
--Egyszerû import adatok
C_ROVIDNEV
,C_SZOVEG
,C_ERTEKELESTIPUSA
,C_EVFOLYAMTIPUSA
,C_TANTARGYID
--Technikai adatok
,C_INTEZMENYID
,C_TANEVID
,TOROLT
,LASTCHANGED
,CREATED
,MODIFIER
,CREATOR)
SELECT
--Egyszerû import adatok
tempTable.RovidNev
,tempTable.Szoveg
,@pErtekelesTipusId
,@pEvfolyamTipusId
,@pTantargyId
--Technikai adatok
,@pIntezmenyId
,@pTanevId
,'F'
,@currentDateTime
,@currentDateTime
,@pFelhasznaloId
,@pFelhasznaloId
FROM
@tempErtekelesMondatbankImportData tempTable
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0
ROLLBACK TRANSACTION;
THROW
END CATCH
END
GO