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

procedures critical fixes

parent 77f5983e
No related merge requests found
......@@ -644,24 +644,15 @@ CREATE FUNCTION `CreateStudent`( `Last` VARCHAR(30) CHARSET utf8,
) RETURNS int(11)
NO SQL
BEGIN
DECLARE curID, StudyGroupID, RoleID INT;
SELECT user_roles.ID
INTO RoleID
FROM `user_roles`
WHERE user_roles.Type = 'student' AND
user_roles.Role = 'common'
LIMIT 1;
IF NOT (RoleID > 0) THEN
RETURN -1;
END IF;
DECLARE curID, StudyGroupID INT;
SELECT study_groups.ID
INTO StudyGroupID
FROM `study_groups`
INNER JOIN `specializations` ON study_groups.SpecializationID = specializations.ID
WHERE study_groups.Grade = Grade AND
study_groups.GroupNum = GroupN AND
study_groups.FacultyID = FacultyID
specializations.FacultyID = FacultyID
LIMIT 1;
IF NOT (StudyGroupID > 0) THEN
RETURN -1;
......@@ -669,7 +660,7 @@ BEGIN
INSERT INTO `accounts` ( accounts.Login , accounts.Password , accounts.EMail, accounts.UserRoleID, accounts.ActivationCode )
VALUES ( NULL, NULL, NULL, RoleID, Code);
VALUES ( NULL, NULL, NULL, 1, Code);
SELECT accounts.ID
INTO curID
......@@ -697,15 +688,6 @@ CREATE FUNCTION `CreateTeacher`( `Last` VARCHAR(30) CHARSET utf8,
BEGIN
DECLARE curID, checker, RoleID INT;
SELECT user_roles.ID
INTO RoleID
FROM `user_roles`
WHERE user_roles.Type = 'teachers' AND
user_roles.Role = 'common'
LIMIT 1;
IF NOT (RoleID > 0) THEN
RETURN -1;
END IF;
SELECT departments.ID
INTO checker
......@@ -732,7 +714,7 @@ BEGIN
END IF;
INSERT INTO `accounts` ( accounts.Login , accounts.Password , accounts.EMail, accounts.UserRoleID, accounts.ActivationCode )
VALUES ( NULL, NULL, NULL, RoleID, Code);
VALUES ( NULL, NULL, NULL, 2, Code);
SELECT accounts.ID INTO curID
FROM `accounts`
......@@ -791,7 +773,7 @@ CREATE FUNCTION `GetMaxRateForDisc` ( `StudentID` INT,
) RETURNS int(11)
NO SQL
BEGIN
RETURN ( SELECT SUM(rating_table.MaxRate)
RETURN ( SELECT SUM(submodules.MaxRate)
FROM `rating_table`
INNER JOIN `submodules` ON rating_table.SubmoduleID = submodules.ID
INNER JOIN `modules` ON submodules.ModuleID = modules.ID
......@@ -830,7 +812,7 @@ BEGIN
disciplines_students.StudentID = StudentID
WHERE disciplines.SemesterID = semID AND
( disciplines_students.Type = 'attach' OR
( disciplines_students.Type != 'detach' AND
( ( disciplines_students.Type IS NULL OR disciplines_students.Type != 'detach' ) AND
disciplines_groups.StudyGroupID = groupID
)
)
......@@ -871,7 +853,7 @@ BEGIN
disciplines_students.StudentID = StudentID
WHERE disciplines.SemesterID = semID AND
( disciplines_students.Type = 'attach' OR
( disciplines_students.Type != 'detach' AND
( ( disciplines_students.Type IS NULL OR disciplines_students.Type != 'detach' ) AND
disciplines_groups.StudyGroupID = groupID
)
)
......@@ -970,7 +952,7 @@ BEGIN
FROM `disciplines_groups`
INNER JOIN `disciplines` ON disciplines_groups.DisciplineID = disciplines.ID
INNER JOIN `disciplines_teachers` ON disciplines.ID = disciplines_teachers.DisciplineID AND
disciplines.TeacherID = TeacherID
disciplines_teachers.TeacherID = TeacherID
INNER JOIN `subjects` ON subjects.ID = disciplines.SubjectID
INNER JOIN `study_groups` ON study_groups.ID = disciplines_groups.StudyGroupID
WHERE disciplines.SemesterID = semID
......@@ -1060,7 +1042,7 @@ BEGIN
submodules.MaxRate,
submodules.Type AS 'SubmoduleControl'
FROM `modules`
RIGHT JOIN `submodules` ON modules.ID = submodules.ModuleID
LEFT JOIN `submodules` ON modules.ID = submodules.ModuleID
INNER JOIN `disciplines` ON modules.DisciplineID = disciplines.ID
INNER JOIN `subjects` ON disciplines.SubjectID = subjects.ID
ORDER BY modules.OrderNum ASC,
......@@ -1268,7 +1250,7 @@ BEGIN
FROM `disciplines`
INNER JOIN `disciplines_teachers` ON disciplines_teachers.DisciplineID = disciplines.ID AND
disciplines_teachers.TeacherID = AccessedTeacher
WHERE disciplines.ID = discID
WHERE disciplines.ID = DisciplineID
LIMIT 1;
IF NOT (checker > 0) THEN
RETURN -1;
......
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