Bläddra i källkod

倒计时优化

wangxichen 3 dagar sedan
förälder
incheckning
97cb0f2bdc
2 ändrade filer med 13 tillägg och 1 borttagningar
  1. 9 0
      src/com/mes/ui/MesClient.java
  2. 4 1
      src/com/mes/util/WorkTimer.java

+ 9 - 0
src/com/mes/ui/MesClient.java

@@ -111,6 +111,7 @@ public class MesClient extends JFrame {
     public static JLabel countdownLabel = null; // 倒计时显示标签
     public static TestParam pendingTestParam = null; // 等待提交的测试参数
     public static String deviceResult = ""; // 设备判定结果
+    public static boolean testResultProcessed = false; // 测试结果是否已处理(防止重复执行)
 
     public static String tjFlagText2 = "设备运行中";
 
@@ -352,6 +353,8 @@ public class MesClient extends JFrame {
         // 清空待提交数据
         pendingTestParam = null;
         deviceResult = "";
+        // 重置测试结果处理标志
+        testResultProcessed = false;
 
 //        f_scan_data_bt_1.setIcon(new ImageIcon(MesClient.class.getResource("/bg/scan_barcode.png")));
 //        f_scan_data_bt_1.setText("扫码");
@@ -1825,6 +1828,9 @@ public class MesClient extends JFrame {
         deviceResult = "OK";
         countdownSeconds = 5;
 
+        // 禁用扫码框,防止扫下一件
+        product_sn.setEditable(false);
+
         // 显示倒计时标签
         countdownLabel.setText("5秒后自动提交OK...");
         countdownLabel.setVisible(true);
@@ -1897,6 +1903,9 @@ public class MesClient extends JFrame {
         pendingTestParam = testParam;
         deviceResult = "NG";
 
+        // 禁用扫码框,防止扫下一件
+        product_sn.setEditable(false);
+
         // 启用漏点按钮
         enableWeldButtons();
 

+ 4 - 1
src/com/mes/util/WorkTimer.java

@@ -73,7 +73,10 @@ public class WorkTimer {
                     MesClient.param2.setText(isEnd ? "" : realtimeResult.leakValue + " " + realtimeResult.leakUnit);
 
                     // 如果从实时结果中得到到测试结束,则查询最后结果,并提交结果
-                    if (isEnd) {
+                    if (isEnd && !MesClient.testResultProcessed) {
+                        // 标记为已处理,防止重复执行
+                        MesClient.testResultProcessed = true;
+
                         ATEQ.LastResult lastResult = ATEQ.readLastResult();
                         log.info(lastResult.toString());
                         MesClient.param1.setText(lastResult.pressureValue+lastResult.pressureUnit);