Forráskód Böngészése

增加交互逻辑(暂无具体点位)

dkk 1 hete
szülő
commit
6821b216a4
2 módosított fájl, 115 hozzáadás és 3 törlés
  1. 65 3
      src/com/mes/ui/MesClient.java
  2. 50 0
      src/com/mes/util/PLCUtils.java

+ 65 - 3
src/com/mes/ui/MesClient.java

@@ -6,6 +6,7 @@ import com.mes.component.MesWebView;
 import com.mes.util.DateLocalUtils;
 import com.mes.util.HttpUtils;
 import com.mes.util.JdbcUtils;
+import com.mes.util.PLCUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -19,10 +20,9 @@ import java.io.*;
 import java.sql.ResultSet;
 import java.sql.Statement;
 import java.time.LocalDateTime;
+import java.util.*;
 import java.util.List;
-import java.util.Properties;
 import java.util.Timer;
-import java.util.TimerTask;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
@@ -49,6 +49,9 @@ public class MesClient extends JFrame {
 
     public static Boolean check_quality_result = false;
     public static Integer work_status = 0;
+    public static Integer plc_status = 0;
+
+    public static List<String> hj_params = new ArrayList<>();
 
     public static JButton heart_beat_menu;
     public static JButton status_menu;
@@ -491,7 +494,7 @@ public class MesClient extends JFrame {
                     JSONObject retObj = DataUtil.sendQuality(sn,"OK",user20);
                     System.out.println(retObj);
                     if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
-                        MesClient.resetScanA();
+                        resetState();
                         MesClient.setMenuStatus("结果提交成功,请扫下一件",0);
                         MesClient.scan_type = 1;
                     }else{
@@ -617,6 +620,54 @@ public class MesClient extends JFrame {
             public void run() {
                 System.out.println("kaishi");
                 if (work_status == 1) {
+                    // TODO
+                    //  加入工作流程
+                    if (plc_status == 0){
+                        // 等待扫码
+                        String sn = product_sn.getText().trim();
+                        if (sn.isEmpty()) {
+                            plc_status = 1;
+                        }
+                    } else if (plc_status == 1) {
+                        // 发送允许启动信号
+                        Boolean ret = PLCUtils.writeStartMethod();
+                        if (ret) {
+                            plc_status = 2;
+                        }
+                    } else if (plc_status == 2) {
+                        // 等待开始加工信号
+                        Boolean ret = PLCUtils.readStartMethod();
+                        if (ret){
+                            boolean ret2 = PLCUtils.writeStopMethod();
+                            if (ret2){
+                                plc_status = 3;
+                            }
+                        }
+                    } else if (plc_status ==3) {
+                        // 等待加工结束信号
+                        Boolean ret = PLCUtils.readStopMethod();
+                        if (ret){
+                            // 发送结果
+                            String sn = product_sn.getText().trim();
+                            JSONObject retObj = DataUtil.sendQuality( sn,"OK",user20);
+                            if (retObj != null && "true".equalsIgnoreCase(retObj.getString("result"))) {
+                                // 发送允许下料
+                                PLCUtils.writeDownMethod();
+                                resetState();
+                                status_menu.setForeground(Color.GREEN);
+                                status_menu.setText("结果提交成功,请扫下一件");
+                                finish_ng_bt.setEnabled(false);
+
+                            } else {
+                                status_menu.setForeground(Color.RED);
+                                String msg = (retObj != null && retObj.containsKey("message")) ? retObj.getString("message") : "提交失败";
+                                status_menu.setText(msg);
+                            }
+                        }else {
+                            // 获取参数
+                            PLCUtils.getParameter();
+                        }
+                    }
                     return;
                 } else if (work_status == 0) {
                     JSONObject result = DataUtil.getCurSn(mes_gw, mes_server_ip, mes_line_sn);
@@ -728,6 +779,17 @@ public class MesClient extends JFrame {
         }
     }
 
+    private static void resetState() {
+        work_status = 0;
+        plc_status = 0;
+        check_quality_result = false;
+        product_sn.setText("");
+        finish_ok_bt.setEnabled(false);
+        finish_ng_bt.setEnabled(false);
+        fxlabel.setVisible(false);
+        MesClient.setMenuStatus("请扫工件码",0);
+    }
+
     public static void bindBatchPanel(){
         JPanel indexPanelBB = new JPanel();
         JPanel panel = new JPanel();

+ 50 - 0
src/com/mes/util/PLCUtils.java

@@ -0,0 +1,50 @@
+package com.mes.util;
+
+public class PLCUtils {
+
+    // 写入允许启动方法
+    public static boolean writeStartMethod() {
+        // TODO
+        // 对plc写入ture
+        return true;
+    }
+
+    // 将允许启动置空
+    public static boolean writeStopMethod() {
+        // TODO
+        return true;
+    }
+
+    // 读取PLC开始加工信号
+    public static boolean readStartMethod() {
+        // TODO
+        return true;
+    }
+
+    // 读取PLC结束加工信号
+    public static boolean readStopMethod() {
+        // TODO
+        return true;
+    }
+
+    // 给出允许下料信号
+    public static boolean writeDownMethod() {
+        // TODO
+        return true;
+    }
+
+    // 允许下料置空
+    public static boolean writeDownStopMethod() {
+        // TODO
+        return true;
+    }
+
+    // 获取参数
+    public static void getParameter() {
+        //  TODO
+        return;
+    }
+
+
+
+}