项目基本描述:

分为管理员、医生、病人、药剂师、收费员五种角色。

管理员:管理药品,管理检查项目,管理角色权限,管理用户信息,数据统计报表(挂号费、药品销售的日统计、月统计等)。

医生:审核挂号信息,接诊,开药,开检查单等。

病人:挂号,查看当前排队人数等。

药剂师:药品管理,取药等。

收费员:挂号,收费,管理缴费信息等。

技术选型

前端:

  • 核心技术:Vue 3 + Vite Arco DesignVue组件库Vue Router路由管理,Axios请求封装

  • 特点:JWT token认证, 模块化开发,响应式布局,数据可视化(ECharts)

后端:

  • 核心技术:Spring Boot,MyBatis + MySQL,JWT认证,PageHelper分页,Knife4J接口文档,AOP权限控制

  • 特点:RESTful API,统一响应格式,全局异常处理,权限拦截器,自定义切面注解

主要功能

  • 用户认证与权限控制

  • 预约挂号管理

  • 处方和药品管理

  • 订单支付功能

  • 数据统计分析

库表设计

examination表

字段名

数据类型

默认值

约束

id

bigint

检查项目ID

name

varchar(100)

检查项目名称

price

decimal(10,2)

NULL

检查费用

description

text

NULL

项目描述

status

tinyint

1

状态(0:停用, 1:启用)

create_time

datetime

CURRENT_TIMESTAMP

创建时间

examination_order表

字段名

数据类型

默认值

描述

id

bigint

检查订单ID

registration_id

bigint

关联挂号ID

patient_id

bigint

患者ID

doctor_id

bigint

医生ID

total_amount

decimal(10,2)

NULL

总金额

status

tinyint

NULL

状态(0:未完成, 1:已完成)

create_time

datetime

CURRENT_TIMESTAMP

创建时间

examination_order_detail表

字段名

数据类型

默认值

描述

id

bigint

检查单明细ID

order_id

bigint

检查单ID

examination_id

bigint

检查项目ID

amount

decimal(10,2)

NULL

项目金额

medicine表

字段名

数据类型

默认值

描述

id

bigint

AUTO_INCREMENT

主键

name

varchar(100)

NOT NULL

药品名称

specification

varchar(100)

NULL

规格

unit

varchar(20)

NULL

单位

price

decimal(10, 2)

NULL

单价

stock

int

DEFAULT 0

库存量

min_stock

int

DEFAULT 0

最小库存量

status

tinyint

DEFAULT 1

状态(0: 下架, 1: 上架)

create_time

datetime

CURRENT_TIMESTAMP

创建时间

update_time

datetime

CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

medicine_stock_record表

字段名

数据类型

默认值

描述

id

bigint

AUTO_INCREMENT

主键

medicine_id

bigint

NOT NULL

药品ID

change_quantity

int

NOT NULL

变动数量(正数入库,负数出库)

operator_id

bigint

NOT NULL

操作人ID

operation_type

tinyint

NULL

操作类型(1: 入库, 2: 出库, 3: 盘点)

remark

varchar(200)

NULL

备注

create_time

datetime

CURRENT_TIMESTAMP

创建时间

order表

字段名

数据类型

默认值

描述

id

bigint

AUTO_INCREMENT

主键

registration_id

bigint

NOT NULL

关联挂号ID

patient_id

bigint

NOT NULL

患者ID

doctor_id

bigint

NOT NULL

医生ID

registration_fee

decimal(10, 2)

NOT NULL

挂号费

examination_info

json

NULL

检查项目信息JSON

prescription_info

json

NULL

处方药品信息JSON

total_amount

decimal(10, 2)

NOT NULL

总金额

status

tinyint

DEFAULT 0

状态(0: 未支付, 1: 已支付)

payment_method

tinyint

NULL

支付方式(1: 现金, 2: 微信, 3: 支付宝)

payment_time

datetime

NULL

支付时间

create_time

datetime

CURRENT_TIMESTAMP

创建时间

prescription表

字段名

数据类型

默认值

描述

id

bigint

AUTO_INCREMENT

主键

registration_id

bigint

NOT NULL

关联挂号ID

patient_id

bigint

NOT NULL

患者ID

doctor_id

bigint

NOT NULL

医生ID

diagnosis

text

NULL

诊断结果

treatment

text

NULL

治疗方案

total_amount

decimal(10, 2)

NULL

总金额

status

tinyint

NULL

状态(0: 未取药, 1: 已取药)

create_time

datetime

CURRENT_TIMESTAMP

创建时间

prescription_detail表

字段名

数据类型

默认值

描述

id

bigint

AUTO_INCREMENT

主键

prescription_id

bigint

NOT NULL

处方ID

medicine_id

bigint

NOT NULL

药品ID

quantity

int

NOT NULL

数量

subtotal

decimal(10, 2)

NULL

小计金额

registration表

字段名

数据类型

默认值

描述

id

bigint

AUTO_INCREMENT

主键

patient_id

bigint

NOT NULL

患者ID

doctor_id

bigint

NULL

医生ID

registration_time

datetime

NULL

预约时间

fee

decimal(10, 2)

NULL

挂号费

status

tinyint

NULL

状态(0: 待就诊, 1: 就诊中, 2: 已完成, 3: 已取消)

symptoms

text

NULL

症状描述

create_time

datetime

CURRENT_TIMESTAMP

创建时间

role表

字段名

数据类型

默认值

描述

id

int

AUTO_INCREMENT

主键

role_name

varchar(50)

NOT NULL

角色名称

role_desc

varchar(100)

NULL

角色描述

create_time

datetime

CURRENT_TIMESTAMP

创建时间

user表

字段名

数据类型

默认值

描述

id

bigint

AUTO_INCREMENT

主键

username

varchar(50)

NOT NULL

用户名

password

varchar(100)

NOT NULL

密码

real_name

varchar(50)

NULL

真实姓名

phone

varchar(20)

NULL

联系电话

role_id

int

NOT NULL

角色ID

status

tinyint

DEFAULT 1

状态(0: 禁用, 1: 启用)

create_time

datetime

DEFAULT CURRENT_TIMESTAMP

创建时间

update_time

datetime

DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

索引

UNIQUE (username)

唯一索引:用户名