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