基于SpringBoot平台的医疗病历交互系统的设计与实现

博主主页:一点源码
博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。
主要内容:毕业设计,SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Python、Nodejs、小程序、安卓app、大数据等设计与开发

🍅文末获取联系🍅

项目介绍

进入21世纪,计算机技术迅速向着网络化的、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息的新一代网络版应用软件,形成了信息化的社会。信息化社会的形成和微电子技术日新月异的发展,对落后低效的办公手段提出了挑战,信息是管理的基础,是进行决策的基本依据。在一个组织里,信息已作为人力、物力、财力之外的第四种资源,占有重要的地位。然而,信息是一种非物质的,有别于基本资源的新形式的资源。信息也是管理的对象,必须进行管理和控制。本基于B2B平台的医疗病历交互系统是将IT技术用于医疗病历信息的管理, 它能够收集与存储学习的档案信息,提供更新与检索学习信息档案的接口;提高工作效率。

本系统是基于JAVA平台开发的一套基于B2B平台的医疗病历交互系统。系统采用Java为编程语言,后台主要采用Spring Boot框架。数据库采用Mysql建立数据之间的转换。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。

系统主要技术

开发语言:Java
 
使用框架:spring boot
 
前端技术:Vue 、css、element-ui、js、html
 
开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code
 
数据库:MySQL 5.7/8.0
 
数据库管理工具:phpstudy/Navicat
 
JDK版本:jdk1.8
 
Maven: apache-maven 3.8.1-bin

系统结构设计 

系统不仅要求功能完善,而且还要界面友好,因此,对于一个成功的系统设计,功能模块的设计是关键。由于本系统可执行的是一般性质的学习信息管理工作,本系统具有一般适用性,其所实现的功能满足用户对日常性学习信息的管理。首先,整个系统分成几个小的模块,小的问题,然后,进一步细分模块,添加细节。

管理员功能模块如图4-1所示:

图4-1管理员功能模块图

医院功能模块如图4-2所示:

图4-2医院功能模块图

用户功能模块如图4-3所示:

图4-3用户功能模块图

医生功能模块如图4-4所示:

图4-4医生功能模块图

部分功能展示

管理员角色

5.1.1 医院管理

管理员可以在医院管理界面对医院信息进行添加,修改,删除,查询操作。医院管理页面的运行结果如图5-1所示:

图5-1医院管理界面

5.1.2 医院注册

管理员可以在医院注册界面对医院信息进行添加,修改,删除,查询操作。医院注册页面的运行结果如图5-2所示:

图5-2 医院注册界面

5.1.3 医院文章

管理员可以在医院文章界面对医院文章进行查看和查询操作。医院文章页面的运行结果如图5-3所示:

图5-3 医院文章界面

5.1.4 医生信息

管理员可以在医生信息界面对医生信息进行查看以及查询操作。医生信息页面的运行结果如图5-3所示:

图5-4 医生信息界面

5.2 用户角色

5.2.1 医院注册

用户可以在医院注册界面对注册医院信息。医院注册页面的运行结果如图5-3所示:

图5-5 医院注册界面

5.2.2 医疗安排

用户可以在医疗安排界面查看医疗安排信息。医疗安排页面的运行结果如图5-3所示:

图5-6 医疗安排界面

5.3 医院角色

5.3.1 院区注册

医院可以在院区注册界面对注册院区信息。院区注册页面的运行结果如图5-3所示:

图5-7 院区注册界面

5.3.2 医院公告

医院可以在医院公告界面对医院公告信息进行添加,修改,删除,查询等操作。医院公告页面的运行结果如图5-3所示:

图5-8 医院公告界面

5.4 医生角色

5.4.1 医院工作人员

医生可以在医院工作人员界面查看医院工作人员人员。医院工作人员页面的运行结果如图5-3所示:

图5-9 医院工作人员界面

5.4.2 病人病历

医生可以在病人病历界面对病人病历信息进行添加,修改,删除,查询等操作。病人病历页面的运行结果如图5-3所示:

图5-10 病人病历界面

文章目录

第1章 绪论    5
1.1 选题的依据及意义    5
1.2 国内外现状研究    6
1.3 研究目的    6
第2章 设计技术与开发环境    7
2.1 相关技术介绍    7
2.1.1 B/S模式分析    7
2.1.2 mysql简介    7
2.1.3 Spring Boot 简介    8
2.2 开发环境介绍    8
2.2.1 eclipse简介    8
2.2.2 Tomcat简介    8
第3章 需求分析与可行性分析    9
3.1 需求分析    9
3.1.1 应用需求分析    9
3.1.2 运行需求分析    10
3.1.3 其他需求分析    10
3.2 数据流程分析    11
3.2.1 系统操作流程    11
3.2.2 数据增加流程    11
3.2.3 数据修改流程    12
3.2.4 数据删除流程    13
3.3 可行性研究    14
3.3.1 经济可行性    14
3.3.2 技术可行性    14
3.3.3 运行可行性    14
3.3.4 时间可行性    15
3.3.5 法律可行性    15
第4章 系统设计    15
4.1 系统总体设计    15
4.2 系统开发步骤    17
4.3 概要设计    17
4.4 数据库概念结构设计    17
4.5 数据库逻辑结构设计    19
第5章 系统实现    27
5.1 管理员角色    27
5.1.1 医院管理    27
5.1.2 医院注册    28
5.1.3 医院文章    28
5.1.4 医生信息    29
5.2 用户角色    29
5.2.1 医院注册    29
5.2.2 医疗安排    30
5.3 医院角色    30
5.3.1 院区注册    30
5.3.2 医院公告    31
5.4 医生角色    31
5.4.1 医院工作人员    31
5.4.2 病人病历    32
第6章 程序测试与评价    33
6.1 程序调试    33
6.2 程序的测试    33
6.2.1 测试的重要性及目的    33
6.2.2 测试的步骤    35
6.2.3 测试的主要内容    35
6.2.4 测试用例    37
6.3 系统的特点和优点    38
6.4 系统存在的不足和改进方案    39
6.5 设计收获和心得    40
结论    41
致谢    41
参考文献    42

部分代码实现 


 * @author 
 * @email 
 * @date 2021-03-05 14:09:24
 */
@RestController
@RequestMapping("/tuihuantushu")
public class TuihuantushuController {
    @Autowired
    private TuihuantushuService tuihuantushuService;
    
 
 
    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,TuihuantushuEntity tuihuantushu, HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			tuihuantushu.setXuehao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<TuihuantushuEntity> ew = new EntityWrapper<TuihuantushuEntity>();
		PageUtils page = tuihuantushuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tuihuantushu), params), params));
 
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,TuihuantushuEntity tuihuantushu, HttpServletRequest request){
        EntityWrapper<TuihuantushuEntity> ew = new EntityWrapper<TuihuantushuEntity>();
		PageUtils page = tuihuantushuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tuihuantushu), params), params));
        return R.ok().put("data", page);
    }
 
	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( TuihuantushuEntity tuihuantushu){
       	EntityWrapper<TuihuantushuEntity> ew = new EntityWrapper<TuihuantushuEntity>();
      	ew.allEq(MPUtil.allEQMapPre( tuihuantushu, "tuihuantushu")); 
        return R.ok().put("data", tuihuantushuService.selectListView(ew));
    }
 
	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(TuihuantushuEntity tuihuantushu){
        EntityWrapper< TuihuantushuEntity> ew = new EntityWrapper< TuihuantushuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( tuihuantushu, "tuihuantushu")); 
		TuihuantushuView tuihuantushuView =  tuihuantushuService.selectView(ew);
		return R.ok("查询退换图书成功").put("data", tuihuantushuView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        TuihuantushuEntity tuihuantushu = tuihuantushuService.selectById(id);
        return R.ok().put("data", tuihuantushu);
    }
 
    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        TuihuantushuEntity tuihuantushu = tuihuantushuService.selectById(id);
        return R.ok().put("data", tuihuantushu);
    }
    
 
 
 
    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody TuihuantushuEntity tuihuantushu, HttpServletRequest request){
    	tuihuantushu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(tuihuantushu);
        tuihuantushuService.insert(tuihuantushu);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody TuihuantushuEntity tuihuantushu, HttpServletRequest request){
    	tuihuantushu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(tuihuantushu);
        tuihuantushuService.insert(tuihuantushu);
        return R.ok();
    }
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody TuihuantushuEntity tuihuantushu, HttpServletRequest request){
        //ValidatorUtils.validateEntity(tuihuantushu);
        tuihuantushuService.updateById(tuihuantushu);//全部更新
        return R.ok();
    }
    
 
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        tuihuantushuService.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<TuihuantushuEntity> wrapper = new EntityWrapper<TuihuantushuEntity>();
		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("xuesheng")) {
			wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));
		}
 
		int count = tuihuantushuService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
 
 
}

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值