239 lines
15 KiB
SQL
239 lines
15 KiB
SQL
-- =============================================
|
||
-- WCS 仓库控制系统 - MySQL 初始化脚本
|
||
-- 适用数据库: MySQL 5.7+ / 8.0+
|
||
-- 字符集: utf8mb4
|
||
-- 说明: 骨架阶段最小字段集,后续迭代逐步扩展
|
||
-- =============================================
|
||
|
||
SET NAMES utf8mb4;
|
||
SET FOREIGN_KEY_CHECKS = 0;
|
||
|
||
-- ----------------------------
|
||
-- 1. 设备信息表
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `wcs_device`;
|
||
CREATE TABLE `wcs_device` (
|
||
`device_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '设备ID',
|
||
`device_code` varchar(64) NOT NULL COMMENT '设备编码',
|
||
`device_name` varchar(128) DEFAULT NULL COMMENT '设备名称',
|
||
`device_type` varchar(32) DEFAULT NULL COMMENT '设备类型(conveyor/agv/elevator/stacker等)',
|
||
`area_code` varchar(64) DEFAULT NULL COMMENT '所属区域编码',
|
||
`protocol_type` varchar(32) DEFAULT NULL COMMENT '通信协议(modbus_tcp/opc_ua/s7等)',
|
||
`ip_address` varchar(64) DEFAULT NULL COMMENT '设备IP地址',
|
||
`port` int(11) DEFAULT NULL COMMENT '通信端口',
|
||
`status` char(1) DEFAULT '0' COMMENT '设备状态(0正常 1停用)',
|
||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 2删除)',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
PRIMARY KEY (`device_id`),
|
||
UNIQUE KEY `uk_device_code` (`device_code`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='WCS 设备信息表';
|
||
|
||
-- ----------------------------
|
||
-- 2. 设备点位表
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `wcs_device_point`;
|
||
CREATE TABLE `wcs_device_point` (
|
||
`point_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '点位ID',
|
||
`device_id` bigint(20) NOT NULL COMMENT '所属设备ID',
|
||
`point_code` varchar(64) NOT NULL COMMENT '点位编码',
|
||
`point_name` varchar(128) DEFAULT NULL COMMENT '点位名称',
|
||
`point_type` varchar(32) DEFAULT NULL COMMENT '点位类型(read/write/read_write)',
|
||
`data_type` varchar(32) DEFAULT NULL COMMENT '数据类型(int/float/bool/string)',
|
||
`address` varchar(128) DEFAULT NULL COMMENT '寄存器地址/OPC节点',
|
||
`unit` varchar(32) DEFAULT NULL COMMENT '单位',
|
||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 2删除)',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
PRIMARY KEY (`point_id`),
|
||
KEY `idx_device_id` (`device_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='WCS 设备点位表';
|
||
|
||
-- ----------------------------
|
||
-- 3. 设备点位值记录表
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `wcs_device_point_value`;
|
||
CREATE TABLE `wcs_device_point_value` (
|
||
`value_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
|
||
`point_id` bigint(20) NOT NULL COMMENT '点位ID',
|
||
`device_id` bigint(20) NOT NULL COMMENT '设备ID',
|
||
`point_value` varchar(256) DEFAULT NULL COMMENT '点位值',
|
||
`quality` varchar(16) DEFAULT NULL COMMENT '数据质量(good/bad/uncertain)',
|
||
`collect_time` datetime DEFAULT NULL COMMENT '采集时间',
|
||
`create_time` datetime DEFAULT NULL COMMENT '记录时间',
|
||
PRIMARY KEY (`value_id`),
|
||
KEY `idx_point_id` (`point_id`),
|
||
KEY `idx_collect_time` (`collect_time`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='WCS 设备点位值记录表';
|
||
|
||
-- ----------------------------
|
||
-- 4. 接口配置表
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `wcs_api_config`;
|
||
CREATE TABLE `wcs_api_config` (
|
||
`api_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '接口ID',
|
||
`api_code` varchar(64) NOT NULL COMMENT '接口编码',
|
||
`api_name` varchar(128) DEFAULT NULL COMMENT '接口名称',
|
||
`api_url` varchar(512) DEFAULT NULL COMMENT '接口地址',
|
||
`request_method` varchar(16) DEFAULT 'POST' COMMENT '请求方式(GET/POST/PUT/DELETE)',
|
||
`content_type` varchar(64) DEFAULT 'application/json' COMMENT '内容类型',
|
||
`timeout` int(11) DEFAULT 30000 COMMENT '超时时间(毫秒)',
|
||
`retry_count` int(11) DEFAULT 0 COMMENT '重试次数',
|
||
`direction` varchar(16) DEFAULT NULL COMMENT '方向(inbound/outbound)',
|
||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 2删除)',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
PRIMARY KEY (`api_id`),
|
||
UNIQUE KEY `uk_api_code` (`api_code`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='WCS 接口配置表';
|
||
|
||
-- ----------------------------
|
||
-- 5. 流程定义表
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `wcs_flow_def`;
|
||
CREATE TABLE `wcs_flow_def` (
|
||
`flow_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流程ID',
|
||
`flow_code` varchar(64) NOT NULL COMMENT '流程编码',
|
||
`flow_name` varchar(128) DEFAULT NULL COMMENT '流程名称',
|
||
`flow_type` varchar(32) DEFAULT NULL COMMENT '流程类型',
|
||
`version` int(11) DEFAULT 1 COMMENT '版本号',
|
||
`flow_json` text COMMENT '流程JSON定义(画布数据)',
|
||
`status` char(1) DEFAULT '0' COMMENT '状态(0草稿 1已发布 2已停用)',
|
||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 2删除)',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
PRIMARY KEY (`flow_id`),
|
||
UNIQUE KEY `uk_flow_code_version` (`flow_code`, `version`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='WCS 流程定义表';
|
||
|
||
-- ----------------------------
|
||
-- 6. 流程节点表
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `wcs_flow_node`;
|
||
CREATE TABLE `wcs_flow_node` (
|
||
`node_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '节点ID',
|
||
`flow_id` bigint(20) NOT NULL COMMENT '所属流程ID',
|
||
`node_code` varchar(64) NOT NULL COMMENT '节点编码',
|
||
`node_name` varchar(128) DEFAULT NULL COMMENT '节点名称',
|
||
`node_type` varchar(32) DEFAULT NULL COMMENT '节点类型(start/end/task/condition/parallel等)',
|
||
`handler_class` varchar(256) DEFAULT NULL COMMENT '处理器类名',
|
||
`config_json` text COMMENT '节点配置JSON',
|
||
`pos_x` int(11) DEFAULT 0 COMMENT '画布X坐标',
|
||
`pos_y` int(11) DEFAULT 0 COMMENT '画布Y坐标',
|
||
`sort_order` int(11) DEFAULT 0 COMMENT '排序',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`node_id`),
|
||
KEY `idx_flow_id` (`flow_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='WCS 流程节点表';
|
||
|
||
-- ----------------------------
|
||
-- 7. 流程连线表
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `wcs_flow_line`;
|
||
CREATE TABLE `wcs_flow_line` (
|
||
`line_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '连线ID',
|
||
`flow_id` bigint(20) NOT NULL COMMENT '所属流程ID',
|
||
`source_node_id` bigint(20) NOT NULL COMMENT '源节点ID',
|
||
`target_node_id` bigint(20) NOT NULL COMMENT '目标节点ID',
|
||
`condition_expr` varchar(512) DEFAULT NULL COMMENT '条件表达式',
|
||
`line_label` varchar(128) DEFAULT NULL COMMENT '连线标签',
|
||
`sort_order` int(11) DEFAULT 0 COMMENT '排序',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
PRIMARY KEY (`line_id`),
|
||
KEY `idx_flow_id` (`flow_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='WCS 流程连线表';
|
||
|
||
-- ----------------------------
|
||
-- 8. 流程实例表
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `wcs_flow_instance`;
|
||
CREATE TABLE `wcs_flow_instance` (
|
||
`instance_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '实例ID',
|
||
`flow_id` bigint(20) NOT NULL COMMENT '流程定义ID',
|
||
`instance_code` varchar(64) DEFAULT NULL COMMENT '实例编码',
|
||
`trigger_source` varchar(64) DEFAULT NULL COMMENT '触发来源',
|
||
`current_node_id` bigint(20) DEFAULT NULL COMMENT '当前节点ID',
|
||
`instance_status` varchar(16) DEFAULT 'running' COMMENT '实例状态(running/completed/failed/cancelled)',
|
||
`context_json` text COMMENT '运行时上下文JSON',
|
||
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
||
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
||
`error_msg` varchar(2000) DEFAULT NULL COMMENT '错误信息',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
PRIMARY KEY (`instance_id`),
|
||
KEY `idx_flow_id` (`flow_id`),
|
||
KEY `idx_instance_status` (`instance_status`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='WCS 流程实例表';
|
||
|
||
-- ----------------------------
|
||
-- 9. 流程节点执行日志表
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `wcs_flow_node_log`;
|
||
CREATE TABLE `wcs_flow_node_log` (
|
||
`log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID',
|
||
`instance_id` bigint(20) NOT NULL COMMENT '流程实例ID',
|
||
`node_id` bigint(20) NOT NULL COMMENT '节点ID',
|
||
`node_name` varchar(128) DEFAULT NULL COMMENT '节点名称',
|
||
`execute_status` varchar(16) DEFAULT NULL COMMENT '执行状态(success/fail/skip)',
|
||
`input_data` text COMMENT '输入数据JSON',
|
||
`output_data` text COMMENT '输出数据JSON',
|
||
`error_msg` varchar(2000) DEFAULT NULL COMMENT '错误信息',
|
||
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
||
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
||
`duration` bigint(20) DEFAULT NULL COMMENT '执行耗时(毫秒)',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
PRIMARY KEY (`log_id`),
|
||
KEY `idx_instance_id` (`instance_id`),
|
||
KEY `idx_node_id` (`node_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='WCS 流程节点执行日志表';
|
||
|
||
-- ----------------------------
|
||
-- WCS 菜单数据初始化(插入若依菜单表)
|
||
-- 菜单ID 从 2000 起,避免与系统菜单冲突
|
||
-- ----------------------------
|
||
|
||
-- WCS 一级菜单
|
||
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `route_name`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
|
||
VALUES (2000, 'WCS控制系统', 0, 5, 'wcs', NULL, '', '', 1, 0, 'M', '0', '0', '', 'server', 'admin', sysdate(), '', NULL, 'WCS仓库控制系统');
|
||
|
||
-- 设备管理
|
||
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `route_name`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
|
||
VALUES (2001, '设备管理', 2000, 1, 'device', 'wcs/device/index', '', '', 1, 0, 'C', '0', '0', 'wcs:device:list', 'component', 'admin', sysdate(), '', NULL, 'WCS设备管理');
|
||
|
||
-- 点位配置
|
||
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `route_name`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
|
||
VALUES (2002, '点位配置', 2000, 2, 'point', 'wcs/point/index', '', '', 1, 0, 'C', '0', '0', 'wcs:point:list', 'edit', 'admin', sysdate(), '', NULL, 'WCS点位配置');
|
||
|
||
-- 接口配置
|
||
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `route_name`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
|
||
VALUES (2003, '接口配置', 2000, 3, 'apiconfig', 'wcs/apiconfig/index', '', '', 1, 0, 'C', '0', '0', 'wcs:api:list', 'link', 'admin', sysdate(), '', NULL, 'WCS接口配置');
|
||
|
||
-- 流程定义
|
||
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `route_name`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
|
||
VALUES (2004, '流程定义', 2000, 4, 'flowdef', 'wcs/flowdef/index', '', '', 1, 0, 'C', '0', '0', 'wcs:flow:list', 'cascader', 'admin', sysdate(), '', NULL, 'WCS流程定义');
|
||
|
||
-- 流程实例
|
||
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `route_name`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
|
||
VALUES (2005, '流程实例', 2000, 5, 'flowinstance', 'wcs/flowinstance/index', '', '', 1, 0, 'C', '0', '0', 'wcs:instance:list', 'list', 'admin', sysdate(), '', NULL, 'WCS流程实例');
|
||
|
||
-- 运行日志
|
||
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `route_name`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
|
||
VALUES (2006, '运行日志', 2000, 6, 'flowlog', 'wcs/flowlog/index', '', '', 1, 0, 'C', '0', '0', 'wcs:log:list', 'log', 'admin', sysdate(), '', NULL, 'WCS运行日志');
|
||
|
||
SET FOREIGN_KEY_CHECKS = 1;
|