|
|
@@ -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();
|