项目介绍
医院管理系统,分为管理员、医生、病人三种角色;
管理员主要功能包括:
首页、系统管理:医生管理、患者管理、药品管理;预约管理;病史管理;住院信息管理;管理员用户管理;
医生主要功能包括:首页、就医/查看病史;
病人主要功能包括:首页、病史、住院信息、挂号;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7版本;
技术栈
-
后端:SpringBoot
-
前端:Layui+Freemaker
使用说明
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
-
使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令
- 将项目中application.yml配置文件中的数据库配置改为自己的配置,配置tomcat,然后运行;
- 运行项目,输入http://localhost:8088 登录
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
@RequestMapping(value = "/edit", method = RequestMethod.GET)
public String edit(Model model, @RequestParam(name = "id") Long id) {
model.addAttribute("doctor", doctorService.find(id));
model.addAttribute("departments", departmentService.findAllDepartment());
return "admin/doctor/edit";
}
/**
* 医生修改提交
* @param doctor
* @return
*/
@RequestMapping(value = "/edit", method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> edit(Doctor doctor) {
Doctor findDoctor = doctorService.find(doctor.getId());
List<Doctor> doctors = doctorService.findByDoctorDno(findDoctor.getDoctorDno());
if (doctors.size() > 1 || doctors.size() <= 0) {
return Result.error(CodeMsg.ADMIN_PATIENT_PNO_ERROR);
}
if (!StringUtil.isMobile(doctor.getUser().getMobile())) {
return Result.error(CodeMsg.ADMIN_PUBLIC_MOBILE);
}
Role role = roleService.find(Doctor.DOCTOR_ROLE_ID);
String dNo = StringUtil.generateSn(Doctor.PATIENT_ROLE_DNO);
int age = DateUtil.getAge(doctor.getUser().getBirthDay());
if (age < 0) {
return Result.error(CodeMsg.ADMIN_PUBLIC_AGE);
}
doctor.setDoctorDno(dNo);
doctor.getUser().setPassword(dNo);
doctor.getUser().setUsername(dNo);
doctor.getUser().setRole(role);
User user = doctor.getUser();
user.setAge(age);
User save = userService.save(user);
if (userService.save(user) == null) {
return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR);
}
operaterLogService.add("添加用户,用户名:" + user.getUsername());
doctor.setUser(save);
if (doctorService.save(doctor) == null) {
return Result.error(CodeMsg.ADMIN_DOCTOR_ADD_EXIST);
}
return Result.success(true);
}
@RequestMapping(value = "/exportDeptlist" , method = RequestMethod.POST)
@ResponseBody
public List<Dept> exportDept(){
List<Dept> depts = deptService.getAll();
return depts;
}
/**
* 部门人员信息查询
*/
@RequestMapping(value = "/findDeptPersonnel")
public String findClassStudent(Dept dept,Model model, HttpSession session) {
List<Dept> dep = deptService.findDeptPersonnel(dept);
model.addAttribute("dep",dep);
return "dept_Personnellist";
model.addAttribute("doctor", doctor);
return "admin/doctor/visitingStatus";
}
/**
* 提交修改个人出诊状态
* @param doctor
* @return
*/
@RequestMapping(value = "/updateStatus", method = RequestMethod.POST)
@ResponseBody
public Result<Boolean> editStatus(Doctor doctor) {
Doctor doc = doctorService.findByLoginDoctorUser();
if(Objects.isNull(doctor.getUser().getEmail())){
return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_EMAIL);
}
if(Objects.isNull(doctor.getUser().getMobile())){
return Result.error(CodeMsg.ADMIN_PUBLIC_NO_ISEXIST_MOBILE);
}
if (!StringUtil.isMobile(doctor.getUser().getMobile())) {
return Result.error(CodeMsg.ADMIN_PUBLIC_MOBILE);
}
*/
@PostMapping(value = "/getUserInfo")
public List<UserInfoVO> getUserInfo() {
return iUserService.getUserInfo();
}
@PostMapping(value = "/changeUserInfo")
public BaseResponse<String> changeUserInfo(@RequestBody @Validated UserInfoVO reqVO) {
return iUserService.changeUserInfo(reqVO);
}
@PostMapping(value = "/getAnnContent")
public AnnRspVO getAnnContent(@RequestParam String id) {
return iUserService.getAnnContent(id);
}
@PostMapping(value = "/addAnotherRole")
public BaseResponse<String> addAnotherRole(@RequestBody @Validated AccountRoleVO reqVO) {
return iUserService.addAnotherRole(reqVO);
}
/**
return iUserService.getAnnContent(id);
}
@PostMapping(value = "/addAnotherRole")
public BaseResponse<String> addAnotherRole(@RequestBody @Validated AccountRoleVO reqVO) {
return iUserService.addAnotherRole(reqVO);
}
/**
* 获取所有角色
* @param
* @return
*/
@PostMapping(value = "/getAllRole")
public List<GetAllRoleRspVO> getAllRole() {
return iUserService.getAllRole();
}
}
@Controller
public class DeptController {
@Autowired
private DeptService deptService;
/**
* 分页查询
*/
@RequestMapping("/findDept")
@RequestMapping(value = "/user")
@Api(tags = "用户管理API")
public class UserController {
@Autowired
private IUserService iUserService;
/**
* 登录验证
*
* @param reqVO
* @param model
* @return
*/
@RequestMapping(value = "/dologin", method = RequestMethod.POST)
public BaseResponse<String> doLogin(@RequestBody @Validated UserLoginReqVO reqVO, Model model) {
return iUserService.doLogin(reqVO);
}
/**
return Result.success(true);
}
}
用户管理控制层:
@RestController
@RequestMapping(value = "/user")
@Api(tags = "用户管理API")
public class UserController {
@Autowired
private IUserService iUserService;
/**
* 登录验证
*
* @param reqVO
* @param model
* @return
*/
@RequestMapping(value = "/dologin", method = RequestMethod.POST)
public BaseResponse<String> doLogin(@RequestBody @Validated UserLoginReqVO reqVO, Model model) {
return iUserService.doLogin(reqVO);
}
/**
* 保存用户注册信息,向用户发送激活链接
//设置可用床数
int total = room.getTotal();
room.setUsable(total);
if(Objects.isNull(room.getRoomNo())){
return Result.error(CodeMsg.ADMIN_ROOM_NO_ISEXIST);
}
if(roomService.isExistRoomNo(room.getRoomNo(),0L)){
return Result.error(CodeMsg.ADMIN_ROOM_EXIST);
}
//到这说明一切符合条件,进行数据库新增
if(roomService.save(room) == null){
return Result.error(CodeMsg.ADMIN_ROOM_ADD_ERROR);
}
/* //判断是否床位存在
if(bedService.find(room.getId())!=null){
return Result.error(CodeMsg.ADMIN_BED_EXIST);
}*/
//循环total向床位表添加相应床位
for (int i = 0 ;i<total ; i++ ){
Bed bed = new Bed();
public BaseResponse<String> changeUserInfo(@RequestBody @Validated UserInfoVO reqVO) {
return iUserService.changeUserInfo(reqVO);
}
@PostMapping(value = "/getAnnContent")
public AnnRspVO getAnnContent(@RequestParam String id) {
return iUserService.getAnnContent(id);
}
@PostMapping(value = "/addAnotherRole")
public BaseResponse<String> addAnotherRole(@RequestBody @Validated AccountRoleVO reqVO) {
return iUserService.addAnotherRole(reqVO);
}
/**
* 获取所有角色
* @param
* @return
*/
@PostMapping(value = "/getAllRole")
public List<GetAllRoleRspVO> getAllRole() {