diff --git a/healthcare.sql b/healthcare.sql deleted file mode 100644 index 2b147906e0f17dbbc1ee93bfd34c929bc62747af..0000000000000000000000000000000000000000 --- a/healthcare.sql +++ /dev/null @@ -1,237 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server : wyl - Source Server Type : MySQL - Source Server Version : 80031 - Source Host : localhost:3306 - Source Schema : health_care - - Target Server Type : MySQL - Target Server Version : 80031 - File Encoding : 65001 - - Date: 09/12/2024 10:09:27 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for common_admin --- ---------------------------- -DROP TABLE IF EXISTS `common_admin`; -CREATE TABLE `common_admin` ( - `id` int NOT NULL AUTO_INCREMENT, - `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `roleId` int NULL DEFAULT NULL, - `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `status` int NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of common_admin --- ---------------------------- -INSERT INTO `common_admin` VALUES (1, '26497@qq.com', '$2a$10$5UzuKUxgR8H0RzLYrP.BUu8.76yKwMD4XkvJIu/xxB7AAHWfphFQm', 'commonAdmin', 1, '111', 'justnoww', 1); -INSERT INTO `common_admin` VALUES (2, '1234@qq.com', '$2a$10$iW/zeL9TLq55SHFaOfyfr.xFMvB4aD3CL2layeAlGC7CqZ9kcscA.', 'commonAdmin', 1, '123', 'BAa', 1); -INSERT INTO `common_admin` VALUES (3, '123cmy@qq.com', '$2a$10$u2KxNBaHuTVwX7KudUgyNelp8j2lymarXKkkUXfWBMRAgbPNryTuW', 'commonAdmin', 1, '123', 'cmy', 1); - --- ---------------------------- --- Table structure for device --- ---------------------------- -DROP TABLE IF EXISTS `device`; -CREATE TABLE `device` ( - `id` int NOT NULL AUTO_INCREMENT, - `hospitalId` int NULL DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `freeTime` datetime NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of device --- ---------------------------- -INSERT INTO `device` VALUES (1, 0, 'bed1', 'bed', '2024-12-02 09:51:12'); -INSERT INTO `device` VALUES (2, 2, 'bed2', 'bed', '2024-12-03 09:30:00'); -INSERT INTO `device` VALUES (3, 2, 'bed3', 'bed', '2025-12-05 10:30:35'); -INSERT INTO `device` VALUES (4, 2, 'instrument1', 'instrument', '2024-12-05 07:15:59'); -INSERT INTO `device` VALUES (5, 2, 'instrument5', 'instrument', '2024-12-05 10:30:00'); - --- ---------------------------- --- Table structure for hospital --- ---------------------------- -DROP TABLE IF EXISTS `hospital`; -CREATE TABLE `hospital` ( - `id` int NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `amountPatient` int NULL DEFAULT NULL, - `maxAmount` int NULL DEFAULT NULL, - `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `status` int NULL DEFAULT NULL, - `roleId` int NULL DEFAULT NULL, - `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `patientId` int NULL DEFAULT NULL, - `deviceId` int NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of hospital --- ---------------------------- -INSERT INTO `hospital` VALUES (1, 'hospital0', 3, 100, 'hospital', 'road', '145267', 1, 3, 'agag', '$2a$10$wvAZoj4V51MH/MLhVIrnG.NrY07/.Gn9Ar6JsyzRAubWtqbWzgKie', 0, 0); -INSERT INTO `hospital` VALUES (2, 'hospital1', 5, 200, 'hospital', 'beijing', '6371', 1, 3, 'soga', '$2a$10$wvAZoj4V51MH/MLhVIrnG.NrY07/.Gn9Ar6JsyzRAubWtqbWzgKie', 0, 0); -INSERT INTO `hospital` VALUES (3, 'hospital2', 10, 50, 'hospital', 'cardiff', '123', 1, 3, 'hospital2@qq.com', '$2a$10$wvAZoj4V51MH/MLhVIrnG.NrY07/.Gn9Ar6JsyzRAubWtqbWzgKie', 0, 0); - --- ---------------------------- --- Table structure for hospital_device --- ---------------------------- -DROP TABLE IF EXISTS `hospital_device`; -CREATE TABLE `hospital_device` ( - `hospitalId` int NULL DEFAULT NULL, - `deviceId` int NULL DEFAULT NULL -) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of hospital_device --- ---------------------------- - --- ---------------------------- --- Table structure for nurse --- ---------------------------- -DROP TABLE IF EXISTS `nurse`; -CREATE TABLE `nurse` ( - `id` int NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `status` int NULL DEFAULT NULL, - `hospitalId` int NULL DEFAULT NULL, - `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `age` int NULL DEFAULT NULL, - `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of nurse --- ---------------------------- -INSERT INTO `nurse` VALUES (1, 'nn', 0, 2, 'nurse', 23, '111', '23453', 'Cardiff'); -INSERT INTO `nurse` VALUES (2, 'Li Xiaoming', 1, 2, 'nurse', 25, '222', '4399', 'Cardiff'); -INSERT INTO `nurse` VALUES (3, 'Sun Hao', 1, 0, 'nurse', 24, '123', '23576', 'Bute'); -INSERT INTO `nurse` VALUES (4, 'Wang Xiaoming', 0, 2, 'nurse', 26, '333', '34578', 'Cardiff'); -INSERT INTO `nurse` VALUES (5, 'Tian Hao', 0, 2, 'nurse', 30, '321', '24353', 'Cardiff'); - --- ---------------------------- --- Table structure for patient --- ---------------------------- -DROP TABLE IF EXISTS `patient`; -CREATE TABLE `patient` ( - `id` int NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `roleId` int NULL DEFAULT NULL, - `status` int NULL DEFAULT NULL, - `hospitalId` int NULL DEFAULT NULL, - `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `age` int NULL DEFAULT NULL, - `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of patient --- ---------------------------- -INSERT INTO `patient` VALUES (1, 'Li Ming', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 1, 0, 'patient', 20, '135', 'wwgwg@outlook.com'); -INSERT INTO `patient` VALUES (2, 'Li Hua', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 0, 0, 'patient', 21, '166', 'ss@qq.com'); -INSERT INTO `patient` VALUES (3, 'Huang Li', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 0, 0, 'patient', 13, '111', '22@qq.com'); -INSERT INTO `patient` VALUES (4, 'Xia Ming', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 1, 2, 'patient', 61, '15', '131@qq.com'); -INSERT INTO `patient` VALUES (5, 'Xia Yu', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 1, 2, 'patient', 33, '14315', 'xx@qq.com'); - --- ---------------------------- --- Table structure for patient_hospital --- ---------------------------- -DROP TABLE IF EXISTS `patient_hospital`; -CREATE TABLE `patient_hospital` ( - `hosptialId` int NULL DEFAULT NULL, - `patientId` int NULL DEFAULT NULL -) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of patient_hospital --- ---------------------------- - --- ---------------------------- --- Table structure for role --- ---------------------------- -DROP TABLE IF EXISTS `role`; -CREATE TABLE `role` ( - `roleId` int NULL DEFAULT NULL, - `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL -) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of role --- ---------------------------- -INSERT INTO `role` VALUES (0, 'SUPER'); -INSERT INTO `role` VALUES (1, 'ADMIN'); -INSERT INTO `role` VALUES (2, 'PATIENT'); -INSERT INTO `role` VALUES (3, 'HOSPITAL'); - --- ---------------------------- --- Table structure for super_admin --- ---------------------------- -DROP TABLE IF EXISTS `super_admin`; -CREATE TABLE `super_admin` ( - `id` int NOT NULL AUTO_INCREMENT, - `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, - `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, - `roleId` int NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of super_admin --- ---------------------------- -INSERT INTO `super_admin` VALUES (1, '2649783657@qq.com', '$2a$10$5UzuKUxgR8H0RzLYrP.BUu8.76yKwMD4XkvJIu/xxB7AAHWfphFQm', 0); - --- ---------------------------- --- Procedure structure for reset_primary_keys --- ---------------------------- -DROP PROCEDURE IF EXISTS `reset_primary_keys`; -delimiter ;; -CREATE PROCEDURE `reset_primary_keys`() -BEGIN - DECLARE done INT DEFAULT 0; - DECLARE current_id INT DEFAULT 0; - DECLARE cur CURSOR FOR - SELECT id FROM common_admin ORDER BY id; - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - - OPEN cur; - - -- 釿–°æ›´æ–°æ¯ä¸€æ¡è®°å½•çš„ ID - read_loop: LOOP - FETCH cur INTO current_id; - IF done THEN - LEAVE read_loop; - END IF; - - -- æ ¹æ®æ–°çš„æŽ’åºä¿®æ”¹ ID - UPDATE common_admin SET id = current_id - 1 WHERE id = current_id; - END LOOP; - - CLOSE cur; -END -;; -delimiter ; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/src/main/resources/static/js/beds.js b/src/main/resources/static/js/beds.js index 7f59480602d114e21d03ef95d4c52f48fa41d7e8..8b9d18e248411e43c5e8f473c4055fd4f78c8c4f 100644 --- a/src/main/resources/static/js/beds.js +++ b/src/main/resources/static/js/beds.js @@ -95,7 +95,47 @@ $(document).ready(function () { }); // Form Submit Handler - $("#hospitalForm").submit(handleFormSubmit); + $("#hospitalForm").submit(function(e) { + e.preventDefault(); + const formData = { + name: $("#hospitalName").val(), + location: $("#hospitalLocation").val(), + address: $("#hospitalLocation").val(), // Match DB schema + phone: $("#hospitalPhone").val(), + totalBeds: parseInt($("#totalBeds").val()), + availableBeds: parseInt($("#availableBeds").val()), + type: 'hospital', + status: 1, + roleId: 3, + email: '', + password: '$2a$10$wvAZoj4V51MH/MLhVIrnG.NrY07/.Gn9Ar6JsyzRAubWtqbWzgKie' + }; + + if (!validateFormData(formData)) { + showError('Please fill all required fields'); + return; + } + + $.ajax({ + url: API_BASE_URL, + method: 'POST', + contentType: 'application/json', + data: JSON.stringify(formData), + success: function(response) { + if(response && response.code === 1) { + $("#hospitalModal").fadeOut(); + loadHospitals(); + showSuccess('Hospital added successfully'); + } else { + showError(response.msg || DEFAULT_ERROR); + } + }, + error: function(xhr, status, error) { + console.error('API Error:', error); + showError(DEFAULT_ERROR); + } + }); + }); // Delete Handler $(document).on('click', '.delete-btn', function() { @@ -105,15 +145,16 @@ $(document).ready(function () { url: `${API_BASE_URL}/${id}`, method: 'DELETE', success: function(response) { - if(response.code === 200) { + if(response && response.code === 1) { loadHospitals(); + showSuccess('Hospital deleted successfully'); } else { - alert(response.msg || 'Delete failed'); + showError(response.msg || 'Delete failed'); } }, error: function(xhr) { - alert('Delete failed'); console.error('Delete Error:', xhr); + showError('Failed to delete hospital'); } }); } @@ -191,6 +232,27 @@ $(document).ready(function () { $('#hospitalTable tbody').html(`<tr><td colspan="8" class="text-center text-danger">${message}</td></tr>`); } + function validateFormData(data) { + return data.name && + data.location && + data.phone && + data.totalBeds > 0 && + data.availableBeds >= 0 && + data.availableBeds <= data.totalBeds; + } + + function showSuccess(message) { + const alert = ` + <div class="alert alert-success"> + ${message} + </div> + `; + $('.table-container').before(alert); + setTimeout(() => { + $('.alert').fadeOut().remove(); + }, 3000); + } + // Add CSS for new components const styles = ` .top-nav { @@ -273,5 +335,5 @@ $(document).ready(function () { function handleSignOut() { localStorage.clear(); - window.location.href = '/login'; + window.location.href = '/login.html'; }