Skip to content
Snippets Groups Projects
Commit 48ae9e40 authored by wyl's avatar wyl
Browse files

update cmy

parent e9575327
No related branches found
No related tags found
No related merge requests found
package com.cardiff.client_project.controller.admin;
import com.cardiff.client_project.pojo.dto.HospitalDTO;
import com.cardiff.client_project.service.CommonAdminHospitalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/commonAdmin/hospital")
public class CommonAdminHospitalController {
@Autowired
private CommonAdminHospitalService commonAdminHospitalService;
@GetMapping("/all")
public List<HospitalDTO> getAllHospitals() {
return commonAdminHospitalService.getAllHospitals();
}
@PostMapping("/add")
public ResponseEntity<String> addHospital(@RequestBody HospitalDTO hospital) {
commonAdminHospitalService.addHospital(hospital);
return ResponseEntity.ok("Hospital added successfully!");
}
@PutMapping("/update")
public ResponseEntity<String> updateHospital(@RequestBody HospitalDTO hospital) {
commonAdminHospitalService.updateHospital(hospital);
return ResponseEntity.ok("Hospital updated successfully!");
}
@DeleteMapping("/delete/{id}")
public ResponseEntity<String> deleteHospital(@PathVariable int id) {
commonAdminHospitalService.deleteHospital(id);
return ResponseEntity.ok("Hospital deleted successfully!");
}
}
package com.cardiff.client_project.mapper;
import com.cardiff.client_project.pojo.dto.HospitalDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class CommonAdminHospitalMapper {
@Autowired
JdbcTemplate jdbcTemplate;
// 查询所有医院信息
public List<HospitalDTO> findAll() {
String sql = "SELECT * FROM hospital";
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(HospitalDTO.class));
}
// 添加医院信息
public int save(HospitalDTO hospital) {
String sql = "INSERT INTO hospital (name, location, phone, totalBeds, availableBeds, occupancyRate) VALUES (?, ?, ?, ?, ?, ?)";
return jdbcTemplate.update(sql, hospital.getName(), hospital.getLocation(), hospital.getPhone(), hospital.getTotalBeds(), hospital.getAvailableBeds(), hospital.getOccupancyRate());
}
// 更新医院信息
public int update(HospitalDTO hospital) {
String sql = "UPDATE hospital SET name=?, location=?, phone=?, totalBeds=?, availableBeds=?, occupancyRate=? WHERE id=?";
return jdbcTemplate.update(sql, hospital.getName(), hospital.getLocation(), hospital.getPhone(), hospital.getTotalBeds(), hospital.getAvailableBeds(), hospital.getOccupancyRate(), hospital.getId());
}
// 根据 ID 删除医院信息
public int deleteById(int id) {
String sql = "DELETE FROM hospital WHERE id=?";
return jdbcTemplate.update(sql, id);
}
}
package com.cardiff.client_project.service;
import com.cardiff.client_project.pojo.dto.HospitalDTO;
import java.util.List;
public interface CommonAdminHospitalService {
List<HospitalDTO> getAllHospitals();
void addHospital(HospitalDTO hospital);
void updateHospital(HospitalDTO hospital);
void deleteHospital(int id);
}
package com.cardiff.client_project.service.imp;
import com.cardiff.client_project.pojo.dto.HospitalDTO;
import com.cardiff.client_project.service.CommonAdminHospitalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class CommonAdminHospitalServiceImp implements CommonAdminHospitalService {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public List<HospitalDTO> getAllHospitals() {
String sql = "SELECT * FROM hospital";
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(HospitalDTO.class));
}
@Override
public void addHospital(HospitalDTO hospital) {
String sql = "INSERT INTO hospital (name, location, phone, totalBeds, availableBeds, occupancyRate) VALUES (?, ?, ?, ?, ?, ?)";
jdbcTemplate.update(sql, hospital.getName(), hospital.getLocation(), hospital.getPhone(),
hospital.getTotalBeds(), hospital.getAvailableBeds(), hospital.getOccupancyRate());
}
@Override
public void updateHospital(HospitalDTO hospital) {
String sql = "UPDATE hospital SET name=?, location=?, phone=?, totalBeds=?, availableBeds=?, occupancyRate=? WHERE id=?";
jdbcTemplate.update(sql, hospital.getName(), hospital.getLocation(), hospital.getPhone(),
hospital.getTotalBeds(), hospital.getAvailableBeds(), hospital.getOccupancyRate(), hospital.getId());
}
@Override
public void deleteHospital(int id) {
String sql = "DELETE FROM hospital WHERE id=?";
jdbcTemplate.update(sql, id);
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Hospital Management</title>
<link rel="stylesheet" type="text/css" href="../css/admin.css">
</head>
<body>
<!-- Left Sidebar Navigation -->
<nav class="sidebar">
<div class="text-lg font-semibold">System</div>
<a href="#" data-content="hospital">Hospital</a>
<a href="#" data-content="patient">Nursing staff</a>
<a href="#" data-content="logout">LogOut</a>
</nav>
<!-- Main Content Area -->
<div class="content">
<div id="dynamic-content">
<h1>Welcome to the Management System</h1>
<p>Select an option from the sidebar to get started.</p>
</div>
</div>
<!-- Modal for Adding Hospital -->
<div id="modal">
<div class="modal-content">
<h2>Add New Hospital</h2>
<div>
<label for="modal-name">Name</label>
<input type="text" id="modal-name" />
</div>
<div>
<label for="modal-location">Location</label>
<input type="text" id="modal-location" />
</div>
<div>
<label for="modal-phone">Phone</label>
<input type="text" id="modal-phone" />
</div>
<div>
<label for="modal-totalBeds">Total Beds</label>
<input type="number" id="modal-totalBeds" />
</div>
<div>
<label for="modal-availableBeds">Available Beds</label>
<input type="number" id="modal-availableBeds" />
</div>
<div class="modal-footer">
<button id="modal-save">Save</button>
<button id="modal-close">Close</button>
</div>
</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function () {
const dynamicContent = document.getElementById("dynamic-content");
const modal = document.getElementById("modal");
const modalClose = document.getElementById("modal-close");
const modalSave = document.getElementById("modal-save");
// Fetch hospital data
function loadHospitals(filters = {}) {
const query = new URLSearchParams(filters).toString();
fetch(`/commonAdmin/hospital/all?${query}`)
.then(response => response.json())
.then(data => {
const tableBody = document.getElementById("table-body");
tableBody.innerHTML = "";
data.forEach(hospital => {
const row = document.createElement("tr");
row.innerHTML = `
<td>${hospital.id}</td>
<td>${hospital.name}</td>
<td>${hospital.location}</td>
<td>${hospital.phone}</td>
<td>${hospital.totalBeds}</td>
<td>${hospital.availableBeds}</td>
`;
tableBody.appendChild(row);
});
})
.catch(error => console.error('Error loading hospitals:', error));
}
// Open modal
function openModal() {
modal.style.display = "block";
}
// Close modal
modalClose.addEventListener("click", () => {
modal.style.display = "none";
});
// Save new hospital
modalSave.addEventListener("click", () => {
const name = document.getElementById("modal-name").value;
const location = document.getElementById("modal-location").value;
const phone = document.getElementById("modal-phone").value;
const totalBeds = document.getElementById("modal-totalBeds").value;
const availableBeds = document.getElementById("modal-availableBeds").value;
const newHospital = { name, location, phone, totalBeds, availableBeds };
fetch('/commonAdmin/hospital/add', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(newHospital)
})
.then(response => response.json())
.then(() => {
loadHospitals(); // Reload hospital list
modal.style.display = "none"; // Close modal
})
.catch(error => console.error('Error saving hospital:', error));
});
// Load hospital interface
function loadHospitalInterface() {
dynamicContent.innerHTML = `
<div id="toolbar">
<label for="searchName">Name</label>
<input type="text" class="searchBox" id="searchName" placeholder="type name..." />
<label for="searchLocation">Location</label>
<input type="text" class="searchBox" id="searchLocation" placeholder="type location..." />
<button id="searchButton">Search</button>
</div>
<div class="table-container">
<button id="add-btn" class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Add</button>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Location</th>
<th>Phone</th>
<th>Total Beds</th>
<th>Available Beds</th>
</tr>
</thead>
<tbody id="table-body">
<!-- Table content will be dynamically inserted -->
</tbody>
</table>
</div>
`;
// Add hospital button event
document.getElementById("add-btn").addEventListener("click", openModal);
// Search button event
document.getElementById("searchButton").addEventListener("click", () => {
const filters = {
name: document.getElementById("searchName").value,
location: document.getElementById("searchLocation").value
};
loadHospitals(filters);
});
// Load hospital data initially
loadHospitals();
}
// Sidebar navigation
document.querySelectorAll(".sidebar a").forEach(link => {
link.addEventListener("click", function (event) {
event.preventDefault();
const contentKey = this.getAttribute("data-content");
if (contentKey === "hospital") {
loadHospitalInterface();
}
});
});
});
</script>
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment