| | |
| | | |
| | | import cn.hutool.json.JSONObject; |
| | | import java.util.ArrayList; |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | import com.example.springboot.entity.Glass; |
| | | import com.example.springboot.entity.GlassInfo; |
| | | import com.example.springboot.entity.MeasureSetting; |
| | | import com.example.springboot.entity.OutTask; |
| | | import com.example.springboot.entity.Out_slice; |
| | | import com.example.springboot.entity.Queue; |
| | | import com.example.springboot.entity.StorageCage; |
| | |
| | | // 匹配 |
| | | // System.err.println(PlcRequest+","+MesSend+","+width+","+height); |
| | | if (plcmes.getPlcParameter("GaToMES").getValue() != null) { |
| | | String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// 请求 |
| | | String MesSend = plcmes.getPlcParameter("MESToGaStatus").getValue();// 发送 |
| | | String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// plc请求字 |
| | | String MesSend = plcmes.getPlcParameter("MESToGaStatus").getValue();// mes发送字 |
| | | String A01ToMES = plcmes.getPlcParameter("A01ToMES").getValue();// 扫码请求 |
| | | String MESToA01 = plcmes.getPlcParameter("MESToA01").getValue();// 确认扫码 |
| | | String Layer = plcmes.getPlcParameter("Layer").getValue();// 层号 |
| | | String Mateid = plcmes.getPlcParameter("A01MateID").getValue();// 配对号 |
| | | String Order = plcmes.getPlcParameter("A01OrderID").getValue();// 订单号 |
| | | double width = Double.valueOf(plcmes.getPlcParameter("width").getValue());// |
| | | // 宽 |
| | | double height = Double.valueOf(plcmes.getPlcParameter("Height").getValue());// 高 |
| | | if ("0".equals(PlcRequest) && istest) { |
| | | |
| | | String celanedOrders = Order.replaceAll("[^a-zA-Z0-9.]", "").trim().split("\\.")[0]; |
| | | String cleanedMateids = Mateid.replaceAll("[^0-9.]", "").trim().split("\\.")[0]; // 移除所有非数字字符 |
| | | String cleanedLayers = Layer.replaceAll("[^0-9.]", "").trim().split("\\.")[0]; // |
| | | |
| | | String celanedOrder = celanedOrders.isEmpty() ? "" : celanedOrders; |
| | | String cleanedMateid = cleanedMateids.isEmpty() ? "" : cleanedMateids; |
| | | String cleanedLayer = cleanedLayers.isEmpty() ? "" : cleanedLayers; |
| | | |
| | | if ("4".equals(PlcRequest)) { |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | (short) 0); |
| | | System.out.println("收四归零"); |
| | | } |
| | | // System.out.println("PlcRequest:" + PlcRequest+"MesSend:" + MesSend+"width:" + |
| | | // width+"height:" + height); |
| | | // 扫码请求时 |
| | | if ("1".equals(A01ToMES) && "0".equals(MESToA01) && "0".equals(MesSend) && "0".equals(PlcRequest)) { |
| | | if (cleanedMateid == "" || cleanedLayer == "") { |
| | | cleanedMateid = "0"; |
| | | cleanedLayer = "0"; |
| | | } |
| | | int cont = storageCageService.ScanMatch(celanedOrder, Integer.parseInt(cleanedMateid), |
| | | Integer.parseInt(cleanedLayer)); |
| | | if (cont > 0) { |
| | | System.out.println("扫码成功"); |
| | | System.out.println( |
| | | "Order:" + celanedOrder + " Mateid:" + cleanedMateid + " Layer:" + cleanedLayer); |
| | | |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToA01").getAddress(), |
| | | (short) 1); |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | (short) 1); |
| | | } else { |
| | | // QueueMapper.insertMatchFailure(1000, 1000, -1); |
| | | System.out.println( |
| | | "Order:" + celanedOrder + " Mateid:" + cleanedMateid + " Layer:" + cleanedLayer); |
| | | System.out.println("扫码添加失败"); |
| | | } |
| | | |
| | | } |
| | | // 请求归零时 |
| | | if ("4".equals(A01ToMES)) { |
| | | System.out.println("扫码归零成功"); |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToA01").getAddress(), (short) 0); |
| | | } |
| | | |
| | | // 测量请求时 |
| | | if ("1".equals(PlcRequest) && "0".equals(MesSend)) { |
| | | boolean is = HomeService.Normal(width, height, "1"); |
| | | if (is && istest) { |
| | |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | (short) 1); |
| | | |
| | | } |
| | | else if (istest) { |
| | | } else if (istest) { |
| | | // 匹配失败 |
| | | S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), |
| | | (short) 4); |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | List<StorageTask> StoragTaskeTaskOut = storageCageService.SelectStorageTask(1); |
| | | jsonObject.append("StoragTaskeTaskOut", StoragTaskeTaskOut); |
| | | |
| | | // 查询当前出片队列 |
| | | List<Map> OutTask = storageCageService.SelectOutTask(); |
| | | jsonObject.append("OutTask", OutTask); |
| | | |
| | | // 查询最后6次出片记录 |
| | | List<Map> OutLog = storageCageService.SelectOutLog(); |
| | | jsonObject.append("OutLog", OutLog); |
| | | |
| | | // 查询所有玻璃厚度和膜系 |
| | | List<GlassInfo> SelectMeasure = storageCageService.SelectMeasure(); |
| | | jsonObject.append("SelectMeasure", SelectMeasure); |
| | |
| | | |
| | | // jsonObject.append("params", new short[] { 30, 40, }); |
| | | // System.out.println("jsonObject:" + jsonObject); |
| | | |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home"); |
| | | |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | try { |
| | | Iterator<WebSocketServer> iterator = sendwServer.iterator(); |
| | | while (iterator.hasNext()) { |
| | | |
| | | if (webserver != null) { |
| | | |
| | | WebSocketServer webserver = iterator.next(); |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | List<String> messages = webserver.getMessages(); |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // // 将最后一个消息转换为整数类型的列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); // 打印堆栈信息,方便定位问题 |
| | | System.out.println("webserver出现异常: " + e.getMessage()); |
| | | // TODO: handle exception |
| | | } |
| | | } |
| | | |
| | | // ArrayList<WebSocketServer> sendwServer = |
| | | // WebSocketServer.sessionMap.get("Home"); |
| | | // if (sendwServer != null) { |
| | | // for (WebSocketServer webserver : sendwServer) { |
| | | // webserver.sendMessage(jsonObject.toString()); |
| | | // if (webserver != null) { |
| | | // List<String> messages = webserver.getMessages(); |
| | | |
| | | // if (!messages.isEmpty()) { |
| | | // // // 将最后一个消息转换为整数类型的列表 |
| | | // webserver.clearMessages(); |
| | | // } |
| | | // } |
| | | |
| | | // } |
| | | // } |
| | | |
| | | } catch (InterruptedException e) { |
| | | System.out.println("线程出现异常"); |
| | | e.printStackTrace(); |
| | | } |
| | | } |