add
This commit is contained in:
@@ -26,6 +26,8 @@ public class AppointmentController {
|
||||
AuthUser user = SecurityUtils.currentUser();
|
||||
if (user != null && "CUSTOMER".equals(user.getRole())) {
|
||||
appointment.setCustomerId(user.getId());
|
||||
} else if (appointment.getCustomerId() == null) {
|
||||
return ApiResponse.error(400, "customerId required");
|
||||
}
|
||||
if (appointment.getStatus() == null) {
|
||||
appointment.setStatus("PENDING");
|
||||
|
||||
@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.gpf.pethospital.common.ApiResponse;
|
||||
import com.gpf.pethospital.entity.Notice;
|
||||
import com.gpf.pethospital.security.AuthUser;
|
||||
import com.gpf.pethospital.service.NoticeService;
|
||||
import com.gpf.pethospital.util.SecurityUtils;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -42,6 +44,15 @@ public class NoticeController {
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
@PostMapping("/notices")
|
||||
public ApiResponse<?> create(@RequestBody Notice notice) {
|
||||
if (notice.getPublisherId() == null) {
|
||||
AuthUser user = SecurityUtils.currentUser();
|
||||
if (user != null) {
|
||||
notice.setPublisherId(user.getId());
|
||||
}
|
||||
}
|
||||
if (notice.getPublisherId() == null) {
|
||||
return ApiResponse.error(400, "publisherId required");
|
||||
}
|
||||
if (notice.getStatus() == null) {
|
||||
notice.setStatus(1);
|
||||
}
|
||||
|
||||
@@ -38,6 +38,8 @@ public class PetController {
|
||||
AuthUser user = SecurityUtils.currentUser();
|
||||
if (user != null && "CUSTOMER".equals(user.getRole())) {
|
||||
pet.setOwnerId(user.getId());
|
||||
} else if (pet.getOwnerId() == null) {
|
||||
return ApiResponse.error(400, "ownerId required");
|
||||
}
|
||||
petService.save(pet);
|
||||
return ApiResponse.success("created", null);
|
||||
|
||||
@@ -55,8 +55,11 @@ public class StatsController {
|
||||
wrapper.select("SUM(amount) AS total");
|
||||
List<Map<String, Object>> result = orderService.listMaps(wrapper);
|
||||
BigDecimal total = BigDecimal.ZERO;
|
||||
if (!result.isEmpty() && result.get(0).get("total") != null) {
|
||||
total = new BigDecimal(result.get(0).get("total").toString());
|
||||
if (!result.isEmpty()) {
|
||||
Map<String, Object> row = result.get(0);
|
||||
if (row != null && row.get("total") != null) {
|
||||
total = new BigDecimal(row.get("total").toString());
|
||||
}
|
||||
}
|
||||
data.put("orderAmountTotal", total);
|
||||
return ApiResponse.success(data);
|
||||
|
||||
@@ -46,7 +46,8 @@ public class PrescriptionItem {
|
||||
/**
|
||||
* 用法用量
|
||||
*/
|
||||
private String usage;
|
||||
@TableField("usage_desc")
|
||||
private String usageDesc;
|
||||
|
||||
/**
|
||||
* 用药天数
|
||||
|
||||
@@ -9,9 +9,9 @@ spring:
|
||||
|
||||
datasource:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://localhost:3306/pet_hospital_dev?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
|
||||
url: jdbc:mysql://localhost:3307/pet_hospital_dev?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: password
|
||||
password: qq5211314
|
||||
hikari:
|
||||
maximum-pool-size: 20
|
||||
minimum-idle: 10
|
||||
@@ -30,7 +30,7 @@ spring:
|
||||
|
||||
sql:
|
||||
init:
|
||||
mode: always
|
||||
mode: never
|
||||
schema-locations: classpath*:schema.sql
|
||||
data-locations: classpath*:data.sql
|
||||
|
||||
|
||||
@@ -58,7 +58,13 @@ CREATE TABLE IF NOT EXISTS prescription_item (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
prescription_id BIGINT NOT NULL,
|
||||
drug_id BIGINT NOT NULL,
|
||||
drug_name VARCHAR(100),
|
||||
specification VARCHAR(100),
|
||||
quantity INT NOT NULL,
|
||||
usage_desc VARCHAR(200),
|
||||
days INT,
|
||||
unit_price DECIMAL(10,2),
|
||||
subtotal DECIMAL(10,2),
|
||||
dosage VARCHAR(100),
|
||||
frequency VARCHAR(50),
|
||||
duration VARCHAR(50),
|
||||
@@ -92,6 +98,12 @@ CREATE TABLE IF NOT EXISTS drug (
|
||||
specification VARCHAR(100),
|
||||
unit_price DECIMAL(10,2),
|
||||
stock_quantity INT DEFAULT 0,
|
||||
stock INT DEFAULT 0,
|
||||
alert_threshold INT,
|
||||
purchase_price DECIMAL(10,2),
|
||||
sale_price DECIMAL(10,2),
|
||||
approval_number VARCHAR(100),
|
||||
expiry_date TIMESTAMP NULL,
|
||||
unit VARCHAR(20),
|
||||
status INT DEFAULT 1,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
@@ -150,6 +162,14 @@ CREATE TABLE IF NOT EXISTS `user` (
|
||||
CREATE TABLE IF NOT EXISTS medical_record (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
visit_id BIGINT NOT NULL,
|
||||
chief_complaint TEXT,
|
||||
present_illness TEXT,
|
||||
physical_examination TEXT,
|
||||
examination_results TEXT,
|
||||
diagnosis TEXT,
|
||||
treatment_plan TEXT,
|
||||
advice TEXT,
|
||||
status VARCHAR(20),
|
||||
record_type VARCHAR(50), -- CHECKUP体检, DIAGNOSIS诊断, TREATMENT治疗
|
||||
content TEXT,
|
||||
attachment_urls TEXT,
|
||||
@@ -162,11 +182,18 @@ CREATE TABLE IF NOT EXISTS medical_record (
|
||||
-- 检查并创建message表
|
||||
CREATE TABLE IF NOT EXISTS message (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id BIGINT,
|
||||
user_name VARCHAR(100),
|
||||
contact VARCHAR(100),
|
||||
title VARCHAR(200),
|
||||
sender_id BIGINT,
|
||||
receiver_id BIGINT NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
type VARCHAR(20) DEFAULT 'NOTICE', -- NOTICE通知, CHAT聊天
|
||||
status VARCHAR(20) DEFAULT 'UNREAD', -- UNREAD未读, READ已读
|
||||
reply TEXT,
|
||||
reply_time TIMESTAMP NULL,
|
||||
reply_user_id BIGINT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
@@ -177,6 +204,7 @@ CREATE TABLE IF NOT EXISTS notice (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
title VARCHAR(200) NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
is_top INT DEFAULT 0,
|
||||
publisher_id BIGINT NOT NULL,
|
||||
publish_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
status INT DEFAULT 1,
|
||||
@@ -188,6 +216,13 @@ CREATE TABLE IF NOT EXISTS notice (
|
||||
-- 检查并创建report表
|
||||
CREATE TABLE IF NOT EXISTS report (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
visit_id BIGINT,
|
||||
pet_id BIGINT,
|
||||
type VARCHAR(50),
|
||||
title VARCHAR(200),
|
||||
summary TEXT,
|
||||
attachment_url VARCHAR(255),
|
||||
doctor_id BIGINT,
|
||||
report_type VARCHAR(50) NOT NULL, -- REVENUE收入, CUSTOMER客户, PET宠物, DRUG药品
|
||||
report_data JSON,
|
||||
period_start DATE,
|
||||
@@ -206,6 +241,7 @@ CREATE TABLE IF NOT EXISTS stock_in (
|
||||
unit_price DECIMAL(10,2),
|
||||
supplier VARCHAR(100),
|
||||
operator_id BIGINT,
|
||||
stock_in_time TIMESTAMP NULL,
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
@@ -216,10 +252,12 @@ CREATE TABLE IF NOT EXISTS stock_in (
|
||||
CREATE TABLE IF NOT EXISTS stock_out (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
drug_id BIGINT NOT NULL,
|
||||
prescription_id BIGINT,
|
||||
quantity INT NOT NULL,
|
||||
unit_price DECIMAL(10,2),
|
||||
purpose VARCHAR(100), -- 用途:销售、损耗等
|
||||
operator_id BIGINT,
|
||||
stock_out_time TIMESTAMP NULL,
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
@@ -230,6 +268,10 @@ CREATE TABLE IF NOT EXISTS stock_out (
|
||||
CREATE TABLE IF NOT EXISTS vaccine_record (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
pet_id BIGINT NOT NULL,
|
||||
type VARCHAR(20), -- VACCINE疫苗, DEWORMING驱虫
|
||||
item_name VARCHAR(100),
|
||||
execute_date DATE,
|
||||
next_reminder_date DATE,
|
||||
vaccine_name VARCHAR(100) NOT NULL,
|
||||
dose_number INT,
|
||||
injection_date DATE,
|
||||
@@ -239,4 +281,4 @@ CREATE TABLE IF NOT EXISTS vaccine_record (
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
);
|
||||
|
||||
@@ -8,33 +8,30 @@ spring:
|
||||
name: pet-hospital
|
||||
|
||||
datasource:
|
||||
driver-class-name: org.h2.Driver
|
||||
url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=MYSQL;
|
||||
username: sa
|
||||
password: password
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://localhost:3307/pet_hospital_dev?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: qq5211314
|
||||
hikari:
|
||||
maximum-pool-size: 10
|
||||
minimum-idle: 5
|
||||
maximum-pool-size: 20
|
||||
minimum-idle: 10
|
||||
connection-timeout: 30000
|
||||
idle-timeout: 600000
|
||||
max-lifetime: 1800000
|
||||
|
||||
jackson:
|
||||
time-zone: GMT+8
|
||||
date-format: yyyy-MM-dd HH:mm:ss
|
||||
|
||||
h2:
|
||||
console:
|
||||
enabled: true
|
||||
path: /h2-console
|
||||
|
||||
jpa:
|
||||
hibernate:
|
||||
ddl-auto: create-drop
|
||||
ddl-auto: update
|
||||
show-sql: true
|
||||
|
||||
sql:
|
||||
init:
|
||||
mode: always
|
||||
schema-locations: classpath*:schema-h2.sql
|
||||
mode: never
|
||||
schema-locations: classpath*:schema.sql
|
||||
data-locations: classpath*:data.sql
|
||||
|
||||
mybatis-plus:
|
||||
|
||||
@@ -25,6 +25,10 @@ mybatis-plus:
|
||||
logic-not-delete-value: 0
|
||||
mapper-locations: classpath*:mapper/**/*.xml
|
||||
|
||||
# 数据库配置
|
||||
database:
|
||||
type: mysql
|
||||
|
||||
# JWT配置
|
||||
jwt:
|
||||
secret: pet-hospital-secret-key-2024-guanpengfei-graduate-design
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,242 +0,0 @@
|
||||
-- 如果表不存在则创建表,如果存在则添加缺失的列
|
||||
|
||||
-- 检查并创建appointment表或添加缺失列
|
||||
CREATE TABLE IF NOT EXISTS appointment (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
customer_id BIGINT NOT NULL,
|
||||
pet_id BIGINT NOT NULL,
|
||||
doctor_id BIGINT,
|
||||
department VARCHAR(50),
|
||||
appointment_date DATE,
|
||||
time_slot VARCHAR(20), -- 添加这个缺失的列
|
||||
status VARCHAR(20) DEFAULT 'PENDING',
|
||||
remark TEXT,
|
||||
cancel_time TIMESTAMP NULL,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建visit表
|
||||
CREATE TABLE IF NOT EXISTS visit (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
appointment_id BIGINT,
|
||||
customer_id BIGINT NOT NULL,
|
||||
pet_id BIGINT NOT NULL,
|
||||
doctor_id BIGINT NOT NULL,
|
||||
symptoms TEXT,
|
||||
diagnosis TEXT,
|
||||
treatment_plan TEXT,
|
||||
status VARCHAR(20) DEFAULT 'PENDING',
|
||||
total_amount DECIMAL(10,2),
|
||||
payment_status VARCHAR(20) DEFAULT 'UNPAID',
|
||||
payment_method VARCHAR(20),
|
||||
payment_time TIMESTAMP NULL,
|
||||
start_time TIMESTAMP,
|
||||
end_time TIMESTAMP,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建prescription表
|
||||
CREATE TABLE IF NOT EXISTS prescription (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
visit_id BIGINT,
|
||||
doctor_id BIGINT,
|
||||
customer_id BIGINT,
|
||||
total_amount DECIMAL(10,2),
|
||||
status VARCHAR(20) DEFAULT 'DRAFT',
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建prescription_item表
|
||||
CREATE TABLE IF NOT EXISTS prescription_item (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
prescription_id BIGINT NOT NULL,
|
||||
drug_id BIGINT NOT NULL,
|
||||
quantity INT NOT NULL,
|
||||
dosage VARCHAR(100),
|
||||
frequency VARCHAR(50),
|
||||
duration VARCHAR(50),
|
||||
usage_instructions TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建order_info表
|
||||
CREATE TABLE IF NOT EXISTS order_info (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
visit_id BIGINT,
|
||||
customer_id BIGINT NOT NULL,
|
||||
amount DECIMAL(10,2),
|
||||
status VARCHAR(20) DEFAULT 'UNPAID',
|
||||
payment_method VARCHAR(20),
|
||||
payment_time TIMESTAMP NULL,
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建drug表
|
||||
CREATE TABLE IF NOT EXISTS drug (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
category VARCHAR(50),
|
||||
manufacturer VARCHAR(100),
|
||||
specification VARCHAR(100),
|
||||
unit_price DECIMAL(10,2),
|
||||
stock_quantity INT DEFAULT 0,
|
||||
unit VARCHAR(20),
|
||||
status INT DEFAULT 1,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建pet表
|
||||
CREATE TABLE IF NOT EXISTS pet (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
owner_id BIGINT NOT NULL,
|
||||
name VARCHAR(50) NOT NULL,
|
||||
species VARCHAR(50),
|
||||
breed VARCHAR(100),
|
||||
gender VARCHAR(10), -- 修改为VARCHAR以支持MALE/FEMALE
|
||||
birthday DATE, -- 添加birthday字段而不是age
|
||||
weight DOUBLE, -- 添加weight字段
|
||||
photo VARCHAR(255), -- 添加photo字段
|
||||
remark TEXT, -- 添加remark字段
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建doctor表
|
||||
CREATE TABLE IF NOT EXISTS doctor (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(50) NOT NULL,
|
||||
department VARCHAR(50),
|
||||
title VARCHAR(50),
|
||||
phone VARCHAR(20),
|
||||
email VARCHAR(100),
|
||||
avatar VARCHAR(255),
|
||||
status INT DEFAULT 1,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建user表
|
||||
CREATE TABLE IF NOT EXISTS `user` (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(50) NOT NULL UNIQUE,
|
||||
phone VARCHAR(20),
|
||||
email VARCHAR(100),
|
||||
password VARCHAR(255) NOT NULL,
|
||||
role VARCHAR(20) DEFAULT 'CUSTOMER',
|
||||
status INT DEFAULT 1,
|
||||
avatar VARCHAR(255),
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建medical_record表
|
||||
CREATE TABLE IF NOT EXISTS medical_record (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
visit_id BIGINT NOT NULL,
|
||||
record_type VARCHAR(50), -- CHECKUP体检, DIAGNOSIS诊断, TREATMENT治疗
|
||||
content TEXT,
|
||||
attachment_urls TEXT,
|
||||
doctor_id BIGINT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建message表
|
||||
CREATE TABLE IF NOT EXISTS message (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
sender_id BIGINT,
|
||||
receiver_id BIGINT NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
type VARCHAR(20) DEFAULT 'NOTICE', -- NOTICE通知, CHAT聊天
|
||||
status VARCHAR(20) DEFAULT 'UNREAD', -- UNREAD未读, READ已读
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建notice表
|
||||
CREATE TABLE IF NOT EXISTS notice (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
title VARCHAR(200) NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
publisher_id BIGINT NOT NULL,
|
||||
publish_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
status INT DEFAULT 1,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建report表
|
||||
CREATE TABLE IF NOT EXISTS report (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
report_type VARCHAR(50) NOT NULL, -- REVENUE收入, CUSTOMER客户, PET宠物, DRUG药品
|
||||
report_data JSON,
|
||||
period_start DATE,
|
||||
period_end DATE,
|
||||
generated_by BIGINT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建stock_in表
|
||||
CREATE TABLE IF NOT EXISTS stock_in (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
drug_id BIGINT NOT NULL,
|
||||
quantity INT NOT NULL,
|
||||
unit_price DECIMAL(10,2),
|
||||
supplier VARCHAR(100),
|
||||
operator_id BIGINT,
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建stock_out表
|
||||
CREATE TABLE IF NOT EXISTS stock_out (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
drug_id BIGINT NOT NULL,
|
||||
quantity INT NOT NULL,
|
||||
unit_price DECIMAL(10,2),
|
||||
purpose VARCHAR(100), -- 用途:销售、损耗等
|
||||
operator_id BIGINT,
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建vaccine_record表
|
||||
CREATE TABLE IF NOT EXISTS vaccine_record (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
pet_id BIGINT NOT NULL,
|
||||
vaccine_name VARCHAR(100) NOT NULL,
|
||||
dose_number INT,
|
||||
injection_date DATE,
|
||||
next_appointment_date DATE,
|
||||
doctor_id BIGINT,
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
@@ -1,84 +1,70 @@
|
||||
-- 用户表
|
||||
CREATE TABLE IF NOT EXISTS `user` (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(50) NOT NULL UNIQUE,
|
||||
phone VARCHAR(20),
|
||||
email VARCHAR(100),
|
||||
password VARCHAR(255) NOT NULL,
|
||||
role VARCHAR(20) DEFAULT 'CUSTOMER',
|
||||
status INT DEFAULT 1,
|
||||
avatar VARCHAR(255),
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
-- 如果表不存在则创建表,如果存在则添加缺失的列
|
||||
|
||||
-- 宠物表
|
||||
CREATE TABLE IF NOT EXISTS pet (
|
||||
-- 检查并创建appointment表或添加缺失列
|
||||
CREATE TABLE IF NOT EXISTS appointment (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(50) NOT NULL,
|
||||
species VARCHAR(50),
|
||||
breed VARCHAR(100),
|
||||
gender CHAR(1),
|
||||
age INT,
|
||||
owner_id BIGINT NOT NULL,
|
||||
health_status VARCHAR(100),
|
||||
vaccination_status VARCHAR(100),
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 医生表
|
||||
CREATE TABLE IF NOT EXISTS doctor (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(50) NOT NULL,
|
||||
customer_id BIGINT NOT NULL,
|
||||
pet_id BIGINT NOT NULL,
|
||||
doctor_id BIGINT,
|
||||
department VARCHAR(50),
|
||||
title VARCHAR(50),
|
||||
phone VARCHAR(20),
|
||||
email VARCHAR(100),
|
||||
avatar VARCHAR(255),
|
||||
status INT DEFAULT 1,
|
||||
appointment_date DATE,
|
||||
time_slot VARCHAR(20), -- 添加这个缺失的列
|
||||
status VARCHAR(20) DEFAULT 'PENDING',
|
||||
remark TEXT,
|
||||
cancel_time TIMESTAMP NULL,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 就诊记录表
|
||||
-- 检查并创建visit表
|
||||
CREATE TABLE IF NOT EXISTS visit (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
appointment_id BIGINT,
|
||||
customer_id BIGINT NOT NULL,
|
||||
pet_id BIGINT NOT NULL,
|
||||
doctor_id BIGINT NOT NULL,
|
||||
customer_id BIGINT NOT NULL,
|
||||
symptoms TEXT,
|
||||
diagnosis TEXT,
|
||||
treatment_plan TEXT,
|
||||
visit_date DATE,
|
||||
status VARCHAR(20) DEFAULT 'PENDING',
|
||||
total_amount DECIMAL(10,2),
|
||||
payment_status VARCHAR(20) DEFAULT 'UNPAID',
|
||||
payment_method VARCHAR(20),
|
||||
payment_time TIMESTAMP NULL,
|
||||
start_time TIMESTAMP,
|
||||
end_time TIMESTAMP,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 处方表
|
||||
-- 检查并创建prescription表
|
||||
CREATE TABLE IF NOT EXISTS prescription (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
visit_id BIGINT NOT NULL,
|
||||
doctor_id BIGINT NOT NULL,
|
||||
customer_id BIGINT NOT NULL,
|
||||
visit_id BIGINT,
|
||||
doctor_id BIGINT,
|
||||
customer_id BIGINT,
|
||||
total_amount DECIMAL(10,2),
|
||||
status VARCHAR(20) DEFAULT 'ACTIVE',
|
||||
status VARCHAR(20) DEFAULT 'DRAFT',
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 处方明细表
|
||||
-- 检查并创建prescription_item表
|
||||
CREATE TABLE IF NOT EXISTS prescription_item (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
prescription_id BIGINT NOT NULL,
|
||||
drug_id BIGINT NOT NULL,
|
||||
drug_name VARCHAR(100),
|
||||
specification VARCHAR(100),
|
||||
quantity INT NOT NULL,
|
||||
usage_desc VARCHAR(200),
|
||||
days INT,
|
||||
unit_price DECIMAL(10,2),
|
||||
subtotal DECIMAL(10,2),
|
||||
dosage VARCHAR(100),
|
||||
frequency VARCHAR(50),
|
||||
duration VARCHAR(50),
|
||||
@@ -88,23 +74,7 @@ CREATE TABLE IF NOT EXISTS prescription_item (
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 药品表
|
||||
CREATE TABLE IF NOT EXISTS drug (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
category VARCHAR(50),
|
||||
manufacturer VARCHAR(100),
|
||||
specification VARCHAR(100),
|
||||
unit_price DECIMAL(10,2),
|
||||
stock_quantity INT DEFAULT 0,
|
||||
unit VARCHAR(20),
|
||||
status INT DEFAULT 1,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 订单表
|
||||
-- 检查并创建order_info表
|
||||
CREATE TABLE IF NOT EXISTS order_info (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
visit_id BIGINT,
|
||||
@@ -119,25 +89,189 @@ CREATE TABLE IF NOT EXISTS order_info (
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 预约表
|
||||
CREATE TABLE IF NOT EXISTS appointment (
|
||||
-- 检查并创建drug表
|
||||
CREATE TABLE IF NOT EXISTS drug (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
pet_id BIGINT NOT NULL,
|
||||
doctor_id BIGINT NOT NULL,
|
||||
customer_id BIGINT NOT NULL,
|
||||
appointment_date DATE NOT NULL,
|
||||
appointment_time TIME NOT NULL,
|
||||
reason TEXT,
|
||||
status VARCHAR(20) DEFAULT 'PENDING',
|
||||
name VARCHAR(100) NOT NULL,
|
||||
category VARCHAR(50),
|
||||
manufacturer VARCHAR(100),
|
||||
specification VARCHAR(100),
|
||||
unit_price DECIMAL(10,2),
|
||||
stock_quantity INT DEFAULT 0,
|
||||
stock INT DEFAULT 0,
|
||||
alert_threshold INT,
|
||||
purchase_price DECIMAL(10,2),
|
||||
sale_price DECIMAL(10,2),
|
||||
approval_number VARCHAR(100),
|
||||
expiry_date TIMESTAMP NULL,
|
||||
unit VARCHAR(20),
|
||||
status INT DEFAULT 1,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 疫苗接种记录表
|
||||
-- 检查并创建pet表
|
||||
CREATE TABLE IF NOT EXISTS pet (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
owner_id BIGINT NOT NULL,
|
||||
name VARCHAR(50) NOT NULL,
|
||||
species VARCHAR(50),
|
||||
breed VARCHAR(100),
|
||||
gender VARCHAR(10), -- 修改为VARCHAR以支持MALE/FEMALE
|
||||
birthday DATE, -- 添加birthday字段而不是age
|
||||
weight DOUBLE, -- 添加weight字段
|
||||
photo VARCHAR(255), -- 添加photo字段
|
||||
remark TEXT, -- 添加remark字段
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建doctor表
|
||||
CREATE TABLE IF NOT EXISTS doctor (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(50) NOT NULL,
|
||||
department VARCHAR(50),
|
||||
title VARCHAR(50),
|
||||
phone VARCHAR(20),
|
||||
email VARCHAR(100),
|
||||
avatar VARCHAR(255),
|
||||
status INT DEFAULT 1,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建user表
|
||||
CREATE TABLE IF NOT EXISTS `user` (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(50) NOT NULL UNIQUE,
|
||||
phone VARCHAR(20),
|
||||
email VARCHAR(100),
|
||||
password VARCHAR(255) NOT NULL,
|
||||
role VARCHAR(20) DEFAULT 'CUSTOMER',
|
||||
status INT DEFAULT 1,
|
||||
avatar VARCHAR(255),
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建medical_record表
|
||||
CREATE TABLE IF NOT EXISTS medical_record (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
visit_id BIGINT NOT NULL,
|
||||
chief_complaint TEXT,
|
||||
present_illness TEXT,
|
||||
physical_examination TEXT,
|
||||
examination_results TEXT,
|
||||
diagnosis TEXT,
|
||||
treatment_plan TEXT,
|
||||
advice TEXT,
|
||||
status VARCHAR(20),
|
||||
record_type VARCHAR(50), -- CHECKUP体检, DIAGNOSIS诊断, TREATMENT治疗
|
||||
content TEXT,
|
||||
attachment_urls TEXT,
|
||||
doctor_id BIGINT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建message表
|
||||
CREATE TABLE IF NOT EXISTS message (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id BIGINT,
|
||||
user_name VARCHAR(100),
|
||||
contact VARCHAR(100),
|
||||
title VARCHAR(200),
|
||||
sender_id BIGINT,
|
||||
receiver_id BIGINT NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
type VARCHAR(20) DEFAULT 'NOTICE', -- NOTICE通知, CHAT聊天
|
||||
status VARCHAR(20) DEFAULT 'UNREAD', -- UNREAD未读, READ已读
|
||||
reply TEXT,
|
||||
reply_time TIMESTAMP NULL,
|
||||
reply_user_id BIGINT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建notice表
|
||||
CREATE TABLE IF NOT EXISTS notice (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
title VARCHAR(200) NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
is_top INT DEFAULT 0,
|
||||
publisher_id BIGINT NOT NULL,
|
||||
publish_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
status INT DEFAULT 1,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建report表
|
||||
CREATE TABLE IF NOT EXISTS report (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
visit_id BIGINT,
|
||||
pet_id BIGINT,
|
||||
type VARCHAR(50),
|
||||
title VARCHAR(200),
|
||||
summary TEXT,
|
||||
attachment_url VARCHAR(255),
|
||||
doctor_id BIGINT,
|
||||
report_type VARCHAR(50) NOT NULL, -- REVENUE收入, CUSTOMER客户, PET宠物, DRUG药品
|
||||
report_data JSON,
|
||||
period_start DATE,
|
||||
period_end DATE,
|
||||
generated_by BIGINT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建stock_in表
|
||||
CREATE TABLE IF NOT EXISTS stock_in (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
drug_id BIGINT NOT NULL,
|
||||
quantity INT NOT NULL,
|
||||
unit_price DECIMAL(10,2),
|
||||
supplier VARCHAR(100),
|
||||
operator_id BIGINT,
|
||||
stock_in_time TIMESTAMP NULL,
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建stock_out表
|
||||
CREATE TABLE IF NOT EXISTS stock_out (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
drug_id BIGINT NOT NULL,
|
||||
prescription_id BIGINT,
|
||||
quantity INT NOT NULL,
|
||||
unit_price DECIMAL(10,2),
|
||||
purpose VARCHAR(100), -- 用途:销售、损耗等
|
||||
operator_id BIGINT,
|
||||
stock_out_time TIMESTAMP NULL,
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 检查并创建vaccine_record表
|
||||
CREATE TABLE IF NOT EXISTS vaccine_record (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
pet_id BIGINT NOT NULL,
|
||||
type VARCHAR(20), -- VACCINE疫苗, DEWORMING驱虫
|
||||
item_name VARCHAR(100),
|
||||
execute_date DATE,
|
||||
next_reminder_date DATE,
|
||||
vaccine_name VARCHAR(100) NOT NULL,
|
||||
dose_number INT,
|
||||
injection_date DATE,
|
||||
@@ -148,83 +282,3 @@ CREATE TABLE IF NOT EXISTS vaccine_record (
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 库存入库表
|
||||
CREATE TABLE IF NOT EXISTS stock_in (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
drug_id BIGINT NOT NULL,
|
||||
quantity INT NOT NULL,
|
||||
unit_price DECIMAL(10,2),
|
||||
supplier VARCHAR(100),
|
||||
operator_id BIGINT,
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 库存出库表
|
||||
CREATE TABLE IF NOT EXISTS stock_out (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
drug_id BIGINT NOT NULL,
|
||||
quantity INT NOT NULL,
|
||||
unit_price DECIMAL(10,2),
|
||||
purpose VARCHAR(100), -- 用途:销售、损耗等
|
||||
operator_id BIGINT,
|
||||
remark TEXT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 消息表
|
||||
CREATE TABLE IF NOT EXISTS message (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
sender_id BIGINT,
|
||||
receiver_id BIGINT NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
type VARCHAR(20) DEFAULT 'NOTICE', -- NOTICE通知, CHAT聊天
|
||||
status VARCHAR(20) DEFAULT 'UNREAD', -- UNREAD未读, READ已读
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 公告表
|
||||
CREATE TABLE IF NOT EXISTS notice (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
title VARCHAR(200) NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
publisher_id BIGINT NOT NULL,
|
||||
publish_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
status INT DEFAULT 1,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 医疗记录表
|
||||
CREATE TABLE IF NOT EXISTS medical_record (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
visit_id BIGINT NOT NULL,
|
||||
record_type VARCHAR(50), -- CHECKUP体检, DIAGNOSIS诊断, TREATMENT治疗
|
||||
content TEXT,
|
||||
attachment_urls TEXT,
|
||||
doctor_id BIGINT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
|
||||
-- 报表统计表
|
||||
CREATE TABLE IF NOT EXISTS report (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
report_type VARCHAR(50) NOT NULL, -- REVENUE收入, CUSTOMER客户, PET宠物, DRUG药品
|
||||
report_data JSON,
|
||||
period_start DATE,
|
||||
period_end DATE,
|
||||
generated_by BIGINT,
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
deleted INT DEFAULT 0
|
||||
);
|
||||
Reference in New Issue
Block a user