博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了1500+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
更多项目地址 介绍 翰文编程CSDN博客 翰文编程-CSDN博客
文末下方有源码获取地址
4.2 功能结构设计
图4.1即为设计的管理员功能结构,管理员权限操作的功能包括管理心里调护信息,管理日程安排信息,管理中药信息,管理出入库信息,管理中医诊断信息,管理中医食疗信息等。
图4.1 管理员功能结构
图4.2即为设计的医生功能结构,医生权限操作的功能包括审核老人的预约挂号信息,管理老人病例,管理中医诊断信息等。
图4.2 医生功能结构
图4.3即为设计的老人功能结构,老人权限操作的功能包括查看心里调护信息,查看日程安排信息,查看中医食疗信息,对医生预约挂号,查看病例等。
图4.3 老人功能结构
图4.4即为设计的员工功能结构,员工权限操作的功能包括管理来访登记信息,管理中药出入库信息,查看中医食疗信息,查看心里调护信息等。
图4.4 员工功能结构
图4.5即为设计的护理功能结构,护理权限操作的功能包括管理老人缴费信息,管理中医食疗信息,查看日程安排,查看老人信息,查看中医诊断信息,查看中药信息等。
图4.5 护理功能结构
4.3 数据库设计
养老服务平台运行中产生的数据需要按照提前设置的存储规则进行保存,设计出一个符合项目的最优数据存储格式,因为它能减少用户的等待时间,还可以对系统的请求在最短时间内进行响应。所以,对数据库设计时,需要对功能需求进行详细的拆分,以及对业务状态的细分,然后设计具体的存储规则,保证数据库能正常运作,缩短数据处理时间,并在一定程度上降低数据冗余,节省存储空间。
4.3.1 数据库概念设计
实体-联系图还有一个名称即E-R图,是Entity Relationship Diagram各英文单词首字母的缩写,它这种概念模型通常用于对现实世界进行描述。同时它还是一种能够直观表达数据中实体,联系,属性的有效手段。绘制E-R图能够选择的工具也有很多,但是Office Visio 这款软件在E-R图的绘制上一般都是作为首选工具,因为它是基于可视化处理,使用它创建E-R图非常简单。使用基本的E-R图构成元素,比如椭圆,菱形,矩形,还有实线段来表达对应的信息,椭圆代表属性,即实体的特征,矩形代表实体,即数据库中的一个具体数据表,菱形代表实体中相互关系,实线段主要是完成椭圆,矩形,菱形的连接。
(1)图4.4即为病例这个实体所拥有的属性值。
图4.4 病例实体属性图
(2)图4.5即为管理员这个实体所拥有的属性值。
图4.5 管理员实体属性图
(3)图4.6即为医生这个实体所拥有的属性值。
图4.6 医生实体属性图
- 图4.7即为老人这个实体所拥有的属性值。
图4.7 老人实体属性图
- 图4.8即为上面介绍的实体中存在的联系。
图4.8 实体间关系E-R图
4.3.2 数据库物理设计
本小节主要任务即是根据上述内容进行数据存储结构的设计,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,还不容易导致系统出错。接下来就对设计的表进行简单说明。
表4.1 病例表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
bingli_uuid_number |
病例编号 |
varchar(200) |
是 |
bingli_name |
病例名称 |
varchar(200) |
是 |
yonghu_id |
老人 |
int(11) |
是 |
bingli_bingqing |
病情 |
varchar(200) |
是 |
jianchaxiangmu |
检查项目 |
varchar(200) |
是 |
jianchajieguo |
检查结果 |
varchar(200) |
是 |
bingli_file |
药单 |
varchar(200) |
是 |
bingli_time |
日期 |
date |
是 |
yisheng_id |
医生 |
int(200) |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.2 护理表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
username |
账户 |
varchar(200) |
是 |
password |
密码 |
varchar(200) |
是 |
huli_name |
护理姓名 |
varchar(200) |
是 |
huli_photo |
头像 |
varchar(255) |
是 |
sex_types |
性别 |
int(11) |
是 |
huli_phone |
联系方式 |
varchar(200) |
是 |
huli_email |
邮箱 |
varchar(200) |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.3 缴费信息表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
yonghu_id |
老人 |
int(11) |
是 |
jiaofei_name |
缴费原因 |
varchar(200) |
是 |
jiaofei_time |
缴费时间 |
timestamp |
是 |
jiaofei_money |
缴费金额 |
decimal(10,2) |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.4 来访登记表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
yonghu_id |
老人 |
int(11) |
是 |
laifangdengji_name |
来访人名称 |
varchar(200) |
是 |
laifangdengji_time |
来访时间 |
timestamp |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.5 公告信息表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
news_name |
公告标题 |
varchar(200) |
是 |
news_types |
公告类型 |
int(11) |
是 |
news_photo |
公告图片 |
varchar(200) |
是 |
insert_time |
公告时间 |
timestamp |
是 |
news_content |
公告详情 |
text |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.6 日程安排表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
yonghu_id |
老人 |
int(11) |
是 |
richenganpai_name |
事情 |
varchar(200) |
是 |
richenganpai_time |
时间 |
timestamp |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.7 管理员表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
bigint(20) |
否 |
username |
用户名 |
varchar(100) |
否 |
password |
密码 |
varchar(100) |
否 |
role |
角色 |
varchar(100) |
是 |
addtime |
新增时间 |
timestamp |
否 |
表4.8 心里调护表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
xinlitiaohu_name |
标题 |
varchar(200) |
是 |
xinlitiaohu_types |
心里调护类型 |
int(11) |
是 |
xinlitiaohu_photo |
封面 |
varchar(200) |
是 |
xinlitiaohu_video |
视频 |
varchar(200) |
是 |
xinlitiaohu_content |
心里调护详情 |
text |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.9 医生表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
username |
账户 |
varchar(200) |
是 |
password |
密码 |
varchar(200) |
是 |
yisheng_uuid_number |
医生工号 |
varchar(200) |
否 |
yisheng_name |
医生姓名 |
varchar(200) |
是 |
sex_types |
性别 |
int(11) |
是 |
yisheng_phone |
手机号 |
varchar(200) |
是 |
keshi_types |
科室 |
int(200) |
是 |
yisheng_zhuanchang |
擅长领域 |
varchar(200) |
是 |
yisheng_zhicheng |
职称 |
varchar(200) |
是 |
yisheng_photo |
头像 |
varchar(200) |
是 |
yisheng_zuozhenshijian |
坐诊时间 |
varchar(200) |
是 |
yisheng_new_money |
挂号价格 |
decimal(10,2) |
否 |
yisheng_content |
个人介绍 |
text |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.10 老人表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
username |
账户 |
varchar(200) |
是 |
password |
密码 |
varchar(200) |
是 |
yonghu_name |
老人姓名 |
varchar(200) |
是 |
yonghu_photo |
头像 |
varchar(255) |
是 |
sex_types |
性别 |
int(11) |
是 |
yonghu_phone |
联系方式 |
varchar(200) |
是 |
yonghu_id_number |
老人身份证号 |
varchar(200) |
是 |
yonghu_kahao |
医保卡号 |
varchar(200) |
是 |
yonghu_email |
邮箱 |
varchar(200) |
是 |
yonghu_jiguan |
籍贯 |
varchar(200) |
是 |
yonghu_time |
入院日期 |
timestamp |
是 |
yonghu_delete |
假删 |
int(11) |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.11 员工表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
username |
账户 |
varchar(200) |
是 |
password |
密码 |
varchar(200) |
是 |
yuangong_name |
员工姓名 |
varchar(200) |
是 |
yuangong_photo |
头像 |
varchar(255) |
是 |
sex_types |
性别 |
int(11) |
是 |
yuangong_phone |
联系方式 |
varchar(200) |
是 |
yuangong_email |
邮箱 |
varchar(200) |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.12 预约挂号表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(20) |
否 |
yisheng_id |
预约医生 |
int(200) |
是 |
yuyueneirong_text |
预约内容 |
text |
是 |
yuyueneirong_time |
预约时间 |
timestamp |
是 |
yonghu_id |
老人 |
int(200) |
是 |
yuyueguahao_yesno_types |
审核 |
int(200) |
是 |
yuyueguahao_yesno_text |
审核回复 |
text |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.13 中药信息表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
zhongyao_name |
中药名称 |
varchar(200) |
是 |
zhongyao_new_money |
中药价格 |
decimal(10,2) |
是 |
zhongyao_kucun_number |
中药库存 |
int(11) |
是 |
zhongyao_danwei |
中药单位 |
int(11) |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.14 出入库表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
zhongyao_churu_inout_uuid_number |
出入库流水号 |
varchar(200) |
是 |
zhongyao_churu_inout_name |
出入库名称 |
varchar(200) |
是 |
zhongyao_churu_inout_types |
出入库类型 |
int(11) |
是 |
zhongyao_churu_inout_content |
备注 |
text |
是 |
insert_time |
添加时间 |
timestamp |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.15 出入库详情表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
zhongyao_churu_inout_id |
出入库 |
int(11) |
是 |
zhongyao_id |
中药 |
int(11) |
是 |
zhongyao_churu_inout_list_number |
操作数量 |
int(11) |
是 |
insert_time |
操作时间 |
timestamp |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.16 中医诊断表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
yonghu_id |
老人 |
int(11) |
是 |
yisheng_id |
医生 |
int(11) |
是 |
zhongyizhenduan_text |
症状 |
text |
是 |
zhongyizhenduan_huifu_text |
回复 |
text |
是 |
create_time |
创建时间 |
timestamp |
是 |
表4.17 中医食疗表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
zongyishiliao_name |
标题 |
varchar(200) |
是 |
zongyishiliao_types |
食疗类型 |
int(11) |
是 |
zongyishiliao_photo |
封面 |
varchar(200) |
是 |
zongyishiliao_content |
食疗详情 |
text |
是 |
create_time |
创建时间 |
timestamp |
是 |
编程人员在搭建的开发环境中,会让各种编程技术一起呈现出最终效果。本节就展示关键部分的页面效果。
5.1 管理员功能实现
5.1.1 日程安排管理
图5.1 即为编码实现的日程安排管理界面,管理员对日程安排信息进行更改,添加,删除,查询等操作。
图5.1 日程安排管理界面
5.1.2 心里调护管理
图5.2 即为编码实现的心里调护管理界面,管理员增删改查心里调护信息。心里调护信息包括视频,心里调护类型,心里调护标题等信息。
图5.2 心里调护管理界面
5.1.3 中药信息管理
图5.3 即为编码实现的中药信息管理界面,管理员增加中药信息,删除需要删除的中药信息,查询中药信息,更改中药信息等。
图5.3 中药信息管理界面
5.2 医生功能实现
5.2.1 病例管理
图5.4 即为编码实现的病例管理界面,医生为看病老人登记病例信息,对已有病例信息进行查询,可以在病例管理界面删除需要删除的病例信息等。
图5.4 病例管理界面
主要代码
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永不会进入");
else if("老人".equals(role))
params.put("yonghuId",request.getSession().getAttribute("userId"));
else if("员工".equals(role))
params.put("yuangongId",request.getSession().getAttribute("userId"));
else if("护理".equals(role))
params.put("huliId",request.getSession().getAttribute("userId"));
else if("医生".equals(role))
params.put("yishengId",request.getSession().getAttribute("userId"));
if(params.get("orderBy")==null || params.get("orderBy")==""){
params.put("orderBy","id");
}
PageUtils page = bingliService.queryPage(params);
//字典表数据转换
List<BingliView> list =(List<BingliView>)page.getList();
for(BingliView c:list){
//修改对应字典表字段
dictionaryService.dictionaryConvert(c, request);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
BingliEntity bingli = bingliService.selectById(id);
if(bingli !=null){
//entity转view
BingliView view = new BingliView();
BeanUtils.copyProperties( bingli , view );//把实体数据重构到view中
//级联表
YishengEntity yisheng = yishengService.selectById(bingli.getYishengId());
if(yisheng != null){
BeanUtils.copyProperties( yisheng , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYishengId(yisheng.getId());
}
//级联表
YonghuEntity yonghu = yonghuService.selectById(bingli.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
5.2.2 中医诊断管理
图5.5 即为编码实现的中医诊断管理界面,医生对中医诊断信息进行查询,更改,查看等操作。
图5.5 中医诊断管理界面
大家点赞、收藏、关注、评论啦 其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者