Java基于springboot+vue的医院医疗病历交互系统

文末获取资源,收藏关注不迷路

文章目录

  • 前言
  • 一、研究背景
  • 二、研究意义
  • 三、主要使用技术
  • 四、研究内容
  • 五、核心代码
  • 六、文章目录

前言

进入21世纪,计算机技术迅速向着网络化的、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息的新一代网络版应用软件,形成了信息化的社会。信息化社会的形成和微电子技术日新月异的发展,对落后低效的办公手段提出了挑战,信息是管理的基础,是进行决策的基本依据。在一个组织里,信息已作为人力、物力、财力之外的第四种资源,占有重要的地位。然而,信息是一种非物质的,有别于基本资源的新形式的资源。信息也是管理的对象,必须进行管理和控制。本基于B2B平台的医疗病历交互系统是将IT技术用于医疗病历信息的管理, 它能够收集与存储学习的档案信息,提供更新与检索学习信息档案的接口;提高工作效率。
本系统是基于JAVA平台开发的一套基于B2B平台的医疗病历交互系统。系统采用Java为编程语言,后台主要采用Spring Boot框架。数据库采用Mysql建立数据之间的转换。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。

一、研究背景

计算机已经从科研院所,大中型企业,走进了平常百姓家,Internet遍及世界各地,在网上能够用计算机进行文字草拟、修改、打印清样、文件登陆、检索、综合统计、分类、数据库管理等,用科学的方法将无序的信息进行加工整理,组成有序的、方便存储和利用的艺术科研共享信息已经成为流行。计算机技术、网络技术和信息技术的发展,越来越多地改善这现代人的工作、生活。基于B2B平台的医疗病历交互系统是计算机技术和网络迅速发展的一个学习信息应用解决方案。基于B2B平台的医疗病历交互系统将Internet网络技术与现代管理观念相融合,针对信息技术的特点对基于B2B平台的医疗病历交互系统进行规划和重构,对学习信息流进行优化及合理配置,生成动态的、安全的、专有的数字化信息源,将学习体系全面自动化,流程化,数字化。以此为桥梁,横向连接学习信息系统,从而更明确、更有效地支持学习信息的管理和决策。目前社会已经进入了信息时代,社会的各个领域由于信息技术革命,都发生了改天换地的变化,紧跟时代的步伐是每个用户的发展所趋,提高各个用户现代化的管理能力,来适应整个科技社会的变化和发展。用户对信息需求的增长,使计算机、网络技术已经融合到各种用户的平常工作当中。本文研究了基于B2B平台的医疗病历交互系统,从而加快了学习信息化建设的步伐。

二、研究意义

信息技术的发展,带来机遇的同时,也使学习信息管理工作面临严峻的挑战。因为,在当前互联网开放式环境下,传统的学习信息管理模式是以资金运动为对象的,它存在许多局限性,在当前的环境下,已经很难再适应用户管理的要求,可以说,传统的学习信息管理模式,不仅不能适合用户的发展,也已经远远不能够适应当前社会发展新形势的要求。在互联网技术还没有得到广泛应用的早期,各用户信息之间的交流、基于B2B平台的医疗病历交互系统的处理都是人工操作完成的,随着社会进入信息时代和社会生活的快节奏化,在传统的学习信息管理中,需要经过若干道手续,整个过程都需要手工操作,效率十分低下。旧的学习信息的管理方法早就不能满足用户对大量的学习信息的快速处理与统计的需求,不能适应时代的发展趋势,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,因此该过程必须实现信息化,于是需要一种新的技术改善现状,因此基于B2B平台的医疗病历交互系统在适应时代发展需求中产生。。
国内目前已有很多企业实现了信息化管理,建立了基于内部的局域网系统,外部和因特网相连,硬件设施也是非常完备。另外在软件应用方面,我国很多软件开发公司已开发了各种各样的学习信息管理系统,不过这些学习信息管理系统很多是基于当前国内的学习信息管理制度,没有实现特别强大的功能应用,尚未能够受到国际上的认可,暂时没有实现国际化标准的要求。基于B2B平台的医疗病历交互系统怎么去面对国际化的发展要求,将会是我国面临的非常重要的问题。近年来我国信息事业发展迅速,手工管理方式在学习信息管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。目前,对外开放必然趋势使信息行业直面外国同行单位的直接挑战,因此,信息行业必须提高其工作效率,改善其工作环境。

三、主要使用技术

环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈 061
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名
开发工具:idea/eclipse、navicat for mysql
开发语言:java、jdk1.8、mysql
硬件环境:Win10系统、Google等。
主要技术:spring家族,springboot springmvc、mybatis、vue 、java等

四、研究内容

Java基于springboot+vue的医院医疗病历交互系统_第1张图片
Java基于springboot+vue的医院医疗病历交互系统_第2张图片
Java基于springboot+vue的医院医疗病历交互系统_第3张图片
Java基于springboot+vue的医院医疗病历交互系统_第4张图片
Java基于springboot+vue的医院医疗病历交互系统_第5张图片
Java基于springboot+vue的医院医疗病历交互系统_第6张图片
Java基于springboot+vue的医院医疗病历交互系统_第7张图片
Java基于springboot+vue的医院医疗病历交互系统_第8张图片
Java基于springboot+vue的医院医疗病历交互系统_第9张图片
Java基于springboot+vue的医院医疗病历交互系统_第10张图片
Java基于springboot+vue的医院医疗病历交互系统_第11张图片

五、核心代码

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.NewsEntity;
import com.entity.view.NewsView;

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


/**
 * 新闻资讯
 * 后端接口
 
 */
@RestController
@RequestMapping("/news")
public class NewsController {
    @Autowired
    private NewsService newsService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,NewsEntity news,
		HttpServletRequest request){
        EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
		PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
        EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
		PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
        return R.ok().put("data", page);
    }

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(NewsEntity news){
        EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
 		ew.allEq(MPUtil.allEQMapPre( news, "news")); 
		NewsView newsView =  newsService.selectView(ew);
		return R.ok("查询舞蹈资讯成功").put("data", newsView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        NewsEntity news = newsService.selectById(id);
        return R.ok().put("data", news);
    }

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



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody NewsEntity news, HttpServletRequest request){
    	news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(news);
        newsService.insert(news);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody NewsEntity news, HttpServletRequest request){
    	news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(news);
        newsService.insert(news);
        return R.ok();
    }

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

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


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


}

六、文章目录

第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

你可能感兴趣的:(java,spring,boot,vue.js)