基于SSM的智慧问诊系统

随着信息技术的不断发展,给许多领域都带来了深刻变革。包括对病患数据的远程诊断、会诊和护理等医学活动在内的远程医疗,就是其中之一。根据世界卫生组织的表述,远程医疗是指利用交互式视频和信息通讯技术进行诊断、治疗及咨询等医疗照护行为及卫生教育和医疗信息的传递,具体形式包括远程诊断、远程会诊及护理、远程教育、远程医疗信息服务等等。
在此背景下,突如其来的新冠疫情成为了远程医疗迅速成长的一个契机。一方面,远程医疗能防止交叉感染、减轻医院负担、保障患者获取急需的医疗服务。对远程医疗的需求激增,进一步刺激了服务供应数量上升、形式增加。另一方面,政策对远程医疗的关注和扶持力度显著提升,尤以要求远程与门诊就医对等支付,将常见病、慢性病线上复诊服务纳入医保基金支付范围等措施为标志。
很多时候基层医院并不缺乏先进的医疗仪器,缺少的是经验丰富的高级医师和阅片专家,如果能有大型医院的专家能连接基层医院的医疗仪器,实现远程阅片诊断,不仅能帮助解决一些困难的疾病问题,并且在此过程中建立长期的远程带教模式,还能提高基层医院医生规范拍片、报告和阅片的能力。所以我们所做的本项目要开发的是基于局域网和互联网的远程医疗问诊系统

架构

本产品使用 B/S 架构,整体可分为:用户层,应用层,处理层,储存层。

spring、springmvc、mybatis、jsp、log4j、tomcat9、mysql5.7

多角色权限实现

在项目多角色管理中分为四类:游客、患者、医生、管理员。用户登录页面默认使用游客身份访问,游客是未登录状态,不可以挂号和发起会话。请求中不携带session,只能访问主页面和介绍页面。

需求分析文档

项目报告

项目代码

package com.hospital.action;import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.hospital.entity.Admin;
import com.hospital.service.AdminService;
import com.hospital.util.PageHelper;//定义为控制器
@Controller
// 设置路径
@RequestMapping("/admin")
public class AdminAction extends BaseAction {// 注入Service 由于标签的存在 所以不需要getter setter@Autowired@Resourceprivate AdminService adminService;// 修改密码@RequestMapping("editpwd.action")public String editpwd() {String adminid = (String) this.getSession().getAttribute("adminid");String password = this.getRequest().getParameter("password");String repassword = this.getRequest().getParameter("repassword");Admin admin = this.adminService.getAdminById(adminid);if (password.equals(admin.getPassword())) {admin.setPassword(repassword);this.adminService.updateAdmin(admin);} else {this.getRequest().setAttribute("message", "旧密码错误");}return "admin/editpwd";}// 管理员退出登录@RequestMapping("exit.action")public String exit() {this.getSession().removeAttribute("adminid");this.getSession().removeAttribute("adminname");this.getSession().removeAttribute("realname");return "admin/index";}// 准备添加数据@RequestMapping("createAdmin.action")public String createAdmin() {return "admin/addadmin";}// 添加数据@RequestMapping("addAdmin.action")public String addAdmin(Admin admin) {this.adminService.insertAdmin(admin);return "redirect:/admin/createAdmin.action";}// 通过主键删除数据@RequestMapping("deleteAdmin.action")public String deleteAdmin(String id) {this.adminService.deleteAdmin(id);return "redirect:/admin/getAllAdmin.action";}// 批量删除数据@RequestMapping("deleteAdminByIds.action")public String deleteAdminByIds() {String[] ids = this.getRequest().getParameterValues("adminid");for (String adminid : ids) {this.adminService.deleteAdmin(adminid);}return "redirect:/admin/getAllAdmin.action";}// 更新数据@RequestMapping("updateAdmin.action")public String updateAdmin(Admin admin) {this.adminService.updateAdmin(admin);return "redirect:/admin/getAllAdmin.action";}// 显示全部数据@RequestMapping("getAllAdmin.action")public String getAllAdmin(String number) {List<Admin> adminList = this.adminService.getAllAdmin();PageHelper.getPage(adminList, "admin", null, null, 10, number, this.getRequest(), null);return "admin/listadmin";}// 按条件查询数据 (模糊查询)@RequestMapping("queryAdminByCond.action")public String queryAdminByCond(String cond, String name, String number) {Admin admin = new Admin();if (cond != null) {if ("username".equals(cond)) {admin.setUsername(name);}if ("password".equals(cond)) {admin.setPassword(name);}if ("realname".equals(cond)) {admin.setRealname(name);}if ("contact".equals(cond)) {admin.setContact(name);}}List<String> nameList = new ArrayList<String>();List<String> valueList = new ArrayList<String>();nameList.add(cond);valueList.add(name);PageHelper.getPage(this.adminService.getAdminByLike(admin), "admin", nameList, valueList, 10, number, this.getRequest(), "query");name = null;cond = null;return "admin/queryadmin";}// 按主键查询数据@RequestMapping("getAdminById.action")public String getAdminById(String id) {Admin admin = this.adminService.getAdminById(id);this.getRequest().setAttribute("admin", admin);return "admin/editadmin";}public AdminService getAdminService() {return adminService;}public void setAdminService(AdminService adminService) {this.adminService = adminService;}}

```java
package com.hospital.action;import java.util.ArrayList;
import java.util.List;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import com.hospital.entity.Advice;
import com.hospital.entity.Asign;
import com.hospital.entity.Doctor;
import com.hospital.entity.Users;
import com.hospital.service.AdviceService;
import com.hospital.service.AsignService;
import com.hospital.service.DoctorService;
import com.hospital.service.UsersService;
import com.hospital.util.PageHelper;
import com.hospital.util.VeDate;//定义为控制器
@Controller
// 设置路径
@RequestMapping("/advice")
public class AdviceAction extends BaseAction {// 注入Service 由于标签的存在 所以不需要getter setter@Autowired@Resourceprivate AdviceService adviceService;@Autowired@Resourceprivate UsersService usersService;@Autowired@Resourceprivate DoctorService doctorService;@Autowired@Resourceprivate AsignService asignService;// 准备添加数据@RequestMapping("createAdvice.action")public String createAdvice(String id) {Asign asign = this.asignService.getAsignById(id);this.getRequest().setAttribute("asign", asign);return "admin/addadvice";}// 添加数据@RequestMapping("addAdvice.action")public String addAdvice(Advice advice) {advice.setAddtime(VeDate.getStringDateShort());this.adviceService.insertAdvice(advice);String asignid = this.getRequest().getParameter("asignid");Asign asign = this.asignService.getAsignById(asignid);asign.setStatus("完成");this.asignService.updateAsign(asign);return "redirect:/asign/getDoctorAsign.action";}// 通过主键删除数据@RequestMapping("deleteAdvice.action")public String deleteAdvice(String id) {this.adviceService.deleteAdvice(id);return "redirect:/advice/getAllAdvice.action";}// 批量删除数据@RequestMapping("deleteAdviceByIds.action")public String deleteAdviceByIds() {String[] ids = this.getRequest().getParameterValues("adviceid");for (String adviceid : ids) {this.adviceService.deleteAdvice(adviceid);}return "redirect:/advice/getAllAdvice.action";}// 更新数据@RequestMapping("updateAdvice.action")public String updateAdvice(Advice advice) {this.adviceService.updateAdvice(advice);return "redirect:/advice/getAllAdvice.action";}// 显示全部数据@RequestMapping("getAllAdvice.action")public String getAllAdvice(String number) {List<Advice> adviceList = this.adviceService.getAllAdvice();PageHelper.getPage(adviceList, "advice", null, null, 10, number, this.getRequest(), null);return "admin/listadvice";}@RequestMapping("getDoctorAdvice.action")public String getDoctorAdvice() {String doctorid = (String) this.getSession().getAttribute("adminid");Advice advice = new Advice();advice.setDoctorid(doctorid);List<Advice> adviceList = this.adviceService.getAdviceByCond(advice);this.getRequest().setAttribute("adviceList", adviceList);return "admin/xlistadvice";}// 按条件查询数据 (模糊查询)@RequestMapping("queryAdviceByCond.action")public String queryAdviceByCond(String cond, String name, String number) {Advice advice = new Advice();if (cond != null) {if ("ano".equals(cond)) {advice.setAno(name);}if ("usersid".equals(cond)) {advice.setUsersid(name);}if ("doctorid".equals(cond)) {advice.setDoctorid(name);}if ("contents".equals(cond)) {advice.setContents(name);}if ("addtime".equals(cond)) {advice.setAddtime(name);}}List<String> nameList = new ArrayList<String>();List<String> valueList = new ArrayList<String>();nameList.add(cond);valueList.add(name);PageHelper.getPage(this.adviceService.getAdviceByLike(advice), "advice", nameList, valueList, 10, number, this.getRequest(), "query");name = null;cond = null;return "admin/queryadvice";}// 按主键查询数据@RequestMapping("getAdviceById.action")public String getAdviceById(String id) {Advice advice = this.adviceService.getAdviceById(id);this.getRequest().setAttribute("advice", advice);List<Users> usersList = this.usersService.getAllUsers();this.getRequest().setAttribute("usersList", usersList);List<Doctor> doctorList = this.doctorService.getAllDoctor();this.getRequest().setAttribute("doctorList", doctorList);return "admin/editadvice";}public AdviceService getAdviceService() {return adviceService;}public void setAdviceService(AdviceService adviceService) {this.adviceService = adviceService;}}
package com.hospital.action;import java.io.IOException;
import java.io.PrintWriter;import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import com.hospital.entity.Drugs;
import com.hospital.entity.Sell;
import com.hospital.service.DrugsService;
import com.hospital.service.SellService;
import com.hospital.util.VeDate;//定义为控制器
@Controller
// 设置路径
@RequestMapping(value = "/ajax")
public class AjaxAction extends BaseAction {@Autowired@Resourceprivate SellService sellService;@Autowired@Resourceprivate DrugsService drugsService;@RequestMapping("save.action")public void save(HttpServletResponse response) {String str = this.getRequest().getParameter("str");System.out.println(str);String[] s = str.split(",");// 接收参数并转化成数组PrintWriter out = null;Drugs drugs = this.drugsService.getDrugsById(s[0]);Sell sell = new Sell();sell.setSellid("S" + VeDate.getStringId());sell.setDrugsid(s[0]);sell.setNum(s[1]);sell.setSno(s[2]);sell.setPrice(drugs.getPrice());sell.setTotal("" + (Double.parseDouble(sell.getNum()) * Double.parseDouble(sell.getPrice())));sell.setAddtime(VeDate.getStringDateShort());this.sellService.insertSell(sell);try {response.setCharacterEncoding("UTF-8");out = response.getWriter();} catch (IOException ex) {}out.write(sell.getSellid());out.close();}
}
package com.hospital.action;import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.hospital.entity.Article;
import com.hospital.service.ArticleService;
import com.hospital.entity.Banner;
import com.hospital.service.BannerService;
import com.hospital.util.PageHelper;
import com.hospital.util.VeDate;//定义为控制器
@Controller
// 设置路径
@RequestMapping("/article")
public class ArticleAction extends BaseAction {// 注入Service 由于标签的存在 所以不需要getter setter@Autowired@Resourceprivate ArticleService articleService;@Autowired@Resourceprivate BannerService bannerService;// 准备添加数据@RequestMapping("createArticle.action")public String createArticle() {List<Banner> bannerList = this.bannerService.getAllBanner();this.getRequest().setAttribute("bannerList", bannerList);return "admin/addarticle";}// 添加数据@RequestMapping("addArticle.action")public String addArticle(Article article) {article.setAddtime(VeDate.getStringDateShort());article.setHits("0");this.articleService.insertArticle(article);return "redirect:/article/createArticle.action";}// 通过主键删除数据@RequestMapping("deleteArticle.action")public String deleteArticle(String id) {this.articleService.deleteArticle(id);return "redirect:/article/getAllArticle.action";}// 批量删除数据@RequestMapping("deleteArticleByIds.action")public String deleteArticleByIds() {String[] ids = this.getRequest().getParameterValues("articleid");for (String articleid : ids) {this.articleService.deleteArticle(articleid);}return "redirect:/article/getAllArticle.action";}// 更新数据@RequestMapping("updateArticle.action")public String updateArticle(Article article) {this.articleService.updateArticle(article);return "redirect:/article/getAllArticle.action";}// 显示全部数据@RequestMapping("getAllArticle.action")public String getAllArticle(String number) {List<Article> articleList = this.articleService.getAllArticle();PageHelper.getPage(articleList, "article", null, null, 10, number, this.getRequest(), null);return "admin/listarticle";}// 按条件查询数据 (模糊查询)@RequestMapping("queryArticleByCond.action")public String queryArticleByCond(String cond, String name, String number) {Article article = new Article();if (cond != null) {if ("title".equals(cond)) {article.setTitle(name);}if ("bannerid".equals(cond)) {article.setBannerid(name);}if ("image".equals(cond)) {article.setImage(name);}if ("istop".equals(cond)) {article.setIstop(name);}if ("isflv".equals(cond)) {article.setIsflv(name);}if ("contents".equals(cond)) {article.setContents(name);}if ("addtime".equals(cond)) {article.setAddtime(name);}if ("hit".equals(cond)) {article.setHits(name);}}List<String> nameList = new ArrayList<String>();List<String> valueList = new ArrayList<String>();nameList.add(cond);valueList.add(name);PageHelper.getPage(this.articleService.getArticleByLike(article), "article", nameList, valueList, 10, number, this.getRequest(),"query");name = null;cond = null;return "admin/queryarticle";}// 按主键查询数据@RequestMapping("getArticleById.action")public String getArticleById(String id) {Article article = this.articleService.getArticleById(id);this.getRequest().setAttribute("article", article);List<Banner> bannerList = this.bannerService.getAllBanner();this.getRequest().setAttribute("bannerList", bannerList);return "admin/editarticle";}public ArticleService getArticleService() {return articleService;}public void setArticleService(ArticleService articleService) {this.articleService = articleService;}}
package com.hospital.action;import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.hospital.entity.Asign;
import com.hospital.service.AsignService;
import com.hospital.entity.Users;
import com.hospital.entity.Dept;
import com.hospital.entity.Doctor;
import com.hospital.service.UsersService;
import com.hospital.service.DeptService;
import com.hospital.service.DoctorService;
import com.hospital.util.PageHelper;
import com.hospital.util.VeDate;//定义为控制器
@Controller
// 设置路径
@RequestMapping("/asign")
public class AsignAction extends BaseAction {// 注入Service 由于标签的存在 所以不需要getter setter@Autowired@Resourceprivate AsignService asignService;@Autowired@Resourceprivate UsersService usersService;@Autowired@Resourceprivate DeptService deptService;@Autowired@Resourceprivate DoctorService doctorService;// 准备添加数据@RequestMapping("createAsign.action")public String createAsign() {List<Users> usersList = this.usersService.getAllUsers();this.getRequest().setAttribute("usersList", usersList);List<Dept> deptList = this.deptService.getAllDept();this.getRequest().setAttribute("deptList", deptList);List<Doctor> doctorList = this.doctorService.getAllDoctor();this.getRequest().setAttribute("doctorList", doctorList);return "admin/addasign";}// 添加数据@RequestMapping("addAsign.action")public String addAsign(Asign asign) {this.asignService.insertAsign(asign);return "redirect:/asign/createAsign.action";}// 通过主键删除数据@RequestMapping("deleteAsign.action")public String deleteAsign(String id) {this.asignService.deleteAsign(id);return "redirect:/asign/getAllAsign.action";}// 批量删除数据@RequestMapping("deleteAsignByIds.action")public String deleteAsignByIds() {String[] ids = this.getRequest().getParameterValues("asignid");for (String asignid : ids) {this.asignService.deleteAsign(asignid);}return "redirect:/asign/getAllAsign.action";}// 更新数据@RequestMapping("updateAsign.action")public String updateAsign(Asign asign) {this.asignService.updateAsign(asign);return "redirect:/asign/getAllAsign.action";}// 显示全部数据@RequestMapping("getAllAsign.action")public String getAllAsign(String number) {List<Asign> asignList = this.asignService.getAllAsign();PageHelper.getPage(asignList, "asign", null, null, 10, number, this.getRequest(), null);return "admin/listasign";}@RequestMapping("getDoctorAsign.action")public String getDoctorAsign() {String doctorid = (String) this.getSession().getAttribute("adminid");Asign asign = new Asign();asign.setDoctorid(doctorid);asign.setOrderdate(VeDate.getStringDateShort());asign.setStatus("未完成");List<Asign> asignList = this.asignService.getAllAsign();
//      List<Asign> asignList = this.asignService.getAsignByCond(asign);this.getRequest().setAttribute("asignList", asignList);return "admin/xlistasign";}// 按条件查询数据 (模糊查询)@RequestMapping("queryAsignByCond.action")public String queryAsignByCond(String cond, String name, String number) {Asign asign = new Asign();if (cond != null) {if ("ano".equals(cond)) {asign.setAno(name);}if ("usersid".equals(cond)) {asign.setUsersid(name);}if ("deptid".equals(cond)) {asign.setDeptid(name);}if ("doctorid".equals(cond)) {asign.setDoctorid(name);}if ("orderdate".equals(cond)) {asign.setOrderdate(name);}if ("status".equals(cond)) {asign.setStatus(name);}if ("memo".equals(cond)) {asign.setMemo(name);}}List<String> nameList = new ArrayList<String>();List<String> valueList = new ArrayList<String>();nameList.add(cond);valueList.add(name);PageHelper.getPage(this.asignService.getAsignByLike(asign), "asign", nameList, valueList, 10, number, this.getRequest(), "query");name = null;cond = null;return "admin/queryasign";}// 按主键查询数据@RequestMapping("getAsignById.action")public String getAsignById(String id) {Asign asign = this.asignService.getAsignById(id);this.getRequest().setAttribute("asign", asign);List<Users> usersList = this.usersService.getAllUsers();this.getRequest().setAttribute("usersList", usersList);List<Dept> deptList = this.deptService.getAllDept();this.getRequest().setAttribute("deptList", deptList);List<Doctor> doctorList = this.doctorService.getAllDoctor();this.getRequest().setAttribute("doctorList", doctorList);return "admin/editasign";}public AsignService getAsignService() {return asignService;}public void setAsignService(AsignService asignService) {this.asignService = asignService;}}

github

DandelionConvention

基于SSM的智慧问诊系统相关推荐

  1. java+jsp基于ssm的智慧医疗系统医院挂号就诊系统-计算机毕业设计

    项目介绍 随着计算机科技的快速发展,很多地方都实现了自动化管理,医院也不例外.在大多数医院,无论是挂号处,还是取药的窗口,都会看到有很长的队伍,很显然这样会让患者就医的过程中浪费太多的时间.其次,对于 ...

  2. java计算机毕业设计智慧问诊系统源码+数据库+系统+lw文档

    java计算机毕业设计智慧问诊系统源码+数据库+系统+lw文档 java计算机毕业设计智慧问诊系统源码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件: ...

  3. java-php-python-springboot智慧问诊系统计算机毕业设计

    java-php-python-springboot智慧问诊系统计算机毕业设计 java-php-python-springboot智慧问诊系统计算机毕业设计 本源码技术栈: 项目架构:B/S架构 开 ...

  4. 计算机毕业设计ssm社区智慧养老系统b0lh8系统+程序+源码+lw+远程部署

    计算机毕业设计ssm社区智慧养老系统b0lh8系统+程序+源码+lw+远程部署 计算机毕业设计ssm社区智慧养老系统b0lh8系统+程序+源码+lw+远程部署 本源码技术栈: 项目架构:B/S架构 开 ...

  5. 计算机毕业设计springboot智慧问诊系统

    最新计算机专业原创毕业设计参考选题都有源码+数据库是近期作品 [1] springboot智慧问诊系统 [2] jsp江淮果岭网站 [3] springboot点餐系统的设计与实现 [4] ssh招聘 ...

  6. 计算机毕业设计ssm基于ssm流浪宠物领养系统8xg84系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于ssm流浪宠物领养系统8xg84系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于ssm流浪宠物领养系统8xg84系统+程序+源码+lw+远程部署 本源码技术栈: 项目 ...

  7. 计算机毕业设计ssm基于SSM的基金门户系统57d89系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于SSM的基金门户系统57d89系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于SSM的基金门户系统57d89系统+程序+源码+lw+远程部署 本源码技术栈: 项目架构 ...

  8. KS008基于SSM的新闻发布系统

    本项目基于SSM框架实现新闻系统,开发工具为IDEA / MYECLIPSE,数据库为MYSQL.前端使用JSP+bootstrap实现页面布局. 具体主要功能模块包括: 新闻前端:相关数据展示 首页 ...

  9. java项目-第71期基于ssm的化妆品商城系统【毕业设计】

    java项目-第71期基于ssm的化妆品商城系统 1.项目简述 网上化妆品商城系统, 前台+后台管理,用户注册,登录,商品展示, 分组展示,搜索,收货地址管理, 购物车管理,添加,购买,个人信息修改. ...

最新文章

  1. python在财务中的应用实训报告-实践应用|PyQt5制作雪球网股票数据爬虫工具
  2. 一张图看懂数据防泄漏
  3. 小程序之点击跳转到对应内容
  4. 计算机专业能进教育局吗,教育局一般招什么专业
  5. Pow(x, n) leetcode
  6. 7. jQuery 效果 - 滑动
  7. mswinsck.ocx 一个文件丢失或无效_AutoCAD文件修复的10种方法
  8. windows服务器远程端口,查看和修改Windows服务器远程桌面的默认端口
  9. 猴子偷桃(Java实现)
  10. 笔记本连接外接显示器后耳机没有声音
  11. tipask 问答系统 如何设置第三方一键登录
  12. 微信10亿日活场景下,后台系统微服务架构实践
  13. PHP 生成随机昵称或用户名
  14. android+播放器+遥控,遥控大师安卓客户端
  15. 我的世界-03-从小型机到个人计算机的发展简史(下)
  16. LayBox官斗精品手游《勇者名录》完整源码下载 前端laybox typeScipt脚本开发 后端php开发
  17. Unity UI带阴影的切图 某些角度出现黑边解决方案
  18. 伯恩PAC人格结构理论(转载)
  19. Secondary NameNode和Standby NameNde的区别
  20. dell服务器装win10显示gtp,安装Wind10时出现“此硬盘含有MBR分区,系统需安装在GTP分区”的解决办法...

热门文章

  1. 学Java对一个专科生,对一个穷人来说,是一条好的出路吗?
  2. 朴实无华的取证 (数字取证)
  3. 吐血整理-周志华演讲合集
  4. 七夕王者服务器维护什么时间结束,王者荣耀2020七夕活动什么时候结束?七夕情人节活动结束时间[多图]...
  5. Java面试题总结及答案总结
  6. php用户注销代码,php注销代码(session注销)
  7. 欢迎潍坊市委组织部副部长都焕德一行莅临润达软件考察指导
  8. Tcl异常处理命令之try、throw
  9. VSCode安装TinyPNG,并配置api key
  10. 实时系统中的MCS模式和Sporadic Server算法