66 lines
2.3 KiB
MySQL
66 lines
2.3 KiB
MySQL
|
|
-- 1. 创建监管实体表
|
||
|
|
CREATE TABLE IF NOT EXISTS supervision_entities (
|
||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||
|
|
name VARCHAR(100) NOT NULL,
|
||
|
|
type ENUM('farm', 'business', 'facility') NOT NULL,
|
||
|
|
address TEXT,
|
||
|
|
contact_person VARCHAR(50),
|
||
|
|
contact_phone VARCHAR(20),
|
||
|
|
status ENUM('active', 'inactive', 'suspended') DEFAULT 'active',
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
|
|
INDEX idx_type (type),
|
||
|
|
INDEX idx_status (status)
|
||
|
|
);
|
||
|
|
|
||
|
|
-- 2. 创建检查记录表
|
||
|
|
CREATE TABLE IF NOT EXISTS inspections (
|
||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||
|
|
entity_id INT NOT NULL,
|
||
|
|
inspector_id INT NOT NULL,
|
||
|
|
date DATE NOT NULL,
|
||
|
|
result ENUM('passed', 'failed', 'pending') DEFAULT 'pending',
|
||
|
|
notes TEXT,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
FOREIGN KEY (entity_id) REFERENCES supervision_entities(id),
|
||
|
|
INDEX idx_entity (entity_id),
|
||
|
|
INDEX idx_date (date)
|
||
|
|
);
|
||
|
|
|
||
|
|
-- 3. 创建违规记录表
|
||
|
|
CREATE TABLE IF NOT EXISTS violations (
|
||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||
|
|
entity_id INT NOT NULL,
|
||
|
|
inspection_id INT,
|
||
|
|
type VARCHAR(50) NOT NULL,
|
||
|
|
description TEXT,
|
||
|
|
status ENUM('reported', 'processed', 'resolved') DEFAULT 'reported',
|
||
|
|
penalty DECIMAL(10,2),
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
FOREIGN KEY (entity_id) REFERENCES supervision_entities(id),
|
||
|
|
FOREIGN KEY (inspection_id) REFERENCES inspections(id),
|
||
|
|
INDEX idx_status (status)
|
||
|
|
);
|
||
|
|
|
||
|
|
-- 4. 创建审批流程表
|
||
|
|
CREATE TABLE IF NOT EXISTS approval_workflows (
|
||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||
|
|
name VARCHAR(100) NOT NULL,
|
||
|
|
description TEXT,
|
||
|
|
steps JSON NOT NULL,
|
||
|
|
created_by INT,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||
|
|
);
|
||
|
|
|
||
|
|
-- 5. 创建用户表
|
||
|
|
CREATE TABLE IF NOT EXISTS users (
|
||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||
|
|
username VARCHAR(50) NOT NULL UNIQUE,
|
||
|
|
password VARCHAR(255) NOT NULL,
|
||
|
|
role ENUM('admin', 'manager', 'inspector', 'clerk') NOT NULL,
|
||
|
|
status ENUM('active', 'inactive') DEFAULT 'active',
|
||
|
|
last_login TIMESTAMP NULL,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||
|
|
);
|