# RuoYi-Vue **Repository Path**: zl919/RuoYi-Vue ## Basic Information - **Project Name**: RuoYi-Vue - **Description**: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: http://ruoyi.vip - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 31788 - **Created**: 2025-12-09 - **Last Updated**: 2025-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

RuoYi v3.9.0

基于SpringBoot+Vue前后端分离的Java快速开发框架

## 平台简介 若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。 * 前端采用Vue、Element UI。 * 后端采用Spring Boot、Spring Security、Redis & Jwt。 * 权限认证使用Jwt,支持多终端认证系统。 * 支持加载动态权限菜单,多方式轻松权限控制。 * 高效率开发,使用代码生成器可以一键生成前后端代码。 * 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://gitcode.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。 * 提供了单应用版本[RuoYi-Vue-fast](https://gitcode.com/yangzongzhuan/RuoYi-Vue-fast),Oracle版本[RuoYi-Vue-Oracle](https://gitcode.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。 * 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud) * 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)   ## 内置功能 1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 3. 岗位管理:配置系统用户所属担任职务。 4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7. 参数管理:对系统动态配置常用参数。 8. 通知公告:系统通知公告信息发布维护。 9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10. 登录日志:系统登录日志记录查询包含登录异常。 11. 在线用户:当前系统中活跃用户状态监控。 12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 14. 系统接口:根据业务代码自动生成相关的api接口文档。 15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 16. 缓存监控:对系统的缓存信息查询,命令统计等。 17. 在线构建器:拖动表单元素生成相应的HTML代码。 18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 ## **医院门诊管理系统 - 代码结构总览** ``` 前端 ruoyi-ui/ ├── src/ │ ├── api/ │ │ └── hospital/ │ │ ├── appointment.js # 预约API │ │ ├── doctor.js # 医生API │ │ └── patient.js # 患者API │ ├── views/ │ │ ├── hospital/ # 医院管理端页面 │ │ │ ├── appointment/ │ │ │ │ └── index.vue # 预约管理页面 │ │ │ └── doctor/ │ │ │ └── index.vue # 医生管理页面 │ │ └── patient/ # 患者端页面 │ │ ├── appointment/ │ │ │ └── index.vue # 我的预约页面 │ │ └── profile/ │ │ └── index.vue # 我的信息页面 后端 ruoyi-admin/ └── src/ └── main/ ├── java/ │ └── com/ │ └── ruoyi/ │ ├── controller/hospital/ │ │ ├── AppointmentController.java │ │ ├── DoctorController.java │ │ └── PatientController.java │ ├── domain/hospital/ │ │ ├── Appointment.java │ │ ├── Doctor.java │ │ └── Patient.java │ ├── mapper/hospital/ │ │ ├── AppointmentMapper.java │ │ ├── DoctorMapper.java │ │ └── PatientMapper.java │ └── service/hospital/ │ ├── IAppointmentService.java │ ├── IDoctorService.java │ ├── IPatientService.java │ └── impl/ │ ├── AppointmentServiceImpl.java │ ├── DoctorServiceImpl.java │ └── PatientServiceImpl.java └── resources/mapper/hospital/ ├── AppointmentMapper.xml ├── DoctorMapper.xml └── PatientMapper.xml ``` ### 1. **实体类(Domain)** 定义了系统的核心业务对象: - **Appointment.java** - 预约实体 - **Doctor.java** - 医生实体 - **Patient.java** - 患者实体 - **Schedule.java** - 排班实体 - **Diagnosis.java** - 诊断报告实体 - **UserVO.java** - 用户视图对象 - **BatchScheduleRequest.java** - 批量排班请求对象 ### 2. **数据访问层(Mapper层)** 包含接口和XML映射文件: #### **Mapper接口**: - `AppointmentMapper.java` - 预约数据访问接口 - `DoctorMapper.java` - 医生数据访问接口 - `PatientMapper.java` - 患者数据访问接口 - `ScheduleMapper.java` - 排班数据访问接口 - `DiagnosisMapper.java` - 诊断报告数据访问接口 #### **XML映射文件**: - `AppointmentMapper.xml` - `DoctorMapper.xml` - `PatientMapper.xml` - `ScheduleMapper.xml` - `DiagnosisMapper.xml` ### 3. **服务层(Service层)** 业务逻辑处理: #### **Service接口**: - `IAppointmentService.java` - 预约服务接口 - `IDoctorService.java` - 医生服务接口 - `IPatientService.java` - 患者服务接口 - `IScheduleService.java` - 排班服务接口 - `IDiagnosisService.java` - 诊断报告服务接口 - `IDashboardService.java` - 仪表盘服务接口 #### **Service实现**: - `AppointmentServiceImpl.java` - `DoctorServiceImpl.java` - `PatientServiceImpl.java` - `ScheduleServiceImpl.java` - `DiagnosisServiceImpl.java` - `DashboardServiceImpl.java` ### 4. **控制层(Controller层)** 处理HTTP请求: - `AppointmentController.java` - 预约管理控制器 - `DoctorController.java` - 医生管理控制器 - `PatientController.java` - 患者管理控制器 - `ScheduleController.java` - 排班管理控制器 - `DiagnosisController.java` - 诊断报告控制器 ### 5. **数据库相关** - **ry-vue.sql** - 完整的MySQL数据库建表脚本,包含: - 系统基础表(sys_*) - 医院业务表(hospital_*) - Quartz定时任务表(qrtz_*) ## **核心业务模块功能** ### **1. 预约管理模块** - 患者预约挂号 - 医生排班查询 - 预约状态管理(待确认、已确认、已完成、已取消) ### **2. 医生管理模块** - 医生信息维护 - 科室医生查询 - 医生排班管理 ### **3. 患者管理模块** - 患者信息管理 - 患者档案维护 - 个人预约查询 ### **4. 排班管理模块** - 医生排班设置 - 批量排班生成 - 排班状态管理 ### **5. 仪表盘模块** - 管理员仪表盘(统计数据) - 医生仪表盘(今日预约、待处理诊断) - 患者仪表盘(我的预约、健康记录) ## 🔗 **表结构核心关联** text ``` sys_user (系统用户表) ├── hospital_doctor (医生信息表) - user_id关联 └── hospital_patient (患者信息表) - user_id关联 hospital_doctor ├── hospital_schedule (医生排班表) - doctor_id关联 └── hospital_appointment (预约表) - doctor_id关联 hospital_patient └── hospital_appointment (预约表) - patient_id关联 hospital_appointment └── hospital_diagnosis (诊断报告表) - appointment_id关联 ``` ## ⚙️ **技术特点** 1. **基于RuoYi-Vue框架** - 使用Spring Boot + MyBatis + Vue.js 2. **RBAC权限控制** - 基于角色(admin、doctor、patient)的权限管理 3. **模块化设计** - 各业务模块独立,便于维护和扩展 4. **前后端分离** - 前端使用Vue.js,后端提供RESTful API 5. **完整的业务流** - 从预约→排班→就诊→诊断的全流程管理 ## **运行项目** 1. #### 运行后端程序 运行RuoYi-Vue\bin\run.bat文件 2. #### 运行前端程序 运行RuoYi-Vue\ruoyi-ui\bin\run-web.bat文件 #### 管理员账号 用户名:admin 密码:admin123 #### 医生账号 用户名:张医生 密码:111111 #### 患者账号 用户名:张三 密码:111111