调用自定义函数

This commit is contained in:
yuejiajun 2025-09-28 17:33:45 +08:00
parent 56fe8efe44
commit 50bd5f255d
8 changed files with 43 additions and 20 deletions

View File

@ -44,8 +44,11 @@ public class ApplicationTest__03 {
}
// Step.2
String targetContent = Files.readString(Path.of(processJSONFile), StandardCharsets.UTF_8);
List<Object> list = JSON.parseArray(targetContent);
// String targetContent = Files.readString(Path.of(processJSONFile), StandardCharsets.UTF_8);
// List<Object> list = JSON.parseArray(targetContent);
// 通过 key 限制变量范围
List<Object> list = FormatUtil.loadJSON(processJSONFile);
String templateContent = Files.readString(Path.of(inputTemplateData), StandardCharsets.UTF_8);
ConfigDocument document = JSON.parseObject(templateContent, ConfigDocument.class);

View File

@ -271,6 +271,10 @@ public class EnhancedConfigProcessor {
params.put("context", context);
params.put("loopIndex", loopIndex);
// 参数
value = params.get("params").toString();
params.remove("params");
// 调用工具函数
result = callFormatUtilFunction(functionName, value, params);

View File

@ -2,7 +2,7 @@
<任务航线>
<航线点型号>WP003</航线点型号>
<航线点名称>目标区域</航线点名称>
<航线点坐标>40.0042,116.6074</航线点坐标>
<航线点坐标>120.3826,36.0673</航线点坐标> <!-- 青岛 -->
<航线点类型>目标点</航线点类型>
<准时到达时间>08:45:00</准时到达时间>
<转弯方式>盘旋</转弯方式>

View File

@ -2,7 +2,7 @@
<任务航线>
<航线点型号>WP002</航线点型号>
<航线点名称>导航点A</航线点名称>
<航线点坐标>39.9242,116.5074</航线点坐标>
<航线点坐标>121.61,38.92</航线点坐标> <!-- 大连 -->
<航线点类型>航路点</航线点类型>
<准时到达时间>08:15:30</准时到达时间>
<转弯方式>飞越转弯</转弯方式>

View File

@ -2,7 +2,7 @@
<任务航线>
<航线点型号>WP005</航线点型号>
<航线点名称>降落点</航线点名称>
<航线点坐标>39.9042,116.4074</航线点坐标>
<航线点坐标>119.31,39.95</航线点坐标> <!-- 秦皇岛 -->
<航线点类型>降落点</航线点类型>
<准时到达时间>09:45:00</准时到达时间>
<转弯方式>直接进近</转弯方式>

View File

@ -2,7 +2,7 @@
<任务航线>
<航线点型号>WP001</航线点型号>
<航线点名称>起飞点</航线点名称>
<航线点坐标>39.9042,116.4074</航线点坐标>
<航线点坐标>118.04,24.27</航线点坐标> <!-- 厦门 -->
<航线点类型>起飞点</航线点类型>
<准时到达时间>08:00:00</准时到达时间>
<转弯方式>直接转弯</转弯方式>

View File

@ -2,7 +2,7 @@
<任务航线>
<航线点型号>WP004</航线点型号>
<航线点名称>返航点</航线点名称>
<航线点坐标>39.9542,116.4574</航线点坐标>
<航线点坐标>110.37,21.27</航线点坐标> <!-- 湛江 -->
<航线点类型>返航点</航线点类型>
<准时到达时间>09:30:00</准时到达时间>
<转弯方式>标准转弯</转弯方式>

View File

@ -18,11 +18,27 @@
"values": [
{
"combined": false,
"value": "39.9242N"
"value": "{{任务航线.北纬}}",
"utilFunction": {
"regexReplace": {
"params": "{{任务航线.航线点坐标}}",
"description": "通过正则表达式获取经纬度",
"pattern": "([0-9]+[\\.]{0,}[0-9]{0,}),([0-9]+[\\.]{0,}[0-9]{0,})",
"replacement": "$2N"
}
}
},
{
"combined": false,
"value": "116.5074E"
"value": "{{任务航线.东经}}",
"utilFunction": {
"regexReplace": {
"params": "{{任务航线.航线点坐标}}",
"description": "通过正则表达式获取经纬度",
"pattern": "([0-9]+[\\.]{0,}[0-9]{0,}),([0-9]+[\\.]{0,}[0-9]{0,})",
"replacement": "$1E"
}
}
}
]
},
@ -32,7 +48,7 @@
"values": [
{
"combined": false,
"value": "任务航线.航线点类型"
"value": "{{任务航线.航线点类型}}"
}
]
},
@ -42,7 +58,7 @@
"values": [
{
"combined": false,
"value": "任务航线.准时到达时间"
"value": "{{任务航线.准时到达时间}}"
}
]
},
@ -52,7 +68,7 @@
"values": [
{
"combined": false,
"value": "任务航线.转弯方式"
"value": "{{任务航线.转弯方式}}"
}
]
},
@ -62,7 +78,7 @@
"values": [
{
"combined": false,
"value": "任务航线.转向方式"
"value": "{{任务航线.转向方式}}"
}
]
},
@ -73,7 +89,7 @@
{
"combined": false,
"unit": "deg",
"value": "任务航线.坡度"
"value": "{{任务航线.坡度}}"
}
]
},
@ -84,7 +100,7 @@
{
"combined": false,
"unit": "km/h",
"value": "任务航线.速度"
"value": "{{任务航线.速度}}"
}
]
},
@ -95,7 +111,7 @@
{
"combined": false,
"unit": "m",
"value": "任务航线.高度"
"value": "{{任务航线.高度}}"
}
]
},
@ -105,7 +121,7 @@
"values": [
{
"combined": false,
"value": "任务航线.高度属性"
"value": "{{任务航线.高度属性}}"
}
]
},
@ -116,14 +132,14 @@
{
"combined": false,
"unit": "m/s",
"value": "任务航线.升降率"
"value": "{{任务航线.升降率}}"
}
]
}
],
"values": [
"任务航线.航线点型号",
"任务航线.航线点名称"
"{{任务航线.航线点型号}}",
"{{任务航线.航线点名称}}"
]
}
],