init
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('sp_GetDokumentumErtekelesek') IS NOT NULL BEGIN
|
||||
DROP PROCEDURE [sp_GetDokumentumErtekelesek]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetDokumentumErtekelesek
|
||||
@osztalyId int,
|
||||
@tanevId int,
|
||||
@ertekelesTipus int,
|
||||
@isBizonyitvany int = 0
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Osztályhoz tartozó tanulók
|
||||
DECLARE @Tanulok TABLE (TanuloId int)
|
||||
|
||||
INSERT INTO @Tanulok
|
||||
SELECT
|
||||
C_TANULOID
|
||||
FROM T_TANULOCSOPORT
|
||||
WHERE
|
||||
C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND TOROLT='F'
|
||||
|
||||
--Tanulóhoz kapcsolódó óraszámok
|
||||
DECLARE @Oraszamok TABLE (TanuloId int, Tantargy INT, Oraszam INT)
|
||||
|
||||
INSERT INTO @Oraszamok
|
||||
SELECT
|
||||
TanuloId
|
||||
, TantargyId
|
||||
, SUM(Oraszam)
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
te.C_TANULOID TanuloId
|
||||
, IIF(C_FOTARGYE = 'T', t.Id, C_FOTARGYID) TantargyId
|
||||
, IIF((SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId) = 'T', 32, 36) * fog.C_ORASZAM Oraszam
|
||||
FROM T_TANULOERTEKELES_OSSZES te
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES fog on fog.C_OSZTALYCSOPORTID = te.C_OSZTALYCSOPORTID and fog.C_TANTARGYID = te.C_TANTARGYID
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.ID = te.C_TANTARGYID
|
||||
INNER JOIN @Tanulok tanulok on tanulok.TanuloId = te.C_TANULOID
|
||||
WHERE
|
||||
te.TOROLT = 'F'
|
||||
AND te.C_TANEVID = @tanevId
|
||||
AND te.C_ERTEKELESTIPUSA = @ertekelesTipus
|
||||
) a
|
||||
GROUP BY TanuloId, TantargyId
|
||||
|
||||
--Értékelések
|
||||
SELECT
|
||||
ERTEKELES.C_TANULOID TANULOID
|
||||
, 'MAGATARTAS' TARGY
|
||||
, ERT.C_NAME Ertekeles
|
||||
, NULL Jegyzet
|
||||
, ERT.C_NAME ErtekelesJegyzettel
|
||||
, ERT.C_NAME SzovegesErtekeles
|
||||
, NULL Oraszam
|
||||
, 1 RENDEZ
|
||||
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
||||
INNER JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
||||
AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
||||
AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
||||
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
|
||||
LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT
|
||||
ON OSZTALYZAT.ID = ERTEKELES.ID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=OSZTALYZAT.C_MAGATARTAS AND ERT.C_TANEVID = @tanevId
|
||||
WHERE
|
||||
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus
|
||||
AND (OSZTALYZAT.C_MAGATARTAS IS NOT NULL OR (LEN(ERTEKELES.C_ERTEKELESSZOVEG) > 0 AND ERTEKELES.C_TANTARGYID IS NULL) )
|
||||
AND ERTEKELES.C_TANEVID = @tanevId
|
||||
AND ERTEKELES.TOROLT='F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
ERTEKELES.C_TANULOID TANULOID
|
||||
, 'SZORGALOM' TARGY
|
||||
, ERT.C_NAME Ertekeles
|
||||
, NULL Jegyzet
|
||||
, ERT.C_NAME ErtekelesJegyzettel
|
||||
, ERT.C_NAME SzovegesErtekeles
|
||||
, NULL Oraszam
|
||||
, 2 RENDEZ
|
||||
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
||||
INNER JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
||||
AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
||||
AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
||||
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
|
||||
LEFT JOIN T_OSZTALYFONOKIERTEKELES_OSSZES OSZTALYZAT
|
||||
ON OSZTALYZAT.ID = ERTEKELES.ID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=OSZTALYZAT.C_SZORGALOM
|
||||
WHERE
|
||||
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus
|
||||
AND OSZTALYZAT.C_SZORGALOM IS NOT NULL
|
||||
AND ERTEKELES.C_TANEVID = @TanevId
|
||||
AND ERTEKELES.TOROLT='F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
ERTEKELES.C_TANULOID TANULOID
|
||||
, TARGY.TARGYNEV TARGY
|
||||
, ERT.C_NAME Ertekeles
|
||||
, ertekelesMegjegyzes.C_TEMA Jegyzet
|
||||
, ERT.C_NAME + IIF(ertekelesMegjegyzes.C_TEMA IS NULL, '', +' * '+ertekelesMegjegyzes.C_TEMA) ErtekelesJegyzettel
|
||||
, ERTEKELES.C_ERTEKELESSZOVEG SzovegesErtekeles
|
||||
, Oraszam Oraszam
|
||||
, TARGY.KAT RENDEZ
|
||||
FROM T_TANULOERTEKELES_OSSZES ERTEKELES
|
||||
INNER JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES
|
||||
WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F'
|
||||
AND T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE()
|
||||
AND (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT
|
||||
ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID
|
||||
INNER JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT, C_ALTANTARGYKENTNYOMTATVANYBAN, C_FOTARGYE FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY
|
||||
ON TARGY.ID = ERTEKELES.C_TANTARGYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ERT ON ERT.ID=ERTEKELES.C_OSZTALYZAT AND ERT.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_OSZTALYZATERTEKELES_OSSZES ertekelesMegjegyzes on ertekelesMegjegyzes.ID=ertekeles.Id
|
||||
LEFT JOIN @Oraszamok oraszam ON
|
||||
oraszam.Tantargy = ERTEKELES.C_TANTARGYID
|
||||
AND oraszam.TanuloId = ERTEKELES.C_TANULOID
|
||||
WHERE
|
||||
TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND ERTEKELES.C_ERTEKELESTIPUSA = @ertekelesTipus
|
||||
AND ERTEKELES.C_TANEVID = @tanevId
|
||||
AND ERTEKELES.TOROLT='F'
|
||||
AND (TARGY.C_FOTARGYE = 'T' OR TARGY.C_ALTANTARGYKENTNYOMTATVANYBAN='T')
|
||||
ORDER BY TANULOID, RENDEZ
|
||||
|
||||
END
|
||||
|
||||
GO
|
Reference in New Issue
Block a user