/**
|
* SQL语句定义文件
|
* 包含创建表的SQL语句和其他常用SQL查询
|
*/
|
|
/**
|
* id:主键
|
* username:用户名
|
* password:密码
|
* real_name:真实姓名
|
* role:角色
|
* last_login_time:上次登录事件
|
*/
|
// 创建用户表
|
const createUserTable = `
|
CREATE TABLE IF NOT EXISTS users (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
username TEXT NOT NULL UNIQUE,
|
password TEXT NOT NULL,
|
real_name TEXT,
|
role TEXT DEFAULT 'user',
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
last_login_time TIMESTAMP
|
)`;
|
|
/**
|
* id:主键
|
* orderNo:订单号
|
* status:状态
|
* originalDoc:原始单据
|
* customer:客户
|
* createUserId:创建人id
|
* createTime:创建时间
|
* completeTime:完成时间
|
* remark:备注
|
*/
|
// 创建订单表
|
const createOrderTable = `
|
CREATE TABLE IF NOT EXISTS orders (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
orderNo TEXT NOT NULL UNIQUE,
|
status TEXT DEFAULT 'pedding',
|
originalDoc TEXT,
|
customer TEXT,
|
createUserId INTEGER,
|
createTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
completeTime TIMESTAMP,
|
remark TEXT
|
)`;
|
|
/**
|
* id:主键
|
* name:物料名称
|
* create_time:创建时间
|
*/
|
// 创建核心物料表
|
const createCoreMaterialTable = `
|
CREATE TABLE IF NOT EXISTS core_materials (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
name TEXT NOT NULL,
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
)`;
|
|
/**
|
* id:主键
|
* orderNo:订单号
|
* material_name:物料名称
|
* tab_order:tab排序
|
*/
|
// 创建订单物料关联表
|
const createOrderMaterialTable = `
|
CREATE TABLE IF NOT EXISTS order_materials (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
orderNo TEXT NOT NULL,
|
material_name TEXT NOT NULL,
|
tab_order INTEGER
|
)`;
|
|
/**
|
* id:主键
|
* orderNo:订单号
|
* material_name:物料名称
|
* reference_content:标定信息
|
* reference_content_index:标定信息索引
|
* original_content:二维码原始信息
|
*/
|
//物料标定信息表
|
const createMaterialContentTable = `
|
CREATE TABLE IF NOT EXISTS materials_content (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
orderNo TEXT NOT NULL,
|
material_name TEXT NOT NULL,
|
reference_content TEXT,
|
reference_content_index TEXT,
|
original_content TEXT
|
)`;
|
|
/**
|
* id:主键
|
* orderNo:订单号
|
* materialName:物料名称
|
* scan_content:扫描信息
|
* reference_content:标定信息
|
* is_matched:是否匹配
|
* scan_time:扫描时间
|
*/
|
// 创建扫描记录表
|
const createScanRecordTable = `
|
CREATE TABLE IF NOT EXISTS scan_records (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
orderNo TEXT NOT NULL,
|
materialName TEXT NOT NULL,
|
scan_content TEXT NOT NULL,
|
reference_content TEXT,
|
is_matched BOOLEAN,
|
scan_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
)`;
|
|
// 创建激活信息表(暂时无用)
|
const createActivationTable = `
|
CREATE TABLE IF NOT EXISTS activation_info (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
device_uuid TEXT NOT NULL UNIQUE,
|
device_info TEXT,
|
runtime_code TEXT,
|
activation_code TEXT,
|
is_activated BOOLEAN DEFAULT 0,
|
trial_start_date DATE,
|
trial_end_date DATE,
|
activation_date DATE,
|
expiration_date DATE
|
)`;
|
|
// 创建系统设置表(暂时无用)
|
const createSettingsTable = `
|
CREATE TABLE IF NOT EXISTS settings (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
setting_key TEXT NOT NULL UNIQUE,
|
setting_value TEXT,
|
setting_desc TEXT,
|
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
)`;
|
|
/**
|
* id:主键
|
* seq:序号
|
* date:时间
|
*/
|
//序列表
|
const createSeqTable = `
|
CREATE TABLE IF NOT EXISTS seq (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
seq INTEGER NOT NULL,
|
date TEXT NOT NULL
|
)`;
|
|
/**
|
* id:主键
|
* customerName:客户名称
|
* create_time:创建时间
|
*/
|
//客户表
|
const createCustomerTable = `
|
CREATE TABLE IF NOT EXISTS customers (
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
customerName TEXT NOT NULL,
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
)`;
|
|
// 初始化系统设置
|
const initSettings = `
|
INSERT OR IGNORE INTO settings (setting_key, setting_value, setting_desc) VALUES
|
('retention_days', '90', '订单数据保留天数')
|
`;
|
|
// 初始化管理员账户
|
const initAdminUser = `
|
INSERT OR IGNORE INTO users (username, password, real_name, role) VALUES
|
('admin', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', '系统管理员', 'admin')
|
`;
|
|
const initSeq = `
|
INSERT OR IGNORE INTO seq (seq, date) VALUES (1, CURRENT_DATE)
|
`
|
|
// 导出所有SQL语句
|
export const createTables = [
|
createUserTable,
|
createOrderTable,
|
createCoreMaterialTable,
|
createOrderMaterialTable,
|
createScanRecordTable,
|
createActivationTable,
|
createSettingsTable,
|
createMaterialContentTable,
|
createSeqTable,
|
createCustomerTable
|
];
|
|
// 导出初始化数据的SQL语句
|
export const initData = [
|
initSettings,
|
initAdminUser,
|
initSeq
|
];
|
|
// 常用查询语句
|
export const queries = {
|
// 用户相关
|
getUserByUsername: 'SELECT * FROM users WHERE username = ?',
|
updateUserLastLogin: 'UPDATE users SET last_login_time = CURRENT_TIMESTAMP WHERE id = ?',
|
|
// 订单相关
|
createOrder: 'INSERT INTO orders (order_no, order_name, create_user_id) VALUES (?, ?, ?)',
|
updateOrderStatus: 'UPDATE orders SET order_status = ? WHERE id = ?',
|
getOrderById: 'SELECT * FROM orders WHERE id = ?',
|
getOrderByNo: 'SELECT * FROM orders WHERE order_no = ?',
|
getRecentOrders: 'SELECT * FROM orders ORDER BY create_time DESC LIMIT ?',
|
|
// 核心物料相关
|
getAllMaterials: 'SELECT * FROM core_materials ORDER BY last_used_time DESC',
|
getMaterialById: 'SELECT * FROM core_materials WHERE id = ?',
|
getMaterialByCode: 'SELECT * FROM core_materials WHERE material_code = ?',
|
updateMaterialLastUsed: 'UPDATE core_materials SET last_used_time = CURRENT_TIMESTAMP WHERE id = ?',
|
|
// 扫描记录相关
|
addScanRecord: 'INSERT INTO scan_records (order_id, material_id, scan_content, reference_content, is_matched, scan_user_id) VALUES (?, ?, ?, ?, ?, ?)',
|
getScanRecordsByOrderId: 'SELECT * FROM scan_records WHERE order_id = ? ORDER BY scan_time DESC',
|
|
// 激活相关
|
getActivationInfo: 'SELECT * FROM activation_info WHERE device_uuid = ?',
|
updateActivationCode: 'UPDATE activation_info SET activation_code = ?, is_activated = 1, activation_date = CURRENT_DATE, expiration_date = ? WHERE device_uuid = ?'
|
};
|