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

REF: comments

parent b1977882
Branches
Tags
No related merge requests found
......@@ -26,13 +26,10 @@ CREATE FUNCTION `InternalIsMapLocked`
(`pDisciplineID` INT) RETURNS BOOLEAN
NO SQL
BEGIN
DECLARE vChecker boolean DEFAULT -1;
SELECT disciplines.isLocked INTO vChecker
FROM `disciplines`
WHERE pDisciplineID = disciplines.ID
LIMIT 1;
RETURN ( vChecker > 0 );
RETURN EXISTS(
SELECT * FROM `disciplines`
WHERE disciplines.ID = pDisciplineID AND disciplines.isLocked = 1
);
END //
......@@ -446,7 +443,7 @@ BEGIN
LIMIT 1;
IF (ROW_COUNT() = 0) THEN
RETURN -2;
RETURN -2; # account with this Code not found
END IF;
RETURN @vAccountID;
END //
......@@ -680,7 +677,7 @@ BEGIN
END //
# TODO: ?#$@! magic
DROP FUNCTION IF EXISTS CreateStudentEx//
CREATE FUNCTION `CreateStudentEx`
( `pLastName` VARCHAR(30) CHARSET utf8,
......@@ -821,7 +818,6 @@ CREATE FUNCTION `ChangeDisciplineSubject`
) RETURNS int(11)
NO SQL
BEGIN
DECLARE vChecker INT;
DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1;
IF NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
......@@ -845,7 +841,7 @@ CREATE FUNCTION `ChangeDisciplineGrade`
) RETURNS int(11)
NO SQL
BEGIN
DECLARE vChecker INT DEFAULT -1;
DECLARE vCurGradeID INT DEFAULT -1;
DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1;
IF InternalIsMapLocked(pDisciplineID) OR
......@@ -854,18 +850,22 @@ BEGIN
RETURN -1;
END IF;
SELECT disciplines.GradeID INTO vChecker
# get current grade
SELECT disciplines.GradeID INTO vCurGradeID
FROM `disciplines`
WHERE disciplines.ID = pDisciplineID
LIMIT 1;
IF vChecker != pGradeID THEN
DELETE FROM `disciplines_groups`
WHERE disciplines_groups.DisciplineID = pDisciplineID;
DELETE FROM `disciplines_students`
WHERE disciplines_students.DisciplineID = pDisciplineID;
IF vCurGradeID = pGradeID THEN
RETURN 0;
END IF;
# delete all students
DELETE FROM `disciplines_groups`
WHERE disciplines_groups.DisciplineID = pDisciplineID;
DELETE FROM `disciplines_students`
WHERE disciplines_students.DisciplineID = pDisciplineID;
# set grade
UPDATE `disciplines`
SET disciplines.GradeID = pGradeID
WHERE disciplines.ID = pDisciplineID
......
This diff is collapsed.
......@@ -11,6 +11,7 @@ CREATE OR REPLACE VIEW `view_groups` AS
specializations.ID AS 'SpecID',
specializations.Name AS 'SpecName',
specializations.Abbr AS 'SpecAbbr',
specializations.Code AS 'SpecCode',
faculties.ID AS 'FacultyID',
faculties.Name AS 'FacultyName',
faculties.Abbr AS 'FacultyAbbr'
......@@ -76,13 +77,14 @@ CREATE OR REPLACE VIEW `view_disciplines` AS
CREATE OR REPLACE VIEW `view_disciplines_results` AS
SELECT modules.DisciplineID,
SELECT disciplines.ID AS 'DisciplineID',
SUM(submodules.MaxRate) AS 'DisciplineRateMax',
SUM(submodules.MaxRate*submodules.IsUsed) AS 'DisciplineRateCur'
FROM `submodules`
INNER JOIN `modules` ON modules.ID = submodules.ModuleID
RIGHT JOIN `disciplines` ON disciplines.ID = modules.DisciplineID
WHERE (modules.Type = 'regular') OR (modules.Type = 'exam' AND submodules.OrderNum = 1)
GROUP BY modules.DisciplineID;
GROUP BY disciplines.ID;
CREATE OR REPLACE VIEW `view_disciplines_teachers` AS
......@@ -112,7 +114,7 @@ CREATE OR REPLACE VIEW `view_disciplines_students` AS
WHERE disciplines_students.DisciplineID = disciplines_groups.DisciplineID AND
disciplines_students.StudentID = view_students.StudentID
)
);
);
CREATE OR REPLACE VIEW `view_roadmap` AS
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment