基于java+ssm+vue的医院体检管理系统微信小程序

项目介绍

科技的发展赋予了医院体检新的途径,微信小程序名词的出现改变了用户生活的习惯,同时也为管理者打开了新的市场。微信小程序也可以理解为利用小程序来解决需求,这种方式可以打破时间和地点的限制,可以为用户提供随时预约的平台,用户可以在平台上随时找体检套餐预约。微信小程序医院体检系统将用户与体检更加紧密的结合在一起,减少时间与地点的问题。

本基于微信小程序的医院体检管理系统采用微信端和服务端相结合的方式进行开发。在服务端采用java语言和mysql数据库进行设计,在运行中需要idea软件的调试。本系统就是采用在线网站的理念进行开发,用户可以在网站上浏览不同体检套餐,找到符合要求的套餐就可以在线预约,也可以在线咨询;咨询后可以收到管理员的回复。为了更加方便用户使用本系统,本系统中也加入了体检常识的内容。本系统的实现可以帮助用户足不出户预约,非常符合现代人的体检需求。
在这里插入图片描述
在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,微信开发者工具,jdk1.8,maven
支持定做:java/php/python/android/小程序vue/爬虫/c#/asp.net

系统实现

4.2系统首页界面的设计实现
系统的首页可以看到标题、功能导航栏、搜索框、体检套餐信息等,在首页的上方可以看到搜索框、背景图片。系统首页的功能设计效果如下图4.1所示:
在这里插入图片描述

图4.1系统首页界面的运行效果图

4.3用户注册功能的设计实现
为了保证系统的安全性和满足用户的预约要求,用户需要先进行注册才可以进行操作,用户注册时需要注意表单信息的填写,在表单信息填写完成后,系统可以实现对表单信息进行自我检测,当检测为正确时,可以实现注册成功,当有信息检测为错误时会提示重新填写。用户注册成功后系统会把填写的表单保存到数据库中。用户注册的实现界面如下图4.2所示:
在这里插入图片描述

图4.2用户注册功能的界面实现

4.4用户登录功能的设计实现
用户注册完成后,可以点击登录功能进行登录,在登录时会进行账号和密码的数据验证,账号和密码验证正确则登录成功,账号和密码验证错误则登录失败,需要重新登录。用户登录功能的实现界面如下图4.3所示:
在这里插入图片描述

图4.3用户登录功能实现界面效果

4.5用户个人信息修改功能的设计实现
用户登录后可以对自己的个人资料进行修改维护,包括对婚否的设置,在用户个人信息修改界面设置了保存按钮和退出登录按钮,方便用户提交和重新填写信息。用户个人信息修改功能的实现界面如下图4.4所示:
在这里插入图片描述

图4.4用户个人信息修改实现界面

4.6体检套餐信息功能的设计实现
体检套餐信息为基本的功能,体检套餐信息可以分为学生体检、入职体检、女性健康、老年体检,对于体检套餐信息的展示以图片展示为主,可以使用户更加的一目了然,体检套餐信息的实现界面如下图4.5所示:
在这里插入图片描述

图4.5体检套餐信息实现运行效果界面

4.7预约功能的设计实现
在看到符合要求的体检套餐后可以在线预约。预约功能的设计界面如下图4.6所示:
在这里插入图片描述

图4.6预约功能的运行效果界面

4.8体检常识功能界面的设计实现
用户可以通过本功能进行常识的了解。体检常识功能的界面实现如下图4.7所示:
在这里插入图片描述

图4.7体检常识功能的运行界面实现

4.9我的功能的设计实现
我的包括体检预约管理、体检报告管理和我的收藏管理、体检套餐管理。我的功能的界面实现如下图4.8所示:
在这里插入图片描述

图4.8我的功能的运行效果界面

4.10在线咨询功能的界面实现
用户有疑问可以进行在线咨询,实现界面如下图4.9所示:
在这里插入图片描述

图4.9在线咨询功能的实现界面

4.11管理员功能模块的设计实现
管理员可以管理用户信息、体检套餐信息、体检常识信息和体检预约信息、体检报告信息等。管理员的实现界面如下图4.10所示:
在这里插入图片描述

图4.10管理员功能运行效果界面

核心代码

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.TijianyuyueEntity;
import com.entity.view.TijianyuyueView;

import com.service.TijianyuyueService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 体检预约
 * 后端接口
 * @author 
 * @email 
 * @date 2021-04-02 18:00:58
 */
@RestController
@RequestMapping("/tijianyuyue")
public class TijianyuyueController {
    @Autowired
    private TijianyuyueService tijianyuyueService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,TijianyuyueEntity tijianyuyue, 
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			tijianyuyue.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<TijianyuyueEntity> ew = new EntityWrapper<TijianyuyueEntity>();
		PageUtils page = tijianyuyueService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tijianyuyue), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,TijianyuyueEntity tijianyuyue, HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			tijianyuyue.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<TijianyuyueEntity> ew = new EntityWrapper<TijianyuyueEntity>();
		PageUtils page = tijianyuyueService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tijianyuyue), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( TijianyuyueEntity tijianyuyue){
       	EntityWrapper<TijianyuyueEntity> ew = new EntityWrapper<TijianyuyueEntity>();
      	ew.allEq(MPUtil.allEQMapPre( tijianyuyue, "tijianyuyue")); 
        return R.ok().put("data", tijianyuyueService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(TijianyuyueEntity tijianyuyue){
        EntityWrapper< TijianyuyueEntity> ew = new EntityWrapper< TijianyuyueEntity>();
 		ew.allEq(MPUtil.allEQMapPre( tijianyuyue, "tijianyuyue")); 
		TijianyuyueView tijianyuyueView =  tijianyuyueService.selectView(ew);
		return R.ok("查询体检预约成功").put("data", tijianyuyueView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        TijianyuyueEntity tijianyuyue = tijianyuyueService.selectById(id);
        return R.ok().put("data", tijianyuyue);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        TijianyuyueEntity tijianyuyue = tijianyuyueService.selectById(id);
        return R.ok().put("data", tijianyuyue);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody TijianyuyueEntity tijianyuyue, HttpServletRequest request){
    	tijianyuyue.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(tijianyuyue);

        tijianyuyueService.insert(tijianyuyue);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody TijianyuyueEntity tijianyuyue, HttpServletRequest request){
    	tijianyuyue.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(tijianyuyue);
    	tijianyuyue.setUserid((Long)request.getSession().getAttribute("userId"));

        tijianyuyueService.insert(tijianyuyue);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody TijianyuyueEntity tijianyuyue, HttpServletRequest request){
        //ValidatorUtils.validateEntity(tijianyuyue);
        tijianyuyueService.updateById(tijianyuyue);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        tijianyuyueService.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<TijianyuyueEntity> wrapper = new EntityWrapper<TijianyuyueEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
		}

		int count = tijianyuyueService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

论文参考

在这里插入图片描述
目 录
摘 要 1
Abstract 2
第1章 绪论 6
1.1课题开发背景 6
1.2课题开发目的和意义 6
1.3课题开发的目标 7
1.4论文结构安排 8
第2章 系统分析 9
2.1系统使用相关开发技术分析 9
2.1.1 Jsp技术介绍 9
2.1.2 Idea介绍 9
2.1.3 b/s架构 10
2.2系统需求分析 11
2.3系统可行性分析 11
2.3.1技术可行性分析 11
2.3.2经济可行性分析 12
2.3.3 操作可行性分析 12
2.4业务流程分析 12
2.4.1数据流程分析 15
第3章 总体设计 18
3.1系统模块总体设计 18
3.2数据库设计 20
3.2.1数据ER图设计 20
3.2.2数据库表设计 22
第4章 系统详细设计与实现 26
4.1系统运行平台设置 26
4.2系统首页界面的设计实现 26
4.3用户注册功能的设计实现 27
4.4用户登录功能的设计实现 28
4.5用户个人信息修改功能的设计实现 29
4.6体检套餐信息功能的设计实现 30
4.7预约功能的设计实现 31
4.8体检常识功能界面的设计实现 32
4.9我的功能的设计实现 33
4.10在线咨询功能的界面实现 34
4.11管理员功能模块的设计实现 35
第5章 系统测试 37
5.1系统测试的目的 37
5.2系统测试的步骤 37
5.3具体实例测试 38
5.3.1搜索功能、分类功能测试 38
5.3.2预约功能测试 39
5.3.3用户注册功能测试 40
5.3.4体检套餐信息管理功能测试 41
5.4测试总结 42
结 论 43
致 谢 44
参考文献 45

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_3306428634

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值