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

GetDisciplinesForTeacher: ++isAuthor(out), ++isMapCreated(out)

parent 2f882b47
Branches
Tags
No related merge requests found
......@@ -106,7 +106,7 @@ INSERT INTO `departments` (`ID`, `Name`, `FacultyID`) VALUES
(11, 'Кафедра теоретической и компьютерной гидроаэродинамики', 1),
(12, 'Кафедра теории упругости', 1),
(13, 'Кафедра технологий автоматизации в бизнесе', 1),
(14, 'Кафедра междунарожного права', 2);
(14, 'Кафедра международного права', 2);
--
-- Дамп данных таблицы `semesters`
......
......@@ -1193,7 +1193,10 @@ BEGIN
study_groups.ID AS 'StudyGroupID',
study_groups.GroupNum AS 'StudyGroupNum',
study_groups.Grade AS 'StudyGroupGrade',
study_groups.Name AS 'StudyGroupName'
study_groups.Name AS 'StudyGroupName',
(TeacherID = disciplines.AuthorID) AS 'isAuthor',
(modules.ID IS NOT NULL) AS 'isMapCreated'
FROM `disciplines_groups`
RIGHT JOIN `disciplines` ON disciplines_groups.DisciplineID = disciplines.ID OR
disciplines_groups.DisciplineID IS NULL
......@@ -1201,6 +1204,7 @@ BEGIN
disciplines_teachers.TeacherID = TeacherID
INNER JOIN `subjects` ON subjects.ID = disciplines.SubjectID
LEFT JOIN `study_groups` ON study_groups.ID = disciplines_groups.StudyGroupID
LEFT JOIN `modules` ON disciplines.ID = modules.DisciplineID
WHERE disciplines.SemesterID = semID
ORDER BY disciplines.Grade ASC,
subjects.Name ASC,
......@@ -1339,42 +1343,44 @@ BEGIN
disciplines_teachers.TeacherID = TeacherID
WHERE disciplines.ID = discID
LIMIT 1;
IF NOT (checker > 0) THEN
RETURN -1;
END IF;
IF checker > 0 THEN
SELECT COUNT(rating_table.ID)
INTO checker
FROM `rating_table`
WHERE rating_table.SubmoduleID = SubmoduleID AND
rating_table.TeacherID = TeacherID AND
rating_table.StudentID = StudentID;
IF checker = 0 THEN
SELECT COUNT(rating_table.ID)
INTO checker
FROM `rating_table`
WHERE rating_table.SubmoduleID = SubmoduleID AND
rating_table.TeacherID = TeacherID AND
rating_table.StudentID = StudentID;
IF NOT (checker = 0) THEN
RETURN -1;
END IF;
SELECT students.StudyGroupID INTO groupID FROM `students` WHERE students.ID = StudentID LIMIT 1;
SET semID = GetCurSemesterID();
SELECT disciplines.ID INTO checker
FROM `disciplines`
LEFT JOIN `disciplines_groups` ON disciplines_groups.DisciplineID = disciplines.ID AND
disciplines_groups.StudyGroupID = groupID
LEFT JOIN `disciplines_students` ON disciplines_students.DisciplineID = disciplines.ID AND
disciplines_students.StudentID = StudentID
WHERE disciplines.SubjectID = SubjectID AND
disciplines.SemesterID = semID AND
( disciplines_students.Type = 'attach' OR
((disciplines_students.Type IS NULL OR disciplines_students.Type != 'detach') AND disciplines_groups.StudyGroupID = groupID )
)
LIMIT 1;
SELECT students.StudyGroupID INTO groupID FROM `students` WHERE students.ID = StudentID LIMIT 1;
SET semID = GetCurSemesterID();
SELECT disciplines.ID INTO checker
FROM `disciplines`
LEFT JOIN `disciplines_groups` ON disciplines_groups.DisciplineID = disciplines.ID AND
disciplines_groups.StudyGroupID = groupID
LEFT JOIN `disciplines_students` ON disciplines_students.DisciplineID = disciplines.ID AND
disciplines_students.StudentID = StudentID
WHERE disciplines.SubjectID = SubjectID AND
disciplines.SemesterID = semID AND
( disciplines_students.Type = 'attach' OR
((disciplines_students.Type IS NULL OR disciplines_students.Type != 'detach') AND disciplines_groups.StudyGroupID = groupID )
)
LIMIT 1;
IF checker > 0 THEN
INSERT INTO `rating_table` ( rating_table.StudentID, rating_table.TeacherID, rating_table.SubmoduleID, rating_table.Rate, rating_table.Date )
VALUES ( StudentID, TeacherID, SubmoduleID, Rate, CURDATE() );
RETURN 0;
END IF;
END IF;
IF NOT (checker > 0) THEN
RETURN -1;
END IF;
RETURN -1;
INSERT INTO `rating_table` ( rating_table.StudentID, rating_table.TeacherID, rating_table.SubmoduleID, rating_table.Rate, rating_table.Date )
VALUES ( StudentID, TeacherID, SubmoduleID, Rate, CURDATE() );
RETURN 0;
END //
......
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