jingbo 2 недель назад
Родитель
Сommit
16dacc63d5
4 измененных файлов с 120 добавлено и 12 удалено
  1. 11 0
      .project
  2. 44 0
      src/com/mes/ui/DataUtil.java
  3. 64 11
      src/com/mes/ui/MesClient.java
  4. 1 1
      src/resources/config/config.properties

+ 11 - 0
.project

@@ -14,4 +14,15 @@
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
+	<filteredResources>
+		<filter>
+			<id>1779946013884</id>
+			<name></name>
+			<type>30</type>
+			<matcher>
+				<id>org.eclipse.core.resources.regexFilterMatcher</id>
+				<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
 </projectDescription>

+ 44 - 0
src/com/mes/ui/DataUtil.java

@@ -44,6 +44,50 @@ public class DataUtil {
         }
     }
 
+
+    //获取当前工位工件码
+    public static JSONObject getCurSn(){
+        try {
+            String enconding = "UTF-8";
+            InputStream is = ClassLoader.getSystemResourceAsStream("config/config.properties");
+            Properties pro = new Properties();
+            BufferedReader br = new BufferedReader(new InputStreamReader(is, enconding));
+            pro.load(br);
+            String mes_server_ip = pro.getProperty("mes.server_ip");
+            String oprno = pro.getProperty("mes.gw").trim();
+            String lineSn = pro.getProperty("mes.line_sn").trim();
+            String url = "http://"+mes_server_ip+":8980/js/a/mes/mesProductRecord/getCurSn";
+            String params = "__ajax=json&oprno="+oprno+"&lineSn="+lineSn+"&__sid="+MesClient.sessionid;
+            JSONObject result = JSONObject.parseObject(doPost(url, params));
+//            log.info("请求参数:"+params);
+            return result;
+        } catch (Exception e) {
+            log.info("e="+e.getMessage());
+            return null;
+        }
+    }
+
+    public static JSONObject delCurSn(){
+        try {
+            String enconding = "UTF-8";
+            InputStream is = ClassLoader.getSystemResourceAsStream("config/config.properties");
+            Properties pro = new Properties();
+            BufferedReader br = new BufferedReader(new InputStreamReader(is, enconding));
+            pro.load(br);
+            String mes_server_ip = pro.getProperty("mes.server_ip");
+            String oprno = pro.getProperty("mes.gw").trim();
+            String lineSn = pro.getProperty("mes.line_sn").trim();
+            String url = "http://"+mes_server_ip+":8980/js/a/mes/mesProductRecord/cancelCurSn";
+            String params = "__ajax=json&oprno="+oprno+"&lineSn="+lineSn+"&__sid="+MesClient.sessionid;
+            JSONObject result = JSONObject.parseObject(doPost(url, params));
+//            log.info("请求参数:"+url);
+            return result;
+        } catch (Exception e) {
+            log.info("e="+e.getMessage());
+            return null;
+        }
+    }
+
     public static JSONObject createQuality(String sn, String user,String OKNgResult){
         try{
             String enconding = "UTF-8";

+ 64 - 11
src/com/mes/ui/MesClient.java

@@ -99,6 +99,7 @@ public class MesClient extends JFrame {
                         welcomeWin.setVisible(true);
 
                         getMaterailData();
+                        startGetSNTimer();
 
                     }catch (Exception e){
                         e.printStackTrace();
@@ -126,6 +127,9 @@ public class MesClient extends JFrame {
     public static java.util.Timer heartBeatTimer;
     public static java.util.Timer heartBeatIconTimer;
     public static boolean iconREDFlag = true;
+
+    public static Timer getSntimer;
+
     public static void startHeartBeatTimer() {
         if(heartBeatTimer!=null) {
             heartBeatTimer.cancel();
@@ -151,6 +155,45 @@ public class MesClient extends JFrame {
         }, 100,mes_heart_icon_cycle*1000);
     }
 
+    // 定时任务获取SN
+    public static void startGetSNTimer() {
+        if (getSntimer != null){
+            getSntimer.cancel();
+        }
+        getSntimer = new Timer();
+        getSntimer.schedule(new TimerTask() {
+            @Override
+            public void run() {
+                try {
+                    System.out.println("work-status:"+work_status);
+                    if (work_status == 1){
+                        return;
+                    }else if (work_status == 0){
+                        JSONObject retObj = DataUtil.getCurSn();
+                        if (retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")){
+                            String sn = retObj.get("data").toString();
+                            product_sn.setText(sn);
+                            //刷新界面
+                            mesClientFrame.repaint();
+                            MesClient.check_quality_result = true;//质量合格,可以绑定加工
+                            MesClient.work_status = 1;
+                            MesClient.f_scan_data_bt_1.setEnabled(false);
+                            MesClient.finish_ok_bt.setEnabled(true);
+                            MesClient.finish_ng_bt.setEnabled(true);
+                        }else {
+                            return;
+                        }
+                    }
+
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        }, 1000, 1000);
+
+    }
+
+
     //设置tcp连接状态显示
     public static void setTcpStatus() {
         status_menu.setText("已连接MES服务器");
@@ -163,18 +206,28 @@ public class MesClient extends JFrame {
     }
 
     public static void resetScanA() {
-        work_status = 0;
-        check_quality_result = false;
-        MesClient.finish_ok_bt.setEnabled(false);
-        MesClient.finish_ng_bt.setEnabled(false);
-        product_sn.setText("");
-        MesClient.fxlabel.setVisible(false);
-
-        MesClient.f_scan_data_bt_1.setEnabled(true);
-        MesClient.setMenuStatus("请扫工件码",0);
+
 //        MesClient.setMenuStatus("开班点检,请先进行OKNG样件测试",-1);
 
-        updateMaterailData();
+        JSONObject retObj = DataUtil.delCurSn();
+        if (retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")){
+            work_status = 0;
+            check_quality_result = false;
+            MesClient.finish_ok_bt.setEnabled(false);
+            MesClient.finish_ng_bt.setEnabled(false);
+            product_sn.setText("");
+            MesClient.fxlabel.setVisible(false);
+
+            MesClient.f_scan_data_bt_1.setEnabled(true);
+            MesClient.setMenuStatus("请扫工件码",0);
+            updateMaterailData();
+        }else {
+            // 刷新失败
+            MesClient.setMenuStatus("刷新失败",-1);
+
+            return;
+        }
+
 //        shiftUserCheck();
     }
 
@@ -493,7 +546,7 @@ public class MesClient extends JFrame {
                         MesClient.resetScanA();
                         MesClient.setMenuStatus(retObj.getString("message"),0);
                         MesClient.scan_type = 1;
-                        MesClient.scanBarcode();
+//                        MesClient.scanBarcode();
                     }else{
                         if(retObj.get("result")==null){
                             MesClient.setMenuStatus("网络异常",-1);

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

@@ -1,4 +1,4 @@
 mes.gw=OP010A
 mes.server_ip=127.0.0.1
-#mes.server_ip=192.168.22.99
+#mes.server_ip=192.168.9.180
 mes.line_sn=HEVXT