|
|
@@ -136,6 +136,8 @@ public class ProjectConfigManager {
|
|
|
private String deviceRow2LabelOverride;
|
|
|
// 物料码输入框显隐覆盖
|
|
|
private Boolean showMaterialInputOverride;
|
|
|
+ // 拉铆过程参数上传类型 (A/B/C/D),默认 A
|
|
|
+ private String prodParamsType = "A";
|
|
|
private final List<Listener> listeners = new ArrayList<>();
|
|
|
|
|
|
private ProjectConfigManager() {
|
|
|
@@ -220,6 +222,8 @@ public class ProjectConfigManager {
|
|
|
deviceRow2EnabledOverride = uiObj.getBoolean("deviceRow2Enabled");
|
|
|
deviceRow2LabelOverride = trimToNull(uiObj.getString("deviceRow2Label"));
|
|
|
showMaterialInputOverride = uiObj.getBoolean("showMaterialInput");
|
|
|
+ String pt = trimToNull(uiObj.getString("prodParamsType"));
|
|
|
+ if (pt != null) prodParamsType = pt.toUpperCase();
|
|
|
}
|
|
|
log.info("[ProjectConfig] 加载成功: line={}, product={}, ip={}, station={}, lineSn={}, features={}",
|
|
|
currentLineId, currentProductId, deviceIp, stationCodeOverride, lineSnOverride, featuresOverride);
|
|
|
@@ -247,6 +251,7 @@ public class ProjectConfigManager {
|
|
|
if (deviceRow2EnabledOverride != null) uiObj.put("deviceRow2Enabled", deviceRow2EnabledOverride);
|
|
|
if (deviceRow2LabelOverride != null) uiObj.put("deviceRow2Label", deviceRow2LabelOverride);
|
|
|
if (showMaterialInputOverride != null) uiObj.put("showMaterialInput", showMaterialInputOverride);
|
|
|
+ uiObj.put("prodParamsType", prodParamsType);
|
|
|
if (!uiObj.isEmpty()) root.put("uiOverride", uiObj);
|
|
|
if (!featuresOverride.isEmpty()) {
|
|
|
root.put("featuresOverride", featuresOverride);
|
|
|
@@ -439,6 +444,32 @@ public class ProjectConfigManager {
|
|
|
|
|
|
public Boolean getDeviceRow1EnabledOverride() { return deviceRow1EnabledOverride; }
|
|
|
|
|
|
+ /**
|
|
|
+ * 拉铆过程参数上传类型 (A/B/C/D),默认 A
|
|
|
+ */
|
|
|
+ public String getProdParamsType() {
|
|
|
+ return prodParamsType != null ? prodParamsType : "A";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设置拉铆过程参数上传类型
|
|
|
+ * @param type 有效值 A/B/C/D(大小写不敏感,其它值忽略)
|
|
|
+ */
|
|
|
+ public void setProdParamsType(String type) {
|
|
|
+ if (type == null) return;
|
|
|
+ String t = type.trim().toUpperCase();
|
|
|
+ if (t.isEmpty()) return;
|
|
|
+ if (!"A".equals(t) && !"B".equals(t) && !"C".equals(t) && !"D".equals(t)) {
|
|
|
+ log.warn("[ProjectConfig] 无效的拉铆参数类型: {}, 忽略", type);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (t.equals(this.prodParamsType)) return;
|
|
|
+ String old = this.prodParamsType;
|
|
|
+ this.prodParamsType = t;
|
|
|
+ save();
|
|
|
+ log.info("[ProjectConfig] 修改拉铆参数类型: {} -> {}", old, t);
|
|
|
+ }
|
|
|
+
|
|
|
// ========== 设备连接覆盖 ==========
|
|
|
|
|
|
public Boolean getDeviceEnabledOverride() { return deviceEnabledOverride; }
|