feat: 标明自动布线缺失端点方向

dev
Zhaowenlong 3 weeks ago
parent c301c2c4bc
commit b5ee5c9c01

@ -1371,6 +1371,19 @@ def _missing_endpoint_label(sample, side):
return label
def _missing_endpoint_side_summary(sample):
missing_sides = []
if sample.get("start_found") is False:
missing_sides.append("起点")
if sample.get("end_found") is False:
missing_sides.append("终点")
if not missing_sides:
return ""
if len(missing_sides) == 2:
return "(缺失:两端)"
return "(缺失:{0}".format(missing_sides[0])
def format_eplan_connection_route_report(report):
message = "批量生成布线连接完成routed={0}, collision_warnings={1}, missing_terminals={2}".format(
report.get("routed", 0),
@ -1457,9 +1470,10 @@ def format_eplan_connection_route_report(report):
message += " 请先从 QET 重新导入/更新工程端子,使端子 UUID 不再是 local:...。"
sample = (report.get("missing_endpoint_samples") or [None])[0]
if sample:
message += "\n缺失示例:{0} -> {1}".format(
message += "\n缺失示例:{0} -> {1}{2}".format(
_missing_endpoint_label(sample, "start"),
_missing_endpoint_label(sample, "end"),
_missing_endpoint_side_summary(sample),
)
return message

@ -1848,6 +1848,28 @@ class AutoRoutingTest(unittest.TestCase):
self.assertIn("缺失示例device-a/A1 (terminal-a) -> device-b/B1 (terminal-b)", message)
def test_route_eplan_connections_report_identifies_which_endpoint_is_missing(self):
_install_fake_freecad()
_terminal_objects, _wiring_objects, _routing_network, auto_routing = _reload_modules()
report = {
"routed": 0,
"collision_warnings": 0,
"skipped_missing_terminal": 1,
"missing_endpoint_samples": [
{
"start_terminal_uuid": "terminal-start",
"start_found": True,
"end_terminal_uuid": "terminal-missing",
"end_found": False,
}
],
}
message = auto_routing.format_eplan_connection_route_report(report)
self.assertIn("缺失示例terminal-start -> terminal-missing", message)
self.assertIn("缺失:终点", message)
def test_route_eplan_connections_report_calls_out_clearance_collision_kind(self):
_install_fake_freecad()
_terminal_objects, _wiring_objects, _routing_network, auto_routing = _reload_modules()

Loading…
Cancel
Save