|
|
@@ -93,6 +93,8 @@ public class ProjectConfigManager {
|
|
|
private String lineSnOverride; // 覆盖 yaml 的 line_sn
|
|
|
private String serverIpOverride; // 覆盖 yaml 的 server.ip
|
|
|
private final Map<String, Boolean> featuresOverride = new LinkedHashMap<>();
|
|
|
+ // 设备连接覆盖(null=不覆盖,走yaml默认)
|
|
|
+ private Boolean deviceEnabledOverride;
|
|
|
// 设备信息行覆盖:是否启用 + label(寄存器地址不在UI改)
|
|
|
private Boolean deviceRow1EnabledOverride;
|
|
|
private String deviceRow1LabelOverride;
|
|
|
@@ -150,6 +152,10 @@ public class ProjectConfigManager {
|
|
|
if (sIp != null && !sIp.trim().isEmpty()) {
|
|
|
serverIpOverride = sIp.trim();
|
|
|
}
|
|
|
+ // 设备连接覆盖
|
|
|
+ if (json.containsKey("deviceEnabledOverride")) {
|
|
|
+ deviceEnabledOverride = json.getBoolean("deviceEnabledOverride");
|
|
|
+ }
|
|
|
// 设备信息行
|
|
|
JSONObject uiObj = json.getJSONObject("uiOverride");
|
|
|
if (uiObj != null) {
|
|
|
@@ -177,6 +183,7 @@ public class ProjectConfigManager {
|
|
|
if (stationCodeOverride != null) root.put("stationCodeOverride", stationCodeOverride);
|
|
|
if (lineSnOverride != null) root.put("lineSnOverride", lineSnOverride);
|
|
|
if (serverIpOverride != null) root.put("serverIpOverride", serverIpOverride);
|
|
|
+ if (deviceEnabledOverride != null) root.put("deviceEnabledOverride", deviceEnabledOverride);
|
|
|
JSONObject uiObj = new JSONObject();
|
|
|
if (deviceRow1EnabledOverride != null) uiObj.put("deviceRow1Enabled", deviceRow1EnabledOverride);
|
|
|
if (deviceRow1LabelOverride != null) uiObj.put("deviceRow1Label", deviceRow1LabelOverride);
|
|
|
@@ -335,6 +342,16 @@ public class ProjectConfigManager {
|
|
|
}
|
|
|
|
|
|
public Boolean getDeviceRow1EnabledOverride() { return deviceRow1EnabledOverride; }
|
|
|
+
|
|
|
+ // ========== 设备连接覆盖 ==========
|
|
|
+
|
|
|
+ public Boolean getDeviceEnabledOverride() { return deviceEnabledOverride; }
|
|
|
+
|
|
|
+ public void setDeviceEnabledOverride(Boolean enabled) {
|
|
|
+ this.deviceEnabledOverride = enabled;
|
|
|
+ save();
|
|
|
+ log.info("[ProjectConfig] 设备连接覆盖: {}", enabled);
|
|
|
+ }
|
|
|
public String getDeviceRow1LabelOverride() { return deviceRow1LabelOverride; }
|
|
|
public Boolean getDeviceRow2EnabledOverride() { return deviceRow2EnabledOverride; }
|
|
|
public String getDeviceRow2LabelOverride() { return deviceRow2LabelOverride; }
|