基于JAVA的体检中心健康体检预约管理系统springboot.VUE--源码论文

  博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐️热门专栏推荐订阅⭐️ 订阅收藏起来,防止下次找不到

🔎千套JAVA实战项目持续更新中~

🔎上百套小程序实战项目持续更新中~

🔎上百套Python实战项目持续更新中
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你参考意见,需要开题模板的可以私信留言告诉我

⚠️文末联系方式获取完整资料⚠️

 

4  系统的设计

4.1 系统总功能模块设计

体检中心健康体检管理系统分三大部分,即管理员管理、体检医师管理和参检人员管理。系统按照用户的实际需求开发而来,贴近生活。从管理员出拿到分配好的账号密码可以进入系统,使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。

系统整体模块设计:系统分为管理员、体检医师和参检人员三大用户角色,系统管理员有最大的权限,整体功能展示如图4-1所示。

图4-1 系统整体功能图

4.2 系统数据库设计

4.2.1 数据库系统概要设计

从设计到制作研发一个系统,需要用到的技术很多,对于开发程序语言、数据库和框架布局都有严格的要求[5]。该系统数据存放使用MySql的数据库,该数据库轻便快速,日常使使用系统十分稳定,更容易维护运行[6]。

4.2.2 E-R模型结构设计

E-R图由实体与有关实体关联相结合构成的图,利用E-R图对清楚地表达出系统内的实体之间的关联。在系统中对一些主要的几个关键实体如下图。

(1) 体检套餐实体属性图如下图4-2所示。

图4-2体检套餐实体属性图

(2) 体检进程实体属性图如下图4-3所示。

图4-3体检进程实体属性图

(3) 公告信息实体属性图如下图4-4所示。

图4-4公告信息实体属性图

(4) 体检预约实体属性图如下图4-5所示。

图4-5体检预约实体属性图

4.3数据表设计

系统创建数据库和表之间关联,期间花费了不少时间,尽力把表格完善,更好的呈现出来,让表更加明了,更加清晰。系统在MySql的可视化软件Navicat premium创建的数据表,简洁明了的设计让数据库的创建操作更加快捷,数据表的详细情况如下表所示。

表4-1:体检套餐

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tijianxiangmu

varchar

200

体检项目

tijiandidian

varchar

200

体检地点

tijiandanwei

varchar

200

体检单位

taocanjiage

int

套餐价格

keyuerenshu

int

可约人数

tijianneirong

longtext

4294967295

体检内容

tijianliucheng

longtext

4294967295

体检流程

taocantupian

longtext

4294967295

套餐图片

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

clicktime

datetime

最近点击时间

表4-2:体检进程

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tijianxiangmu

varchar

200

体检项目

tijiandidian

varchar

200

体检地点

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

shoujihaoma

varchar

200

手机号码

tijianjieguo

longtext

4294967295

体检结果

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

表4-3:关于我们

字段名称

类型

长度

字段说明

主键

默认值

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-4:公告信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

表4-5:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表4-6:参检人员

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

mima

varchar

200

密码

xingbie

varchar

200

性别

touxiang

longtext

4294967295

头像

shoujihaoma

varchar

200

手机号码

youxiang

varchar

200

邮箱

表4-7:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-8: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-9:体检预约

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tijianxiangmu

varchar

200

体检项目

taocantupian

longtext

4294967295

套餐图片

tijianneirong

longtext

4294967295

体检内容

tijiandanwei

varchar

200

体检单位

taocanjiage

float

套餐价格

keyuerenshu

int

可约人数

zongjine

float

总金额

tijiandidian

varchar

200

体检地点

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

shoujihaoma

varchar

200

手机号码

yuyueshijian

datetime

预约时间

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

ispay

varchar

200

是否支付

未支付

表4-10:体检医师

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

mima

varchar

200

密码

xingbie

varchar

200

性别

shoujihaoma

varchar

200

手机号码

youxiang

varchar

200

邮箱

以上就是体检中心健康体检管理系统中重点使用的关键数据库表格,表格全部展示过于杂乱,选取重点表格展示。

5  系统的实现

5.1系统功能实现

当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:

图5-1 系统首页界面

系统注册:在系统注册页面的输入栏中输入用户注册信息进行注册操作,系统注册页面如图5-2所示:

图5-2系统注册页面

体检套餐:在体检套餐页面的输入栏中输入体检项目和体检地点进行查询,可以查看到体检套餐详细信息,并根据需要进行预约操作;体检套餐页面如图5-3所示:

图5-3体检套餐详细页面

个人中心:在个人中心页面输入个人信息可以进行更新信息操作;如图5-4所示:

图5-4 个人中心界面

后台管理,参检人员注册登录进入系统前台,点击后台管理可以对个人中心、体检预约管理、体检进程管理等进行操作。参检人员后台管理主页面如图5-5所示:

图5-5 参检人员后台管理主界面

5.2后台模块实现

后台登录,在登录页面选择角色,正确输入用户名和密码后,点击登录进入操作系统进行操作;如图5-6所示。 

图5-6 后台登录界面

代码实现

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实战项目持续更新中~

🔎上百套小程序实战项目持续更新中~

🔎上百套Python实战项目持续更新中

👇下方有我的微信名片👇

健康体检管理软件 是一套完整的数字化健康体检中心管理软件 , 该系 统本着从体检中心检查的实际应用出发,根据体检人员相对集中进行,人员分布 不均,体检过程相对程序化,重点解决了体检流程化问题,把体检信息采集源放 在各体检科室的医生工作台上,各种设备检查信息全部来源与相关医疗设备,使 体检人员的全部检查信息贯穿在系统工作流的全过程,使其真正成为从采集体检 人员的基本信息-相关科室体检信息-设备采集信息-体检信息综合分析-个人 / 集体综合统计分析及健康状况总结分析等,完全的计算机综合管理过程。 <<健康体检管理软件 >>是如何产生的呢 ? 健康已成为现代社会人们日益关 心的问题 , 如何知道自己是否有健康的体魄 ? 用人单位如何知道所雇佣的人是 否健康 ? 学生入学 , 工厂招工 , 接触有害物质人员的定期检查等等 , 都离不 开医院的体检 . 因此 , 目前专门的体检医院或化出一个部门用于体检的医院 , 象雨后的春笋越来越多,那么 , 一个体检医院 , 如何有效的利用现有资源 , 如 何面对大批量人员的体检 , 如何给被检人员准确 , 快捷做出检查结果 , 如何建 立并有效的管理自己日益庞大的体检档案 , 将是医院面邻的越来越严峻的问题。 完成一个单位的体检后,系统根据体检结果,综合做出该单位的体检分析,健康 建议分析,职业病分布状况分析等。体检结果可通过 INTERNET 方便的传递给相 关单位。长期的档案的管理,体检信息的综合查询,为长期跟踪观察某单位员工 健康状况提供一手资料。 功能特点 采用B/S和C/S相结合的网络模式:内网实现体检中心的业务管理;外网实现体检客 户网上预约,网上查询等。 采用体检条码或磁卡的管理技术:对体检号采用条形码或磁卡的管理。由于体检 号贯穿于系统始终,可通过对条码或磁卡的扫描读取,大大减少了人工输入的出 错率,同时也方便了结果的录入和数据的查询。 强大的自定义功能:一个好的软件,要最大限度满足最多用户的需求,要求软件 的通用性足够强大。体检管理软件采用大量自定义设置,可以通过简单的应用前 初始化设置。达到适用不同规模、流程与要求的体检中心的业务需求,从而实现 软件的高性价比。这样的软件也具有容易升级,易维护的特点。 软件具有智能化:由于体检业务是一项工作量烦重的业务。从检前准备,检中检 查,检后服务,每一过程都有大量工作要作。这就要求体检管理软件智能化。开 发人员深入工作现场,了解体检医生的工作情况,在软件的各个部分都有智能化 的表现,如:可以自动判断阳性结果;自动生成小结;自动生成总结;自动生成 建议;批量导入人员名单,批量登记,批量报告打印等等,总之,你会发现无处 不为您所想。 与检验系统、检查仪器的对接:对于每天大量的检查结果,凭人工录入,是一件 非常头痛的工作,而且非常容易出错,<>实现500人检验数据(约 合3万条记录),不足30秒,可以全部录入完成。 灵活独立的计价收费系统:系统自身具有独立的计价收费功能,专们针对散检和
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值