一、项目技术栈
Java开发工具:JDK1.8
后端框架:SpringBoot
前端:Vue开发
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是
二、功能介绍
(1)管理员:可对医生信息,患者信息,挂号信息,药物信息,检查项目信息进行增删改查操作,可根据日期对医生进行排班操作,同时还可以查看数据的统计信息。
(2)患者:可以预约当天以及往后七天的挂号,可以自助缴费,完成治疗后可浏览并打印病情报告单,同时也可对就诊医生进行评分。
医生:根据患者的挂号,可以诊断病因并开处方药以及检查项目,同时还有追加诊断功能,可以根据病人的病情需要申请当天入院。
三、项目视频
基于SpinrgBoot+Vue的医院管理系统-026
四、功能截图
五、代码实现
排班信息
package com.rabbiter.hospital.controller;
import com.rabbiter.hospital.pojo.Arrange;
import com.rabbiter.hospital.service.ArrangeService;
import com.rabbiter.hospital.utils.ResponseData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
//源码需要+V:HadesTYT
@RestController
@RequestMapping("/arrange")
public class ArrangeController {
@Autowired
private ArrangeService arrangeService;
/**
* 根据日期查询排班信息
*/
@RequestMapping("findByTime")
public ResponseData findByTime(@RequestParam(value = "arTime") String arTime, @RequestParam(value = "dSection") String dSection) {
return ResponseData.success("根据日期查询排班信息成功", this.arrangeService.findByTime(arTime, dSection));
}
/**
* 增加排班信息
*/
@RequestMapping("addArrange")
public ResponseData addArrange(Arrange arrange){
if (this.arrangeService.addArrange(arrange))
return ResponseData.success("增加排班信息成功");
return ResponseData.fail("该医生该日已排班");
}
/**
* 删除排班信息
*/
@RequestMapping("deleteArrange")
public ResponseData deleteArrange(String arId){
if (this.arrangeService.deleteArrange(arId))
return ResponseData.success("删除排班信息成功");
return ResponseData.fail("排班信息不存在");
}
}
病房信息
package com.rabbiter.hospital.controller;
import com.rabbiter.hospital.pojo.Bed;
import com.rabbiter.hospital.service.BedService;
import com.rabbiter.hospital.utils.ResponseData;
import com.rabbiter.hospital.utils.TodayUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
//源码需要+V:HadesTYT
@RestController
@RequestMapping("bed")
public class BedController {
@Autowired
private BedService bedService;
/**
* 查找所有空床位
*/
@RequestMapping("findNullBed")
public ResponseData findNullBed(){
return ResponseData.success("查找所有空床位成功", this.bedService.findNullBed());
}
/**
* 增加床位信息
*/
@RequestMapping("updateBed")
public ResponseData updateBed(Bed bed) {
if (this.bedService.updateBed(bed))
return ResponseData.success("增加床位成功!");
return ResponseData.fail("增加床位失败!");
}
/**
* 根据pId查询住院
*/
@RequestMapping("findBedByPid")
public ResponseData findBedByPid(@RequestParam(value = "pId") int pId){
return ResponseData.success("根据pId查询住院成功", this.bedService.findBedByPid(pId)) ;
}
/**
* 分页模糊查询所有床位信息
*/
@RequestMapping("findAllBeds")
public ResponseData findAllBeds(int pageNumber, int size, String query){
return ResponseData.success("返回所有床位信息成功", this.bedService.findAllBeds(pageNumber, size, query));
}
/**
* 根据id查找床位
*/
@RequestMapping("findBed")
public ResponseData findBed(int bId){
return ResponseData.success("根据id查找床位成功", this.bedService.findBed(bId));
}
/**
* 增加床位信息
*/
@RequestMapping("addBed")
@ResponseBody
public ResponseData addBed(Bed bed) {
Boolean bo = this.bedService.addBed(bed);
if (bo) {
return ResponseData.success("增加床位信息成功");
}
return ResponseData.fail("增加床位信息失败!床号或已被占用");
}
/**
* 删除药物信息
*/
@RequestMapping("deleteBed")
public ResponseData deleteBed(@RequestParam(value = "bId") int bId) {
Boolean bo = this.bedService.deleteBed(bId);
if (bo){
return ResponseData.success("删除床位信息成功");
}
return ResponseData.fail("删除床位信息失败");
}
/**
* 清空床位信息
*/
@RequestMapping("emptyBed")
public ResponseData emptyBed(int bId){
if(this.bedService.emptyBed(bId))
return ResponseData.success("清空床位信息成功");
return ResponseData.fail("清空床位信息失败");
}
/**
* 统计今天挂号人数
*/
@RequestMapping("bedPeople")
public ResponseData bedPeople(){
String bStart = TodayUtil.getTodayYmd();
return ResponseData.success("统计今天住院人数成功", this.bedService.bedPeople(bStart));
}
}
医生信息
package com.rabbiter.hospital.controller;
import com.rabbiter.hospital.pojo.Doctor;
import com.rabbiter.hospital.service.DoctorService;
import com.rabbiter.hospital.service.OrderService;
import com.rabbiter.hospital.service.PatientService;
import com.rabbiter.hospital.utils.JwtUtil;
import com.rabbiter.hospital.utils.ResponseData;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
//源码需要+V:HadesTYT
@RestController
@RequestMapping("doctor")
public class DoctorController {
@Autowired
private DoctorService doctorService;
@Autowired
private OrderService orderService;
@Autowired
private PatientService patientService;
/**
* 登录数据验证
*/
@RequestMapping(value = "login", method = RequestMethod.POST)
@ResponseBody
public ResponseData login(@RequestParam(value = "dId") int dId, @RequestParam(value = "dPassword") String dPassword) {
Doctor doctor = this.doctorService.login(dId, dPassword);
if (doctor != null) {
Map<String,String> map = new HashMap<>();
map.put("dName", doctor.getdName());
map.put("dId", String.valueOf(doctor.getdId()));
String token = JwtUtil.getToken(map);
map.put("token", token);
//response.setHeader("token", token);
return ResponseData.success("登录成功", map);
} else {
return ResponseData.fail("登录失败,密码或账号错误");
}
}
/**
* 查看当天挂号列表
*/
@RequestMapping("findOrderByNull")
public ResponseData findOrderByNull(@Param(value = "dId") int dId, @RequestParam(value = "oStart") String oStart){
System.out.println("账号时间为"+dId+oStart);
return ResponseData.success("返回当天挂号信息成功", this.orderService.findOrderByNull(dId,oStart));
}
/**
* 根据患者id查询患者信息
*/
@RequestMapping("findPatientById")
public ResponseData findPatientById(int pId){
return ResponseData.success("返回患者信息成功!", this.patientService.findPatientById(pId));
}
/**
* 分页根据科室查询所有医生信息
*/
@RequestMapping("findDoctorBySectionPage")
public ResponseData findDoctorBySectionPage(int pageNumber, int size, String query, String arrangeDate, String dSection){
return ResponseData.success("分页根据科室查询所有医生信息成功", this.doctorService.findDoctorBySectionPage(pageNumber, size, query, arrangeDate, dSection));
}
/**
* 用户评价
*/
@RequestMapping("updateStar")
public ResponseData updateStar(int dId, Double dStar){
if(this.doctorService.updateStar(dId, dStar))
return ResponseData.success("评价成功");
return ResponseData.fail("评价失败");
}
/**
* 上传Excel导入数据
*/
@RequestMapping(value = "uploadExcel", method = RequestMethod.POST)
@ResponseBody
public ResponseData uploadExcel(@RequestParam("file") MultipartFile multipartFile) throws Exception {
if (this.doctorService.uploadExcel(multipartFile))
return ResponseData.success("上传Excel导入数据成功");
return ResponseData.fail("上传Excel导入数据失败");
}
/**
* Excel导出数据
*/
@RequestMapping("downloadExcel")
public ResponseData downloadExcel(HttpServletResponse response) throws IOException {
if (this.doctorService.downloadExcel(response))
return ResponseData.success("Excel导出数据成功");
return ResponseData.fail("Excel导出数据失败");
}
}
上万套源码,每日分享源码,谢谢你的关注和喜欢~
🛰️HadesTYT