基于java的疫情期间医院门诊app设计与实现_第1页
基于java的疫情期间医院门诊app设计与实现_第2页
基于java的疫情期间医院门诊app设计与实现_第3页
基于java的疫情期间医院门诊app设计与实现_第4页
基于java的疫情期间医院门诊app设计与实现_第5页
已阅读5页,还剩59页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要随着当今生活节奏逐渐的加快,网上进行专家门诊注册、登录、预约挂号的操作越来越受到人们的喜欢,这将成为网上专家门诊预约的一大优势。网上专家门诊预约系统是一种网上预约的预约管理体制,对门诊的医疗工作起了较好的辅助作用。并对每日每医生的预约次数进行了管控,预约次数为0时,将不可预约。本管理系统的开发环境操作系统使用Windows系统,基于Java语言,主要使用Idea开发工具、服务器使用Tomcat,使用Springboot框架、开发前端使用Vue、后台数据库使用MySQL数据库进行数据的存储。主要的功能模块:留言反馈、用户管理、登陆注册、科室信息管理、医生管理、坐诊信息管理、预约记录管理、咨询记录管理和行动轨迹管理。最后进行了黑盒测试了全部功能,该系统功能全部实现,前端页面一目了然,方便用户使用,未来具有很大发展前景。关键词:MySQL数据库;Java语言;Vue;Springboot框架

ABSTRACTWiththeacceleratedpaceoflife,onlineexpertclinicregistration,login,appointmentoperationismoreandmorepopular,whichwillbecomeabigadvantageofonlineexpertclinicappointment.Theonlineexpertoutpatientappointmentsystemisakindofonlineappointmentmanagementsystem,whichplaysagoodauxiliaryroleintheoutpatientmedicalwork.Inaddition,thedailyappointmenttimesofeachdoctorarecontrolled.Whenthenumberofappointmentis0,theappointmentcannotbemade.ThedevelopmentenvironmentofthismanagementsystemusesWindowssystem,isbasedonJavalanguage,mainlyusesIdeadevelopmenttool,usesTomcatontheserver,usesSpringbootframework,usesVueonthedevelopmentfrontend,andusesMySQLdatabasefordatastorageonthebackgrounddatabase.Mainfunctionalmodules:messagefeedback,usermanagement,loginandregistration,departmentinformationmanagement,doctormanagement,consultationinformationmanagement,appointmentrecordmanagement,consultationrecordmanagementandactiontrackmanagement.Finally,allthefunctionsofthesystemaretestedbytheblackbox.Thefront-endpageisclearataglance,convenientforuserstouse,andhasgreatdevelopmentprospectsinthefuture.Keywords:MySQLdatabase;Javalanguage;Vue;Springbootframework

第自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnerpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的业务管理架构给Java平台引入了一种抽象机器系统,使得局部和整体业务和相互嵌套的业务都能同保存‎点共同工作,几乎可以在Java平台的任何情况下工作。Spring对各种事.务模板进行了整合,使系统能够通过事务模板、XML或Java注解来进行事务的配置,并且事务框架集合了消息传递和缓存等功能。Spring的数据访问框架解决了开发者在应用程序中使用数据库时所面临的普遍困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。2.4Vue框架Vue是一套用于构建用户界面的渐进式框架与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另外,Vue还可以在与最新版本的工具箱和不同类型的辅助类库相配合的情况下,为一个单一页面的复杂程序提供一个驱动。第3章需求分析3.1可行性分析3.1.1技术可行性技术上的可行性指的是我们在本次系统开发中将使用什么技术,基于什么平台,将会套用什么框架以及将会采用什么设计模式,在基础知识介绍部分我们已经进行了相关说明,本次开发是基于微信小程序的行李寄存管理系统的设计与实现,所使用的语言是Java,在开发过程中主要基于Java框架,弹性管理代码,Idea是现今做得最好一款多语言集成开发环境,同时大多数与之相关的开发工具都是免费的。3.1.2经济可行性经济可行性指我们的开发过程符合我们之前的开发预算,整个开发过程的费用支出都有明确记录,并且符合开发过程的要求。并且在系统完成后,所开发的基于Java的疫情期间医院门诊App设计与实现有非常好的前景,具有很高的经济价值,这一点在系统的开发之前也在我们的考虑范围之内,综合以上考虑,我们认定本次的设计与开发从经济上来讲是可行的。3.1.3操作可行性系统交给使用人员后,要保证系统使用简便,操作便捷,大部分功能都已经通过设计好的图形界面来实现,数据输入也要设计的灵活完整,不产生歧义,方便管理员和用户查看信息。整个系统必须是简洁的,高效的,使用过程中要做好不同等级用户的使用权限管理。从以上这些部分考虑,我们可以认定本次开发从操作上来讲是可行的。3.1.4法律可行性从法律的角度来讲,整个开发工作具有以下几个特性:1、研发所使用的全部技术材料均为依法取得;2、研发期间无任何涉及到的知识产权方面的问题;3、制作过程中没有剽窃其他站点,没有侵权的问题;4、开发过程完全由本人负责,没有任何法律责任。3.2需求分析系统的功能需求分析能够进一步了解接下来在软件功能需求的实现过程中,所需要实现的功能和不需要实现的功能。良好的分析活动有助于避免或更早提出早期错误,从而提高软件生产率,降低开发成本,改进软件质量。3.2.1功能需求分析在疫情期间医院门诊App中,此系统的制作主要构建一种网上预约的预约管理体制,完成后用户可以注册并登录账号进行预约挂号,还能查询医师的信息;医生主要是放出预约的时间及数量;管理者可以进行管理后台。3.2.2非功能需求分析本论文所开发的基于Java的疫情期间医院门诊App设计与实现由于存储大量的信息以及用户的相关基本信息,为了保证系统数据的安全性,在系统设计开发过程中,专门配置了用户身份鉴别与权限控制模块,对访问系统的用户进行身份鉴别。在所有用户身份通过系统鉴定完毕后,系统将根据用户身份为其配置相应的权限,并确保用户只能在权限范围内进行操作,只能访问权限范围内的数据。用户权限控制机制有效保证了系统数据的安全性,一旦用户出现异常操作,系统将立即停止该用户访问。3.2.3业务流程图该系统根据需求设计的业务流程图,如图3.1:图3.1业务流程图第4章系统设计4.1功能模块设计根据对系统的功能进行分析图系统的具体功能模块包括几个主要的功能模块:留言反馈、用户管理、登陆注册、科室信息管理、医生管理、坐诊信息管理、预约记录管理、咨询记录管理和行动轨迹管理。系统的功能模块如图4.1所示:图4.1系统功能模块图4.2数据库设计4.2.1数据库需求分析需求分析的工作是,利用对真实世界要处理的对象(组织、部门、企业等)进行深入的研究,对原系统(人工系统或计算机系统)的工作情况进行全面的认识,从而清晰地认识到用户的各类需求,并以此为依据来决定新系统的功能。以所需的功能为基础,对相应的属性进行设计,从而实现并设计出数据库的需求分析。,根据使用者来传递相对应的属性,例如:用户的属性:账号、密码、性别、电话、头像、创建时间、身份证;来完成对前端页面的需求,对于管理员则会有个身份的验证的角色属性,来判断登录的使用者。4.2.2数据库概念分析图4.2管理员实体图2.用户实体图图4.3用户实体图数据库的物理设计包括四个阶段:第一阶段就是选择系统数据在数据库中存储的结构、第二个阶段就是确定数据库中系统的数据的存取方法、第三个阶段就是需要对系统来选择数据在数据库中的存放位置、第四个阶段就是决定在数据库中数据的位置。图4.4公告栏设计界面图4.5留言反馈设计界面图4.6管理员设计界面图4.7用户界面图4.8科室信息界面4.3数据库逻辑设计数据库的物理设计针对的是数据库中数据的存储和取出数据的方法,以及该系统是怎样将该数据储存在该数据库中的。而其主要任务,就是在数据库中创建一个索引,用来访问这些数据。按照访问类型的不同,存储结构可以‎以分为两个表格,一个是索引表,一个是顺序表,每一个存储结构都具有不同类型的查询功能。小程序具体表设计如下:表4.1storeup收藏表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridbigint用户idrefidbigint商品idtablenamevarchar200表名namevarchar200名称续表4.1storeup收藏表picturelongtext4294967295图片typevarchar200类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)1inteltypevarchar200推荐类型remarkvarchar200备注表4.2news公告资讯字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar200标题introductionlongtext4294967295简介picturelongtext4294967295图片contentlongtext4294967295内容表4.3messages留言反馈字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridbigint留言人idusernamevarchar200用户名contentlongtext4294967295留言内容续表4.3messages留言反馈cpicturelongtext4294967295留言图片replylongtext4294967295回复内容rpicturelongtext4294967295回复图片表4.4config配置文件字段名称类型长度字段说明主键默认值idbigint主键主键namevarchar100配置参数名称valuevarchar100配置参数值表4.5users用户表字段名称类型长度字段说明主键默认值idbigint主键主键usernamevarchar100用户名passwordvarchar100密码rolevarchar100角色管理员addtimetimestamp新增时间CURRENT_TIMESTAMP表4.6tokentoken表字段名称类型长度字段说明主键默认值idbigint主键主键useridbigint用户idusernamevarchar100用户名tablenamevarchar100表名rolevarchar100角色续表4.6tokentoken表tokenvarchar200密码addtimetimestamp新增时间CURRENT_TIMESTAMPexpiratedtimetimestamp过期时间CURRENT_TIMESTAMP表4.7zuozhenxinxi坐诊信息字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyishenggonghaovarchar200医生工号yishengxingmingvarchar200医生姓名yishengxingbievarchar200医生性别yishengzhaopianlongtext4294967295医生照片yishengzhichengvarchar200医生职称keshimingchengvarchar200科室名称guahaojineint挂号金额guahaoshuliangint挂号数量zuozhenshijianvarchar200坐诊时间yishenglvlilongtext4294967295医生履历crossuseridbigint跨表用户idcrossrefidbigint跨表主键id表4.8zixunjilu咨询记录字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMP续表4.8zixunjilu咨询记录zixunbiaotivarchar200咨询标题yishenggonghaovarchar200医生工号zixuntupianlongtext4294967295咨询图片zixunneironglongtext4294967295咨询内容yonghumingvarchar200用户名shoujivarchar200手机sfshvarchar200是否审核否shhflongtext4294967295审核回复表4.9keshixinxi科室信息字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPkeshimingchengvarchar200科室名称表4.10yuyuejilu预约记录字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyuyuedanhaovarchar200预约单号yishenggonghaovarchar200医生工号yishengxingmingvarchar200医生姓名yishengzhichengvarchar200医生职称keshimingchengvarchar200科室名称guahaojineint挂号金额guahaoshuliangvarchar200挂号数量续表4.10yuyuejilu预约记录yuyueshijiandatetime预约时间yonghumingvarchar200用户名xingmingvarchar200姓名shoujivarchar200手机shenfenzhengvarchar200身份证zhengzhuangtupianlongtext4294967295症状图片zhengzhuangmiaoshulongtext4294967295症状描述sfshvarchar200是否审核否shhflongtext4294967295审核回复ispayvarchar200是否支付未支付useridbigint用户id表4.11yonghu用户字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyonghumingvarchar200用户名mimavarchar200密码xingmingvarchar200姓名xingbievarchar200性别touxianglongtext4294967295头像shoujivarchar200手机shenfenzhengvarchar200身份证表4.12yiyangbaogao异样报告字段名称类型长度字段说明主键默认值续表4.12yiyangbaogao异样报告idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPbaogaomingchengvarchar200报告名称baogaotupianlongtext4294967295报告图片baogaoriqidate报告日期baogaoneironglongtext4294967295报告内容yonghumingvarchar200用户名shoujivarchar200手机sfshvarchar200是否审核否shhflongtext4294967295审核回复useridbigint用户id表4.13yisheng医生字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyishenggonghaovarchar200医生工号mimavarchar200密码yishengxingmingvarchar200医生姓名yishengxingbievarchar200医生性别yishengzhaopianlongtext4294967295医生照片yishengzhichengvarchar200医生职称lianxidianhuavarchar200联系电话表4.14xingdongguiji行动轨迹字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPguijimingchengvarchar200轨迹名称tupianxinxilongtext4294967295图片信息guijineironglongtext4294967295轨迹内容tijiaoriqidate提交日期yonghumingvarchar200用户名shoujivarchar200手机sfshvarchar200是否审核否shhflongtext4294967295审核回复useridbigint用户id第5章系统实现5.1实现环境开发语言:Java框架:springboootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9浏览器:谷歌浏览器5.2登录注册用户第一次使用小程序需要注册账号。用户需要输入用户账号、用户姓名、确认密码、密码、性别、年龄和头像信息,用户注册界面如图5.1所示;用户进行登录操作时,需要输入账号和密码,然后单击“登录”按钮。如果未输入用户名或密码,系统将提示输入用户名和密码。用户登录界面如图5.2所示;管理员在登录后台管理系统时,输入正确的用户名和密码后,页面会跳转到主页。图5.1用户注册界面图5.2用户登录界面图5.3管理员登录界面管理员在登录界面,如图5.3,登陆界面中输入用户名和密码并且选择登录角色后,就会直接跳转到服务平台首页,管理员完成登录界面如图5.4所示:图5.4用户登录成功界面实现该功能的关键代码如下:@Service("usersService")publicclassUsersServiceImplextendsServiceImpl<UsersDao,UsersEntity>implementsUsersService{ @Override publicPageUtilsqueryPage(Map<String,Object>params){ Page<UsersEntity>page=this.selectPage(newQuery<UsersEntity>(params).getPage(),newEntityWrapper<UsersEntity>());returnnewPageUtils(page); } @Override publicList<UsersEntity>selectListView(Wrapper<UsersEntity>wrapper){ returnbaseMapper.selectListView(wrapper); } @Override publicPageUtilsqueryPage(Map<String,Object>params, Wrapper<UsersEntity>wrapper){ Page<UsersEntity>page=newQuery<UsersEntity>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtilspageUtil=newPageUtils(page); returnpageUtil; }}

5.3用户管理管理员登录系统之后,再点击“个人中心”的按钮,就可以对账号的密码进行修改,界面如图5.5所示:图5.5个人中心界面管理员登录成功进入系统之后,再次点击“用户管理”的按钮,就可以进入用户管理界面,可以新增、删除和修改用户信息,界面如图5.6所示:图5.6用户管理界面实现该功能的关键代码如下:@Service("yonghuService")publicclassYonghuServiceImplextendsServiceImpl<YonghuDao,YonghuEntity>implementsYonghuService{ @OverridepublicPageUtilsqueryPage(Map<String,Object>params){Page<YonghuEntity>page=this.selectPage(newQuery<YonghuEntity>(params).getPage(),newEntityWrapper<YonghuEntity>());returnnewPageUtils(page);}@Override publicPageUtilsqueryPage(Map<String,Object>params,Wrapper<YonghuEntity>wrapper){ Page<YonghuView>page=newQuery<YonghuView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtilspageUtil=newPageUtils(page); returnpageUtil; }@Override publicList<YonghuVO>selectListVO(Wrapper<YonghuEntity>wrapper){ returnbaseMapper.selectListVO(wrapper); } @Override publicYonghuVOselectVO(Wrapper<YonghuEntity>wrapper){ returnbaseMapper.selectVO(wrapper); } @Override publicList<YonghuView>selectListView(Wrapper<YonghuEntity>wrapper){ returnbaseMapper.selectListView(wrapper); } @Override publicYonghuViewselectView(Wrapper<YonghuEntity>wrapper){ returnbaseMapper.selectView(wrapper); }}

5.4科室信息管理通过管理员身份进入到系统中,点击科室信息管理,进入科室信息管理界面,如图5.7,可以新增科室信息管理。添加科室信息信息,如图5.8所示:图5.7科室信息管理界面图5.8科室信息添加界面实现该功能的关键代码如下:@Service("keshixinxiService")publicclassKeshixinxiServiceImplextendsServiceImpl<KeshixinxiDao,KeshixinxiEntity>implementsKeshixinxiService{ @OverridepublicPageUtilsqueryPage(Map<String,Object>params){Page<KeshixinxiEntity>page=this.selectPage(newQuery<KeshixinxiEntity>(params).getPage(),newEntityWrapper<KeshixinxiEntity>());returnnewPageUtils(page);}@Override publicPageUtilsqueryPage(Map<String,Object>params,Wrapper<KeshixinxiEntity>wrapper){ Page<KeshixinxiView>page=newQuery<KeshixinxiView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtilspageUtil=newPageUtils(page); returnpageUtil; }@Override publicList<KeshixinxiVO>selectListVO(Wrapper<KeshixinxiEntity>wrapper){ returnbaseMapper.selectListVO(wrapper); } @Override publicKeshixinxiVOselectVO(Wrapper<KeshixinxiEntity>wrapper){ returnbaseMapper.selectVO(wrapper); } @Override publicList<KeshixinxiView>selectListView(Wrapper<KeshixinxiEntity>wrapper){ returnbaseMapper.selectListView(wrapper); } @Override publicKeshixinxiViewselectView(Wrapper<KeshixinxiEntity>wrapper){ returnbaseMapper.selectView(wrapper); }}5.5医生管理通过管理员身份进入系统后,点击医生管理,进入到医生管理界面。可以对医生信息进行修改设置,也可以通过点击“新增”按钮后完善这些医生信息的基础信息。完成医生信息基础信息设置后,点击“提交”按钮会弹出“操作成功”。点击“删除”按钮可以删除已经失效或下线的信息,医生信息界面如图5.9所示;添加医生界面如图5.10所示:图5.9医生管理界面图5.10医生添加界面实现该功能的关键代码如下:@Service("yishengService")publicclassYishengServiceImplextendsServiceImpl<YishengDao,YishengEntity>implementsYishengService{ @OverridepublicPageUtilsqueryPage(Map<String,Object>params){Page<YishengEntity>page=this.selectPage(newQuery<YishengEntity>(params).getPage(),newEntityWrapper<YishengEntity>());returnnewPageUtils(page);}@Override publicPageUtilsqueryPage(Map<String,Object>params,Wrapper<YishengEntity>wrapper){ Page<YishengView>page=newQuery<YishengView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtilspageUtil=newPageUtils(page); returnpageUtil; }@Override publicList<YishengVO>selectListVO(Wrapper<YishengEntity>wrapper){ returnbaseMapper.selectListVO(wrapper); } @Override publicYishengVOselectVO(Wrapper<YishengEntity>wrapper){ returnbaseMapper.selectVO(wrapper); } @Override publicList<YishengView>selectListView(Wrapper<YishengEntity>wrapper){ returnbaseMapper.selectListView(wrapper); } @Override publicYishengViewselectView(Wrapper<YishengEntity>wrapper){ returnbaseMapper.selectView(wrapper); }}5.6坐诊信息管理点击坐诊信息,进入坐诊信息如图5.11所示,可以进行增删改查,通过医生工号或者姓名进行查询:图5.11坐诊信息界面实现该功能的关键代码如下:@Service("zuozhenxinxiService")publicclassZuozhenxinxiServiceImplextendsServiceImpl<ZuozhenxinxiDao,ZuozhenxinxiEntity>implementsZuozhenxinxiService{ @OverridepublicPageUtilsqueryPage(Map<String,Object>params){Page<ZuozhenxinxiEntity>page=this.selectPage(newQuery<ZuozhenxinxiEntity>(params).getPage(),newEntityWrapper<ZuozhenxinxiEntity>());returnnewPageUtils(page);}@Override publicPageUtilsqueryPage(Map<String,Object>params,Wrapper<ZuozhenxinxiEntity>wrapper){ Page<ZuozhenxinxiView>page=newQuery<ZuozhenxinxiView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtilspageUtil=newPageUtils(page); returnpageUtil; }@Override publicList<ZuozhenxinxiVO>selectListVO(Wrapper<ZuozhenxinxiEntity>wrapper){ returnbaseMapper.selectListVO(wrapper); } @Override publicZuozhenxinxiVOselectVO(Wrapper<ZuozhenxinxiEntity>wrapper){ returnbaseMapper.selectVO(wrapper); } @Override publicList<ZuozhenxinxiView>selectListView(Wrapper<ZuozhenxinxiEntity>wrapper){ returnbaseMapper.selectListView(wrapper); } @Override publicZuozhenxinxiViewselectView(Wrapper<ZuozhenxinxiEntity>wrapper){ returnbaseMapper.selectView(wrapper); }}5.7预约记录管理和咨询记录管理通过管理员身份登录到平台中,点击预约记录管理,进行对用户的预约记录进行管理,预约记录管理界面如图5.12;预约纪律管理有个简易审核功能,如图5.13所示;点击咨询记录管理,如图5.14所示:图5.12预约记录界面图5.13预约记录审核界面图5.14咨询记录审核界面实现该功能的关键代码如下:@Service("yuyuejiluService")publicclassYuyuejiluServiceImplextendsServiceImpl<YuyuejiluDao,YuyuejiluEntity>implementsYuyuejiluService{ @OverridepublicPageUtilsqueryPage(Map<String,Object>params){Page<YuyuejiluEntity>page=this.selectPage(newQuery<YuyuejiluEntity>(params).getPage(),newEntityWrapper<YuyuejiluEntity>());returnnewPageUtils(page);}@Override publicPageUtilsqueryPage(Map<String,Object>params,Wrapper<YuyuejiluEntity>wrapper){ Page<YuyuejiluView>page=newQuery<YuyuejiluView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtilspageUtil=newPageUtils(page); returnpageUtil; }@Override publicList<YuyuejiluVO>selectListVO(Wrapper<YuyuejiluEntity>wrapper){ returnbaseMapper.selectListVO(wrapper); } @Override publicYuyuejiluVOselectVO(Wrapper<YuyuejiluEntity>wrapper){ returnbaseMapper.selectVO(wrapper); } @Override publicList<YuyuejiluView>selectListView(Wrapper<YuyuejiluEntity>wrapper){ returnbaseMapper.selectListView(wrapper); } @Override publicYuyuejiluViewselectView(Wrapper<YuyuejiluEntity>wrapper){ returnbaseMapper.selectView(wrapper); }}5.8系统管理通过管理员身份登录到平台中,点击系统管理,可以对公告信息、轮播图进行管理。公告信息管理界面如图5.15所示,轮播图管理界面如图5.16所示:图5.15公告信息界面图5.16轮播图管理界面实现该功能的关键代码如下:@Service("newsService")publicclassNewsServiceImplextendsServiceImpl<NewsDao,NewsEntity>implementsNewsService{ @OverridepublicPageUtilsqueryPage(Map<String,Object>params){Page<NewsEntity>page=this.selectPage(newQuery<NewsEntity>(params).getPage(),newEntityWrapper<NewsEntity>());returnnewPageUtils(page);}@Override publicPageUtilsqueryPage(Map<String,Object>params,Wrapper<NewsEntity>wrapper){ Page<NewsView>page=newQuery<NewsView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtilspageUtil=newPageUtils(page); returnpageUtil; }@Override publicList<NewsVO>selectListVO(Wrapper<NewsEntity>wrapper){ returnbaseMapper.selectListVO(wrapper); } @Override publicNewsVOselectVO(Wrapper<NewsEntity>wrapper){ returnbaseMapper.selectVO(wrapper); } @Override publicList<NewsView>selectListView(Wrapper<NewsEntity>wrapper){ returnbaseMapper.selectListView(wrapper); } @Override publicNewsViewselectView(Wrapper<NewsEntity>wrapper){ returnbaseMapper.selectView(wrapper); }}5.9行动轨迹管理和留言反馈行动轨迹管理,如图5.17,也可以进行简易审核如图5.18;点击留言反馈,管理员可以对用户的留言进行反馈如图5.19:图5.17行动轨迹界面图5.18行动轨迹界面图5.19留言反馈界面实现该功能的关键代码如下:@Service("xingdongguijiService")publicclassXingdongguijiServiceImplextendsServiceImpl<XingdongguijiDao,XingdongguijiEntity>implementsXingdongguijiService{ @OverridepublicPageUtilsqueryPage(Map<String,Object>params){Page<XingdongguijiEntity>page=this.selectPage(newQuery<XingdongguijiEntity>(params).getPage(),newEntityWrapper<XingdongguijiEntity>());returnnewPageUtils(page);}@Override publicPageUtilsqueryPage(Map<String,Object>params,Wrapper<XingdongguijiEntity>wrapper){ Page<XingdongguijiView>page=newQuery<XingdongguijiView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,wrapper)); PageUtilspageUtil=newPageUtils(page); returnpageUtil; }@Override publicList<XingdongguijiVO>selectListVO(Wrapper<XingdongguijiEntity>wrapper){ returnbaseMapper.selectListVO(wrapper); } @Override publicXingdongguijiVOselectVO(Wrapper<XingdongguijiEntity>wrapper){ returnbaseMapper.selectVO(wrapper); } @Override publicList<XingdongguijiView>selectListView(Wrapper<XingdongguijiEntity>wrapper){ returnbaseMapper.selectListView(wrapper); } @Override publicXingdongguijiViewselectView(Wrapper<XingdongguijiEntity>wrapper){ returnbaseMapper.selectView(wrapper); }}5.10用户功能用户与输入正确的账号密码之后会自动进入到小程序首页。首页如图5.20所示,点击公告咨询里的内容跳转到咨询详情如图5.21所示;点击查看更多,可以进行搜索公告咨询,通过标题搜查公告咨询如图5.22:图5.20首页界面图5.21咨询详情界面图5.22公告咨询查询界面点击留言反馈,可以进行留言,传递给后台由后台管理者进行回复,如图5.23,留言发布界面如图5.24;图5.23留言反馈界面图5.24留言反馈发布界面点击我的功能,如图5.25;可以设置自己的信息,点击坐诊信息,可以查看医生信息如图5.26,点击想预约的医生进行预约,在界面中有个五角星可以进行医生收藏如图5.27,然后跳转到预约信息填写界面进行填写如图5.28:图5.25我的界面图5.26坐诊信息界面图5.27医生挂号界面图5.28预约信息界面在app等于管理员账户,可以进行审核如图5.29,点击轨迹,进行轨迹查看如图5.30:图5.29管理员审核回复界面图5.30轨迹界面实现该功能的关键代码如下:@Service("commonService")publicclassCommonServiceImplimplementsCommonService{ @Autowired privateCommonDaocommonDao; @Override publicList<String>getOption(Map<String,Object>params){ returncommonDao.getOption(params); } @Override publicMap<String,Object>getFollowByOption(Map<String,Object>params){ returncommonDao.getFollowByOption(params); } @Override publicvoidsh(Map<String,Object>params){ commonDao.sh(params); } @Override publicintremindCount(Map<String,Object>params){ returncommonDao.remindCount(params); } @Override publicMap<String,Object>selectCal(Map<String,Object>params){ returncommonDao.selectCal(params); } @Override publicList<Map<String,Object>>selectGroup(Map<String,Object>params){ returncommonDao.selectGroup(params); } @Override publicList<Map<String,Object>>selectValue(Map<String,Object>params){ returncommonDao.selectValue(params); } @Override publicList<Map<String,Object>>selectTimeStatValue(Map<String,Object>params){ returncommonDao.selectTimeStatValue(params);}}第6章系统测试在完成了各个功能模块的设计,并完成了前台操作接口的设计之后,为了确保系统的稳定运转,在正式使用之前,我们必须对一系列的功能和性能进行检测,从而方便我们在正式使用之前的期间,对系统进行维修和改进。黑盒测试是对系统整体功能性的一种测试手段,测试人员在进行黑盒测试时,主要从用户角度考虑,通过利用相应的功能测试用例,将系统的实际测试情况和预期情况相互比较,便于发现系统所存问题。在进行黑盒测试过程中,主要采取的是错位分析和边界值分析方式进行处理。系统的错误通常发生在输入或输出值的边界处的概率远高于内部,因此边界值分析法就是在确定好输入输出范围后,选取边界值对系统进行测试,进一步判断系统的稳定性与可靠性。6.1测试步骤在相同的开发过程中,应该在试验期间内逐步执行。从逻辑上来说,每个步骤都是前面一个步骤的继续。一个较大的软件程序一般是由若干个子项目构成的,而这些子项目又包括一些模块。因此,大规模软件程序的测试基本上包括以下步骤:1.模块的测试是找出程序中的编码和详细的设计错误。2.下一步是程序测试并发现设计中存在错误。3.规范发现错误验收测试方案的要求。6.2测试用例6.2.1登录测试用例客户端的测试用例是按照客户需求来设计的,使用了黑盒测试的方法,因为篇幅有限,在此仅列出了一些有代表性的测试用例表,如表6.1所示。表6.1登录测试用例表测试编号测试目的操作步骤预期结果实际结果001登录测试输入正确的用户名和密码登录成功登录成功002登录测试输入错误的用户名登录失败登录失败003登录测试输入错误的的密码登录失败登录失败6.2.2科室信息管理测试用例管理端在运行时要满足浏览器的运行需求,比如添加科室信息测试、修改科室信息测试、删除科室信息测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.2所示。表6.2科室信息测试用例表测试编号测试目的操作步骤预期结果实际结果001添加科室信息测试在添加页面输入科室信息,点击确认按钮添加成功添加成功002修改科室信息测试在修改页面修改科室信息,点击确认按钮修改成功修改成功003删除科室信息测试在管理用户息页面,点击某一试卷的删除按钮删除成功删除成功004查询科室信息测试在科室信息管理页面查询输入框输入要查询的用户名字,点击查询按钮查询成功查询成功图6.1科室新增成功6.2.3坐诊信息管理测试用例管理端在运行时要满足浏览器的运行需求,比如添加坐诊信息测试、修改坐诊信息测试、删除坐诊信息测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.3所示。表6.3坐诊信息测试用例表测试编号测试目的操作步骤预期结果实际结果001添加坐诊信息测试在添加页面输入坐诊信息,点击确认按钮添加成功添加成功002修改坐诊信息测试在修改页面修改坐诊信息,点击确认按钮修改成功修改成功003删除坐诊信息测试在管理用户息页面,点击某一试卷的删除按钮删除成功删除成功004查询坐诊信息测试在坐诊信息管理页面查询输入框输入要查询的用户名字,点击查询按钮查询成功查询成功图6.2坐诊信息修改成功6.3测试结论经过使用多个测试用例对系统的部分功能进行了全面测试,整个系统在测试过程中,都能很好的把正确数据呈现给用户,不管是从系统的功能上、还是从系统的使用上,基本上都能达到我们当初预计的结果。

第7章结论及展望在本次研究所实现的基于Java的疫情期间医院门诊App的设计与实现的过程中,我们首先介绍了研究的现实意义,研究现状,接下来我们说明了本次开发所使用的相关技术和基本原理知识,其中着重介绍了开发语言和相关技术的使用,接下来我们分析了开发系统的可行性与需求分析,可行性方面,确定本次开发是可行的。然后做出系统的需求分析,之后对系统的总体设计,数据库的分析与实现以及系统的详细设计作出说明,并对相应功能界面做出了展示,这一部分是论文的核心,整个实现过程以及部分关键代码的使用,我们都做了详细

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论