Browse Source

F10 200字节数据兼容处理

zhc
review512jwy@163.com 1 month ago
parent
commit
97c92e09b4
  1. 38
      data-center-business-controller/src/main/resources/db/migration/V84__f10_processing_log.sql
  2. 10
      data-center-business-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml
  3. 14
      data-center-business-service/src/main/java/com/techsor/datacenter/business/listener/PreloadDeviceCompanyMappingListener.java

38
data-center-business-controller/src/main/resources/db/migration/V84__f10_processing_log.sql

@ -0,0 +1,38 @@
DROP TABLE IF EXISTS `f10_processing_log`;
CREATE TABLE `f10_processing_log` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`gateway_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备ID',
`company_id` bigint DEFAULT NULL,
`raw_hex` text COMMENT '原始HEX报文',
`raw_text` text COMMENT '正文文本(Shift-JIS)',
`serial_no` varchar(10) DEFAULT NULL COMMENT '报文序列号(Serial No)',
`mode` varchar(10) DEFAULT NULL COMMENT '报文模式(Mode)',
`signal_seq` varchar(10) DEFAULT NULL COMMENT '信号通番',
`receive_date` varchar(10) DEFAULT NULL COMMENT '受信日付 yyyyMMdd',
`receive_time` varchar(10) DEFAULT NULL COMMENT '受信時刻 HHmmss',
`tel_time` varchar(10) DEFAULT NULL COMMENT '電話連絡時刻',
`tel_operator` varchar(50) DEFAULT NULL COMMENT '電話対応者名',
`command_time` varchar(10) DEFAULT NULL COMMENT '指令時刻',
`cancel_time` varchar(10) DEFAULT NULL COMMENT '指令中止時刻',
`controller_name` varchar(50) DEFAULT NULL COMMENT '管制官名',
`arrival_time` varchar(10) DEFAULT NULL COMMENT '現着時刻',
`field_action_name` varchar(100) DEFAULT NULL COMMENT '現場対処名',
`action_content` varchar(500) DEFAULT NULL COMMENT '措置内容',
`finish_time` varchar(10) DEFAULT NULL COMMENT '完了時刻',
`writer` varchar(50) DEFAULT NULL COMMENT '記入者',
`category_no` varchar(10) DEFAULT NULL COMMENT '措置分類番号',
`category_name` varchar(100) DEFAULT NULL COMMENT '措置分類名称',
`physical_address` varchar(50) DEFAULT NULL COMMENT '物理アドレス',
`contract_no` varchar(50) DEFAULT NULL COMMENT '契約先番号',
`transfer_flag` varchar(10) DEFAULT NULL COMMENT '転送フラグ',
`incident_flag` varchar(10) DEFAULT NULL COMMENT '発生事故記録書の有無',
`reserved_field20` varchar(100) DEFAULT NULL COMMENT '予備領域(padding/optional)',
`created_at` bigint DEFAULT NULL COMMENT '创建时间毫秒级时间戳',
`created_time` datetime DEFAULT NULL COMMENT '创建时间',
`receive_timestamp` bigint DEFAULT NULL COMMENT 'receive_date+receive_time的毫秒级时间戳',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_device_alarm_ts` (`gateway_id`,`receive_timestamp`),
KEY `idx_device_id` (`gateway_id`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='F10 措置デ一タ(200バイト)';

10
data-center-business-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml

@ -497,7 +497,15 @@
</select>
<select id="selectAllDevice" resultType="com.techsor.datacenter.business.vo.device.DeviceVO">
select device_id from device_info where flag=0
select
device_info.device_id,
device_info.type_id,
device_category.id categoryId
from
device_info
left join type on type.id = device_info.type_id
left join device_category on device_category.id = type.device_category_id
where device_info.flag=0
</select>
<select id="getDeviceCategoryId" resultType="java.lang.Long">

14
data-center-business-service/src/main/java/com/techsor/datacenter/business/listener/PreloadDeviceCompanyMappingListener.java

@ -50,9 +50,23 @@ public class PreloadDeviceCompanyMappingListener implements ApplicationListener<
List<DeviceVO> deviceResultList = this.deviceInfoMapperExt.selectAllDevice();
deviceResultList.stream().forEach(deviceVO -> {
redisTemplate.opsForHash().put("deviceCompanyMapping", deviceVO.getDeviceId(), String.valueOf(companyId));
if(deviceVO.getCategoryId() != null && deviceVO.getCategoryId().equals(1011L)){
redisTemplate.opsForHash().put("f10:deviceCompanyMapping", getF10Prefix(deviceVO.getDeviceId()), String.valueOf(companyId));
}
});
DataSourceContextHolder.clearCurrentDataSourceKey();
});
log.info("PreloadDeviceCompanyMappingListener finished");
}
public static String getF10Prefix(String deviceId) {
if (deviceId == null) {
return null;
}
int index = deviceId.indexOf('_');
return (index >= 0
? deviceId.substring(0, index)
: deviceId) + "_";
}
}

Loading…
Cancel
Save