严智鑫
2024-05-29 ad7f461a110cd30ae219bcaa977bbeb0c8409599
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -31,6 +31,8 @@
    private HomeMapper homeMapper;
    @Autowired
    private HomeService HomeService;
    @Autowired
    private GlassInfoMapper glassInfoMapper;
    private QueueMapper QueueMapper;
    private OutSliceServive outSliceServive;
@@ -63,6 +65,7 @@
    @Override
    public void run() {
        while (this != null) {
            JSONObject jsonObject = new JSONObject();
            try {
@@ -73,9 +76,10 @@
                homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
                outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class);
                storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
                glassInfoMapper = WebSocketServer.applicationContext.getBean(GlassInfoMapper.class);
                // 获取其车的位置
                if (S7control.getinstance().CheckConnected() == true) {
                if (S7control.getinstance().CheckConnected() == true&&false) {
                    double carposition = 0;
                    float car = S7control.getinstance().readFloat32("DB10.1992");
                    carposition = (-40 + (car / (carend - carstart) * 595));
@@ -123,9 +127,7 @@
                // if(plcmes.==null){
                // }
                // 获取测量的长,宽
                boolean istest = true;
                // String PlcRequest = "1";
@@ -135,28 +137,38 @@
                // 匹配
                // System.err.println(PlcRequest+","+MesSend+","+width+","+height);
                String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// 请求
                String MesSend = plcmes.getPlcParameter("MESToGaStatus").getValue();// 发送
                double width = Double.valueOf(plcmes.getPlcParameter("width").getValue());// 宽
                double height = Double.valueOf(plcmes.getPlcParameter("Height").getValue());// 高
                if ("0".equals(PlcRequest) && istest) {
                    S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").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);
                // if (plcmes.getPlcParameter("GaToMES").getValue() != null) {
                // String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// 请求
                // String MesSend = plcmes.getPlcParameter("MESToGaStatus").getValue();// 发送
                // double width = Double.valueOf(plcmes.getPlcParameter("width").getValue());//
                // 宽
                // double height =
                // Double.valueOf(plcmes.getPlcParameter("Height").getValue());// 高
                // if ("0".equals(PlcRequest) && istest) {
                // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").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) {
                        // 重新测量
                        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
                                (short) 4);
                    }
                // } else if (istest) {
                // // 重新测量
                // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
                // (short) 4);
                // }
                // }
                // }
                }
                // S7control.getinstance().WriteWord("DB14.170", (short)0);
                // 正在上片订单中的所有小片信息
                List<GlassInfo> glassInfoFlowCard = glassInfoMapper.selectOrderState(1);
                jsonObject.append("glassInfoFlowCard", glassInfoFlowCard);
                Queue LastQueue = QueueMapper.selectLastQueue();
                if (LastQueue == null) {
                    Queue nullQueue = new Queue();
@@ -164,6 +176,7 @@
                    nullQueue.setglassheight(0);
                    nullQueue.setglasswidth(0);
                    nullQueue.setglassheightmm(0);
                    nullQueue.setglasstype(0);
                    nullQueue.setglasswidthmm(0);
                    jsonObject.append("LastQueue", nullQueue);
                } else {
@@ -192,27 +205,28 @@
                List<FlowCard> OrderTask = storageCageService.SelectOrderTask();
                jsonObject.append("OrderTask", OrderTask);
                // 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());
                        if (webserver != null) {
                            List<String> messages = webserver.getMessages();
                            if (!messages.isEmpty()) {
                                // // 将最后一个消息转换为整数类型的列表
                                webserver.clearMessages();
                            }
                        }
                    }
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            // jsonObject.append("params", new short[] { 30, 40, });
            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();
                        }
                    }
                }
            }
        }
    }