From a043509f6b2e4c2132501cc1a00698ad7b820984 Mon Sep 17 00:00:00 2001 From: Adam R Claxton Date: Tue, 18 Apr 2017 21:43:27 -0400 Subject: [PATCH] Device Redirect fix and database sql file --- .../html/webpages/redirect/deviceRedirect.jsp | 4 +- db/database.sql | 245 ++++++++++++++++++ 2 files changed, 247 insertions(+), 2 deletions(-) create mode 100644 db/database.sql diff --git a/WebContent/html/webpages/redirect/deviceRedirect.jsp b/WebContent/html/webpages/redirect/deviceRedirect.jsp index cc1f993..9fc22b5 100644 --- a/WebContent/html/webpages/redirect/deviceRedirect.jsp +++ b/WebContent/html/webpages/redirect/deviceRedirect.jsp @@ -41,7 +41,7 @@ String locker = request.getParameter("locker"); String comment = request.getParameter("admincomments"); //add form was submitted if(request.getParameter("add") != null){ - Device device = new Device(name,1,description,hardware,model,manufacturer,status,mac,serial,nfc,locker,os,comment); + Device device = new Device(name,1,description,hardware,model,manufacturer,status,mac,serial,nfc,locker,os,comment,""); DeviceQueries.addDevice(device); } @@ -51,7 +51,7 @@ if(request.getParameter("modify") != null){ String strID = request.getParameter("id"); //turn to int for constructor int id = Integer.parseInt(strID); - Device device = new Device(name,id,description,hardware,model,manufacturer,status,mac,serial,nfc,locker,os,comment); + Device device = new Device(name,id,description,hardware,model,manufacturer,status,mac,serial,nfc,locker,os,comment,""); DeviceQueries.modifyDevice(device); } diff --git a/db/database.sql b/db/database.sql new file mode 100644 index 0000000..8a6618f --- /dev/null +++ b/db/database.sql @@ -0,0 +1,245 @@ +-- MySQL Workbench Forward Engineering + +SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; +SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; + +-- ----------------------------------------------------- +-- Schema mydb +-- ----------------------------------------------------- +-- ----------------------------------------------------- +-- Schema ad_15a989204c2ff8a +-- ----------------------------------------------------- + +-- ----------------------------------------------------- +-- Schema ad_15a989204c2ff8a +-- ----------------------------------------------------- +CREATE SCHEMA IF NOT EXISTS `ad_15a989204c2ff8a` DEFAULT CHARACTER SET utf8 ; +USE `ad_15a989204c2ff8a` ; + +-- ----------------------------------------------------- +-- Table `ad_15a989204c2ff8a`.`fingerprint` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ad_15a989204c2ff8a`.`fingerprint` ( + `Finger_ID` INT(11) NOT NULL COMMENT 'SEE ME DEVICE SECURITY', + PRIMARY KEY (`Finger_ID`)) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `ad_15a989204c2ff8a`.`location` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ad_15a989204c2ff8a`.`location` ( + `Location_ID` INT(11) NOT NULL COMMENT 'Identification key for a location.', + `Name` VARCHAR(45) NOT NULL COMMENT 'Name of the location, not necessarily unique.', + `Address` VARCHAR(45) NOT NULL COMMENT 'Address for shipping. Just the number and street name, other fields will go elsewhere.', + `Town` VARCHAR(45) NOT NULL COMMENT 'Town of location.', + `State` VARCHAR(45) NOT NULL COMMENT 'State of location.', + `Zip_Code` VARCHAR(45) NOT NULL COMMENT 'Zip Code for shipping. Data type is VARCHAR to support leading zeros.', + `Employee_Flag` INT(11) NULL DEFAULT NULL, + `Latitude` VARCHAR(45) NULL DEFAULT NULL, + `Longitude` VARCHAR(45) NULL DEFAULT NULL, + PRIMARY KEY (`Location_ID`)) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `ad_15a989204c2ff8a`.`employee` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ad_15a989204c2ff8a`.`employee` ( + `Employee_ID` INT(9) NOT NULL COMMENT 'Employee ID number.', + `Location_ID` INT(11) NOT NULL COMMENT 'Where the employee is registered to work at.', + `Name` VARCHAR(45) NOT NULL COMMENT 'Actual name, might not be unique', + `Phone_Number` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Contact information.', + `Email` VARCHAR(45) NULL DEFAULT NULL, + `Img_Index` INT(9) NULL DEFAULT NULL, + `Notification_Preference` INT(11) NULL DEFAULT NULL COMMENT 'This indicates what notification preferences are being used at the moment.\n\nIt will be a number 0-7, which are all (in binary) 3 bit numbers, thus spanning 3 different notification options.\n\nAdam will later indicate which bit corresponds to which notification type.', + PRIMARY KEY (`Employee_ID`), + INDEX `LOCATION_ID_idx` (`Location_ID` ASC), + CONSTRAINT `Employee_Location_ID` + FOREIGN KEY (`Location_ID`) + REFERENCES `ad_15a989204c2ff8a`.`location` (`Location_ID`) + ON UPDATE CASCADE) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `ad_15a989204c2ff8a`.`admin` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ad_15a989204c2ff8a`.`admin` ( + `Admin_ID` INT(9) NOT NULL COMMENT 'The ID of an administrator. This should be identical to the ID of its corresponding employee, therefore making this a subset of that table.', + `Finger_ID` INT(11) NULL DEFAULT NULL COMMENT 'The ID of an admin\'s fingerprint. This has to do with the Device Security\'s team.', + `Finger_Registered_Flag` INT(11) NULL DEFAULT '0' COMMENT 'This field will indicate whether a fingerprint is registered for an employee. Value\'s will be 1/0 for true/false.', + `Password` VARCHAR(45) NOT NULL DEFAULT 'pass1234', + `Finger_ID_2` INT(11) NULL DEFAULT NULL, + `Finger_ID_3` INT(11) NULL DEFAULT NULL, + `Password_Flag` INT(1) NULL DEFAULT '0', + `Pincode` VARCHAR(45) NULL DEFAULT NULL, + PRIMARY KEY (`Admin_ID`), + INDEX `Admin_Finger_ID_2_idx` (`Finger_ID_2` ASC), + INDEX `Admin_Finger_ID_idx` (`Finger_ID` ASC), + INDEX `Admin_Finger_ID_3_idx` (`Finger_ID_3` ASC), + CONSTRAINT `Admin_Finger_ID_2` + FOREIGN KEY (`Finger_ID_2`) + REFERENCES `ad_15a989204c2ff8a`.`fingerprint` (`Finger_ID`) + ON DELETE SET NULL + ON UPDATE CASCADE, + CONSTRAINT `Admin_Finger_ID_3` + FOREIGN KEY (`Finger_ID_3`) + REFERENCES `ad_15a989204c2ff8a`.`fingerprint` (`Finger_ID`) + ON DELETE SET NULL + ON UPDATE CASCADE, + CONSTRAINT `Admin_Employee_ID` + FOREIGN KEY (`Admin_ID`) + REFERENCES `ad_15a989204c2ff8a`.`employee` (`Employee_ID`) + ON DELETE CASCADE + ON UPDATE CASCADE, + CONSTRAINT `Admin_Finger_ID` + FOREIGN KEY (`Finger_ID`) + REFERENCES `ad_15a989204c2ff8a`.`fingerprint` (`Finger_ID`) + ON DELETE SET NULL + ON UPDATE CASCADE) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `ad_15a989204c2ff8a`.`ticket` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ad_15a989204c2ff8a`.`ticket` ( + `Ticket_ID` INT(11) NOT NULL COMMENT 'Identification piece of a ticket.', + `Requestor` INT(11) NOT NULL COMMENT 'Whoever initiated the request. Will use their employee ID.', + `Request_Date` BIGINT(20) NULL DEFAULT NULL, + `Location` INT(11) NOT NULL COMMENT 'Where the device is begin requested to be shipped to.', + `Device_ID` INT(11) NOT NULL COMMENT 'The ID of the device corresponding to this ticket.', + `Status` VARCHAR(45) NOT NULL COMMENT 'Current status of the ticket.', + `Status_Date_Fields` BIGINT(20) NULL DEFAULT NULL, + `Return_Date` VARCHAR(10) NULL DEFAULT NULL, + PRIMARY KEY (`Ticket_ID`), + INDEX `Requestor_idx` (`Requestor` ASC), + INDEX `Ticket_Location_idx` (`Location` ASC), + INDEX `Ticket_Device_ID_idx` (`Device_ID` ASC), + CONSTRAINT `Ticket_Device_ID` + FOREIGN KEY (`Device_ID`) + REFERENCES `ad_15a989204c2ff8a`.`devices` (`Device_ID`) + ON DELETE CASCADE + ON UPDATE CASCADE, + CONSTRAINT `Ticket_Location` + FOREIGN KEY (`Location`) + REFERENCES `ad_15a989204c2ff8a`.`location` (`Location_ID`) + ON DELETE CASCADE + ON UPDATE CASCADE, + CONSTRAINT `Ticket_Requestor` + FOREIGN KEY (`Requestor`) + REFERENCES `ad_15a989204c2ff8a`.`employee` (`Employee_ID`) + ON DELETE CASCADE + ON UPDATE CASCADE) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `ad_15a989204c2ff8a`.`devices` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ad_15a989204c2ff8a`.`devices` ( + `Device_ID` INT(11) NOT NULL COMMENT 'How devices will be individually identified. ', + `Device_Name` VARCHAR(45) NOT NULL COMMENT 'The actual display name of the device, given from Synchrony Financial.\n', + `Locker_Position` VARCHAR(45) NULL DEFAULT NULL, + `Manufacturer` VARCHAR(45) NOT NULL COMMENT 'The company that produced this product.', + `Hardware` VARCHAR(45) NOT NULL COMMENT 'Indicates general hardware. IE smartphone, tablet, etc.', + `Model` VARCHAR(45) NOT NULL COMMENT 'What model the device is, specifically. IE iPad Air 2, iPhone SE, etc.', + `Operating_System` VARCHAR(45) NULL DEFAULT NULL, + `Device_Description` VARCHAR(200) NULL DEFAULT NULL COMMENT 'A creative description for the device.\n\nLater this should be NN but we haven\'t had the chance to determine all descriptions we want.', + `Admin_Comments` VARCHAR(256) NULL DEFAULT NULL, + `MAC_Address` VARCHAR(45) NULL DEFAULT NULL COMMENT 'MAC Address of device.', + `Serial_Num` VARCHAR(45) NULL DEFAULT NULL COMMENT 'The serial number on the device. ', + `Ticket_ID` INT(11) NULL DEFAULT NULL COMMENT 'The ticket this device is currently ordered on. Can be null if not ordered out. Foreign key to the ticket table’s primary key.', + `Renter` INT(11) NULL DEFAULT NULL COMMENT 'Employee ID of whoever is renting out the device currently – can be null if nobody is renting it.', + `Location` INT(11) NOT NULL DEFAULT '1' COMMENT 'Storage if not rented, if rented the location COULD be different from the location listed under an employee’s records.\n\nIf missing, select location 5 - MISSING.', + `Status` VARCHAR(45) NOT NULL DEFAULT 'Available' COMMENT 'Describes the status of device. This may be available, rented, shipped, etc.', + `Borrow_Date` VARCHAR(10) NULL DEFAULT NULL COMMENT 'The date this device was borrowed.', + `Return_Date` VARCHAR(10) NULL DEFAULT NULL COMMENT 'The date the user says they will return the device by.', + `Creation_Date` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'The date that the device was added to the database for the first time.', + `NFC_ID` VARCHAR(32) NULL DEFAULT NULL COMMENT 'NFC ID used by Device Security Team for scanning device into locker.', + PRIMARY KEY (`Device_ID`), + INDEX `Device_Renter_idx` (`Renter` ASC), + INDEX `Device_Location_idx` (`Location` ASC), + INDEX `Device_Ticket_ID_idx` (`Ticket_ID` ASC), + INDEX `Device_Item_Num_idx` (`Ticket_ID` ASC), + CONSTRAINT `Device_Renter` + FOREIGN KEY (`Renter`) + REFERENCES `ad_15a989204c2ff8a`.`employee` (`Employee_ID`) + ON UPDATE CASCADE, + CONSTRAINT `Device_Ticket_ID` + FOREIGN KEY (`Ticket_ID`) + REFERENCES `ad_15a989204c2ff8a`.`ticket` (`Ticket_ID`) + ON DELETE SET NULL + ON UPDATE CASCADE) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8; + + +-- ----------------------------------------------------- +-- Table `ad_15a989204c2ff8a`.`log` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ad_15a989204c2ff8a`.`log` ( + `log_ID` INT(11) NOT NULL AUTO_INCREMENT, + `Employee_ID` INT(11) NOT NULL COMMENT 'Opens the door', + `AccessTime` DATETIME NOT NULL, + PRIMARY KEY (`log_ID`), + INDEX `Employee_ID_idx` (`Employee_ID` ASC), + CONSTRAINT `Employee_ID` + FOREIGN KEY (`Employee_ID`) + REFERENCES `ad_15a989204c2ff8a`.`employee` (`Employee_ID`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB +AUTO_INCREMENT = 62 +DEFAULT CHARACTER SET = utf8 +COMMENT = 'Track door openings'; + + +-- ----------------------------------------------------- +-- Table `ad_15a989204c2ff8a`.`sessions` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ad_15a989204c2ff8a`.`sessions` ( + `SessionID` INT(11) NOT NULL AUTO_INCREMENT, + `PersonID` INT(11) NULL DEFAULT NULL, + `AccessTime` DATETIME NULL DEFAULT NULL, + `NFCID` VARCHAR(16) NULL DEFAULT NULL, + PRIMARY KEY (`SessionID`), + INDEX `Sessions_PersonID_idx` (`PersonID` ASC), + CONSTRAINT `Sessions_PersonID` + FOREIGN KEY (`PersonID`) + REFERENCES `ad_15a989204c2ff8a`.`admin` (`Admin_ID`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB +AUTO_INCREMENT = 112 +DEFAULT CHARACTER SET = utf8 +COMMENT = 'For Device Security Team\nTracks movement of devices in/out of door'; + + +-- ----------------------------------------------------- +-- Table `ad_15a989204c2ff8a`.`waitlist` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ad_15a989204c2ff8a`.`waitlist` ( + `Waitlist_ID` INT(11) NOT NULL COMMENT 'The ID of a wait list item.', + `Ticket_ID` INT(11) NOT NULL, + PRIMARY KEY (`Waitlist_ID`), + INDEX `TICKET_ID_idx` (`Ticket_ID` ASC), + CONSTRAINT `Waitlist_Ticket_ID` + FOREIGN KEY (`Ticket_ID`) + REFERENCES `ad_15a989204c2ff8a`.`ticket` (`Ticket_ID`) + ON DELETE CASCADE + ON UPDATE CASCADE) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8; + + +SET SQL_MODE=@OLD_SQL_MODE; +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; +SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;