基于springboot的智慧养老院管理系统敬老院-JAVA.VUE【源码论文】

  博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐进主页热门专栏推荐订阅⭐ 订阅收藏起来,防止下次找不到
🔎千套Java / PHP / nod.js / asp.net/ Python等项目实战更新中~
🔎百套小程序APP项目实战更新中~

有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你参考意见,需要开题模板的可以私信留言告诉我

❤️文末获取源码联系❤️        ⚠️一定要先收藏⚠️

4 系统设计

4.1 系统体系结构

管理员管理用例图4-1所示。

图4-1 管理员管理用例图

登录管理用例图4-2所示。

图4-2 登录管理用例图

图4-3 家属用例图

图4-4 护工用例图

图4-5 管理员用例图

4.2 系统总功能结构设计

系统按照用户的实际需求开发而来,贴近生活。从管理员通过正确的账号的密码进入系统,可以使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。

系统整体模块设计:系统分为管理员和家属、护工三大角色,系统管理员有最大的权限,总体功能展示如图;

图4-6 系统总体功能图

4.3开发流程设计

系统开发流程的分析是一个至关重要的过程,它是指通过系统的设计开发目的初衷、面向使用用户的范围、系统运行和操作的安全性、各种问题的处理以及后台数据的分析能力等各个角度,来对智慧养老院管理系统进行设计、开发、搭建和调节,以保证该系统能够顺利的完成,达到预期的工作状态。上述每个环节、每个步骤一开始就要下足功夫,从各个方面、各个角度进行调查研究,进行大量的测试和评估,来保证智慧养老院管理系统的正常和该系统的后台数据库的完整性以及安全性,从而把控系统所包含信息的安全性、确保信息进入、出口顺利过渡。然后,对系统和数据进行操作和分析,根据每一步的执行步骤,完成信息的流程图制作过程。

系统的开发对管理模型和系统应用中的数据库进行了分类,创建代码,以及系统测试,如图4-7所显示。

图4-7开发系统流程图

4.4 数据库设计原则

学习程序设计,如果要了解数据库管理系统或者是根据需求而制定的系统接口,就必须创建一种数据库管理系统的模式,用来保存数据资料,这样当在应用编程过程中时候,就不需要再向操作系统页面上加载信息,进而增加了整个系统的工作效率。信息库管理系统中保存着许多数据,应该说是一个管理信息系统建设的中心和基础,而信息库管理系统也为管理信息系统建设提出了新增、删除、更改和搜索的操作功能,使管理信息系统建设能够迅速地查询所需要的数据,而不会直接从程序代码中查找。信息库管理系统通过将信息表的各个组成部分按照特定的方法准确地合并,排序和组成信息库管理系统。

通过对智慧养老院管理系统的主要功能信息进行规划并分为若干功能实体信息,本系统的主要功能实体E-R图如图4-8、图4-9、图4-10、图4-11。

4.5 数据表

把按照数据库理念建立的E-R图,转换为国际关系信息库。在关联数据库中,统计关联主要由统计表所构成,但是表的构成主要体现在表格的数文字段上。如下表所示。

表4-1:关于我们

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

4294967295

内容

picture1

longtext

4294967295

图片1

picture2

longtext

4294967295

图片2

picture3

longtext

4294967295

图片3

表4-2:留言板

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

留言人id

username

varchar

200

用户名

avatarurl

longtext

4294967295

头像

content

longtext

4294967295

留言内容

cpicture

longtext

4294967295

留言图片

reply

longtext

4294967295

回复内容

rpicture

longtext

4294967295

回复图片

表4-3:每月餐饮

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

riqi

date

日期

caiyaoxiangqing

longtext

4294967295

菜肴详情

qita

longtext

4294967295

其他

jiashuzhanghao

varchar

200

家属账号

jiashuxingming

varchar

200

家属姓名

laorenxingming

varchar

200

老人姓名

beizhu

varchar

200

备注

hugonggonghao

varchar

200

护工工号

hugongxingming

varchar

200

护工姓名

feiyong

float

费用

ispay

varchar

200

是否支付

未支付

表4-4:老人入住

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

ruzhubianhao

varchar

200

入住编号

fangjianhao

varchar

200

房间号

loufangmingcheng

varchar

200

楼房名称

chuangweihao

varchar

200

床位号

laorenxingming

varchar

200

老人姓名

laorenzhaopian

longtext

4294967295

老人照片

laorenxingbie

varchar

200

老人性别

laorennianling

varchar

200

老人年龄

jiashuzhanghao

varchar

200

家属账号

jiashuxingming

varchar

200

家属姓名

jiashushouji

varchar

200

家属手机

guanxi

varchar

200

关系

hugonggonghao

varchar

200

护工工号

hugongxingming

varchar

200

护工姓名

hulijibie

varchar

200

护理级别

ruzhushijian

date

入住时间

tuifangzhuangtai

varchar

200

退房状态

ruzhufeiyong

float

入住费用

hulifeiyong

float

护理费用

ispay

varchar

200

是否支付

未支付

表4-5:药品信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yaopinbianhao

varchar

200

药品编号

yaopinmingcheng

varchar

200

药品名称

jixing

varchar

200

剂型

picihao

varchar

200

批次号

shengchanriqi

date

生产日期

yaopinshuoming

longtext

4294967295

药品说明

shengchandanwei

varchar

200

生产单位

yaopintupian

longtext

4294967295

药品图片

yaopinjiage

float

药品价格

表4-6:家属

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jiashuzhanghao

varchar

200

家属账号

mima

varchar

200

密码

jiashuxingming

varchar

200

家属姓名

xingbie

varchar

200

性别

jiashushouji

varchar

200

家属手机

shenfenzheng

varchar

200

身份证

jiatingzhuzhi

varchar

200

家庭住址

touxiang

longtext

4294967295

头像

表4-7:外出报备

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jiashuzhanghao

varchar

200

家属账号

laorenxingming

varchar

200

老人姓名

laorenzhaopian

longtext

4294967295

老人照片

hugonggonghao

varchar

200

护工工号

hugongxingming

varchar

200

护工姓名

waichudidian

varchar

200

外出地点

waichushijian

datetime

外出时间

huilaishijian

datetime

回来时间

表4-8:护工

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

hugonggonghao

varchar

200

护工工号

mima

varchar

200

密码

hugongxingming

varchar

200

护工姓名

xingbie

varchar

200

性别

hugongzhaopian

longtext

4294967295

护工照片

nianling

int

年龄

hugongdianhua

varchar

200

护工电话

minzu

varchar

200

民族

xueli

varchar

200

学历

hunfou

varchar

200

婚否

hulijibie

varchar

200

护理级别

表4-9:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-10:访客记录

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

fangjianhao

varchar

200

房间号

ruzhubianhao

varchar

200

入住编号

loufangmingcheng

varchar

200

楼房名称

laorenxingming

varchar

200

老人姓名

jiashuzhanghao

varchar

200

家属账号

jiashuxingming

varchar

200

家属姓名

hugonggonghao

varchar

200

护工工号

hugongxingming

varchar

200

护工姓名

fangkexingming

varchar

200

访客姓名

lianxifangshi

varchar

200

联系方式

fangwenshijian

datetime

访问时间

表4-11:退房登记

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

fangjianhao

varchar

200

房间号

loufangmingcheng

varchar

200

楼房名称

chuangweihao

varchar

200

床位号

ruzhubianhao

varchar

200

入住编号

laorenxingming

varchar

200

老人姓名

laorenzhaopian

longtext

4294967295

老人照片

jiashuzhanghao

varchar

200

家属账号

jiashuxingming

varchar

200

家属姓名

hugonggonghao

varchar

200

护工工号

hugongxingming

varchar

200

护工姓名

ruzhushijian

varchar

200

入住时间

tuifangshijian

date

退房时间

tuifangbeizhu

longtext

4294967295

退房备注

表4-12:房间资料

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

fangjianhao

varchar

200

房间号

loufangmingcheng

varchar

200

楼房名称

fangjianmianji

varchar

200

房间面积

fangjiansheshi

longtext

4294967295

房间设施

fangjiantupian

longtext

4294967295

房间图片

表4-13:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表4-14:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表4-15:关于我们

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

4294967295

内容

picture1

longtext

4294967295

图片1

picture2

longtext

4294967295

图片2

picture3

longtext

4294967295

图片3

表4-16:事故记录

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shigumingcheng

varchar

200

事故名称

shigudidian

varchar

200

事故地点

shiguyuanyin

varchar

200

事故原因

yanzhongxing

varchar

200

严重性

shigushijian

datetime

事故时间

表4-17:床位

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

fangjianhao

varchar

200

房间号

loufangmingcheng

varchar

200

楼房名称

chuangweihao

varchar

200

床位号

chuangweizhuangtai

varchar

200

床位状态

表4-18:入院指南

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

biaoti

varchar

200

标题

fengmiantupian

longtext

4294967295

封面图片

fabushijian

date

发布时间

zhuyishixiang

varchar

200

注意事项

faburen

varchar

200

发布人

neirong

longtext

4294967295

内容

表4-19:病历档案

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

laorenxingming

varchar

200

老人姓名

yaowuguominshi

longtext

4294967295

药物过敏史

jiazuyichuanshi

longtext

4294967295

家族遗传史

shentiqingkuang

longtext

4294967295

身体情况

hugonggonghao

varchar

200

护工工号

hugongxingming

varchar

200

护工姓名

tianjiashijian

date

添加时间

xianbingshi

longtext

4294967295

现病史

jiwangshi

longtext

4294967295

既往史

jiazushi

longtext

4294967295

家族史

jiashuzhanghao

varchar

200

家属账号

jiashuxingming

varchar

200

家属姓名

表4-20:系统公告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

5 系统详细设计

5.1前台系统模块实现

当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到智慧养老院管理系统的导航条显示首页、健身器材、租赁公告、后台管理、在线客服、个人中心等,系统首页界面如图5-1所示:

图5-1 系统首页界面

当用户进入系统进行相关操作前必须进行注册、登录,用户注册、用户登录界面如图5-2所示:

图5-2 用户注册、用户登录界面

用户点击入院指南,在入院指南页面的输入栏中填写标题,进行查询,还可以查看标题、发布时间、注意事项、发布人、封面等信息,如图5-3所示:

图5-3入院指南页面

在个人中心页面可以更新个人详细信息等操作,如图5-4所示:

图5-4个人中心页面

5.2后台管理员模块实现

管理员登录,在登录页面正确输入用户名和密码、角色后,进入操作系统进行操作;如图5-5所示。                               

图5-5管理员登录界面

管理员进入系统主页面,主要功能包括对系统首页、个人中心、护工管理、家属管理、房间资料管理、床位管理、老人入住管理、外出报备管理、退房登记管理、每月餐饮管理、事故记录管理、访客记录管理、病历档案管理、入院指南管理、药品信息管理、管理员管理、留言板、系统管理等进行操作。管理员主页面如图5-6所示:

图5-6 管理员主界面

JAVA后端代码实现

package com.controller;
 
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
 
import javax.servlet.http.HttpServletRequest;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
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.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
 
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
 
/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;
 
	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }
 
	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }
 
    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
 
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }
 
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

源码获取

大家点赞、收藏、关注 ,让更多需要的同学看到

⭐进主页热门专栏推荐订阅⭐ 订阅收藏起来,防止下次找不到
🔎千套Java / PHP / nod.js / asp.net/ Python等项目实战更新中~
🔎百套小程序APP项目实战更新中~

👇下方有我的微信名片👇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值