项目介绍
21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。
论文主要是对医院医患管理系统进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统的设计目标进行了论述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都论述的比较细致,最后对医院医患管理系统进行了一些具体测试。
本文以Java为开发技术,实现了一个医院医患管理系统。医院医患管理系统的主要实现功能包括:管理员:首页、个人中心、用户管理、病史内容管理、检查及结果管理、评估诊断管理、建议和注意事项管理、挂号收费管理、财务管理、药房管理、管理员管理、留言板管理、系统管理,用户;首页、个人中心、用户管理、病史内容管理、检查及结果管理、评估诊断管理、建议和注意事项管理、挂号收费管理,前台首页;首页、建议和注意事项、轮播图管理、网站资讯、留言板管理、留言反馈、个人中心、后台管理功能,基本上实现了整个医院医患管理系统的过程。
具体在系统设计上,采用了B/S的结构,同时,也使用Java技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个非常优秀的医院医患管理系统。
开发环境
编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序ue/爬虫/c#/asp.net
系统实现
5系统界面实现
5.1 管理员登录
管理员输入个人的用户名、密码和角色登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的用户名、密码和角色不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的用户名、密码、角色,直到账号密码输入成功后,会提登录成功的信息。网站管理员登录效果图如图5-1所示:
图5-1管理员登录界面
5.2 管理员功能模块
5.2.1 用户管理
管理员对用户管理进行编辑填写账号、性别、姓名、科室、职称、年龄并进行详情、删除、修改等操作。程序成效图如下图5-2所示:
图5-2用户管理界面图
5.2.2 病史内容管理
管理员对病史内容管理进行编辑主诉、现病史、既往病史、过敏史等操作并可以进行详情、删除、修改操作。程序效果图如下图5-3所示:
图5-3病史内容管理界面
5.2.3 评估诊断管理
管理员对评估诊断管理进行编辑西医诊断、中医诊断等操作并可以进行详情、删除、修改操作。程序效果图如下图5-4所示:
图5-4评估诊断管理界面
5.2.4建议和注意事项管理
管理员对建议和注意事项管理进行填写检查建议、注意事项、处理意见、诊断结果等进行详情、删除、修改操作。程序效果图如下图5-5所示:
图5-5建议和注意事项管理界面
5.2.5挂号收费管理
管理员对挂号收费管理进行编辑账号、密码、现场挂号、日结、退号、收费、退费、患者费用明细等操作并可以进行详情、删除、修改操作。程序效果图如下图5-6所示:
图5-6挂号收费管理界面
5.2.6药房管理
管理员对药房管理进行编辑发药、退药等信息并可以进行详情、删除、修改操作。程序效果图如下图5-7所示:
图5-7药房管理界面
5.2.7留言板管理
管理员对留言板管理进行编辑用户名、留言内容、回复内容等信息并可以进行详情、删除、修改操作。程序效果图如下图5-8所示:
图5-8留言板管理界面
5.3 前台首页功能模块
前台首页详情页面:首页、建议和注意事项、轮播图管理、网站资讯、留言板管理、留言反馈、个人中心、后台管理等功能操作。程序效果图如下图5-9所示:
图5-9前台首页功能界面
5.3.1 用户登录、用户注册
用户在线填写账号、性别、姓名、科室、职称、年龄等信息进行注册、登录操作。程序效果图如下图5-10所示:
图5-10用户登录、用户注册界面
5.3.2留言反馈
用户进入留言反馈可以填写内容等信息,并可以进行提交操作。程序效果图如下图5-11所示:
图5-11留言反馈界面
5.3.3个人中心
用户进入个人中心可以填写账号、性别、姓名、科室、职称、年龄进行更新信息、退出登录操作。程序效果图如下图5-12所示:
图5-12个人中心界面
5.4 用户功能模块
5.4.1用户管理
用户进入用户管理可以查看账号、性别、姓名、科室、职称、年龄等操作。程序效果图如下图5-13所示:
图5-13用户管理界面
5.4.2病史内容管理
用户进入病史内容管理可以填写主诉、现病史、既往病史、过敏史并可以进行详情、删除等操作。程序效果图如下图5-14所示:
图5-14病史内容管理界面
5.4.3挂号收费管理
用户进入挂号收费管理可以填写账号、密码、现场挂号、日结、退号、收费、退费、患者费用明细并可以进行详情、删除等操作。程序效果图如下图5-15所示:
图5-15挂号收费管理界面
核心代码
package com.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.BingshineirongEntity;
import com.entity.view.BingshineirongView;
import com.service.BingshineirongService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 病史内容
* 后端接口
*/
@RestController
@RequestMapping("/bingshineirong")
public class BingshineirongController {
@Autowired
private BingshineirongService bingshineirongService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,BingshineirongEntity bingshineirong,
HttpServletRequest request){
EntityWrapper<BingshineirongEntity> ew = new EntityWrapper<BingshineirongEntity>();
PageUtils page = bingshineirongService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bingshineirong), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("st")
public R list(@RequestParam Map<String, Object> params,BingshineirongEntity bingshineirong, HttpServletRequest request){
EntityWrapper<BingshineirongEntity> ew = new EntityWrapper<BingshineirongEntity>();
PageUtils page = bingshineirongService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bingshineirong), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("sts")
public R list( BingshineirongEntity bingshineirong){
EntityWrapper<BingshineirongEntity> ew = new EntityWrapper<BingshineirongEntity>();
ew.allEq(MPUtil.allEQMapPre( bingshineirong, "bingshineirong"));
return R.ok().put("data", bingshineirongService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(BingshineirongEntity bingshineirong){
EntityWrapper< BingshineirongEntity> ew = new EntityWrapper< BingshineirongEntity>();
ew.allEq(MPUtil.allEQMapPre( bingshineirong, "bingshineirong"));
BingshineirongView bingshineirongView = bingshineirongService.selectView(ew);
return R.ok("查询病史内容成功").put("data", bingshineirongView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
BingshineirongEntity bingshineirong = bingshineirongService.selectById(id);
return R.ok().put("data", bingshineirong);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
BingshineirongEntity bingshineirong = bingshineirongService.selectById(id);
return R.ok().put("data", bingshineirong);
}
/**
* 后端保存
*/
@RequestMapping("ve")
public R save(@RequestBody BingshineirongEntity bingshineirong, HttpServletRequest request){
bingshineirong.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(bingshineirong);
bingshineirongService.insert(bingshineirong);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody BingshineirongEntity bingshineirong, HttpServletRequest request){
bingshineirong.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(bingshineirong);
bingshineirongService.insert(bingshineirong);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody BingshineirongEntity bingshineirong, HttpServletRequest request){
//ValidatorUtils.validateEntity(bingshineirong);
bingshineirongService.updateById(bingshineirong);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
bingshineirongService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<BingshineirongEntity> wrapper = new EntityWrapper<BingshineirongEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = bingshineirongService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
论文参考
目 录
1 概述 1
1.1课题背景及意义 1
1.2 国内外研究现状 1
1.3 本课题主要工作 2
2 系统开发环境 3
2.1 Java技术 3
2.2 Mysql数据库 3
2.3 B/S结构 4
2.4 SSM框架 4
3 系统分析 5
3.1 可行性分析 5
3.1.1 技术可行性 5
3.1.2操作可行性 5
3.1.3 经济可行性 5
3.1.4 法律可行性 6
3.2系统流程分析 6
3.2.1系统开发流程 6
3.2.2 用户登录流程 7
3.2.3 系统操作流程 7
3.2.4 添加信息流程 8
3.2.5 修改信息流程 9
3.2.6 删除信息流程 9
3.3系统用例分析 10
3.3.1管理员用例图 10
3.3.2用户用例图 11
4 系统设计 13
4.1 系统概述 13
4.2 系统结构设计 13
4.3数据库设计 14
4.3.1 数据库设计原则 14
4.3.2 数据库实体 14
4.3.3 数据库表设计 16
5系统界面实现 18
5.1 管理员登录 18
5.2 管理员功能模块 18
5.3 前台首页功能模块 22
5.4 用户功能模块 22
6系统测试 23
6.1系统测试的意义 23
6.2 测试方法 24
6.3测试分析 24
结 论 25
致 谢 26
参考文献 27