Доработка. У приборов АФСП и РТР один общий скрипт для загрузки результатов контроля

This commit is contained in:
sasha80
2025-05-27 11:18:07 +03:00
parent 8de4188419
commit 1fdbfdcede
4 changed files with 17 additions and 11 deletions

View File

@@ -13,12 +13,13 @@ signal pressed(control: PanelContainer)
func _on_item_pressed(control): emit_signal('pressed', control)
"
[node name="bort_rtr" type="Control"]
[node name="bort_afsp" type="Control"]
layout_mode = 3
anchors_preset = 0
offset_right = 580.0
offset_bottom = 1185.0
script = SubResource("GDScript_y4aoq")
metadata/DeviceName = &""
[node name="konverter" type="NinePatchRect" parent="."]
layout_mode = 0

View File

@@ -19,6 +19,7 @@ offset_right = 70.0
offset_bottom = 30.0
scale = Vector2(1, 0.9)
script = ExtResource("1_151rh")
metadata/DeviceName = &"Устройство РР левого борта"
[node name="request" type="HTTPRequest" parent="."]
script = ExtResource("2_4vyhj")

View File

@@ -19,6 +19,7 @@ offset_right = 81.0
offset_bottom = 108.0
scale = Vector2(1, 0.9)
script = ExtResource("1_tfses")
metadata/DeviceName = &"Устройство РР правого борта"
[node name="request" type="HTTPRequest" parent="."]
script = ExtResource("2_miwrd")

View File

@@ -1,6 +1,6 @@
class_name pribor_afsp extends 'res://scenes/контроль/прибор.gd'
@export var prefix_path: String = ''
@export var prefix_path: String = 'DeviceDescripton[DeviceName]'
static var json_conv: JSON = JSON.new()
@@ -49,9 +49,8 @@ func _on_request_rtr_request_completed(result, _response_code, headers, body: Pa
push_error('разбор json прерван - \"%s\" (%s)' % [err, headers])
return
var pp = ['DeviceDescripton', 'DeviceName']
var ppp = []
map_solid_to_array(prefix_path, ppp)
var pp = []
map_solid_to_array(prefix_path, pp)
var ret_val = [null, false, 0]
var pp_copy = pp.duplicate(true)
tools.get_value_by_path(json_conv.data, pp, ret_val)
@@ -59,22 +58,26 @@ func _on_request_rtr_request_completed(result, _response_code, headers, body: Pa
push_error('путь %s не найден (%s)' % [pp_copy, ret_val[2]])
return
var bort_rtr_name: StringName = get_meta('DeviceName', '')
var bort_rtr = self
for child in bort_rtr.get_node('konverter/grid').get_children():
var this_afsp_name: StringName = $bort.get_meta('DeviceName', '')
var received_afsp_name: StringName = ret_val[0]
if this_afsp_name != received_afsp_name:
return
for child in $bort.get_node('konverter/grid').get_children():
map_value_to_item(json_conv.data, child, 'value0')
map_value_to_item(json_conv.data, child, 'value1')
map_value_to_item(json_conv.data, child, 'value2')
map_error_codes_to_item(json_conv.data, child, 'state', 0)
for child in bort_rtr.get_node('antenna1/grid').get_children():
for child in $bort.get_node('antenna1/grid').get_children():
map_value_to_item(json_conv.data, child, 'value0')
map_value_to_item(json_conv.data, child, 'value1')
map_error_codes_to_item(json_conv.data, child, 'state', 0)
for child in bort_rtr.get_node('antenna2/grid').get_children():
for child in $bort.get_node('antenna2/grid').get_children():
map_value_to_item(json_conv.data, child, 'value0')
map_value_to_item(json_conv.data, child, 'value1')
map_error_codes_to_item(json_conv.data, child, 'state', 0)
for child in bort_rtr.get_children():
for child in $bort.get_children():
map_value_to_item(json_conv.data, child, 'value0')
map_value_to_item(json_conv.data, child, 'value1')
map_error_codes_to_item(json_conv.data, child, 'state', 0)