医院门诊预约挂号系统 毕业设计 JAVA+Vue+SpringBoot+MySQL(二)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 医院门诊预约挂号系统 毕业设计 JAVA+Vue+SpringBoot+MySQL


五、核心代码

5.1 查询医生

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询医生")
public Result<IPage<Doctor>> getByPage(@ModelAttribute Doctor doctor,@ModelAttribute PageVo page){
    QueryWrapper<Doctor> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(doctor.getDoctorName())) {
        qw.like("doctor_name",doctor.getDoctorName());
    }
    if(!ZwzNullUtils.isNull(doctor.getPostLevel())) {
        qw.eq("post_level",doctor.getPostLevel());
    }
    if(!ZwzNullUtils.isNull(doctor.getSubjectId())) {
        qw.eq("subject_id",doctor.getSubjectId());
    }
    if(!ZwzNullUtils.isNull(doctor.getNoeDate()) && Objects.equals(doctor.getNoeDate(),"是")) {
        qw.inSql("id","SELECT id FROM t_doctor WHERE id IN(SELECT DISTINCT doctor_id FROM t_doctor_scheduling WHERE DATE = '" + DateUtil.today() + "')");
    }
    return new ResultUtil<IPage<Doctor>>().setData(iDoctorService.page(PageUtil.initMpPage(page),qw));
}

5.2 医生放号

@RequestMapping(value = "/addNumber", method = RequestMethod.POST)
@ApiOperation(value = "医生放号")
public Result<Object> addNumber(@RequestParam String doctorId,@RequestParam String date,@RequestParam int step,@RequestParam int number){
    Doctor doctor = iDoctorService.getById(doctorId);
    if(doctor == null) {
        return ResultUtil.error("医生不存在");
    }
    if(number < 1) {
        return ResultUtil.error("放号数必须大于0");
    }
    for(int i = 1 ; i <= number; i ++) {
        DoctorScheduling ds = new DoctorScheduling();
        ds.setDoctorId(doctor.getId());
        ds.setDoctorName(doctor.getDoctorName());
        ds.setNumber(i + "");
        ds.setStep(step + "");
        ds.setDate(date);
        ds.setOrderFlag(0);
        iDoctorSchedulingService.saveOrUpdate(ds);
    }
    return ResultUtil.success("放号成功");
}

5.3 置顶医院新闻

@RequestMapping(value = "/set_top_by_id", method = RequestMethod.POST)
@ApiOperation(value = "置顶医院新闻")
public Result<Boolean> setTopById(@RequestParam String id){
    HospitalNews appDynamicNew=iHospitalNewsService.getById(id);
    if(appDynamicNew==null) {
        return ResultUtil.error("该动态信息不存在");
    }
    if(appDynamicNew.getIsTop().equals("yes")) {
        appDynamicNew.setIsTop("no");
    }
    else {
        appDynamicNew.setIsTop("yes");
    }
    if(!iHospitalNewsService.saveOrUpdate(appDynamicNew)) {
        return ResultUtil.error("设置失败");
    }
    return ResultUtil.success("设置成功");
}

5.4 查询我的挂号数据

@RequestMapping(value = "/getMyOrderList", method = RequestMethod.POST)
@ApiOperation(value = "查询我的挂号")
public Result<IPage<HospitalOrder>> getMyOrderList(@ModelAttribute HospitalOrder order,@ModelAttribute PageVo page){
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<HospitalOrder> qw = new QueryWrapper<>();
    qw.eq("user_id",currUser.getId());
    qw.orderByDesc("create_time");
    if(!ZwzNullUtils.isNull(order.getDateTime())) {
        qw.eq("date_time",order.getDateTime());
    }
    if(!ZwzNullUtils.isNull(order.getDoctorName())) {
        qw.like("doctor_name",order.getDoctorName());
    }
    return new ResultUtil<IPage<HospitalOrder>>().setData(iHospitalOrderService.page(PageUtil.initMpPage(page),qw));
}

5.5 预约挂号

@RequestMapping(value = "/addOrder", method = RequestMethod.POST)
@ApiOperation(value = "新增挂号")
public Result<Object> addOrder(@RequestParam String orderId){
    User currUser = securityUtil.getCurrUser();
    DoctorScheduling ds = iDoctorSchedulingService.getById(orderId);
    if(ds == null) {
        return ResultUtil.error("号源不存在");
    }
    if(ds.getOrderFlag() > 0) {
        return ResultUtil.error("您手慢拉,该号已被别人预约!");
    }
    Doctor doctor = iDoctorService.getById(ds.getDoctorId());
    if(doctor == null) {
        return ResultUtil.error("医生不存在");
    }
    ds.setOrderFlag(1);
    iDoctorSchedulingService.saveOrUpdate(ds);
    HospitalOrder ho = new HospitalOrder();
    ho.setUserId(currUser.getId());
    ho.setUserName(currUser.getNickname());
    ho.setOrderId(ds.getId());
    ho.setNumber(ds.getNumber());
    ho.setStep(ds.getStep());
    ho.setDateTime(ds.getDate());
    ho.setDoctorId(ds.getDoctorId());
    ho.setDoctorName(ds.getDoctorName());
    ho.setMoneyData(doctor.getOrderMoney());
    iHospitalOrderService.saveOrUpdate(ho);
    return ResultUtil.success("预约成功!");
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
176 1
|
1天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
115 62
|
6天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
52 13
|
14天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
80 2
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用
【10月更文挑战第8天】本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,通过 Spring Initializr 创建并配置 Spring Boot 项目,实现后端 API 和安全配置。接着,使用 Ant Design Pro Vue 脚手架创建前端项目,配置动态路由和菜单,并创建相应的页面组件。最后,通过具体实践心得,分享了版本兼容性、安全性、性能调优等注意事项,帮助读者快速搭建高效且易维护的应用框架。
57 3
|
1月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
45 0
|
2月前
|
缓存 Java 程序员
Java|SpringBoot 项目开发时,让 FreeMarker 文件编辑后自动更新
在开发过程中,FreeMarker 文件编辑后,每次都需要重启应用才能看到效果,效率非常低下。通过一些配置后,可以让它们免重启自动更新。
39 0
下一篇
DataWorks