一、项目技术栈
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 {@Autowiredprivate 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 {@Autowiredprivate 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")@ResponseBodypublic 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 {@Autowiredprivate DoctorService doctorService;@Autowiredprivate OrderService orderService;@Autowiredprivate PatientService patientService;/*** 登录数据验证*/@RequestMapping(value = "login", method = RequestMethod.POST)@ResponseBodypublic 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)@ResponseBodypublic 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