feat(event): 添加暂态事件波形查看与导出功能
- 新增 getTransientEventWave 接口用于查看暂态事件波形 - 新增 exportTransientEventWaves 接口用于批量导出暂态事件波形 - 添加 EventWaveExportParam 参数类支持波形导出 - 在 EventListMapper 中增加 selectTransientDetailsByIds 查询方法 - 更新事件列表查询参数支持毫秒级时间格式 - 移除事件描述模糊查询条件优化查询性能 - 添加波形导出相关的常量和工具类集成
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
project.name AS projectName,
|
||||
equipment.id AS equipmentId,
|
||||
equipment.name AS equipmentName,
|
||||
equipment.mac AS equipmentMac,
|
||||
line.line_id AS lineId,
|
||||
line.name AS lineName
|
||||
FROM cs_line line
|
||||
@@ -55,6 +56,7 @@
|
||||
project.name AS projectName,
|
||||
equipment.id AS equipmentId,
|
||||
equipment.name AS equipmentName,
|
||||
equipment.mac AS equipmentMac,
|
||||
line.line_id AS lineId,
|
||||
line.name AS lineName
|
||||
FROM cs_line line
|
||||
|
||||
@@ -24,6 +24,8 @@ public class AddLedgerLinePathVO implements Serializable {
|
||||
|
||||
private String equipmentName;
|
||||
|
||||
private String equipmentMac;
|
||||
|
||||
private String lineId;
|
||||
|
||||
private String lineName;
|
||||
|
||||
@@ -1,224 +0,0 @@
|
||||
/*
|
||||
Navicat/MySQL 初始化脚本
|
||||
|
||||
用途:
|
||||
1. 初始化 add-ledger 台账设备相关字典。
|
||||
2. 脚本可重复执行,按字典编码避免重复插入。
|
||||
|
||||
说明:
|
||||
- dev_type 对应 cs_equipment_delivery.dev_type,保存 sys_dict_data.id。
|
||||
- dev_model 对应 cs_equipment_delivery.dev_model,保存 sys_dict_data.id。
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- ----------------------------
|
||||
-- 字典类型:装置类型
|
||||
-- ----------------------------
|
||||
SET @ledger_device_type_type_id := (
|
||||
SELECT `id`
|
||||
FROM `sys_dict_type`
|
||||
WHERE `code` = 'ledger_device_type'
|
||||
AND `state` = 1
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
INSERT INTO `sys_dict_type` (
|
||||
`id`, `name`, `code`, `sort`, `open_level`, `open_describe`, `remark`, `state`,
|
||||
`create_by`, `create_time`, `update_by`, `update_time`
|
||||
)
|
||||
SELECT
|
||||
'7f91c2a1e9f44b47a6e7c8b227d00101',
|
||||
'装置类型',
|
||||
'ledger_device_type',
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
'数据台账设备装置类型',
|
||||
1,
|
||||
'system',
|
||||
NOW(),
|
||||
'system',
|
||||
NOW()
|
||||
WHERE @ledger_device_type_type_id IS NULL;
|
||||
|
||||
SET @ledger_device_type_type_id := (
|
||||
SELECT `id`
|
||||
FROM `sys_dict_type`
|
||||
WHERE `code` = 'ledger_device_type'
|
||||
AND `state` = 1
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
INSERT INTO `sys_dict_data` (
|
||||
`id`, `type_id`, `name`, `code`, `sort`, `level`, `algo_describe`, `value`, `open_value`, `state`,
|
||||
`create_by`, `create_time`, `update_by`, `update_time`
|
||||
)
|
||||
SELECT
|
||||
'7f91c2a1e9f44b47a6e7c8b227d10101',
|
||||
@ledger_device_type_type_id,
|
||||
'直连设备',
|
||||
'direct_device',
|
||||
1,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
1,
|
||||
'system',
|
||||
NOW(),
|
||||
'system',
|
||||
NOW()
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM `sys_dict_data`
|
||||
WHERE `type_id` = @ledger_device_type_type_id
|
||||
AND `code` = 'direct_device'
|
||||
AND `state` = 1
|
||||
);
|
||||
|
||||
INSERT INTO `sys_dict_data` (
|
||||
`id`, `type_id`, `name`, `code`, `sort`, `level`, `algo_describe`, `value`, `open_value`, `state`,
|
||||
`create_by`, `create_time`, `update_by`, `update_time`
|
||||
)
|
||||
SELECT
|
||||
'7f91c2a1e9f44b47a6e7c8b227d10102',
|
||||
@ledger_device_type_type_id,
|
||||
'网关',
|
||||
'gateway',
|
||||
2,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
1,
|
||||
'system',
|
||||
NOW(),
|
||||
'system',
|
||||
NOW()
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM `sys_dict_data`
|
||||
WHERE `type_id` = @ledger_device_type_type_id
|
||||
AND `code` = 'gateway'
|
||||
AND `state` = 1
|
||||
);
|
||||
|
||||
INSERT INTO `sys_dict_data` (
|
||||
`id`, `type_id`, `name`, `code`, `sort`, `level`, `algo_describe`, `value`, `open_value`, `state`,
|
||||
`create_by`, `create_time`, `update_by`, `update_time`
|
||||
)
|
||||
SELECT
|
||||
'7f91c2a1e9f44b47a6e7c8b227d10103',
|
||||
@ledger_device_type_type_id,
|
||||
'装置',
|
||||
'device',
|
||||
3,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
1,
|
||||
'system',
|
||||
NOW(),
|
||||
'system',
|
||||
NOW()
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM `sys_dict_data`
|
||||
WHERE `type_id` = @ledger_device_type_type_id
|
||||
AND `code` = 'device'
|
||||
AND `state` = 1
|
||||
);
|
||||
|
||||
-- ----------------------------
|
||||
-- 字典类型:装置型号
|
||||
-- ----------------------------
|
||||
SET @ledger_device_model_type_id := (
|
||||
SELECT `id`
|
||||
FROM `sys_dict_type`
|
||||
WHERE `code` = 'ledger_device_model'
|
||||
AND `state` = 1
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
INSERT INTO `sys_dict_type` (
|
||||
`id`, `name`, `code`, `sort`, `open_level`, `open_describe`, `remark`, `state`,
|
||||
`create_by`, `create_time`, `update_by`, `update_time`
|
||||
)
|
||||
SELECT
|
||||
'7f91c2a1e9f44b47a6e7c8b227d00201',
|
||||
'装置型号',
|
||||
'ledger_device_model',
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
'数据台账设备装置型号',
|
||||
1,
|
||||
'system',
|
||||
NOW(),
|
||||
'system',
|
||||
NOW()
|
||||
WHERE @ledger_device_model_type_id IS NULL;
|
||||
|
||||
SET @ledger_device_model_type_id := (
|
||||
SELECT `id`
|
||||
FROM `sys_dict_type`
|
||||
WHERE `code` = 'ledger_device_model'
|
||||
AND `state` = 1
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
INSERT INTO `sys_dict_data` (
|
||||
`id`, `type_id`, `name`, `code`, `sort`, `level`, `algo_describe`, `value`, `open_value`, `state`,
|
||||
`create_by`, `create_time`, `update_by`, `update_time`
|
||||
)
|
||||
SELECT
|
||||
'7f91c2a1e9f44b47a6e7c8b227d20101',
|
||||
@ledger_device_model_type_id,
|
||||
'PQS588',
|
||||
'pqs588',
|
||||
1,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
1,
|
||||
'system',
|
||||
NOW(),
|
||||
'system',
|
||||
NOW()
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM `sys_dict_data`
|
||||
WHERE `type_id` = @ledger_device_model_type_id
|
||||
AND `code` = 'pqs588'
|
||||
AND `state` = 1
|
||||
);
|
||||
|
||||
INSERT INTO `sys_dict_data` (
|
||||
`id`, `type_id`, `name`, `code`, `sort`, `level`, `algo_describe`, `value`, `open_value`, `state`,
|
||||
`create_by`, `create_time`, `update_by`, `update_time`
|
||||
)
|
||||
SELECT
|
||||
'7f91c2a1e9f44b47a6e7c8b227d20102',
|
||||
@ledger_device_model_type_id,
|
||||
'PQS680',
|
||||
'pqs680',
|
||||
2,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
1,
|
||||
'system',
|
||||
NOW(),
|
||||
'system',
|
||||
NOW()
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM `sys_dict_data`
|
||||
WHERE `type_id` = @ledger_device_model_type_id
|
||||
AND `code` = 'pqs680'
|
||||
AND `state` = 1
|
||||
);
|
||||
@@ -1,43 +0,0 @@
|
||||
package com.njcn.gather.tool.addledger.component;
|
||||
|
||||
import com.njcn.gather.tool.addledger.pojo.po.AddLedgerLedgerPO;
|
||||
import com.njcn.gather.tool.addledger.pojo.vo.AddLedgerTreeNodeVO;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 台账树组装测试。
|
||||
*/
|
||||
class AddLedgerTreeBuilderTest {
|
||||
|
||||
private final AddLedgerTreeBuilder treeBuilder = new AddLedgerTreeBuilder();
|
||||
|
||||
@Test
|
||||
void shouldBuildFourLevelTreeFromFlatLedgerNodes() {
|
||||
AddLedgerLedgerPO engineering = buildLedger("engineering-1", "0", 0, "工程");
|
||||
AddLedgerLedgerPO project = buildLedger("project-1", "engineering-1", 1, "项目");
|
||||
AddLedgerLedgerPO equipment = buildLedger("equipment-1", "project-1", 2, "设备");
|
||||
AddLedgerLedgerPO line = buildLedger("line-1", "equipment-1", 3, "测点");
|
||||
|
||||
List<AddLedgerTreeNodeVO> result = treeBuilder.buildTree(Arrays.asList(line, equipment, project, engineering));
|
||||
|
||||
Assertions.assertEquals(1, result.size());
|
||||
Assertions.assertEquals("engineering-1", result.get(0).getId());
|
||||
Assertions.assertEquals("project-1", result.get(0).getChildren().get(0).getId());
|
||||
Assertions.assertEquals("equipment-1", result.get(0).getChildren().get(0).getChildren().get(0).getId());
|
||||
Assertions.assertEquals("line-1", result.get(0).getChildren().get(0).getChildren().get(0).getChildren().get(0).getId());
|
||||
}
|
||||
|
||||
private AddLedgerLedgerPO buildLedger(String id, String parentId, Integer level, String name) {
|
||||
AddLedgerLedgerPO ledger = new AddLedgerLedgerPO();
|
||||
ledger.setId(id);
|
||||
ledger.setPid(parentId);
|
||||
ledger.setLevel(level);
|
||||
ledger.setName(name);
|
||||
ledger.setSort(0);
|
||||
return ledger;
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
package com.njcn.gather.tool.addledger.util;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 台账测点线路号工具测试。
|
||||
*/
|
||||
class AddLedgerLineNoUtilTest {
|
||||
|
||||
@Test
|
||||
void shouldReturnOnlyUnusedLineNosWhenCreateLine() {
|
||||
List<Integer> result = AddLedgerLineNoUtil.resolveAvailableLineNos(Arrays.asList(1, 2, 20), null);
|
||||
|
||||
Assertions.assertEquals(17, result.size());
|
||||
Assertions.assertFalse(result.contains(1));
|
||||
Assertions.assertFalse(result.contains(2));
|
||||
Assertions.assertFalse(result.contains(20));
|
||||
Assertions.assertTrue(result.contains(3));
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldKeepCurrentLineNoAvailableWhenEditLine() {
|
||||
List<Integer> result = AddLedgerLineNoUtil.resolveAvailableLineNos(Arrays.asList(1, 2, 20), 2);
|
||||
|
||||
Assertions.assertTrue(result.contains(2));
|
||||
Assertions.assertFalse(result.contains(1));
|
||||
Assertions.assertFalse(result.contains(20));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user