-- ============================================================ -- v2.0.004 8Multi di_reg 报工 & 设备状态修改 -- 作者:周启威 -- 日期:2026-03-06 -- ============================================================ -- 1. device_data 新增 di_reg 字段(存储每次上报的原始值) ALTER TABLE `device_data` ADD COLUMN `di_reg` INT DEFAULT NULL COMMENT '输入寄存器(0-7报工/8-15设备状态)'; -- 2. 新增 di_reg 触发动作日志表 CREATE TABLE `device_di_reg_log` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', `device_id` BIGINT NOT NULL COMMENT '设备ID(关联device.id)', `device_no` INT NOT NULL COMMENT '设备号(device.device_no)', `di_reg` INT NOT NULL COMMENT 'di_reg原始值(0-15)', `action_type` VARCHAR(16) NOT NULL COMMENT '动作类型: REPORT=报工 / STATUS=设备状态', `process_sort` INT DEFAULT NULL COMMENT '工序顺序(REPORT时有效, = di_reg + 1)', `cn_reg_new` INT DEFAULT NULL COMMENT '新设备状态值(STATUS时有效, = di_reg - 8)', `affected_count` INT DEFAULT 0 COMMENT '本次实际处理的工单数量(REPORT时)', `work_order_ids` VARCHAR(512) DEFAULT NULL COMMENT '本次处理的工单ID列表,逗号分隔(REPORT时)', `trigger_time` DATETIME NOT NULL COMMENT '触发时间', `remark` VARCHAR(512) DEFAULT NULL COMMENT '备注', `del_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常/1删除)', PRIMARY KEY (`id`), KEY `idx_device_id_time` (`device_id`, `trigger_time`), KEY `idx_action_type_time` (`action_type`, `trigger_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='8Multi di_reg触发动作日志表';