diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 7e97debe3d38b4b61030ddaa909d8aab1adbf882..36d0bebae89ac429827420e79ee5a8675394f0c6 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -4187,5 +4187,26 @@ BEGIN LIMIT 1; END // +-- Вычисление максимального балла для submodule +DROP FUNCTION `CalculateMaxRateForExtra`// +CREATE DEFINER=`mmcs_rating`@`localhost` FUNCTION `CalculateMaxRateForExtra`(`SubmoduleID` INT, `StudentID` INT, + `DisciplineID` INT + ) RETURNS int(11) +BEGIN + DECLARE examTypeVar enum('exam', 'credit') utf8_general_ci; + + SELECT ExamType INTO examTypeVar + FROM submodules as subm1 + JOIN modules ON subm1.ModuleID=modules.ID + JOIN disciplines ON DisciplineID=disciplines.ID + WHERE modules.type='extra' AND subm1.ID=SubmoduleID; + + CASE examTypeVar + WHEN 'exam' THEN + return 38-GetRateForDiscSemester(StudentID, DisciplineID); + WHEN 'credit' THEN + return 60-GetRateForDiscSemester(StudentID, DisciplineID); + END CASE +END DELIMITER ; \ No newline at end of file