1 changed files with 273 additions and 0 deletions
@ -0,0 +1,273 @@ |
|||||
|
CREATE TABLE f10_journal_realtime ( |
||||
|
|
||||
|
device_id varchar(255) NOT NULL COMMENT '设备ID', |
||||
|
|
||||
|
company_id bigint DEFAULT NULL, |
||||
|
|
||||
|
raw_hex text, |
||||
|
|
||||
|
raw_text text, |
||||
|
|
||||
|
serial_no varchar(10), |
||||
|
|
||||
|
mode varchar(10), |
||||
|
|
||||
|
signal_seq varchar(10), |
||||
|
|
||||
|
receive_date varchar(10), |
||||
|
|
||||
|
receive_time varchar(10), |
||||
|
|
||||
|
receive_timestamp bigint, |
||||
|
|
||||
|
channel_no varchar(10), |
||||
|
|
||||
|
test_flag varchar(10), |
||||
|
|
||||
|
block_no varchar(10), |
||||
|
|
||||
|
block_name varchar(50), |
||||
|
|
||||
|
signal_type1 varchar(10), |
||||
|
|
||||
|
signal_type2 varchar(10), |
||||
|
|
||||
|
signal_label varchar(10), |
||||
|
|
||||
|
signal_status varchar(10), |
||||
|
|
||||
|
course_no varchar(10), |
||||
|
|
||||
|
area_code varchar(10), |
||||
|
|
||||
|
course_code varchar(10), |
||||
|
|
||||
|
standby_name varchar(50), |
||||
|
|
||||
|
physical_addr varchar(10), |
||||
|
|
||||
|
customer_name varchar(500), |
||||
|
|
||||
|
phone varchar(50), |
||||
|
|
||||
|
remark varchar(500), |
||||
|
|
||||
|
display_color varchar(10), |
||||
|
|
||||
|
error_reason varchar(10), |
||||
|
|
||||
|
line_type varchar(10), |
||||
|
|
||||
|
area_name varchar(50), |
||||
|
|
||||
|
send_date varchar(10), |
||||
|
|
||||
|
send_time varchar(10), |
||||
|
|
||||
|
customer_no varchar(10), |
||||
|
|
||||
|
display_data1 varchar(50), |
||||
|
|
||||
|
display_data2 varchar(50), |
||||
|
|
||||
|
instruction_flag varchar(10), |
||||
|
|
||||
|
signal_code varchar(10), |
||||
|
|
||||
|
card_no varchar(10), |
||||
|
|
||||
|
card_type varchar(10), |
||||
|
|
||||
|
mansion_building varchar(10), |
||||
|
|
||||
|
mansion_room varchar(10), |
||||
|
|
||||
|
option_field varchar(50), |
||||
|
|
||||
|
expired_flag int DEFAULT 0, |
||||
|
|
||||
|
alert_history_id bigint, |
||||
|
|
||||
|
created_at bigint, |
||||
|
|
||||
|
created_time datetime, |
||||
|
|
||||
|
update_at bigint, |
||||
|
|
||||
|
update_time datetime, |
||||
|
|
||||
|
PRIMARY KEY(device_id), |
||||
|
|
||||
|
KEY idx_company(company_id), |
||||
|
|
||||
|
KEY idx_receive_timestamp(receive_timestamp), |
||||
|
|
||||
|
KEY idx_alert_history(alert_history_id) |
||||
|
|
||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='F10实时状态表'; |
||||
|
|
||||
|
|
||||
|
INSERT INTO f10_journal_realtime ( |
||||
|
device_id, company_id, raw_hex, raw_text, serial_no, mode, |
||||
|
signal_seq, receive_date, receive_time, receive_timestamp, |
||||
|
channel_no, test_flag, block_no, block_name, |
||||
|
signal_type1, signal_type2, signal_label, signal_status, |
||||
|
course_no, area_code, course_code, standby_name, physical_addr, |
||||
|
customer_name, phone, remark, display_color, error_reason, line_type, area_name, |
||||
|
send_date, send_time, customer_no, display_data1, display_data2, |
||||
|
instruction_flag, signal_code, card_no, card_type, mansion_building, mansion_room, option_field, |
||||
|
expired_flag, alert_history_id, |
||||
|
created_at, created_time, |
||||
|
update_at, update_time |
||||
|
) |
||||
|
SELECT |
||||
|
t.device_id, |
||||
|
t.company_id, |
||||
|
t.raw_hex, |
||||
|
t.raw_text, |
||||
|
t.serial_no, |
||||
|
t.mode, |
||||
|
t.signal_seq, |
||||
|
t.receive_date, |
||||
|
t.receive_time, |
||||
|
t.receive_timestamp, |
||||
|
t.channel_no, |
||||
|
t.test_flag, |
||||
|
t.block_no, |
||||
|
t.block_name, |
||||
|
t.signal_type1, |
||||
|
t.signal_type2, |
||||
|
t.signal_label, |
||||
|
t.signal_status, |
||||
|
t.course_no, |
||||
|
t.area_code, |
||||
|
t.course_code, |
||||
|
t.standby_name, |
||||
|
t.physical_addr, |
||||
|
t.customer_name, |
||||
|
t.phone, |
||||
|
t.remark, |
||||
|
t.display_color, |
||||
|
t.error_reason, |
||||
|
t.line_type, |
||||
|
t.area_name, |
||||
|
t.send_date, |
||||
|
t.send_time, |
||||
|
t.customer_no, |
||||
|
t.display_data1, |
||||
|
t.display_data2, |
||||
|
t.instruction_flag, |
||||
|
t.signal_code, |
||||
|
t.card_no, |
||||
|
t.card_type, |
||||
|
t.mansion_building, |
||||
|
t.mansion_room, |
||||
|
t.option_field, |
||||
|
t.expired_flag, |
||||
|
t.alert_history_id, |
||||
|
t.created_at, |
||||
|
t.created_time, |
||||
|
UNIX_TIMESTAMP(NOW()) * 1000, -- update_at |
||||
|
NOW() -- update_time |
||||
|
FROM ( |
||||
|
SELECT |
||||
|
l.device_id, |
||||
|
l.company_id, |
||||
|
l.raw_hex, |
||||
|
l.raw_text, |
||||
|
l.serial_no, |
||||
|
l.mode, |
||||
|
l.signal_seq, |
||||
|
l.receive_date, |
||||
|
l.receive_time, |
||||
|
l.receive_timestamp, |
||||
|
l.channel_no, |
||||
|
l.test_flag, |
||||
|
l.block_no, |
||||
|
l.block_name, |
||||
|
l.signal_type1, |
||||
|
l.signal_type2, |
||||
|
l.signal_label, |
||||
|
l.signal_status, |
||||
|
l.course_no, |
||||
|
l.area_code, |
||||
|
l.course_code, |
||||
|
l.standby_name, |
||||
|
l.physical_addr, |
||||
|
l.customer_name, |
||||
|
l.phone, |
||||
|
l.remark, |
||||
|
l.display_color, |
||||
|
l.error_reason, |
||||
|
l.line_type, |
||||
|
l.area_name, |
||||
|
l.send_date, |
||||
|
l.send_time, |
||||
|
l.customer_no, |
||||
|
l.display_data1, |
||||
|
l.display_data2, |
||||
|
l.instruction_flag, |
||||
|
l.signal_code, |
||||
|
l.card_no, |
||||
|
l.card_type, |
||||
|
l.mansion_building, |
||||
|
l.mansion_room, |
||||
|
l.option_field, |
||||
|
l.expired_flag, |
||||
|
l.alert_history_id, |
||||
|
l.created_at, |
||||
|
l.created_time, |
||||
|
ROW_NUMBER() OVER ( |
||||
|
PARTITION BY l.device_id |
||||
|
ORDER BY l.receive_timestamp DESC, l.id DESC |
||||
|
) AS rn |
||||
|
FROM f10_journal_log l |
||||
|
) t |
||||
|
WHERE t.rn = 1 |
||||
|
ON DUPLICATE KEY UPDATE |
||||
|
company_id = VALUES(company_id), |
||||
|
raw_hex = VALUES(raw_hex), |
||||
|
raw_text = VALUES(raw_text), |
||||
|
serial_no = VALUES(serial_no), |
||||
|
mode = VALUES(mode), |
||||
|
signal_seq = VALUES(signal_seq), |
||||
|
receive_date = VALUES(receive_date), |
||||
|
receive_time = VALUES(receive_time), |
||||
|
receive_timestamp = VALUES(receive_timestamp), |
||||
|
channel_no = VALUES(channel_no), |
||||
|
test_flag = VALUES(test_flag), |
||||
|
block_no = VALUES(block_no), |
||||
|
block_name = VALUES(block_name), |
||||
|
signal_type1 = VALUES(signal_type1), |
||||
|
signal_type2 = VALUES(signal_type2), |
||||
|
signal_label = VALUES(signal_label), |
||||
|
signal_status = VALUES(signal_status), |
||||
|
course_no = VALUES(course_no), |
||||
|
area_code = VALUES(area_code), |
||||
|
course_code = VALUES(course_code), |
||||
|
standby_name = VALUES(standby_name), |
||||
|
physical_addr = VALUES(physical_addr), |
||||
|
customer_name = VALUES(customer_name), |
||||
|
phone = VALUES(phone), |
||||
|
remark = VALUES(remark), |
||||
|
display_color = VALUES(display_color), |
||||
|
error_reason = VALUES(error_reason), |
||||
|
line_type = VALUES(line_type), |
||||
|
area_name = VALUES(area_name), |
||||
|
send_date = VALUES(send_date), |
||||
|
send_time = VALUES(send_time), |
||||
|
customer_no = VALUES(customer_no), |
||||
|
display_data1 = VALUES(display_data1), |
||||
|
display_data2 = VALUES(display_data2), |
||||
|
instruction_flag = VALUES(instruction_flag), |
||||
|
signal_code = VALUES(signal_code), |
||||
|
card_no = VALUES(card_no), |
||||
|
card_type = VALUES(card_type), |
||||
|
mansion_building = VALUES(mansion_building), |
||||
|
mansion_room = VALUES(mansion_room), |
||||
|
option_field = VALUES(option_field), |
||||
|
expired_flag = VALUES(expired_flag), |
||||
|
-- 修复歧义:使用表名限定旧值 |
||||
|
alert_history_id = IFNULL(VALUES(alert_history_id), f10_journal_realtime.alert_history_id), |
||||
|
update_at = VALUES(update_at), |
||||
|
update_time = VALUES(update_time); |
||||
Loading…
Reference in new issue