项目介绍
前台:
1.家属信息的增删改查。
2.预约健康检查。
3.在线评价。
4.对老人健康体检信息查看。
5.老人各项费用浏览和总体价格,价格Excel导出,拥有支付方式。
6.老人住宿楼层、房屋、床铺信息浏览。
7.老人出入记录、离院记录。
用户角色上包括管理员、护工和患者家属。管理员管理养老院整体情况,包括家属管理、护工管理、老人管理、房间管理、房间预定管理、退房管理、健康体检管理、体检预约管理、体检结果管理、预约提醒管理、饮食管理、健康管理、事故管理、服药管理、请假管理、费用管理、评价管理。
然后老人家属登录后查询房间信息、健康体检、公告信息、留言板、预约体检、在线请假、费用管理。
护工登录后,具有老人信息查看、饮食记录、健康信息管理、事故管理、服药信息管理的权限。设计养老院管理的功能和阳光养老院管理系统的数据库,对阳光养老院管理系统进行编码,最后进行测试。阳光养老院管理系统包括家属管理、护工管理、老人管理、房间管理、房间预定管理、退房管理、健康体检管理、体检预约管理、体检结果管理、预约提醒管理、饮食管理、健康管理、事故管理、服药管理、请假管理、费用管理、评价管理。
后台:
- 管理员:管理员自己信息增删改查。
2.老人档案管理:从老人入住到退房离开的全面信息管理,包含老人和家属关系信息和对老人饮食记录管理以及外出情况详细信息管理。
3.家属管理:家属信息的增删改查,对老人生活健康费用等信息查看和访问老人权限。
4.护工信息管理:护工信息增删改查,一个护工可以护理多个老人。
5.健康管理:健康预约提醒,评价意见和反馈功能,查询检查记录,包含病历档案和药品管理信息。
6房间管理:房间使用情况,入住人数等信息。
7.入住管理:床位信息和床位分配,具体关于老人床铺位置、楼层、楼房资料等信息。统计表:每月老人入住数量(折线图)。
8.安全管理:接待管理和事故管理,接待管理:分别包括来访登记、老人位置信息查询、房间查询(查询对象仅限老人登记家属)和以往老人事故具体信息的记录。
9.费用管理:关于老人入住、护理等费用及收费公示,价目表显示,Excel导入和导出,拥有支付方式。
具体实现截图





技术栈
本javaweb+maven项目采用的数据库是Mysql,使用Springboot框架开发,十分方便,也具有跨平台的优势,在IntelliJ IDEA的设计过程中,使用mybatis进行数据库持久化,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。主要牵扯到的程序,数据库与计算机技术等。覆盖知识面大.请大家给个关注收藏点赞.
本博主精通 SSM转springboot.springboot转成ssm框架,需要的可以联系我
Spring Boot 的三层架构指的是:
1.表示层:这一层通常由 Controller 组成,负责处理 HTTP 请求和向用户展示信息。
2.业务逻辑层:包含 Service 接口及其实现类(ServiceImpl),处理应用程序的核心业务逻辑。
3.数据访问层:由 Mapper 接口和 Mapper.xml 文件组成,负责与数据库交互,执行 CRUD操作。
开发工具:idea/eclipse、navicat for mysql
开发语言:java、jdk1.8、mysql
硬件环境:Win10系统、Google等。
主要技术:spring家族,springboot springmvc、mybatis、java等
框架:ssm/springoot都有
jdk版本:1.8 及以上
ide工具:IDEA 或者eclipse
数据库: mysql
编程语言: java
前端:layui+bootstrap+jsp
详细技术:HTML+CSS+JS+jsp+springmvc+mybatis+MYSQL+MAVEN+tomcat
操作可行性
Spring MVC属于Spring Frame Work的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1,Struts2等。。
MyBatis框架: MyBatis是一个支持普通sql查询,存储过程和高级映射的优秀持久层框架,Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的xml或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。。
开发核心技术:
Spring Boot也提供了大量的开箱即用的功能和插件,如Spring Data、Spring Security和Spring Cloud等。这些功能使得开发者可以更快速地构建应用程序,并且可以更容易地扩展和集成其他技术。它是一个非常流行的框架,它的自动配置、内置服务器和插件等功能使得开发者可以更快、更轻松地构建高质量的应用程序。
Mybatis简介:
Mybatis是基于Mysql的一个优秀的持久层框架,其几乎将所有连接Java语言需要配置的地方包括JDBC都封装起来,不在向JDBC那样繁琐,让开发人员专注于编写SQL语句,其内部页添加了许多自己的规则,以便让Spring框架与其无缝结合。
开发工具和技术
IntelliJ IDEA是java编程语言的集成环境,目前是业界公认的最好的开发工具,他拥有使用的自动导包、代码提示、一键重置等功能,并拥有全世界的程序员贡献的各种强大的插件,辅佐人们更好的开发,内部继承Maven管理、git工具等让开发变得更便捷。
后端技术
SpinrgBoot:为所有spring开发提供了一个更快、更广泛的入门体验;
Maven: 项目管理和构建自动化工具,用于java项目。
java: 广泛使用的编程语言,适用于构建跨平台应用。
Springmvc:从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架。
MyBatis: java持久层框架,支持定制化SQL、存储过程以及高级映射。
Spring: 开源的java平台,提供了全面的编程和配置模型。
详细视频演示
请联系我获取更详细的演示视频
核心代码部分展示
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UsersController{
@Autowired
private UsersService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().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 UsersEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UsersEntity>().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){
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().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,UsersEntity user){
EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
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( UsersEntity user){
EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UsersEntity 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");
UsersEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
详细视频演示
请联系我获取更详细的演示视频
源码获取方式
点击文章下方名片联系我即可~
953

被折叠的 条评论
为什么被折叠?



