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

search new teacher for discipline

parent 609def46
Branches
Tags
No related merge requests found
...@@ -1403,6 +1403,41 @@ END // ...@@ -1403,6 +1403,41 @@ END //
DROP PROCEDURE IF EXISTS SearchTeacherNew//
CREATE PROCEDURE `SearchTeacherNew` ( IN `FacultyID` INT,
IN `DepartmentID` INT,
IN `Last` VARCHAR(30) CHARSET utf8,
IN `First` VARCHAR(30) CHARSET utf8,
IN `Second` VARCHAR(30) CHARSET utf8,
IN `DisciplineID` INT
)
NO SQL
BEGIN
SELECT teachers.ID AS 'TeacherID',
teachers.LastName AS 'TeacherLast',
teachers.FirstName AS 'TeacherFirst',
teachers.SecondName AS 'TeacherSecond',
teachers.AccountID AS 'TeacherAccID',
job_positions.Name AS 'JobPositionName',
departments.ID AS 'DepID',
departments.Name AS 'DepName'
FROM `teachers`
INNER JOIN `departments` ON departments.ID = teachers.DepartmentID
INNER JOIN `job_positions` ON job_positions.ID = teachers.JobPositionID
LEFT JOIN `disciplines_teachers` ON disciplines_teachers.TeacherID = teachers.ID AND
disciplines_teachers.DisciplineID = DisciplineID
WHERE ( DepartmentID = 0 OR departments.ID = DepartmentID) AND
( FacultyID = 0 OR departments.FacultyID = FacultyID) AND
( teachers.LastName LIKE CONCAT(Last,"%") ) AND
( teachers.FirstName LIKE CONCAT(First,"%") ) AND
( teachers.SecondName LIKE CONCAT(Second,"%") ) AND
disciplines_teachers.ID IS NULL
ORDER BY departments.FacultyID ASC, departments.Name ASC, teachers.LastName ASC, teachers.FirstName ASC, teachers.SecondName ASC;
END //
...@@ -1506,7 +1541,7 @@ END // ...@@ -1506,7 +1541,7 @@ END //
DROP FUNCTION IF EXISTS UnbindTeacher// DROP FUNCTION IF EXISTS UnbindTeacher//
CREATE FUNCTION `UnbindTeacher` ( `AccessedTeacher` INT, CREATE FUNCTION `UnbindTeacher` ( `AuthorID` INT,
`BindingTeacher` INT, `BindingTeacher` INT,
`DisciplineID` INT `DisciplineID` INT
) RETURNS int(11) ) RETURNS int(11)
...@@ -1519,12 +1554,16 @@ BEGIN ...@@ -1519,12 +1554,16 @@ BEGIN
INTO checker INTO checker
FROM `disciplines` FROM `disciplines`
WHERE disciplines.ID = DisciplineID AND WHERE disciplines.ID = DisciplineID AND
disciplines.AuthorID = AccessedTeacher disciplines.AuthorID = AuthorID
LIMIT 1; LIMIT 1;
IF NOT (checker > 0) THEN IF NOT (checker > 0) THEN
RETURN -1; RETURN -1;
END IF; END IF;
IF AuthorID = BindingTeacher
RETURN -1;
END IF;
DELETE FROM `disciplines_teachers` DELETE FROM `disciplines_teachers`
WHERE disciplines_teachers.DisciplineID = DisciplineID AND WHERE disciplines_teachers.DisciplineID = DisciplineID AND
disciplines_teachers.TeacherID = BindingTeacher; disciplines_teachers.TeacherID = BindingTeacher;
......
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