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

БД: добавлен функционал

parent c79c78cd
No related merge requests found
......@@ -22,7 +22,6 @@ END //
-- Desc: Получает информацию о текущем семестре
-- Note: uses by another functions
DROP PROCEDURE IF EXISTS GetCurSemesterInfo;//
CREATE PROCEDURE `GetCurSemesterInfo`( )
NO SQL
......@@ -67,6 +66,21 @@ BEGIN
END //
-- Desc: * для аккаунта с данным логином и паролем
DROP PROCEDURE IF EXISTS GetAccInfoByID; //
CREATE PROCEDURE `GetAccInfoByID`(IN `UserID` VARCHAR(50) CHARSET utf8 )
NO SQL
BEGIN
SELECT accounts.ID,
accounts.`Login`,
accounts.`E-Mail`,
accounts.Type,
( accounts.ActivationCode IS NULL) AS 'isActivated'
FROM accounts
WHERE accounts.`ID` = UserID;
END //
-- Desc: * для аккаунта с данным e-mail и паролем
DROP PROCEDURE IF EXISTS GetAccInfoByMail; //
CREATE PROCEDURE `GetAccInfoByMail`(IN `Mail` VARCHAR(255) CHARSET utf8, IN `Pass` VARCHAR(32) CHARSET utf8)
......@@ -77,7 +91,7 @@ BEGIN
accounts.Password,
accounts.`E-Mail`,
accounts.Type,
accounts.ActivationCode
( accounts.ActivationCode IS NULL) AS 'isActivated'
FROM accounts
WHERE accounts.`E-Mail` = Mail AND accounts.Password = Pass;
END //
......@@ -93,13 +107,16 @@ BEGIN
accounts.Password,
accounts.`E-Mail`,
accounts.Type,
accounts.ActivationCode
( accounts.ActivationCode IS NULL) AS 'isActivated'
FROM accounts
WHERE accounts.`Login` = Login AND accounts.Password = Pass;
END //
-- Desc: - UserID => FirstName, SecondName, LastName, StudyGroup (вся информация, в т.ч. и специализация (ПМ, ИТ, etc.)) (в зав. от AccountType)
-- Note: 1) если аккаунт существует, то всегда можно получить UserID, AccountType, LastName, FirstName
-- иначе UserID = NULL (как и все остальные)
......@@ -864,36 +881,3 @@ END //
SELECT students.StudyGroupID INTO groupID FROM `students` WHERE students.ID = StudentID LIMIT 1;
SELECT disciplines.ID INTO checker
FROM `disciplines`
CROSS JOIN `disciplines_teachers` ON disciplines_teachers.DisciplineID = disciplines.ID
CROSS JOIN `lessons` ON lessons.DisciplineTeacherID = disciplines_teachers.ID
INNER JOIN `attending_groups` ON attending_groups.ID = lessons.AttendingGroupID AND
attending_groups.SemesterID = semID
LEFT JOIN `attending_groups_bases` ON attending_groups_bases.AttendingGroupID = attending_groups.ID AND
attending_groups_bases.StudyGroupID = groupID
LEFT JOIN `attending_groups_pool` ON attending_groups_pool.AttendingGroupID = attending_groups.ID AND
attending_groups_pool.StudentID = StudentID
WHERE disciplines.SubjectID = SubjectID AND
disciplines.SemesterID = semID AND
attending_groups.SemesterID = semID AND
( attending_groups_pool.Type = 'attach' OR
( (attending_groups_pool.Type is NULL OR attending_groups_pool.Type != 'detach') AND
attending_groups_bases.StudyGroupID IS NOT NULL AND
attending_groups_bases.StudyGroupID = groupID
)
)
LIMIT 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