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` ...@@ -26,13 +26,10 @@ CREATE FUNCTION `InternalIsMapLocked`
(`pDisciplineID` INT) RETURNS BOOLEAN (`pDisciplineID` INT) RETURNS BOOLEAN
NO SQL NO SQL
BEGIN BEGIN
DECLARE vChecker boolean DEFAULT -1; RETURN EXISTS(
SELECT * FROM `disciplines`
SELECT disciplines.isLocked INTO vChecker WHERE disciplines.ID = pDisciplineID AND disciplines.isLocked = 1
FROM `disciplines` );
WHERE pDisciplineID = disciplines.ID
LIMIT 1;
RETURN ( vChecker > 0 );
END // END //
...@@ -446,7 +443,7 @@ BEGIN ...@@ -446,7 +443,7 @@ BEGIN
LIMIT 1; LIMIT 1;
IF (ROW_COUNT() = 0) THEN IF (ROW_COUNT() = 0) THEN
RETURN -2; RETURN -2; # account with this Code not found
END IF; END IF;
RETURN @vAccountID; RETURN @vAccountID;
END // END //
...@@ -680,7 +677,7 @@ BEGIN ...@@ -680,7 +677,7 @@ BEGIN
END // END //
# TODO: ?#$@! magic
DROP FUNCTION IF EXISTS CreateStudentEx// DROP FUNCTION IF EXISTS CreateStudentEx//
CREATE FUNCTION `CreateStudentEx` CREATE FUNCTION `CreateStudentEx`
( `pLastName` VARCHAR(30) CHARSET utf8, ( `pLastName` VARCHAR(30) CHARSET utf8,
...@@ -821,7 +818,6 @@ CREATE FUNCTION `ChangeDisciplineSubject` ...@@ -821,7 +818,6 @@ CREATE FUNCTION `ChangeDisciplineSubject`
) RETURNS int(11) ) RETURNS int(11)
NO SQL NO SQL
BEGIN BEGIN
DECLARE vChecker INT;
DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1; DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1;
IF NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR IF NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
...@@ -845,7 +841,7 @@ CREATE FUNCTION `ChangeDisciplineGrade` ...@@ -845,7 +841,7 @@ CREATE FUNCTION `ChangeDisciplineGrade`
) RETURNS int(11) ) RETURNS int(11)
NO SQL NO SQL
BEGIN BEGIN
DECLARE vChecker INT DEFAULT -1; DECLARE vCurGradeID INT DEFAULT -1;
DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1; DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1;
IF InternalIsMapLocked(pDisciplineID) OR IF InternalIsMapLocked(pDisciplineID) OR
...@@ -854,18 +850,22 @@ BEGIN ...@@ -854,18 +850,22 @@ BEGIN
RETURN -1; RETURN -1;
END IF; END IF;
SELECT disciplines.GradeID INTO vChecker # get current grade
SELECT disciplines.GradeID INTO vCurGradeID
FROM `disciplines` FROM `disciplines`
WHERE disciplines.ID = pDisciplineID WHERE disciplines.ID = pDisciplineID
LIMIT 1; LIMIT 1;
IF vCurGradeID = pGradeID THEN
IF vChecker != pGradeID THEN RETURN 0;
DELETE FROM `disciplines_groups`
WHERE disciplines_groups.DisciplineID = pDisciplineID;
DELETE FROM `disciplines_students`
WHERE disciplines_students.DisciplineID = pDisciplineID;
END IF; 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` UPDATE `disciplines`
SET disciplines.GradeID = pGradeID SET disciplines.GradeID = pGradeID
WHERE disciplines.ID = pDisciplineID WHERE disciplines.ID = pDisciplineID
......
This diff is collapsed.
...@@ -11,6 +11,7 @@ CREATE OR REPLACE VIEW `view_groups` AS ...@@ -11,6 +11,7 @@ CREATE OR REPLACE VIEW `view_groups` AS
specializations.ID AS 'SpecID', specializations.ID AS 'SpecID',
specializations.Name AS 'SpecName', specializations.Name AS 'SpecName',
specializations.Abbr AS 'SpecAbbr', specializations.Abbr AS 'SpecAbbr',
specializations.Code AS 'SpecCode',
faculties.ID AS 'FacultyID', faculties.ID AS 'FacultyID',
faculties.Name AS 'FacultyName', faculties.Name AS 'FacultyName',
faculties.Abbr AS 'FacultyAbbr' faculties.Abbr AS 'FacultyAbbr'
...@@ -76,13 +77,14 @@ CREATE OR REPLACE VIEW `view_disciplines` AS ...@@ -76,13 +77,14 @@ CREATE OR REPLACE VIEW `view_disciplines` AS
CREATE OR REPLACE VIEW `view_disciplines_results` 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) AS 'DisciplineRateMax',
SUM(submodules.MaxRate*submodules.IsUsed) AS 'DisciplineRateCur' SUM(submodules.MaxRate*submodules.IsUsed) AS 'DisciplineRateCur'
FROM `submodules` FROM `submodules`
INNER JOIN `modules` ON modules.ID = submodules.ModuleID 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) 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 CREATE OR REPLACE VIEW `view_disciplines_teachers` AS
...@@ -112,7 +114,7 @@ CREATE OR REPLACE VIEW `view_disciplines_students` AS ...@@ -112,7 +114,7 @@ CREATE OR REPLACE VIEW `view_disciplines_students` AS
WHERE disciplines_students.DisciplineID = disciplines_groups.DisciplineID AND WHERE disciplines_students.DisciplineID = disciplines_groups.DisciplineID AND
disciplines_students.StudentID = view_students.StudentID disciplines_students.StudentID = view_students.StudentID
) )
); );
CREATE OR REPLACE VIEW `view_roadmap` AS 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