package com.example.springboot.component; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import com.example.springboot.service.*; import org.springframework.beans.factory.annotation.Autowired; import com.example.springboot.entity.Out_slice; import com.example.springboot.entity.Queue; import com.example.springboot.entity.StorageCage; import com.example.springboot.entity.alarmmg; import com.example.springboot.entity.north_glass_buffer1; import com.example.springboot.mapper.HomeMapper; import com.example.springboot.mapper.SpianMapper; public class PlcLayout extends Thread { @Autowired private HomeMapper homeMapper; @Autowired // 出片队列是否允许出片 public static Boolean isAllowQueue = true; public static Boolean isAllowReordering = true; // 出片队列警告 public static Boolean isQueueWarning = false; // 铝框id public static String FrameNo = ""; // 是否需要手动确认玻璃 public static Boolean isConfirm = false; // 待确认的出片队列 public static List AluminumFrame; // private Configuration config; private StorageCageService storageCageService; // public Plchome() throws IOException { // config = new Configuration("config.properties"); // } // public static Map b=new HashMap<>(); // b.put() @Override public void run() { while (this != null) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } JSONObject jsonObject = new JSONObject(); // 注入mapper homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class); if (S7control.getinstance().CheckConnected() == true) { // 查询报警信息 List alarmmg = homeMapper.SelectAlarmmgInfo(); jsonObject.append("alarmmg", alarmmg); // 复位倒计时 // 地址104.9.6 List countdown = S7control.getinstance().ReadBits("DB104.9.6", 1); for (Boolean countdowns : countdown) { jsonObject.append("countdown", countdowns); } // jsonObject.append("countdown", true); // 复位完成信号ss List resetss = S7control.getinstance().ReadBits("DB103.284", 1); for (Boolean reset : resetss) { jsonObject.append("reset", reset); } // 是否急停 List emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1); for (Boolean emergencystop : emergencystops) { jsonObject.append("emergencystop", emergencystop); } } // jsonObject.append("params", new short[] { 30, 40, }); ArrayList sendwServer = WebSocketServer.sessionMap.get("Layout"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { webserver.sendMessage(jsonObject.toString()); if (webserver != null) { List messages = webserver.getMessages(); if (!messages.isEmpty()) { // // 将最后一个消息转换为整数类型的列表 webserver.clearMessages(); } } } } } } }