From e76f0739e647fe8a7e0e2618914e2faff554b1b7 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期一, 17 十一月 2025 17:33:23 +0800
Subject: [PATCH] 解决冲突
---
mes-processes/mes-plcSend/src/main/resources/db/migration/V20241030__create_device_management_tables.sql | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 166 insertions(+), 0 deletions(-)
diff --git a/mes-processes/mes-plcSend/src/main/resources/db/migration/V20241030__create_device_management_tables.sql b/mes-processes/mes-plcSend/src/main/resources/db/migration/V20241030__create_device_management_tables.sql
new file mode 100644
index 0000000..07fc2d4
--- /dev/null
+++ b/mes-processes/mes-plcSend/src/main/resources/db/migration/V20241030__create_device_management_tables.sql
@@ -0,0 +1,166 @@
+-- 澶氳澶囩鐞嗘暟鎹簱琛ㄥ垱寤鸿剼鏈�
+-- 鍒涘缓鏃堕棿: 2025-10-30
+-- 鍔熻兘: 鏀寔澶氳澶囪仈鍚堟祴璇�
+
+-- 璁惧閰嶇疆琛�
+CREATE TABLE device_config (
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '璁惧ID',
+ device_id VARCHAR(50) UNIQUE NOT NULL COMMENT '璁惧鍞竴鏍囪瘑',
+ device_name VARCHAR(100) NOT NULL COMMENT '璁惧鍚嶇О',
+ device_code VARCHAR(50) NOT NULL UNIQUE COMMENT '璁惧缂栫爜',
+ device_type VARCHAR(50) NOT NULL COMMENT '璁惧绫诲瀷(涓婂ぇ杞�/澶х悊鐗�/鐜荤拑瀛樺偍)',
+ project_id BIGINT NOT NULL COMMENT '鎵�灞為」鐩甀D',
+ plc_ip VARCHAR(15) NOT NULL COMMENT 'PLC IP鍦板潃',
+ plc_type VARCHAR(20) NOT NULL COMMENT 'PLC绫诲瀷(S7-1200/S7-1500绛�)',
+ module_name VARCHAR(50) NOT NULL COMMENT '妯″潡鍚嶇О',
+ is_primary BOOLEAN DEFAULT FALSE COMMENT '鏄惁涓绘帶璁惧',
+ enabled BOOLEAN DEFAULT TRUE COMMENT '鏄惁鍚敤',
+ config_json TEXT COMMENT '璁惧鐗瑰畾閰嶇疆(JSON鏍煎紡)',
+ description VARCHAR(200) COMMENT '璁惧鎻忚堪',
+ extra_params JSON COMMENT '鎵╁睍鍙傛暟JSON',
+ is_deleted INT DEFAULT 0 COMMENT '鏄惁鍒犻櫎锛�0-鍚︼紝1-鏄�',
+ created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+ updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+ created_by VARCHAR(50) NOT NULL DEFAULT 'system' COMMENT '鍒涘缓浜�',
+ updated_by VARCHAR(50) NOT NULL DEFAULT 'system' COMMENT '鏇存柊浜�',
+
+ INDEX idx_device_type (device_type),
+ INDEX idx_module_name (module_name),
+ INDEX idx_enabled (enabled),
+ INDEX idx_is_deleted (is_deleted),
+ INDEX idx_device_config_project_id (project_id),
+ INDEX idx_device_config_device_code (device_code),
+ INDEX idx_device_config_created_at (created_time),
+ INDEX idx_device_config_updated_at (updated_time)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='璁惧閰嶇疆琛�';
+
+-- 璁惧缁勯厤缃〃
+CREATE TABLE device_group_config (
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '璁惧缁処D',
+ group_code VARCHAR(50) UNIQUE NOT NULL COMMENT '璁惧缁勭紪鐮�',
+ group_name VARCHAR(100) NOT NULL COMMENT '璁惧缁勫悕绉�',
+ group_type INT NOT NULL COMMENT '璁惧缁勭被鍨嬶細1-鐢熶骇绾匡紝2-娴嬭瘯绾匡紝3-杈呭姪璁惧缁�',
+ project_id BIGINT NOT NULL COMMENT '鎵�灞為」鐩甀D',
+ status INT NOT NULL DEFAULT 1 COMMENT '璁惧缁勭姸鎬侊細0-鍋滅敤锛�1-鍚敤锛�3-缁存姢涓�',
+ max_concurrent_devices INT DEFAULT 0 COMMENT '鏈�澶у苟鍙戣澶囨暟',
+ heartbeat_interval INT DEFAULT 30 COMMENT '蹇冭烦妫�娴嬮棿闅�(绉�)',
+ communication_timeout INT DEFAULT 5000 COMMENT '閫氫俊瓒呮椂鏃堕棿(姣)',
+ description VARCHAR(200) COMMENT '璁惧缁勬弿杩�',
+ extra_config JSON COMMENT '鎵╁睍閰嶇疆JSON',
+ is_deleted INT NOT NULL DEFAULT 0 COMMENT '鏄惁鍒犻櫎锛�0-鍚︼紝1-鏄�',
+ created_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+ updated_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+ created_by VARCHAR(50) NOT NULL DEFAULT 'system' COMMENT '鍒涘缓浜�',
+ updated_by VARCHAR(50) NOT NULL DEFAULT 'system' COMMENT '鏇存柊浜�',
+
+ INDEX idx_device_group_config_group_code (group_code),
+ INDEX idx_device_group_config_group_type (group_type),
+ INDEX idx_device_group_config_project_id (project_id),
+ INDEX idx_device_group_config_created_at (created_time),
+ INDEX idx_device_group_config_updated_at (updated_time)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='璁惧缁勯厤缃〃';
+
+-- 璁惧缁勪笌璁惧鍏宠仈鍏崇郴琛�
+CREATE TABLE device_group_relation (
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '鍏宠仈ID',
+ group_id BIGINT NOT NULL COMMENT '璁惧缁処D',
+ device_id BIGINT NOT NULL COMMENT '璁惧ID',
+ priority INT DEFAULT 5 COMMENT '璁惧鍦ㄧ粍鍐呯殑浼樺厛绾э細1-鏈�楂橈紝10-鏈�浣�',
+ role INT DEFAULT 2 COMMENT '璁惧鍦ㄧ粍鍐呯殑瑙掕壊锛�1-涓绘帶锛�2-鍗忎綔锛�3-鐩戞帶',
+ status INT DEFAULT 1 COMMENT '璁惧鍦ㄨ缁勪腑鐨勭姸鎬侊細0-鏈厤缃紝1-姝e父锛�2-鏁呴殰锛�3-缁存姢',
+ connection_order INT DEFAULT 1 COMMENT '杩炴帴椤哄簭锛氭暟鍊艰秺灏忚秺鍏堣繛鎺�',
+ relation_desc VARCHAR(200) COMMENT '鍏宠仈鎻忚堪',
+ extra_params JSON COMMENT '鎵╁睍鍙傛暟JSON',
+ is_deleted INT NOT NULL DEFAULT 0 COMMENT '鏄惁鍒犻櫎锛�0-鍚︼紝1-鏄�',
+ created_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+ updated_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+ created_by VARCHAR(50) NOT NULL DEFAULT 'system' COMMENT '鍒涘缓浜�',
+ updated_by VARCHAR(50) NOT NULL DEFAULT 'system' COMMENT '鏇存柊浜�',
+
+ INDEX idx_device_group_relation_group_id (group_id),
+ INDEX idx_device_group_relation_device_id (device_id),
+ INDEX idx_device_group_relation_role (role),
+ INDEX idx_device_group_relation_status (status),
+ INDEX idx_device_group_relation_priority (priority),
+ INDEX idx_device_group_relation_connection_order (connection_order),
+ INDEX idx_device_group_relation_created_at (created_time),
+ INDEX idx_device_group_relation_updated_at (updated_time)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='璁惧缁勪笌璁惧鍏宠仈鍏崇郴琛�';
+
+-- 澶氳澶囦换鍔¤〃
+CREATE TABLE multi_device_task (
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '浠诲姟ID',
+ task_id VARCHAR(50) UNIQUE NOT NULL COMMENT '浠诲姟鍞竴鏍囪瘑',
+ group_id VARCHAR(50) NOT NULL COMMENT '璁惧缁処D',
+ project_id VARCHAR(50) NOT NULL COMMENT '椤圭洰ID',
+ status ENUM('PENDING', 'RUNNING', 'COMPLETED', 'FAILED', 'CANCELLED') DEFAULT 'PENDING' COMMENT '浠诲姟鐘舵��',
+ current_step INT DEFAULT 0 COMMENT '褰撳墠鎵ц姝ラ',
+ total_steps INT DEFAULT 0 COMMENT '鎬绘楠ゆ暟',
+ start_time DATETIME COMMENT '寮�濮嬫椂闂�',
+ end_time DATETIME COMMENT '缁撴潫鏃堕棿',
+ error_message TEXT COMMENT '閿欒淇℃伅',
+ result_data JSON COMMENT '缁撴灉鏁版嵁(JSON鏍煎紡)',
+ created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+ updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+
+ INDEX idx_task_project (project_id),
+ INDEX idx_task_status (status),
+ INDEX idx_task_time (created_time)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='澶氳澶囦换鍔¤〃';
+
+-- 浠诲姟姝ラ璇︽儏琛�
+CREATE TABLE task_step_detail (
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '姝ラID',
+ task_id VARCHAR(50) NOT NULL COMMENT '浠诲姟ID',
+ step_order INT NOT NULL COMMENT '姝ラ椤哄簭',
+ device_id VARCHAR(50) NOT NULL COMMENT '璁惧ID',
+ step_name VARCHAR(100) NOT NULL COMMENT '姝ラ鍚嶇О',
+ status ENUM('PENDING', 'RUNNING', 'COMPLETED', 'FAILED', 'SKIPPED') DEFAULT 'PENDING' COMMENT '姝ラ鐘舵��',
+ start_time DATETIME COMMENT '姝ラ寮�濮嬫椂闂�',
+ end_time DATETIME COMMENT '姝ラ缁撴潫鏃堕棿',
+ duration_ms BIGINT COMMENT '鎵ц鑰楁椂(姣)',
+ input_data JSON COMMENT '杈撳叆鏁版嵁(JSON鏍煎紡)',
+ output_data JSON COMMENT '杈撳嚭鏁版嵁(JSON鏍煎紡)',
+ error_message TEXT COMMENT '閿欒淇℃伅',
+ retry_count INT DEFAULT 0 COMMENT '閲嶈瘯娆℃暟',
+ created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+
+ INDEX idx_step_task (task_id),
+ INDEX idx_step_device (device_id),
+ INDEX idx_step_status (status)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='浠诲姟姝ラ璇︽儏琛�';
+
+-- 璁惧鐘舵�佺洃鎺ц〃
+CREATE TABLE device_status (
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '璁板綍ID',
+ device_id VARCHAR(50) NOT NULL COMMENT '璁惧ID',
+ task_id VARCHAR(50) COMMENT '鍏宠仈浠诲姟ID(鍙��)',
+ status ENUM('ONLINE', 'OFFLINE', 'BUSY', 'ERROR', 'MAINTENANCE') DEFAULT 'OFFLINE' COMMENT '璁惧鐘舵��',
+ last_heartbeat DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '鏈�鍚庡績璺虫椂闂�',
+ cpu_usage DECIMAL(5,2) COMMENT 'CPU浣跨敤鐜�(%)',
+ memory_usage DECIMAL(5,2) COMMENT '鍐呭瓨浣跨敤鐜�(%)',
+ plc_connection_status ENUM('CONNECTED', 'DISCONNECTED', 'ERROR') DEFAULT 'DISCONNECTED' COMMENT 'PLC杩炴帴鐘舵��',
+ current_operation VARCHAR(100) COMMENT '褰撳墠鎿嶄綔',
+ operation_progress DECIMAL(5,2) COMMENT '鎿嶄綔杩涘害(0-100)',
+ alert_message TEXT COMMENT '鍛婅淇℃伅',
+ created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '璁板綍鏃堕棿',
+
+ INDEX idx_device_status (device_id),
+ INDEX idx_device_heartbeat (last_heartbeat),
+ INDEX idx_plc_connection (plc_connection_status)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='璁惧鐘舵�佺洃鎺ц〃';
+
+-- 鎻掑叆涓�浜涚ず渚嬫暟鎹�
+INSERT INTO device_config (device_id, device_name, device_code, device_type, project_id, plc_ip, plc_type, module_name, is_primary, config_json, description) VALUES
+('DEVICE_001', '涓婂ぇ杞﹁澶�1', 'DEV_001', '涓婂ぇ杞�', 1, '192.168.1.100', 'S7-1200', '涓婂ぇ杞︽ā鍧�', TRUE, '{"vehicleCapacity": 6000, "glassIntervalMs": 1000}', '涓婂ぇ杞﹁澶�1'),
+('DEVICE_002', '澶х悊鐗囪澶�1', 'DEV_002', '澶х悊鐗�', 1, '192.168.1.101', 'S7-1200', '澶х悊鐗囨ā鍧�', FALSE, '{"glassMatchingEnabled": true, "batchProcessing": true}', '澶х悊鐗囪澶�1'),
+('DEVICE_003', '鐜荤拑瀛樺偍璁惧1', 'DEV_003', '鐜荤拑瀛樺偍', 1, '192.168.1.102', 'S7-1500', '鐜荤拑瀛樺偍妯″潡', FALSE, '{"storageCapacity": 100, "sortingEnabled": true}', '鐜荤拑瀛樺偍璁惧1');
+
+INSERT INTO device_group_config (group_code, group_name, group_type, project_id, status, description) VALUES
+('GROUP_001', '鐢熶骇绾緼', 1, 1, 1, '鐢熶骇绾緼璁惧缁�');
+
+-- 鎻掑叆璁惧缁勫叧鑱旀暟鎹�
+INSERT INTO device_group_relation (group_id, device_id, role, status, priority, connection_order) VALUES
+((SELECT id FROM device_group_config WHERE group_code = 'GROUP_001' AND is_deleted = 0), (SELECT id FROM device_config WHERE device_id = 'DEVICE_001' AND is_deleted = 0), 1, 1, 5, 1),
+((SELECT id FROM device_group_config WHERE group_code = 'GROUP_001' AND is_deleted = 0), (SELECT id FROM device_config WHERE device_id = 'DEVICE_002' AND is_deleted = 0), 2, 1, 5, 2),
+((SELECT id FROM device_group_config WHERE group_code = 'GROUP_001' AND is_deleted = 0), (SELECT id FROM device_config WHERE device_id = 'DEVICE_003' AND is_deleted = 0), 2, 1, 5, 3);
\ No newline at end of file
--
Gitblit v1.8.0