فهرست منبع

硬编码工位号

wangxichen 2 هفته پیش
والد
کامیت
67574dc9f4
2فایلهای تغییر یافته به همراه32 افزوده شده و 39 حذف شده
  1. 30 37
      src/com/mes/ui/OprnoUtil.java
  2. 2 2
      src/resources/config/config.properties

+ 30 - 37
src/com/mes/ui/OprnoUtil.java

@@ -1,61 +1,54 @@
 package com.mes.ui;
 
-import com.mes.util.HttpUtils;
-
 /**
- * 工位描述工具:从服务器 API 获取,不再硬编码工位列表
- * 服务器接口:GET /js/a/mes/mesLineProcess/getOprnoTitle?oprno=&lineSn=  (无需登录
+ * 工位描述工具:硬编码工位列表,避免每台客户端都依赖服务端接口
+ * 数据来源 2026-06-24:T09 产线 mesLineProcess(lineSn=T9
  */
 public class OprnoUtil {
 
+    /** T9 产线工位号(按 sorts 排序) */
+    public static String[] t9oprnos = new String[]{
+            "OP040", "OP050", "OP060", "OP070", "INSP030",
+            "OP090", "OP100", "OP120", "OP130", "INSP050",
+            "INSP060", "OP170", "OP190", "OP200", "INSP080",
+            "OP230", "INSP090", "INSP100", "INSP130", "INSP110"
+    };
+
+    /** T9 产线工位名(与 t9oprnos 一一对应) */
+    public static String[] t9oprnodes = new String[]{
+            "激光打码", "框架总成焊接1", "框架总成焊接2", "人工补焊1", "框架气密",
+            "框架激光切割正面", "框架激光切割反面", "套筒焊接", "人工补焊2", "总成检具检验",
+            "黑件入库", "紧固件装配正面/反面", "框架涂胶", "冷板装配", "半成品气密",
+            "安装密封垫底护板", "整包气密", "液冷板气密", "等电位电阻测试", "CCD检测"
+    };
+
     /**
-     * 根据产线编号 + 工位号取工位描述
+     * 根据工位号查工位描述
      * 子工位号自动转父工位(OP040A → OP040、INSP030A → INSP030)
-     * API 不可达或未配置时返回空串,不影响客户端启动。
+     * 注:lineSn 已不再区分,此客户端固定为 T09 产线
      */
     public static String getGwDes(String lineSn, String oprno) {
-        if (lineSn == null || lineSn.isEmpty() || oprno == null || oprno.isEmpty()) {
-            return "";
-        }
-        String parentOprno = formatOprno(oprno);
-        try {
-            String url = "http://" + MesClient.mes_server_ip + ":8980/js/a/mes/mesLineProcess/getOprnoTitle"
-                    + "?oprno=" + parentOprno + "&lineSn=" + lineSn;
-            String resp = HttpUtils.sendRequest(url);
-            return parseTitleFromJson(resp);
-        } catch (Exception e) {
-            return "";
+        if (oprno == null) return "";
+        String code = formatOprno(oprno);
+        for (int i = 0; i < t9oprnos.length; i++) {
+            if (t9oprnos[i].equals(code)) return t9oprnodes[i];
         }
+        return "";
     }
 
     /**
-     * 子工位 → 父工位
+     * 子工位号 → 父工位号
      * 规则:去除末尾连续字母(前提是字母前是数字),如 OP040A → OP040、INSP030B → INSP030
-     * 不动 INSP/OP 这种前缀字母
+     * 不动 OP/INSP 这种前缀字母
      */
     public static String formatOprno(String oprno) {
         if (oprno == null) return "";
         int len = oprno.length();
-        while (len > 1 && Character.isLetter(oprno.charAt(len - 1)) && Character.isDigit(oprno.charAt(len - 2))) {
+        while (len > 1
+                && Character.isLetter(oprno.charAt(len - 1))
+                && Character.isDigit(oprno.charAt(len - 2))) {
             len--;
         }
         return oprno.substring(0, len);
     }
-
-    /** 从 CommonResp JSON 提取 data 字段(轻量解析,不引第三方库) */
-    private static String parseTitleFromJson(String json) {
-        if (json == null || json.isEmpty() || "false".equals(json)) return "";
-        // 期望格式:{"result":"true","message":"","data":"激光打码"}
-        int idx = json.indexOf("\"data\":\"");
-        if (idx < 0) return "";
-        int start = idx + 8;
-        int end = json.indexOf("\"", start);
-        // 处理字符串里的转义引号 \"
-        while (end > 0 && json.charAt(end - 1) == '\\') {
-            end = json.indexOf("\"", end + 1);
-        }
-        if (end <= start) return "";
-        // 反转义
-        return json.substring(start, end).replace("\\\"", "\"").replace("\\\\", "\\");
-    }
 }

+ 2 - 2
src/resources/config/config.properties

@@ -1,6 +1,6 @@
 mes.gw=OP050A
-mes.server_ip=127.0.0.1
-#mes.server_ip=192.168.114.99
+#mes.server_ip=127.0.0.1
+mes.server_ip=192.168.114.99
 mes.tcp_port=3000
 
 mes.heart_beat_cycle=60