Skip to content
Snippets Groups Projects
Commit 991e3a40 authored by PavelBegunkov's avatar PavelBegunkov
Browse files

Split sql getRoadmap

parent 6f27bcaa
Branches
Tags
No related merge requests found
......@@ -1225,6 +1225,7 @@ END //
# TODO: too long output names
# TODO: order hardcode
# TODO: deprecated
DROP PROCEDURE IF EXISTS GetRoadmap//
CREATE PROCEDURE `GetRoadmap` (
IN `pDisciplineID` INT,
......@@ -1256,6 +1257,57 @@ BEGIN
END //
DROP PROCEDURE IF EXISTS Discipline_GetModules//
CREATE PROCEDURE `Discipline_GetModules` (
IN `pDisciplineID` INT,
IN `pType` enum('exam', 'rate', 'all')
) NO SQL
BEGIN
SELECT modules.ID,
modules.Name,
modules.Type
FROM `modules`
WHERE modules.DisciplineID = pDisciplineID AND
CASE pType
WHEN 'exam' THEN modules.Type = 'exam' OR modules.Type = 'extra'
WHEN 'rate' THEN modules.Type != 'exam'
ELSE TRUE
END
ORDER BY
CASE pType
WHEN 'exam' THEN InternalOrderModuleTypesForSession(modules.Type)
WHEN 'rate' THEN modules.Type ^ 1 # 1, 3, 2, 4 ASC
ELSE TRUE
END ASC,
modules.OrderNum ASC;
END //
DROP PROCEDURE IF EXISTS Discipline_GetSubmodules//
CREATE PROCEDURE `Discipline_GetSubmodules` (
IN `pDisciplineID` INT,
IN `pType` enum('exam', 'rate', 'all')
) NO SQL
BEGIN
SELECT view_roadmap.ModuleID,
view_roadmap.SubmoduleID AS 'ID',
view_roadmap.SubmoduleName AS 'Name',
view_roadmap.SubmoduleRate AS 'Rate',
view_roadmap.SubmoduleType AS 'Type'
FROM `view_roadmap`
WHERE view_roadmap.DisciplineID = pDisciplineID AND
CASE pType
WHEN 'exam' THEN view_roadmap.ModuleType = 'exam' OR view_roadmap.ModuleType = 'extra'
WHEN 'rate' THEN view_roadmap.ModuleType != 'exam' OR view_roadmap.SubmoduleOrderNum = 1
ELSE TRUE
END
ORDER BY
view_roadmap.ModuleOrderNum ASC,
view_roadmap.SubmoduleOrderNum ASC;
END //
# -------------------------------------------------------------------------------------------
# Label: recovery
# -------------------------------------------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment