From defe3a4870a908b8d551444ed1eccd79dcd22fb7 Mon Sep 17 00:00:00 2001 From: c22063583 <WHITEf6@cardiff.ac.uk> Date: Wed, 19 Apr 2023 14:37:35 +0100 Subject: [PATCH] checks added --- createdb.sql | 72 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 64 insertions(+), 8 deletions(-) diff --git a/createdb.sql b/createdb.sql index e43ec4d..e0cbb2b 100644 --- a/createdb.sql +++ b/createdb.sql @@ -38,8 +38,8 @@ CREATE TABLE `Volunteers`( fname varchar(35), lname varchar(35), hoursworked int(8) DEFAULT 0, - DBSlastchecked date, - SGlastchecked date, + DBSdue date, + SGdue date, emergencycontact varchar(20), email varchar(320) ); @@ -82,8 +82,6 @@ CREATE TABLE `Badge`( DROP TABLE IF EXISTS `BadgeAwarded`; CREATE TABLE `BadgeAwarded`( - awardedID int(20) not null unique, - primary key(awardedID), awardedto varchar(40), evidence varchar(1000), awardedby varchar(40), @@ -262,9 +260,9 @@ CREATE PROCEDURE viewVolunteer( BEGIN If LENGTH(volunteervID) = 0 then - SELECT s0.VolunteerID , s0.volunteerCode, s0.fname ,s0.lname,s0.DBSlastchecked,s0.SGlastchecked,s0.emergencycontact,s0.email,(select sum(duration) from Sessions where sessionID in(select sessionID from VolunteerAttendance where volunteerID=s0.volunteerID)) from volunteers as s0; + SELECT s0.VolunteerID , s0.volunteerCode, s0.fname ,s0.lname,s0.DBSdue,s0.SGdue,s0.emergencycontact,s0.email,(select sum(duration) from Sessions where sessionID in(select sessionID from VolunteerAttendance where volunteerID=s0.volunteerID)) from volunteers as s0; else - SELECT s0.VolunteerID , s0.volunteerCode, s0.fname ,s0.lname,s0.DBSlastchecked,s0.SGlastchecked,s0.emergencycontact,s0.email,(select sum(duration) from Sessions where sessionID in(select sessionID from VolunteerAttendance where volunteerID=s0.volunteerID)) from volunteers as s0 where volunteerID=volunteervID; + SELECT s0.VolunteerID , s0.volunteerCode, s0.fname ,s0.lname,s0.DBSdue,s0.SGdue,s0.emergencycontact,s0.email,(select sum(duration) from Sessions where sessionID in(select sessionID from VolunteerAttendance where volunteerID=s0.volunteerID)) from volunteers as s0 where volunteerID=volunteervID; end if; END$$ DELIMITER ; @@ -329,8 +327,65 @@ BEGIN END$$ DELIMITER ; +drop procedure if exists updateDBS; +delimiter $$ +CREATE PROCEDURE updateDBS( + IN VolunteerID varchar(40), + IN DateOfDBSApproval date) +BEGIN + UPDATE volunteers set DBSdue =date_add(DateOfDBSApproval, interval 3 year) where VolunteerID=volunteerID; +END$$ +DELIMITER ; +drop procedure if exists updateSG; +delimiter $$ +CREATE PROCEDURE updateSG( + IN VolunteerID varchar(40), + IN DateOfSGApproval date) + +BEGIN + UPDATE volunteers set SGdue =date_add(DateOfSGApproval, interval 5 year) where VolunteerID=volunteerID; +END$$ +DELIMITER ; + +drop procedure if exists ViewCheckExpiries; +delimiter $$ +CREATE PROCEDURE ViewCheckExpiries() + +BEGIN + SELECT volunteerID,fname,lname,DBSdue,SGdue, + if(date_sub(DBSdue, interval 6 month) > CURDATE()=1, + "ALL GOOD", + if(CURDATE()>DBSdue=1 + ,concat("already Due ",fname," does not have a valid dbs check"), + concat("needs redoing in the before",DBSdue))) as "dbs refiew" , + if(date_sub(SGdue, interval 6 month) > CURDATE()=1 , + "ALL GOOD", + if(CURDATE()>DBSdue=1 + ,concat("already Due ",fname," does not have a valid SG check") + + concat("needs redoing in the before",SGdue))) as "SuperGeeks training reviewz" + from volunteers where date_sub(DBSdue, interval 6 month) < CURDATE()=1 or date_sub(SGdue, interval 6 month) < CURDATE()=1; + +END$$ +DELIMITER ; + + +drop procedure if exists StudentBadgeApply; +delimiter $$ +CREATE PROCEDURE StudentBadgeApply( + IN studentID varchar(40), + IN BadgeID varchar(40), + IN badgeEvidence varchar(1000)) + +BEGIN + + INSERT INTO StudentAttendance(StudentID,sessionID) values + (studentID,sessionID); + +END$$ +DELIMITER ; @@ -341,8 +396,9 @@ call addBadge("real badge","this is a totally real badge"); call addStudent("timothy","jones",'2002-2-11','8e301d6e513165a9c0b6b9a2b10c8305',"EXTREMELYSTRONGPASSWORD"); call addVolunteer("timothy","jones",'bob@bbc.co.uk','8e301d6e513165a9c0b6b9a2b10c8305',"0777008913"); +call updateSG('419fd9859978a9bf79df4ff16c99c5f9',"2015-09-09"); +call updateDBS('419fd9859978a9bf79df4ff16c99c5f9',"2021-09-09"); - +call viewCheckExpiries(); -- select * from volunteers; -call viewVolunteer(""); -- GitLab